summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkcr <kcr@28c7f869-5b4e-e670-f602-82bfaf57f300>2006-02-08 22:48:24 +0000
committerkcr <kcr@28c7f869-5b4e-e670-f602-82bfaf57f300>2006-02-08 22:48:24 +0000
commit80fd150d309bd13424be73392a4bde2c742a185f (patch)
tree21a60a7075bd93cf9fc7f12276becb7d2dd46c07
parent1f9cc0db52f9a8e5ccb839930bff07145b2cf745 (diff)
Merged changes between 1.4.0-beta3 and 1.4.0-beta4 into dev-1_5
-rw-r--r--build.xml143
-rw-r--r--src/AlternateAppearance/AlternateAppearanceBoundsTest.html15
-rw-r--r--src/AlternateAppearance/AlternateAppearanceBoundsTest.java308
-rw-r--r--src/AlternateAppearance/AlternateAppearanceBoundsTest_plugin.html39
-rw-r--r--src/AlternateAppearance/AlternateAppearanceScopeTest.html15
-rw-r--r--src/AlternateAppearance/AlternateAppearanceScopeTest.java354
-rw-r--r--src/AlternateAppearance/AlternateAppearanceScopeTest_plugin.html39
-rw-r--r--src/AlternateAppearance/SphereGroup.java123
-rw-r--r--src/AlternateAppearance/build.xml69
-rw-r--r--src/Appearance/AppearanceTest.html15
-rw-r--r--src/Appearance/AppearanceTest.java380
-rw-r--r--src/Appearance/AppearanceTest_plugin.html39
-rw-r--r--src/Appearance/Tetrahedron.java107
-rw-r--r--src/Appearance/build.xml69
-rw-r--r--src/AppearanceMixed/AppearanceMixed.html15
-rw-r--r--src/AppearanceMixed/AppearanceMixed.java506
-rw-r--r--src/AppearanceMixed/AppearanceMixed_plugin.html39
-rw-r--r--src/AppearanceMixed/Tetrahedron.java107
-rw-r--r--src/AppearanceMixed/build.xml69
-rw-r--r--src/Applet3D/HelloUniverse.html15
-rw-r--r--src/Applet3D/HelloUniverse.java127
-rw-r--r--src/Applet3D/HelloUniverse_plugin.html39
-rw-r--r--src/Applet3D/build.xml69
-rw-r--r--src/Background/BackgroundGeometry.html15
-rw-r--r--src/Background/BackgroundGeometry.java236
-rw-r--r--src/Background/BackgroundGeometry_plugin.html39
-rw-r--r--src/Background/build.xml69
-rw-r--r--src/CgShaderTest/ObjLoadCg.java343
-rw-r--r--src/CgShaderTest/SphereCg.java346
-rw-r--r--src/CgShaderTest/build.xml69
-rw-r--r--src/CgShaderTest/simple_fp.cg68
-rw-r--r--src/CgShaderTest/simple_vp.cg167
-rw-r--r--src/ConfiguredUniverse/ConfigObjLoad.java309
-rw-r--r--src/ConfiguredUniverse/README.txt142
-rw-r--r--src/ConfiguredUniverse/build.xml69
-rw-r--r--src/ConfiguredUniverse/j3d1x198
-rw-r--r--src/ConfiguredUniverse/j3d1x1-behavior149
-rw-r--r--src/ConfiguredUniverse/j3d1x1-stereo113
-rw-r--r--src/ConfiguredUniverse/j3d1x1-vr212
-rw-r--r--src/ConfiguredUniverse/j3d1x1-window89
-rw-r--r--src/ConfiguredUniverse/j3d1x2-flat134
-rw-r--r--src/ConfiguredUniverse/j3d1x2-rot3099
-rw-r--r--src/ConfiguredUniverse/j3d1x3-cave171
-rw-r--r--src/ConfiguredUniverse/j3d1x3-cave-vr222
-rw-r--r--src/ConfiguredUniverse/j3d1x3-rot45110
-rw-r--r--src/ConfiguredUniverse/j3d2x2-flat135
-rw-r--r--src/ConicWorld/ConicWorld.html15
-rw-r--r--src/ConicWorld/ConicWorld.java328
-rw-r--r--src/ConicWorld/ConicWorld_plugin.html39
-rw-r--r--src/ConicWorld/build.xml69
-rw-r--r--src/DepthFuncTest/DepthFuncTest.form217
-rw-r--r--src/DepthFuncTest/DepthFuncTest.java357
-rw-r--r--src/DepthFuncTest/RenderFrame.form25
-rw-r--r--src/DepthFuncTest/RenderFrame.java290
-rw-r--r--src/DepthFuncTest/build.xml69
-rw-r--r--src/DistortGlyph/DistortBehavior.java192
-rw-r--r--src/DistortGlyph/DistortGlyphTest.java208
-rw-r--r--src/DistortGlyph/build.xml69
-rw-r--r--src/DistortGlyph/gold.jpgbin42643 -> 0 bytes
-rw-r--r--src/FPSCounter/FPSCounter.java279
-rw-r--r--src/FPSCounter/FPSCounterDemo.html15
-rw-r--r--src/FPSCounter/FPSCounterDemo.java219
-rw-r--r--src/FPSCounter/FPSCounterDemo_plugin.html39
-rw-r--r--src/FPSCounter/build.xml69
-rw-r--r--src/FourByFour/BigCube.java138
-rw-r--r--src/FourByFour/Board.java2310
-rw-r--r--src/FourByFour/Canvas2D.java92
-rw-r--r--src/FourByFour/Cube.java131
-rw-r--r--src/FourByFour/Cylinder.java114
-rw-r--r--src/FourByFour/FourByFour.html15
-rw-r--r--src/FourByFour/FourByFour.java884
-rw-r--r--src/FourByFour/FourByFour_plugin.html39
-rw-r--r--src/FourByFour/ID.java59
-rw-r--r--src/FourByFour/PickDragBehavior.java216
-rw-r--r--src/FourByFour/Poles.java80
-rw-r--r--src/FourByFour/Positions.java311
-rw-r--r--src/FourByFour/README52
-rw-r--r--src/FourByFour/build.xml69
-rw-r--r--src/FourByFour/instructions.txt98
-rw-r--r--src/FourByFour/scores.txt20
-rw-r--r--src/GLSLShaderTest/ObjLoadGLSL.java340
-rw-r--r--src/GLSLShaderTest/PhongShadingGLSL.form138
-rw-r--r--src/GLSLShaderTest/PhongShadingGLSL.java448
-rw-r--r--src/GLSLShaderTest/ShaderTestGLSL.form266
-rw-r--r--src/GLSLShaderTest/ShaderTestGLSL.java666
-rw-r--r--src/GLSLShaderTest/SphereGLSL.java339
-rw-r--r--src/GLSLShaderTest/aabrick.frag55
-rw-r--r--src/GLSLShaderTest/aabrick.vert42
-rw-r--r--src/GLSLShaderTest/build.xml69
-rw-r--r--src/GLSLShaderTest/dimple.frag61
-rw-r--r--src/GLSLShaderTest/dimple.vert42
-rw-r--r--src/GLSLShaderTest/gouraud.frag50
-rw-r--r--src/GLSLShaderTest/gouraud.vert100
-rw-r--r--src/GLSLShaderTest/phong.frag98
-rw-r--r--src/GLSLShaderTest/phong.vert56
-rw-r--r--src/GLSLShaderTest/polkadot3d.frag48
-rw-r--r--src/GLSLShaderTest/polkadot3d.vert58
-rw-r--r--src/GLSLShaderTest/simple.frag62
-rw-r--r--src/GLSLShaderTest/simple.vert129
-rw-r--r--src/GLSLShaderTest/toon.frag34
-rw-r--r--src/GLSLShaderTest/toon.vert19
-rw-r--r--src/GLSLShaderTest/wood.frag66
-rw-r--r--src/GLSLShaderTest/wood.vert25
-rw-r--r--src/GearTest/Gear.java397
-rw-r--r--src/GearTest/GearBox.html15
-rw-r--r--src/GearTest/GearBox.java354
-rw-r--r--src/GearTest/GearBox_plugin.html39
-rw-r--r--src/GearTest/GearTest.html15
-rw-r--r--src/GearTest/GearTest.java206
-rw-r--r--src/GearTest/GearTest_plugin.html39
-rw-r--r--src/GearTest/Shaft.java196
-rw-r--r--src/GearTest/SpurGear.java556
-rw-r--r--src/GearTest/SpurGearThinBody.java185
-rw-r--r--src/GearTest/build.xml69
-rw-r--r--src/GeometryByReference/GeometryByReferenceNIOBuffer.java517
-rw-r--r--src/GeometryByReference/GeometryByReferenceTest.html15
-rw-r--r--src/GeometryByReference/GeometryByReferenceTest.java552
-rw-r--r--src/GeometryByReference/GeometryByReferenceTest_plugin.html39
-rw-r--r--src/GeometryByReference/ImageComponentByReferenceTest.html15
-rw-r--r--src/GeometryByReference/ImageComponentByReferenceTest.java328
-rw-r--r--src/GeometryByReference/ImageComponentByReferenceTest_plugin.html39
-rw-r--r--src/GeometryByReference/InterleavedNIOBuffer.java534
-rw-r--r--src/GeometryByReference/InterleavedTest.html15
-rw-r--r--src/GeometryByReference/InterleavedTest.java504
-rw-r--r--src/GeometryByReference/InterleavedTest_plugin.html39
-rw-r--r--src/GeometryByReference/TiledImage.java356
-rw-r--r--src/GeometryByReference/build.xml69
-rw-r--r--src/GeometryCompression/ObjectFileCompressor.html437
-rw-r--r--src/GeometryCompression/ObjectFileCompressor.java247
-rw-r--r--src/GeometryCompression/README67
-rw-r--r--src/GeometryCompression/build.xml69
-rw-r--r--src/GeometryCompression/cgview.java212
-rw-r--r--src/GeometryCompression/obj2cg.java71
-rw-r--r--src/HelloUniverse/HelloUniverse.form36
-rw-r--r--src/HelloUniverse/HelloUniverse.java167
-rw-r--r--src/HelloUniverse/build.xml69
-rw-r--r--src/LOD/LOD.html15
-rw-r--r--src/LOD/LOD.java179
-rw-r--r--src/LOD/LOD_plugin.html39
-rw-r--r--src/LOD/build.xml69
-rw-r--r--src/Lightwave/README.txt321
-rw-r--r--src/Lightwave/Viewer.html15
-rw-r--r--src/Lightwave/Viewer.java207
-rw-r--r--src/Lightwave/Viewer_plugin.html39
-rw-r--r--src/Lightwave/ballcone.lws102
-rw-r--r--src/Lightwave/build.xml69
-rw-r--r--src/Lightwave/greenball.lwobin8574 -> 0 bytes
-rw-r--r--src/Lightwave/redcone.lwobin890 -> 0 bytes
-rw-r--r--src/ModelClip/ModelClipTest.html15
-rw-r--r--src/ModelClip/ModelClipTest.java174
-rw-r--r--src/ModelClip/ModelClipTest2.html15
-rw-r--r--src/ModelClip/ModelClipTest2.java195
-rw-r--r--src/ModelClip/ModelClipTest2_plugin.html39
-rw-r--r--src/ModelClip/ModelClipTest_plugin.html39
-rw-r--r--src/ModelClip/build.xml69
-rw-r--r--src/Morphing/ColorCube.java121
-rw-r--r--src/Morphing/ColorPyramidDown.java121
-rw-r--r--src/Morphing/ColorPyramidUp.java123
-rw-r--r--src/Morphing/Morphing.html15
-rw-r--r--src/Morphing/Morphing.java260
-rw-r--r--src/Morphing/MorphingBehavior.java97
-rw-r--r--src/Morphing/Morphing_plugin.html39
-rw-r--r--src/Morphing/Pyramid2Cube.html15
-rw-r--r--src/Morphing/Pyramid2Cube.java192
-rw-r--r--src/Morphing/Pyramid2Cube_plugin.html39
-rw-r--r--src/Morphing/build.xml69
-rw-r--r--src/Morphing/hand1.obj846
-rw-r--r--src/Morphing/hand2.obj846
-rw-r--r--src/Morphing/hand3.obj846
-rw-r--r--src/ObjLoad/ObjLoad.html15
-rw-r--r--src/ObjLoad/ObjLoad.java285
-rw-r--r--src/ObjLoad/ObjLoad_plugin.html39
-rw-r--r--src/ObjLoad/build.xml69
-rw-r--r--src/ObjLoad/galleon.obj8901
-rw-r--r--src/OffScreenCanvas3D/OffScreenCanvas3D.java103
-rw-r--r--src/OffScreenCanvas3D/OffScreenTest.html15
-rw-r--r--src/OffScreenCanvas3D/OffScreenTest.java168
-rw-r--r--src/OffScreenCanvas3D/OffScreenTest_plugin.html39
-rw-r--r--src/OffScreenCanvas3D/OnScreenCanvas3D.java83
-rw-r--r--src/OffScreenCanvas3D/PrintFromButton.html15
-rw-r--r--src/OffScreenCanvas3D/PrintFromButton.java171
-rw-r--r--src/OffScreenCanvas3D/PrintFromButton_plugin.html39
-rw-r--r--src/OffScreenCanvas3D/build.xml69
-rw-r--r--src/OrientedShape3D/MouseRotateY.java194
-rw-r--r--src/OrientedShape3D/OrientedPtTest.html15
-rw-r--r--src/OrientedShape3D/OrientedPtTest.java295
-rw-r--r--src/OrientedShape3D/OrientedPtTest_plugin.html39
-rw-r--r--src/OrientedShape3D/OrientedTest.html15
-rw-r--r--src/OrientedShape3D/OrientedTest.java303
-rw-r--r--src/OrientedShape3D/OrientedTest_plugin.html39
-rw-r--r--src/OrientedShape3D/build.xml69
-rw-r--r--src/PackageInfo/PackageInfo.java93
-rw-r--r--src/PackageInfo/QueryProperties.java148
-rw-r--r--src/PackageInfo/build.xml69
-rw-r--r--src/PickTest/BoltCG.java357
-rw-r--r--src/PickTest/ColorCube.java121
-rw-r--r--src/PickTest/ColorPyramidDown.java121
-rw-r--r--src/PickTest/ColorPyramidUp.java123
-rw-r--r--src/PickTest/CubeIQA.java136
-rw-r--r--src/PickTest/CubeQA.java133
-rw-r--r--src/PickTest/GullCG.java576
-rw-r--r--src/PickTest/IcosahedronITSA.java178
-rw-r--r--src/PickTest/IcosahedronTSA.java175
-rw-r--r--src/PickTest/IntersectInfoBehavior.java251
-rw-r--r--src/PickTest/IntersectTest.html17
-rw-r--r--src/PickTest/IntersectTest.java233
-rw-r--r--src/PickTest/IntersectTest_plugin.html41
-rw-r--r--src/PickTest/MorphingBehavior.java97
-rw-r--r--src/PickTest/OctahedronITFA.java113
-rw-r--r--src/PickTest/OctahedronTFA.java112
-rw-r--r--src/PickTest/PickTest.html15
-rw-r--r--src/PickTest/PickTest.java414
-rw-r--r--src/PickTest/PickTest_plugin.html39
-rw-r--r--src/PickTest/RandomColorCube.java129
-rw-r--r--src/PickTest/RandomColorTetrahedron.java99
-rw-r--r--src/PickTest/TetrahedronILA.java104
-rw-r--r--src/PickTest/TetrahedronILSA.java95
-rw-r--r--src/PickTest/TetrahedronIPA.java79
-rw-r--r--src/PickTest/TetrahedronITA.java102
-rw-r--r--src/PickTest/TetrahedronLA.java102
-rw-r--r--src/PickTest/TetrahedronLSA.java92
-rw-r--r--src/PickTest/TetrahedronPA.java69
-rw-r--r--src/PickTest/TetrahedronTA.java100
-rw-r--r--src/PickTest/build.xml69
-rw-r--r--src/PickText3D/PickText3DBounds.html15
-rw-r--r--src/PickText3D/PickText3DBounds.java232
-rw-r--r--src/PickText3D/PickText3DBounds_plugin.html39
-rw-r--r--src/PickText3D/PickText3DGeometry.html15
-rw-r--r--src/PickText3D/PickText3DGeometry.java250
-rw-r--r--src/PickText3D/PickText3DGeometry_plugin.html39
-rw-r--r--src/PickText3D/build.xml69
-rw-r--r--src/PlatformGeometry/SimpleGeometry.html15
-rw-r--r--src/PlatformGeometry/SimpleGeometry.java198
-rw-r--r--src/PlatformGeometry/SimpleGeometry_plugin.html39
-rw-r--r--src/PlatformGeometry/build.xml69
-rw-r--r--src/PrintCanvas3D/ImageDisplayer.java128
-rw-r--r--src/PrintCanvas3D/ImagePrinter.java110
-rw-r--r--src/PrintCanvas3D/OffScreenCanvas3D.java77
-rw-r--r--src/PrintCanvas3D/PrintCanvas3D.java362
-rw-r--r--src/PrintCanvas3D/build.xml69
-rw-r--r--src/PureImmediate/PureImmediate.html15
-rw-r--r--src/PureImmediate/PureImmediate.java149
-rw-r--r--src/PureImmediate/PureImmediateStereo.html15
-rw-r--r--src/PureImmediate/PureImmediateStereo.java264
-rw-r--r--src/PureImmediate/PureImmediateStereo_plugin.html39
-rw-r--r--src/PureImmediate/PureImmediate_plugin.html39
-rw-r--r--src/PureImmediate/build.xml69
-rw-r--r--src/ReadRaster/ReadRaster.html15
-rw-r--r--src/ReadRaster/ReadRaster.java222
-rw-r--r--src/ReadRaster/ReadRaster_plugin.html39
-rw-r--r--src/ReadRaster/build.xml69
-rw-r--r--src/SgChangerListener/ListenerTest.java221
-rw-r--r--src/SgChangerListener/build.xml69
-rw-r--r--src/Sound/AudioBehaviorMoveOne.java104
-rw-r--r--src/Sound/AudioReverberate.java169
-rw-r--r--src/Sound/MoveAppBoundingLeaf.html15
-rw-r--r--src/Sound/MoveAppBoundingLeaf.java387
-rw-r--r--src/Sound/MoveAppBoundingLeaf_plugin.html39
-rw-r--r--src/Sound/README.release230
-rw-r--r--src/Sound/ReverberateSound.html15
-rw-r--r--src/Sound/ReverberateSound.java220
-rw-r--r--src/Sound/ReverberateSound_plugin.html39
-rw-r--r--src/Sound/SimpleSounds.html15
-rw-r--r--src/Sound/SimpleSounds.java292
-rw-r--r--src/Sound/SimpleSoundsBehavior.java177
-rw-r--r--src/Sound/SimpleSounds_plugin.html39
-rw-r--r--src/Sound/build.xml69
-rw-r--r--src/Sound/hello_universe.aubin10743 -> 0 bytes
-rw-r--r--src/Sound/roar.aubin18935 -> 0 bytes
-rw-r--r--src/Sound/techno_machine.aubin49347 -> 0 bytes
-rw-r--r--src/SphereMotion/SphereMotion.html15
-rw-r--r--src/SphereMotion/SphereMotion.java301
-rw-r--r--src/SphereMotion/SphereMotion_plugin.html39
-rw-r--r--src/SphereMotion/build.xml69
-rw-r--r--src/SplineAnim/SplineAnim.html15
-rw-r--r--src/SplineAnim/SplineAnim.java601
-rw-r--r--src/SplineAnim/SplineAnim_plugin.html39
-rw-r--r--src/SplineAnim/build.xml69
-rw-r--r--src/SwingInteraction/SwingInteraction.form82
-rw-r--r--src/SwingInteraction/SwingInteraction.java250
-rw-r--r--src/SwingInteraction/build.xml69
-rw-r--r--src/Text2D/MoverBehavior.java139
-rw-r--r--src/Text2D/Text2DTest.html15
-rw-r--r--src/Text2D/Text2DTest.java191
-rw-r--r--src/Text2D/Text2DTest_plugin.html39
-rw-r--r--src/Text2D/build.xml69
-rw-r--r--src/Text3D/Text3DLoad.html15
-rw-r--r--src/Text3D/Text3DLoad.java284
-rw-r--r--src/Text3D/Text3DLoad_plugin.html39
-rw-r--r--src/Text3D/build.xml69
-rw-r--r--src/TextureByReference/AnimateTexturesBehavior.java315
-rw-r--r--src/TextureByReference/ImageOps.java173
-rw-r--r--src/TextureByReference/Tetrahedron.java221
-rw-r--r--src/TextureByReference/TextureByReference.html15
-rw-r--r--src/TextureByReference/TextureByReference.java530
-rw-r--r--src/TextureByReference/TextureByReference_plugin.html39
-rw-r--r--src/TextureByReference/build.xml69
-rw-r--r--src/TextureTest/MultiTextureTest.html15
-rw-r--r--src/TextureTest/MultiTextureTest.java318
-rw-r--r--src/TextureTest/MultiTextureTest_plugin.html39
-rw-r--r--src/TextureTest/TextureImage.html15
-rw-r--r--src/TextureTest/TextureImage.java178
-rw-r--r--src/TextureTest/TextureImage_plugin.html39
-rw-r--r--src/TextureTest/build.xml69
-rw-r--r--src/TickTockCollision/Box.java98
-rw-r--r--src/TickTockCollision/CollisionDetector.java90
-rw-r--r--src/TickTockCollision/TickTockCollision.html15
-rw-r--r--src/TickTockCollision/TickTockCollision.java217
-rw-r--r--src/TickTockCollision/TickTockCollision_plugin.html39
-rw-r--r--src/TickTockCollision/build.xml69
-rw-r--r--src/TickTockPicking/Cube.java108
-rw-r--r--src/TickTockPicking/PickHighlightBehavior.java100
-rw-r--r--src/TickTockPicking/Tetrahedron.java110
-rw-r--r--src/TickTockPicking/TickTockPicking.html15
-rw-r--r--src/TickTockPicking/TickTockPicking.java446
-rw-r--r--src/TickTockPicking/TickTockPicking_plugin.html39
-rw-r--r--src/TickTockPicking/build.xml69
-rw-r--r--src/Timer/TimerTest.html15
-rw-r--r--src/Timer/TimerTest.java84
-rw-r--r--src/Timer/TimerTest_plugin.html39
-rw-r--r--src/Timer/build.xml69
-rw-r--r--src/VirtualInputDevice/ButtonPositionControls.java207
-rw-r--r--src/VirtualInputDevice/HelloUniverse.html15
-rw-r--r--src/VirtualInputDevice/HelloUniverse.java134
-rw-r--r--src/VirtualInputDevice/HelloUniverse_plugin.html39
-rw-r--r--src/VirtualInputDevice/PositionControls.java68
-rw-r--r--src/VirtualInputDevice/README239
-rw-r--r--src/VirtualInputDevice/RotationControls.java71
-rw-r--r--src/VirtualInputDevice/SensorBehavior.java70
-rw-r--r--src/VirtualInputDevice/VirtualInputDevice.java258
-rw-r--r--src/VirtualInputDevice/WheelControls.java399
-rw-r--r--src/VirtualInputDevice/build.xml69
-rw-r--r--src/geometry/beethoven.obj9278
-rw-r--r--src/geometry/brick2.intbin4608 -> 0 bytes
-rw-r--r--src/geometry/concrete.intbin4608 -> 0 bytes
-rw-r--r--src/geometry/galleon.cgbin36616 -> 0 bytes
-rw-r--r--src/geometry/galleon.obj8901
-rw-r--r--src/geometry/gas.rgbbin247280 -> 0 bytes
-rw-r--r--src/geometry/gravel.intbin4608 -> 0 bytes
-rw-r--r--src/geometry/minimart.cgbin15968 -> 0 bytes
-rw-r--r--src/geometry/minimart.mtl131
-rw-r--r--src/geometry/minimart.obj8696
-rw-r--r--src/geometry/numbers.intbin11520 -> 0 bytes
-rw-r--r--src/geometry/p51_mustang.cgbin24440 -> 0 bytes
-rw-r--r--src/geometry/p51_mustang.obj5527
-rw-r--r--src/geometry/products.rgbbin49664 -> 0 bytes
-rw-r--r--src/geometry/pumps.intbin16896 -> 0 bytes
-rw-r--r--src/geometry/thdoor.intabin4608 -> 0 bytes
-rw-r--r--src/geometry/window.intabin4608 -> 0 bytes
-rw-r--r--src/images/Java3d.jpgbin15473 -> 0 bytes
-rw-r--r--src/images/animation1.gifbin5631 -> 0 bytes
-rw-r--r--src/images/animation10.gifbin5027 -> 0 bytes
-rw-r--r--src/images/animation2.gifbin5925 -> 0 bytes
-rw-r--r--src/images/animation3.gifbin6051 -> 0 bytes
-rw-r--r--src/images/animation4.gifbin6276 -> 0 bytes
-rw-r--r--src/images/animation5.gifbin5571 -> 0 bytes
-rw-r--r--src/images/animation6.gifbin4186 -> 0 bytes
-rw-r--r--src/images/animation7.gifbin4628 -> 0 bytes
-rw-r--r--src/images/animation8.gifbin6476 -> 0 bytes
-rw-r--r--src/images/animation9.gifbin5664 -> 0 bytes
-rw-r--r--src/images/apimage.jpgbin79522 -> 0 bytes
-rw-r--r--src/images/bg.jpgbin327485 -> 0 bytes
-rw-r--r--src/images/earth.jpgbin13411 -> 0 bytes
-rw-r--r--src/images/one.jpgbin6450 -> 0 bytes
-rw-r--r--src/images/stone.jpgbin79522 -> 0 bytes
-rw-r--r--src/images/ttimage.jpgbin1033 -> 0 bytes
-rw-r--r--www/index.html2
367 files changed, 81 insertions, 88573 deletions
diff --git a/build.xml b/build.xml
index 7cee8cc..b6e6173 100644
--- a/build.xml
+++ b/build.xml
@@ -46,68 +46,85 @@
*/
-->
-<project default="compile">
-
-<target name="compile">
- <property name="build.target" value="compile"/>
- <antcall target="subdirs"/>
-</target>
-
-<target name="all">
- <property name="build.target" value="all"/>
- <antcall target="subdirs"/>
-</target>
-
-<target name="clean">
- <property name="build.target" value="clean"/>
- <antcall target="subdirs"/>
-</target>
-
-<target name="subdirs">
- <ant dir="src/AlternateAppearance" target="${build.target}"/>
- <ant dir="src/Appearance" target="${build.target}"/>
- <ant dir="src/AppearanceMixed" target="${build.target}"/>
- <ant dir="src/Applet3D" target="${build.target}"/>
- <ant dir="src/Background" target="${build.target}"/>
- <ant dir="src/CgShaderTest" target="${build.target}"/>
- <ant dir="src/ConfiguredUniverse" target="${build.target}"/>
- <ant dir="src/ConicWorld" target="${build.target}"/>
- <ant dir="src/DepthFuncTest" target="${build.target}"/>
- <ant dir="src/DistortGlyph" target="${build.target}"/>
- <ant dir="src/FPSCounter" target="${build.target}"/>
- <ant dir="src/FourByFour" target="${build.target}"/>
- <ant dir="src/GearTest" target="${build.target}"/>
- <ant dir="src/GeometryByReference" target="${build.target}"/>
- <ant dir="src/GeometryCompression" target="${build.target}"/>
- <ant dir="src/GLSLShaderTest" target="${build.target}"/>
- <ant dir="src/HelloUniverse" target="${build.target}"/>
- <ant dir="src/LOD" target="${build.target}"/>
- <ant dir="src/Lightwave" target="${build.target}"/>
- <ant dir="src/ModelClip" target="${build.target}"/>
- <ant dir="src/Morphing" target="${build.target}"/>
- <ant dir="src/ObjLoad" target="${build.target}"/>
- <ant dir="src/OffScreenCanvas3D" target="${build.target}"/>
- <ant dir="src/OrientedShape3D" target="${build.target}"/>
- <ant dir="src/PackageInfo" target="${build.target}"/>
- <ant dir="src/PickTest" target="${build.target}"/>
- <ant dir="src/PickText3D" target="${build.target}"/>
- <ant dir="src/PlatformGeometry" target="${build.target}"/>
- <ant dir="src/PrintCanvas3D" target="${build.target}"/>
- <ant dir="src/PureImmediate" target="${build.target}"/>
- <ant dir="src/ReadRaster" target="${build.target}"/>
- <ant dir="src/SgChangerListener" target="${build.target}"/>
- <ant dir="src/Sound" target="${build.target}"/>
- <ant dir="src/SphereMotion" target="${build.target}"/>
- <ant dir="src/SplineAnim" target="${build.target}"/>
- <ant dir="src/SwingInteraction" target="${build.target}"/>
- <ant dir="src/Text2D" target="${build.target}"/>
- <ant dir="src/Text3D" target="${build.target}"/>
- <ant dir="src/TextureByReference" target="${build.target}"/>
- <ant dir="src/TextureTest" target="${build.target}"/>
- <ant dir="src/TickTockCollision" target="${build.target}"/>
- <ant dir="src/TickTockPicking" target="${build.target}"/>
- <ant dir="src/Timer" target="${build.target}"/>
- <ant dir="src/VirtualInputDevice" target="${build.target}"/>
-</target>
+<project name="j3d-examples-1.4.0" default="jar">
+
+ <target name="init">
+ <!-- Set global properties for this build -->
+ <property name="src" location="src"/>
+ <property name="build" location="build"/>
+ <property name="dist" location="dist"/>
+ <property name="output.jar" location="dist/j3d-examples.jar"/>
+ </target>
+
+ <target name="compile" depends="init">
+ <!-- Create the build directory -->
+ <mkdir dir="${build}/classes"/>
+
+ <!-- Compile the java code from ${src}/classes into ${build}/classes -->
+ <javac srcdir="${src}/classes"
+ destdir="${build}/classes"
+ source="1.4"
+ target="1.4"
+ debug="true"
+ deprecation="off">
+ </javac>
+ </target>
+
+ <target name="jar" depends="init,compile">
+ <!-- Create the dist directory -->
+ <mkdir dir="${dist}"/>
+
+ <!-- Create the jar file -->
+ <jar jarfile="${output.jar}"
+ manifest="manifest.mf"
+ update="no"
+ compress="false">
+ <fileset dir="${build}/classes" includes="org/**/*"/>
+ </jar>
+ </target>
+
+ <target name="all" depends="init,jar">
+ </target>
+
+ <target name="clean" depends="init">
+ <delete dir="${build}"/>
+ <delete dir="${dist}"/>
+ </target>
+
+ <target name="init-run" depends="init,jar">
+ <path id="run.classpath">
+ <pathelement location="${output.jar}"/>
+ </path>
+ </target>
+
+ <target name="run" depends="run.HelloUniverse">
+ </target>
+
+ <!--
+ **************************************************
+ * Individual run targets for each example program
+ **************************************************
+ -->
+
+ <target name="run.HelloUniverse" depends="init-run">
+ <java classpath="${run.classpath}"
+ fork="true"
+ classname="org.jdesktop.j3d.examples.hello_universe.HelloUniverse">
+ </java>
+ </target>
+
+ <target name="run.QueryProperties" depends="init-run">
+ <java classpath="${run.classpath}"
+ fork="true"
+ classname="org.jdesktop.j3d.examples.package_info.QueryProperties">
+ </java>
+ </target>
+
+ <target name="run.SphereMotion" depends="init-run">
+ <java classpath="${run.classpath}"
+ fork="true"
+ classname="org.jdesktop.j3d.examples.sphere_motion.SphereMotion">
+ </java>
+ </target>
</project>
diff --git a/src/AlternateAppearance/AlternateAppearanceBoundsTest.html b/src/AlternateAppearance/AlternateAppearanceBoundsTest.html
deleted file mode 100644
index 1de548b..0000000
--- a/src/AlternateAppearance/AlternateAppearanceBoundsTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>AlternateAppearanceBoundsTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="AlternateAppearanceBoundsTest.class" width=800 height=800>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/AlternateAppearance/AlternateAppearanceBoundsTest.java b/src/AlternateAppearance/AlternateAppearanceBoundsTest.java
deleted file mode 100644
index b080f97..0000000
--- a/src/AlternateAppearance/AlternateAppearanceBoundsTest.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.border.*;
-import com.sun.j3d.utils.behaviors.mouse.*;
-
-public class AlternateAppearanceBoundsTest extends JApplet
-implements ActionListener {
-
-
- Material mat1, altMat;
- Appearance app, otherApp;
- JComboBox altAppMaterialColor;
- JComboBox appMaterialColor;
- JCheckBox useBoundingLeaf;
- JCheckBox override;
- JComboBox boundsType;
- private Group content1 = null;
- AlternateAppearance altApp;
- Shape3D[] shapes1;
- boolean boundingLeafOn = false;
- // Globally used colors
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f red = new Color3f(1.0f, 0.0f, 0.0f);
- Color3f green = new Color3f(0.0f, 1.0f, 0.0f);
- Color3f blue = new Color3f(0.0f, 0.0f, 1.0f);
- Color3f[] colors = {white, red, green, blue};
-
- private Bounds worldBounds = new BoundingSphere(
- new Point3d( 0.0, 0.0, 0.0 ), // Center
- 1000.0 ); // Extent
- private Bounds smallBounds = new BoundingSphere(
- new Point3d( 0.0, 0.0, 0.0 ), // Center
- 0.25 ); // Extent
- private Bounds tinyBounds = new BoundingSphere(
- new Point3d( 0.0, 0.0, 0.0 ), // Center
- 0.05 ); // Extent
- private BoundingLeaf leafBounds = null;
- private int currentBounds = 2;
-
- private Bounds[] allBounds = {tinyBounds, smallBounds, worldBounds};
-
- DirectionalLight light1 = null;
-
- // Get the current bounding leaf position
- private int currentPosition = 0;
- // Point3f pos = (Point3f)positions[currentPosition].value;
-
- private SimpleUniverse u = null;
-
- public AlternateAppearanceBoundsTest() {
- }
-
- public void init() {
- Container contentPane = getContentPane();
-
- Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- contentPane.add("Center", c);
-
- BranchGroup scene = createSceneGraph();
- // SimpleUniverse is a Convenience Utility class
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
- u.addBranchGraph(scene);
-
-
- // Create GUI
- JPanel p = new JPanel();
- BoxLayout boxlayout = new BoxLayout(p,
- BoxLayout.Y_AXIS);
- p.add(createBoundsPanel());
- p.add(createMaterialPanel());
- p.setLayout(boxlayout);
-
- contentPane.add("South", p);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- BranchGroup createSceneGraph() {
- BranchGroup objRoot = new BranchGroup();
-
- // Create an alternate appearance
- otherApp = new Appearance();
- altMat = new Material();
- altMat.setCapability(Material.ALLOW_COMPONENT_WRITE);
- altMat.setDiffuseColor( new Color3f( 0.0f, 1.0f, 0.0f ) );
- otherApp.setMaterial(altMat);
-
- altApp = new AlternateAppearance();
- altApp.setAppearance(otherApp);
- altApp.setCapability(AlternateAppearance.ALLOW_BOUNDS_WRITE);
- altApp.setCapability(AlternateAppearance.ALLOW_INFLUENCING_BOUNDS_WRITE);
- altApp.setInfluencingBounds( worldBounds );
- objRoot.addChild(altApp);
-
- // Build foreground geometry
- Appearance app1 = new Appearance();
- mat1 = new Material();
- mat1.setCapability(Material.ALLOW_COMPONENT_WRITE);
- mat1.setDiffuseColor( new Color3f( 1.0f, 0.0f, 0.0f ) );
- app1.setMaterial(mat1);
- content1 = new SphereGroup(
- 0.05f, // radius of spheres
- 0.15f, // x spacing
- 0.15f, // y spacing
- 5, // number of spheres in X
- 5, // number of spheres in Y
- app1, // appearance
- true); // alt app override = true
- objRoot.addChild( content1 );
- shapes1 = ((SphereGroup)content1).getShapes();
-
-
-
- // Add lights
- light1 = new DirectionalLight( );
- light1.setEnable( true );
- light1.setColor( new Color3f(0.2f, 0.2f, 0.2f) );
- light1.setDirection( new Vector3f( 1.0f, 0.0f, -1.0f ) );
- light1.setInfluencingBounds( worldBounds );
- light1.setCapability(
- DirectionalLight.ALLOW_INFLUENCING_BOUNDS_WRITE );
- light1.setCapability(
- DirectionalLight.ALLOW_BOUNDS_WRITE );
- objRoot.addChild( light1 );
-
- // Add an ambient light to dimly illuminate the rest of
- // the shapes in the scene to help illustrate that the
- // directional lights are being scoped... otherwise it looks
- // like we're just removing shapes from the scene
- AmbientLight ambient = new AmbientLight( );
- ambient.setEnable( true );
- ambient.setColor( new Color3f(1.0f, 1.0f, 1.0f) );
- ambient.setInfluencingBounds( worldBounds );
- objRoot.addChild( ambient );
-
-
- // Define a bounding leaf
- leafBounds = new BoundingLeaf( allBounds[currentBounds] );
- leafBounds.setCapability( BoundingLeaf.ALLOW_REGION_WRITE );
- objRoot.addChild( leafBounds );
- if (boundingLeafOn) {
- altApp.setInfluencingBoundingLeaf(leafBounds);
- }
- else {
- altApp.setInfluencingBounds(allBounds[currentBounds]);
- }
-
-
-
- return objRoot;
- }
- JPanel createBoundsPanel() {
- JPanel panel = new JPanel();
- panel.setBorder(new TitledBorder("Scopes"));
-
-
- String boundsValues[] = { "Tiny Bounds", "Small Bounds", "Big Bounds"};
-
- boundsType = new JComboBox(boundsValues);
- boundsType.addActionListener(this);
- boundsType.setSelectedIndex(2);
- panel.add(new JLabel("Bounds"));
- panel.add(boundsType);
-
- useBoundingLeaf = new JCheckBox("Enable BoundingLeaf",
- boundingLeafOn);
- useBoundingLeaf.addActionListener(this);
- panel.add(useBoundingLeaf);
-
- override = new JCheckBox("Enable App Override",
- false);
- override.addActionListener(this);
- panel.add(override);
-
- return panel;
-
- }
-
- JPanel createMaterialPanel() {
- JPanel panel = new JPanel();
- panel.setBorder(new TitledBorder("Appearance Attributes"));
-
- String colorVals[] = { "WHITE", "RED", "GREEN", "BLUE"};
-
- altAppMaterialColor = new JComboBox(colorVals);
- altAppMaterialColor.addActionListener(this);
- altAppMaterialColor.setSelectedIndex(2);
- panel.add(new JLabel("Alternate Appearance MaterialColor"));
- panel.add(altAppMaterialColor);
-
-
-
- appMaterialColor = new JComboBox(colorVals);
- appMaterialColor.addActionListener(this);
- appMaterialColor.setSelectedIndex(1);
- panel.add(new JLabel("Normal Appearance MaterialColor"));
- panel.add(appMaterialColor);
-
- return panel;
-
-
- }
-
- public void actionPerformed(ActionEvent e) {
- int i;
-
- Object target = e.getSource();
- if (target == altAppMaterialColor) {
- altMat.setDiffuseColor(colors[altAppMaterialColor.getSelectedIndex()]);
- }
- else if (target == useBoundingLeaf) {
- boundingLeafOn = useBoundingLeaf.isSelected();
- if (boundingLeafOn) {
- leafBounds.setRegion(allBounds[currentBounds]);
- altApp.setInfluencingBoundingLeaf( leafBounds );
- }
- else {
- altApp.setInfluencingBoundingLeaf( null );
- altApp.setInfluencingBounds(allBounds[currentBounds]);
- }
-
- }
- else if (target == boundsType) {
- currentBounds = boundsType.getSelectedIndex();
- if (boundingLeafOn) {
- leafBounds.setRegion(allBounds[currentBounds]);
- altApp.setInfluencingBoundingLeaf( leafBounds );
- }
- else {
- altApp.setInfluencingBoundingLeaf( null );
- altApp.setInfluencingBounds(allBounds[currentBounds]);
- }
-
- }
- else if (target == override) {
- for (i = 0; i < shapes1.length; i++)
- shapes1[i].setAppearanceOverrideEnable(override.isSelected());
- }
- else if (target == appMaterialColor) {
- mat1.setDiffuseColor(colors[appMaterialColor.getSelectedIndex()]);
- }
-
- }
-
-
- public static void main(String[] args) {
- Frame frame = new MainFrame(new AlternateAppearanceBoundsTest(), 800, 800);
- }
-
-}
diff --git a/src/AlternateAppearance/AlternateAppearanceBoundsTest_plugin.html b/src/AlternateAppearance/AlternateAppearanceBoundsTest_plugin.html
deleted file mode 100644
index 08f45fa..0000000
--- a/src/AlternateAppearance/AlternateAppearanceBoundsTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>AlternateAppearanceBoundsTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 800 HEIGHT = 800 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "AlternateAppearanceBoundsTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "AlternateAppearanceBoundsTest.class" WIDTH = 800 HEIGHT = 800 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "AlternateAppearanceBoundsTest.class" WIDTH = 800 HEIGHT = 800 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/AlternateAppearance/AlternateAppearanceScopeTest.html b/src/AlternateAppearance/AlternateAppearanceScopeTest.html
deleted file mode 100644
index c455c5e..0000000
--- a/src/AlternateAppearance/AlternateAppearanceScopeTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>AlternateAppearanceScopeTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="AlternateAppearanceScopeTest.class" width=800 height=800>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/AlternateAppearance/AlternateAppearanceScopeTest.java b/src/AlternateAppearance/AlternateAppearanceScopeTest.java
deleted file mode 100644
index 6a2d276..0000000
--- a/src/AlternateAppearance/AlternateAppearanceScopeTest.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.border.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-
-public class AlternateAppearanceScopeTest extends JApplet
-implements ActionListener {
-
-
- Material mat1, altMat;
- Appearance app, otherApp;
- JComboBox altAppMaterialColor;
- JComboBox appMaterialColor;
- JComboBox altAppScoping;
- JComboBox override;
- private Group content1 = null;
- private Group content2 = null;
- BoundingSphere worldBounds;
- AlternateAppearance altApp;
- Shape3D[] shapes1, shapes2;
- boolean shape1Enabled = false, shape2Enabled = false;
- // Globally used colors
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f red = new Color3f(1.0f, 0.0f, 0.0f);
- Color3f green = new Color3f(0.0f, 1.0f, 0.0f);
- Color3f blue = new Color3f(0.0f, 0.0f, 1.0f);
- Color3f[] colors = {white, red, green, blue};
-
- private SimpleUniverse u;
-
- public AlternateAppearanceScopeTest() {
- }
-
- public void init() {
- Container contentPane = getContentPane();
-
- Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- contentPane.add("Center", c);
-
- BranchGroup scene = createSceneGraph();
- // SimpleUniverse is a Convenience Utility class
- u = new SimpleUniverse(c);
-
- // add mouse behaviors to the viewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- OrbitBehavior orbit = new OrbitBehavior(c,
- OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0),
- 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- u.addBranchGraph(scene);
-
-
- // Create GUI
- JPanel p = new JPanel();
- BoxLayout boxlayout = new BoxLayout(p,
- BoxLayout.Y_AXIS);
- p.add(createScopingPanel());
- p.add(createMaterialPanel());
- p.setLayout(boxlayout);
-
- contentPane.add("South", p);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- BranchGroup createSceneGraph() {
- BranchGroup objRoot = new BranchGroup();
-
- // Create influencing bounds
- worldBounds = new BoundingSphere(
- new Point3d( 0.0, 0.0, 0.0 ), // Center
- 1000.0 ); // Extent
-
- Transform3D t = new Transform3D();
- // move the object upwards
- t.set(new Vector3f(0.0f, 0.1f, 0.0f));
- // Shrink the object
- t.setScale(0.8);
-
- TransformGroup trans = new TransformGroup(t);
- trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
-
-
- otherApp = new Appearance();
- altMat = new Material();
- altMat.setCapability(Material.ALLOW_COMPONENT_WRITE);
- altMat.setDiffuseColor( new Color3f( 0.0f, 1.0f, 0.0f ) );
- otherApp.setMaterial(altMat);
-
- altApp = new AlternateAppearance();
- altApp.setAppearance(otherApp);
- altApp.setCapability(AlternateAppearance.ALLOW_SCOPE_WRITE);
- altApp.setCapability(AlternateAppearance.ALLOW_SCOPE_READ);
- altApp.setInfluencingBounds( worldBounds );
- objRoot.addChild(altApp);
-
- // Build foreground geometry into two groups. We'll
- // create three directional lights below, one each with
- // scope to cover the first geometry group only, the
- // second geometry group only, or both geometry groups.
- Appearance app1 = new Appearance();
- mat1 = new Material();
- mat1.setCapability(Material.ALLOW_COMPONENT_WRITE);
- mat1.setDiffuseColor( new Color3f( 1.0f, 0.0f, 0.0f ) );
- app1.setMaterial(mat1);
- content1 = new SphereGroup(
- 0.05f, // radius of spheres
- 0.4f, // x spacing
- 0.2f, // y spacing
- 3, // number of spheres in X
- 5, // number of spheres in Y
- app1, // appearance
- true); // alt app override = true
- trans.addChild( content1 );
- shapes1 = ((SphereGroup)content1).getShapes();
-
- content2 = new SphereGroup(
- 0.05f, // radius of spheres
- .4f, // x spacing
- 0.2f, // y spacing
- 2, // number of spheres in X
- 5, // number of spheres in Y
- app1, // appearance
- true); // alt app override = true
- trans.addChild( content2 );
- shapes2 = ((SphereGroup)content2).getShapes();
-
-
- // Add lights
- DirectionalLight light1 = null;
- light1 = new DirectionalLight( );
- light1.setEnable( true );
- light1.setColor( new Color3f(0.2f, 0.2f, 0.2f) );
- light1.setDirection( new Vector3f( 1.0f, 0.0f, -1.0f ) );
- light1.setInfluencingBounds( worldBounds );
- objRoot.addChild( light1 );
-
- DirectionalLight light2 = new DirectionalLight();
- light2.setEnable(true);
- light2.setColor(new Color3f(0.2f, 0.2f, 0.2f));
- light2.setDirection(new Vector3f(-1.0f, 0.0f, 1.0f));
- light2.setInfluencingBounds(worldBounds);
- objRoot.addChild(light2);
-
- // Add an ambient light to dimly illuminate the rest of
- // the shapes in the scene to help illustrate that the
- // directional lights are being scoped... otherwise it looks
- // like we're just removing shapes from the scene
- AmbientLight ambient = new AmbientLight( );
- ambient.setEnable( true );
- ambient.setColor( new Color3f(1.0f, 1.0f, 1.0f) );
- ambient.setInfluencingBounds( worldBounds );
- objRoot.addChild( ambient );
-
-
- objRoot.addChild(trans);
-
- return objRoot;
- }
- JPanel createScopingPanel() {
- JPanel panel = new JPanel();
- panel.setBorder(new TitledBorder("Scopes"));
-
- String values[] = {"Scoped Set1", "Scoped Set2", "Universal Scope"};
- altAppScoping = new JComboBox(values);
- altAppScoping.addActionListener(this);
- altAppScoping.setSelectedIndex(2);
- panel.add(new JLabel("Scoping"));
- panel.add(altAppScoping);
-
-
- String enables[] = { "Enabled Set1", "Enabled Set2", "Enabled set1&2", "Disabled set1&2"};
-
- override = new JComboBox(enables);
- override.addActionListener(this);
- override.setSelectedIndex(3);
- panel.add(new JLabel("Alternate Appearance Override"));
- panel.add(override);
-
- return panel;
-
- }
-
- JPanel createMaterialPanel() {
- JPanel panel = new JPanel();
- panel.setBorder(new TitledBorder("Appearance Attributes"));
-
- String colorVals[] = { "WHITE", "RED", "GREEN", "BLUE"};
-
- altAppMaterialColor = new JComboBox(colorVals);
- altAppMaterialColor.addActionListener(this);
- altAppMaterialColor.setSelectedIndex(2);
- panel.add(new JLabel("Alternate Appearance MaterialColor"));
- panel.add(altAppMaterialColor);
-
-
-
- appMaterialColor = new JComboBox(colorVals);
- appMaterialColor.addActionListener(this);
- appMaterialColor.setSelectedIndex(1);
- panel.add(new JLabel("Normal Appearance MaterialColor"));
- panel.add(appMaterialColor);
-
- return panel;
-
-
- }
-
- public void actionPerformed(ActionEvent e) {
- Object target = e.getSource();
- if (target == altAppMaterialColor) {
- altMat.setDiffuseColor(colors[altAppMaterialColor.getSelectedIndex()]);
- }
- else if (target == altAppScoping) {
- for (int i = 0; i < altApp.numScopes(); i++) {
- altApp.removeScope(0);
- }
- if (altAppScoping.getSelectedIndex() == 0) {
- altApp.addScope(content1);
- }
- else if (altAppScoping.getSelectedIndex() == 1) {
- altApp.addScope(content2);
- }
- }
- else if (target == override) {
- int i;
- if (override.getSelectedIndex()== 0) {
- if (!shape1Enabled) {
- for (i = 0; i < shapes1.length; i++)
- shapes1[i].setAppearanceOverrideEnable(true);
- shape1Enabled = true;
- }
-
- if (shape2Enabled) {
- for (i = 0; i < shapes2.length; i++)
- shapes2[i].setAppearanceOverrideEnable(false);
- shape2Enabled = false;
- }
- }
- else if (override.getSelectedIndex() == 1) {
- if (!shape2Enabled) {
- for (i = 0; i < shapes2.length; i++)
- shapes2[i].setAppearanceOverrideEnable(true);
- shape2Enabled = true;
- }
-
- if (shape1Enabled) {
- for (i = 0; i < shapes1.length; i++)
- shapes1[i].setAppearanceOverrideEnable(false);
- shape1Enabled = false;
- }
- }
- else if (override.getSelectedIndex() == 2) {
- if (!shape1Enabled) {
- for (i = 0; i < shapes1.length; i++)
- shapes1[i].setAppearanceOverrideEnable(true);
- shape1Enabled = true;
- }
- if (!shape2Enabled) {
- for (i = 0; i < shapes2.length; i++)
- shapes2[i].setAppearanceOverrideEnable(true);
- shape2Enabled = true;
- }
- }
- else {
- if (shape1Enabled) {
- for (i = 0; i < shapes1.length; i++)
- shapes1[i].setAppearanceOverrideEnable(false);
- shape1Enabled = false;
- }
-
- if (shape2Enabled) {
- for (i = 0; i < shapes2.length; i++)
- shapes2[i].setAppearanceOverrideEnable(false);
- shape2Enabled = false;
- }
- }
-
- }
- else if (target == appMaterialColor) {
- mat1.setDiffuseColor(colors[appMaterialColor.getSelectedIndex()]);
- }
-
- }
-
-
- public static void main(String[] args) {
- Frame frame = new MainFrame(new AlternateAppearanceScopeTest(), 800, 800);
- }
-
-}
diff --git a/src/AlternateAppearance/AlternateAppearanceScopeTest_plugin.html b/src/AlternateAppearance/AlternateAppearanceScopeTest_plugin.html
deleted file mode 100644
index 3a1c690..0000000
--- a/src/AlternateAppearance/AlternateAppearanceScopeTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>AlternateAppearanceScopeTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 800 HEIGHT = 800 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "AlternateAppearanceScopeTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "AlternateAppearanceScopeTest.class" WIDTH = 800 HEIGHT = 800 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "AlternateAppearanceScopeTest.class" WIDTH = 800 HEIGHT = 800 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/AlternateAppearance/SphereGroup.java b/src/AlternateAppearance/SphereGroup.java
deleted file mode 100644
index 7b5d4db..0000000
--- a/src/AlternateAppearance/SphereGroup.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import com.sun.j3d.utils.geometry.*;
-
-public class SphereGroup
- extends Group
-{
- Shape3D[] shapes;
- int numShapes = 0;
- // Constructors
- public SphereGroup( )
- {
- // radius x,y spacing x,y count appearance
- this( 0.25f, 0.75f, 0.75f, 5, 5, null, false );
- }
-
- public SphereGroup( Appearance app )
- {
- // radius x,y spacing x,y count appearance
- this( 0.25f, 0.75f, 0.75f, 5, 5, app, false );
- }
-
- public SphereGroup( float radius, float xSpacing, float ySpacing,
- int xCount, int yCount, boolean overrideflag )
- {
- this( radius, xSpacing, ySpacing, xCount, yCount, null, overrideflag );
- }
-
- public SphereGroup( float radius, float xSpacing, float ySpacing,
- int xCount, int yCount, Appearance app, boolean overrideflag )
- {
- if ( app == null )
- {
- app = new Appearance( );
- Material material = new Material( );
- material.setDiffuseColor( new Color3f( 0.8f, 0.8f, 0.8f ) );
- material.setSpecularColor( new Color3f( 0.0f, 0.0f, 0.0f ) );
- material.setShininess( 0.0f );
- app.setMaterial( material );
- }
-
- double xStart = -xSpacing * (double)(xCount-1) / 2.0;
- double yStart = -ySpacing * (double)(yCount-1) / 2.0;
-
- Sphere sphere = null;
- TransformGroup trans = null;
- Transform3D t3d = new Transform3D( );
- Vector3d vec = new Vector3d( );
- double x, y = yStart, z = 0.0;
- shapes = new Shape3D[xCount * yCount];
- for ( int i = 0; i < yCount; i++ )
- {
- x = xStart;
- for ( int j = 0; j < xCount; j++ ) {
- vec.set( x, y, z );
- t3d.setTranslation( vec );
- trans = new TransformGroup( t3d );
- addChild( trans );
-
- sphere = new Sphere(
- radius, // sphere radius
- Primitive.GENERATE_NORMALS, // generate normals
- 16, // 16 divisions radially
- app ); // it's appearance
- trans.addChild( sphere );
- x += xSpacing;
- shapes[numShapes] = sphere.getShape();
- if (overrideflag)
- shapes[numShapes].setCapability(Shape3D.ALLOW_APPEARANCE_OVERRIDE_WRITE);
- numShapes++;
- }
- y += ySpacing;
- }
- }
- Shape3D[] getShapes() {
- return shapes;
- }
-
-}
diff --git a/src/AlternateAppearance/build.xml b/src/AlternateAppearance/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/AlternateAppearance/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Appearance/AppearanceTest.html b/src/Appearance/AppearanceTest.html
deleted file mode 100644
index e5f36a4..0000000
--- a/src/Appearance/AppearanceTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>AppearanceTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="AppearanceTest.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Appearance/AppearanceTest.java b/src/Appearance/AppearanceTest.java
deleted file mode 100644
index 2342ad6..0000000
--- a/src/Appearance/AppearanceTest.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class AppearanceTest extends Applet {
-
- private java.net.URL texImage = null;
- private java.net.URL bgImage = null;
-
- private SimpleUniverse u = null;
-
- private BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- TextureLoader bgTexture = new TextureLoader(bgImage, this);
- Background bg = new Background(bgTexture.getImage());
- bg.setApplicationBounds(bounds);
- objRoot.addChild(bg);
-
- // Set up the global lights
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
-
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- objRoot.addChild(aLgt);
- objRoot.addChild(lgt1);
-
- // Create a bunch of objects with a behavior and add them
- // into the scene graph.
-
- int row, col;
- Appearance[][] app = new Appearance[3][3];
-
- for (row = 0; row < 3; row++)
- for (col = 0; col < 3; col++)
- app[row][col] = createAppearance(row * 3 + col);
-
- for (int i = 0; i < 3; i++) {
- double ypos = (double)(i - 1) * 0.6;
- for (int j = 0; j < 3; j++) {
- double xpos = (double)(j - 1) * 0.6;
- objRoot.addChild(createObject(app[i][j], 0.12, xpos, ypos));
- }
- }
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
-
- private Appearance createAppearance(int idx) {
- Appearance app = new Appearance();
-
- // Globally used colors
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
-
- switch (idx) {
- // Unlit solid
- case 0:
- {
- // Set up the coloring properties
- Color3f objColor = new Color3f(1.0f, 0.2f, 0.4f);
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(objColor);
- app.setColoringAttributes(ca);
- break;
- }
-
-
- // Unlit wire frame
- case 1:
- {
- // Set up the coloring properties
- Color3f objColor = new Color3f(0.5f, 0.0f, 0.2f);
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(objColor);
- app.setColoringAttributes(ca);
-
- // Set up the polygon attributes
- PolygonAttributes pa = new PolygonAttributes();
- pa.setPolygonMode(pa.POLYGON_LINE);
- pa.setCullFace(pa.CULL_NONE);
- app.setPolygonAttributes(pa);
- break;
- }
-
- // Unlit points
- case 2:
- {
- // Set up the coloring properties
- Color3f objColor = new Color3f(0.2f, 0.2f, 1.0f);
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(objColor);
- app.setColoringAttributes(ca);
-
- // Set up the polygon attributes
- PolygonAttributes pa = new PolygonAttributes();
- pa.setPolygonMode(pa.POLYGON_POINT);
- pa.setCullFace(pa.CULL_NONE);
- app.setPolygonAttributes(pa);
-
- // Set up point attributes
- PointAttributes pta = new PointAttributes();
- pta.setPointSize(5.0f);
- app.setPointAttributes(pta);
- break;
- }
-
- // Lit solid
- case 3:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- break;
- }
-
- // Texture mapped, lit solid
- case 4:
- {
- // Set up the texture map
- TextureLoader tex = new TextureLoader(texImage, this);
- app.setTexture(tex.getTexture());
-
- TextureAttributes texAttr = new TextureAttributes();
- texAttr.setTextureMode(TextureAttributes.MODULATE);
- app.setTextureAttributes(texAttr);
-
- // Set up the material properties
- app.setMaterial(new Material(white, black, white, black, 1.0f));
- break;
- }
-
- // Transparent, lit solid
- case 5:
- {
- // Set up the transparency properties
- TransparencyAttributes ta = new TransparencyAttributes();
- ta.setTransparencyMode(ta.BLENDED);
- ta.setTransparency(0.6f);
- app.setTransparencyAttributes(ta);
-
- // Set up the polygon attributes
- PolygonAttributes pa = new PolygonAttributes();
- pa.setCullFace(pa.CULL_NONE);
- app.setPolygonAttributes(pa);
-
- // Set up the material properties
- Color3f objColor = new Color3f(0.7f, 0.8f, 1.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- black, 1.0f));
- break;
- }
-
- // Lit solid, no specular
- case 6:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- black, 80.0f));
- break;
- }
-
- // Lit solid, specular only
- case 7:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- app.setMaterial(new Material(black, black, black,
- white, 80.0f));
- break;
- }
-
- // Another lit solid with a different color
- case 8:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.8f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- break;
- }
-
- default:
- {
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(new Color3f(0.0f, 1.0f, 0.0f));
- app.setColoringAttributes(ca);
- }
- }
-
- return app;
- }
-
-
- private Group createObject(Appearance app, double scale,
- double xpos, double ypos) {
-
- // Create a transform group node to scale and position the object.
- Transform3D t = new Transform3D();
- t.set(scale, new Vector3d(xpos, ypos, 0.0));
- TransformGroup objTrans = new TransformGroup(t);
-
- // Create a second transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime.
- TransformGroup spinTg = new TransformGroup();
- spinTg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
-
- // Create a simple shape leaf node and set the appearance
- Shape3D shape = new Tetrahedron();
- shape.setAppearance(app);
-
- // add it to the scene graph.
- spinTg.addChild(shape);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 5000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, spinTg, yAxis,
- 0.0f, (float) Math.PI*2.0f);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- rotator.setSchedulingBounds(bounds);
-
- // Add the behavior and the transform group to the object
- objTrans.addChild(rotator);
- objTrans.addChild(spinTg);
-
- return objTrans;
- }
-
-
- public AppearanceTest() {
- }
-
- public AppearanceTest(java.net.URL bgurl, java.net.URL texurl) {
- bgImage = bgurl;
- texImage = texurl;
- }
-
- public void init() {
- if (bgImage == null) {
- // the path to the image for an applet
- try {
- bgImage = new java.net.URL(getCodeBase().toString() +
- "../images/bg.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- if (texImage == null) {
- // the path to the image for an applet
- try {
- texImage = new java.net.URL(getCodeBase().toString() +
- "../images/apimage.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
-
- //
- // The following allows AppearanceTest to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- // the path to the image file for an application
- java.net.URL bgurl = null;
- java.net.URL texurl = null;
- try {
- bgurl = new java.net.URL("file:../images/bg.jpg");
- texurl = new java.net.URL("file:../images/apimage.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- new MainFrame(new AppearanceTest(bgurl, texurl), 700, 700);
- }
-}
diff --git a/src/Appearance/AppearanceTest_plugin.html b/src/Appearance/AppearanceTest_plugin.html
deleted file mode 100644
index e74b29c..0000000
--- a/src/Appearance/AppearanceTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>AppearanceTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "AppearanceTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "AppearanceTest.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "AppearanceTest.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Appearance/Tetrahedron.java b/src/Appearance/Tetrahedron.java
deleted file mode 100644
index 5dfdee7..0000000
--- a/src/Appearance/Tetrahedron.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Tetrahedron extends Shape3D {
- private static final float sqrt3 = (float) Math.sqrt(3.0);
- private static final float sqrt3_3 = sqrt3 / 3.0f;
- private static final float sqrt24_3 = (float) Math.sqrt(24.0) / 3.0f;
-
- private static final float ycenter = 0.5f * sqrt24_3;
- private static final float zcenter = -sqrt3_3;
-
- private static final Point3f p1 = new Point3f(-1.0f, -ycenter, -zcenter);
- private static final Point3f p2 = new Point3f(1.0f, -ycenter, -zcenter);
- private static final Point3f p3 =
- new Point3f(0.0f, -ycenter, -sqrt3 - zcenter);
- private static final Point3f p4 =
- new Point3f(0.0f, sqrt24_3 - ycenter, 0.0f);
-
- private static final Point3f[] verts = {
- p1, p2, p4, // front face
- p1, p4, p3, // left, back face
- p2, p3, p4, // right, back face
- p1, p3, p2, // bottom face
- };
-
- private TexCoord2f texCoord[] = {
- new TexCoord2f(0.0f, 0.0f),
- new TexCoord2f(1.0f, 0.0f),
- new TexCoord2f(0.5f, sqrt3 / 2.0f),
- };
-
- public Tetrahedron() {
- int i;
-
- TriangleArray tetra = new TriangleArray(12, TriangleArray.COORDINATES |
- TriangleArray.NORMALS | TriangleArray.TEXTURE_COORDINATE_2);
-
- tetra.setCoordinates(0, verts);
- for (i = 0; i < 12; i++) {
- tetra.setTextureCoordinate(0, i, texCoord[i%3]);
- }
-
- int face;
- Vector3f normal = new Vector3f();
- Vector3f v1 = new Vector3f();
- Vector3f v2 = new Vector3f();
- Point3f [] pts = new Point3f[3];
- for (i = 0; i < 3; i++) pts[i] = new Point3f();
-
- for (face = 0; face < 4; face++) {
- tetra.getCoordinates(face*3, pts);
- v1.sub(pts[1], pts[0]);
- v2.sub(pts[2], pts[0]);
- normal.cross(v1, v2);
- normal.normalize();
- for (i = 0; i < 3; i++) {
- tetra.setNormal((face * 3 + i), normal);
- }
- }
- this.setGeometry(tetra);
- this.setAppearance(new Appearance());
- }
-}
diff --git a/src/Appearance/build.xml b/src/Appearance/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/Appearance/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/AppearanceMixed/AppearanceMixed.html b/src/AppearanceMixed/AppearanceMixed.html
deleted file mode 100644
index 349cd5d..0000000
--- a/src/AppearanceMixed/AppearanceMixed.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>AppearanceMixed</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="AppearanceMixed.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/AppearanceMixed/AppearanceMixed.java b/src/AppearanceMixed/AppearanceMixed.java
deleted file mode 100644
index cc2cad4..0000000
--- a/src/AppearanceMixed/AppearanceMixed.java
+++ /dev/null
@@ -1,506 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.GraphicsConfiguration;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import com.sun.j3d.utils.geometry.ColorCube;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class AppearanceMixed extends Applet {
-
- private java.net.URL bgImage;
- private java.net.URL texImage;
-
- private SimpleUniverse u = null;
-
- static class MyCanvas3D extends Canvas3D {
- private GraphicsContext3D gc;
-
- private static final int vertIndices[] = { 0, 1, 2, 0, 2, 3 };
- private static final int normalIndices[] = { 0, 0, 0, 1, 1, 1 };
- private IndexedTriangleArray tri =
- new IndexedTriangleArray(4, IndexedTriangleArray.COORDINATES |
- IndexedTriangleArray.NORMALS, 6);
-
- private Point3f vert[] = {
- new Point3f(-0.12f, -0.12f, 0.0f),
- new Point3f( 0.12f, -0.12f, 0.0f),
- new Point3f( 0.12f, 0.12f, 0.0f),
- new Point3f(-0.12f, 0.12f, 0.0f),
- };
-
- private Point3f min[] = {
- new Point3f(-0.24f, -0.24f, -0.20f),
- new Point3f( 0.04f, -0.28f, -0.24f),
- new Point3f( 0.00f, 0.00f, -0.24f),
- new Point3f(-0.32f, 0.08f, -0.20f),
- };
-
- private Point3f max[] = {
- new Point3f(-0.04f, -0.04f, 0.12f),
- new Point3f( 0.32f, -0.04f, 0.16f),
- new Point3f( 0.36f, 0.28f, 0.20f),
- new Point3f(-0.04f, 0.24f, 0.16f),
- };
-
- private Point3f delta[] = {
- new Point3f(-0.0021f, -0.0017f, 0.0014f),
- new Point3f( 0.0025f, -0.0013f, -0.0018f),
- new Point3f( 0.0021f, 0.0017f, 0.0018f),
- new Point3f(-0.0025f, 0.0013f, -0.0014f),
- };
-
- private Vector3f normals[];
- private Vector3f v01 = new Vector3f();
- private Vector3f v02 = new Vector3f();
- private Vector3f v03 = new Vector3f();
-
- public void renderField(int fieldDesc) {
- computeVert();
- computeNormals();
- gc.draw(tri);
- }
-
- private void computeVert() {
- for (int i = 0; i < 4; i++) {
- vert[i].add(delta[i]);
- if (vert[i].x > max[i].x) {
- vert[i].x = max[i].x;
- delta[i].x *= -1.0f;
- }
- if (vert[i].x < min[i].x) {
- vert[i].x = min[i].x;
- delta[i].x *= -1.0f;
- }
- if (vert[i].y > max[i].y) {
- vert[i].y = max[i].y;
- delta[i].y *= -1.0f;
- }
- if (vert[i].y < min[i].y) {
- vert[i].y = min[i].y;
- delta[i].y *= -1.0f;
- }
- if (vert[i].z > max[i].z) {
- vert[i].z = max[i].z;
- delta[i].z *= -1.0f;
- }
- if (vert[i].z < min[i].z) {
- vert[i].z = min[i].z;
- delta[i].z *= -1.0f;
- }
- }
- tri.setCoordinates(0, vert);
- }
-
- private void computeNormals() {
- v01.sub(vert[1], vert[0]);
- v02.sub(vert[2], vert[0]);
- v03.sub(vert[3], vert[0]);
- normals[0].cross(v01, v02);
- normals[0].normalize();
- normals[1].cross(v02, v03);
- normals[1].normalize();
- tri.setNormals(0, normals);
- }
-
- public MyCanvas3D(GraphicsConfiguration gcfg) {
- super(gcfg);
-
- // Allocate memory for normals
- normals = new Vector3f[2];
- normals[0] = new Vector3f();
- normals[1] = new Vector3f();
-
- // Set up the indices
- tri.setCoordinateIndices(0, vertIndices);
- tri.setNormalIndices(0, normalIndices);
-
- // Set up the graphics context
- gc = getGraphicsContext3D();
-
- // Create the appearance for the triangle fan
- Appearance app = new Appearance();
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f objColor = new Color3f(0.0f, 0.0f, 0.8f);
- app.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- gc.setAppearance(app);
-
- // Set up the global lights
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
- gc.addLight(new AmbientLight(alColor));
- gc.addLight(new DirectionalLight(lColor1, lDir1));
- }
- }
-
-
- private BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- TextureLoader bgTexture = new TextureLoader(bgImage, this);
- Background bg = new Background(bgTexture.getImage());
- bg.setApplicationBounds(bounds);
- objRoot.addChild(bg);
-
- // Set up the global lights
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
-
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- objRoot.addChild(aLgt);
- objRoot.addChild(lgt1);
-
- // Create a bunch of objects with a behavior and add them
- // into the scene graph.
-
- int row, col;
- Appearance[][] app = new Appearance[3][3];
-
- for (row = 0; row < 3; row++)
- for (col = 0; col < 3; col++)
- app[row][col] = createAppearance(row * 3 + col);
-
- for (int i = 0; i < 3; i++) {
- double ypos = (double)(i - 1) * 0.6;
- for (int j = 0; j < 3; j++) {
- double xpos = (double)(j - 1) * 0.6;
- objRoot.addChild(createObject(app[i][j], 0.12, xpos, ypos));
- }
- }
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
-
- private Appearance createAppearance(int idx) {
- Appearance app = new Appearance();
-
- // Globally used colors
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
-
- switch (idx) {
- // Unlit solid
- case 0:
- {
- // Set up the coloring properties
- Color3f objColor = new Color3f(1.0f, 0.2f, 0.4f);
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(objColor);
- app.setColoringAttributes(ca);
- break;
- }
-
-
- // Unlit wire frame
- case 1:
- {
- // Set up the coloring properties
- Color3f objColor = new Color3f(0.5f, 0.0f, 0.2f);
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(objColor);
- app.setColoringAttributes(ca);
-
- // Set up the polygon attributes
- PolygonAttributes pa = new PolygonAttributes();
- pa.setPolygonMode(pa.POLYGON_LINE);
- pa.setCullFace(pa.CULL_NONE);
- app.setPolygonAttributes(pa);
- break;
- }
-
- // Unlit points
- case 2:
- {
- // Set up the coloring properties
- Color3f objColor = new Color3f(0.2f, 0.2f, 1.0f);
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(objColor);
- app.setColoringAttributes(ca);
-
- // Set up the polygon attributes
- PolygonAttributes pa = new PolygonAttributes();
- pa.setPolygonMode(pa.POLYGON_POINT);
- pa.setCullFace(pa.CULL_NONE);
- app.setPolygonAttributes(pa);
-
- // Set up point attributes
- PointAttributes pta = new PointAttributes();
- pta.setPointSize(5.0f);
- app.setPointAttributes(pta);
- break;
- }
-
- // Lit solid
- case 3:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- break;
- }
-
- // Texture mapped, lit solid
- case 4:
- {
- // Set up the texture map
- TextureLoader tex = new TextureLoader(texImage, this);
- app.setTexture(tex.getTexture());
-
- TextureAttributes texAttr = new TextureAttributes();
- texAttr.setTextureMode(TextureAttributes.MODULATE);
- app.setTextureAttributes(texAttr);
-
-
- // Set up the material properties
- app.setMaterial(new Material(white, black, white, black, 1.0f));
- break;
- }
-
- // Transparent, lit solid
- case 5:
- {
- // Set up the transparency properties
- TransparencyAttributes ta = new TransparencyAttributes();
- ta.setTransparencyMode(ta.BLENDED);
- ta.setTransparency(0.6f);
- app.setTransparencyAttributes(ta);
-
- // Set up the polygon attributes
- PolygonAttributes pa = new PolygonAttributes();
- pa.setCullFace(pa.CULL_NONE);
- app.setPolygonAttributes(pa);
-
- // Set up the material properties
- Color3f objColor = new Color3f(0.7f, 0.8f, 1.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- black, 1.0f));
- break;
- }
-
- // Lit solid, no specular
- case 6:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- black, 80.0f));
- break;
- }
-
- // Lit solid, specular only
- case 7:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- app.setMaterial(new Material(black, black, black,
- white, 80.0f));
- break;
- }
-
- // Another lit solid with a different color
- case 8:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.8f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- break;
- }
-
- default:
- {
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(new Color3f(0.0f, 1.0f, 0.0f));
- app.setColoringAttributes(ca);
- }
- }
-
- return app;
- }
-
-
- private Group createObject(Appearance app, double scale,
- double xpos, double ypos) {
-
- // Create a transform group node to scale and position the object.
- Transform3D t = new Transform3D();
- t.set(scale, new Vector3d(xpos, ypos, 0.0));
- TransformGroup objTrans = new TransformGroup(t);
-
- // Create a second transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime.
- TransformGroup spinTg = new TransformGroup();
- spinTg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
-
- // Create a simple shape leaf node and set the appearance
- Shape3D shape = new Tetrahedron();
- shape.setAppearance(app);
-
- // add it to the scene graph.
- spinTg.addChild(shape);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 5000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, spinTg, yAxis,
- 0.0f, (float) Math.PI*2.0f);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- rotator.setSchedulingBounds(bounds);
-
- // Add the behavior and the transform group to the object
- objTrans.addChild(rotator);
- objTrans.addChild(spinTg);
-
- return objTrans;
- }
-
-
- public AppearanceMixed() {
- }
-
- public AppearanceMixed(java.net.URL bgurl, java.net.URL texurl) {
- bgImage = bgurl;
- texImage = texurl;
- }
- public void init() {
- if (bgImage == null) {
- // the path to the image for an applet
- try {
- bgImage = new java.net.URL(getCodeBase().toString() +
- "../images/bg.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- if (texImage == null) {
- // the path to the image for an applet
- try {
- texImage = new java.net.URL(getCodeBase().toString() +
- "../images/apimage.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- MyCanvas3D c = new MyCanvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
-
- //
- // The following allows AppearanceMixed to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- // the path to the image file for an application
- java.net.URL bgurl = null;
- java.net.URL texurl = null;
- try {
- bgurl = new java.net.URL("file:../images/bg.jpg");
- texurl = new java.net.URL("file:../images/apimage.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- new MainFrame(new AppearanceMixed(bgurl, texurl), 700, 700);
- }
-}
diff --git a/src/AppearanceMixed/AppearanceMixed_plugin.html b/src/AppearanceMixed/AppearanceMixed_plugin.html
deleted file mode 100644
index 2fe3ef8..0000000
--- a/src/AppearanceMixed/AppearanceMixed_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>AppearanceMixed</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "AppearanceMixed.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "AppearanceMixed.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "AppearanceMixed.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/AppearanceMixed/Tetrahedron.java b/src/AppearanceMixed/Tetrahedron.java
deleted file mode 100644
index 5dfdee7..0000000
--- a/src/AppearanceMixed/Tetrahedron.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Tetrahedron extends Shape3D {
- private static final float sqrt3 = (float) Math.sqrt(3.0);
- private static final float sqrt3_3 = sqrt3 / 3.0f;
- private static final float sqrt24_3 = (float) Math.sqrt(24.0) / 3.0f;
-
- private static final float ycenter = 0.5f * sqrt24_3;
- private static final float zcenter = -sqrt3_3;
-
- private static final Point3f p1 = new Point3f(-1.0f, -ycenter, -zcenter);
- private static final Point3f p2 = new Point3f(1.0f, -ycenter, -zcenter);
- private static final Point3f p3 =
- new Point3f(0.0f, -ycenter, -sqrt3 - zcenter);
- private static final Point3f p4 =
- new Point3f(0.0f, sqrt24_3 - ycenter, 0.0f);
-
- private static final Point3f[] verts = {
- p1, p2, p4, // front face
- p1, p4, p3, // left, back face
- p2, p3, p4, // right, back face
- p1, p3, p2, // bottom face
- };
-
- private TexCoord2f texCoord[] = {
- new TexCoord2f(0.0f, 0.0f),
- new TexCoord2f(1.0f, 0.0f),
- new TexCoord2f(0.5f, sqrt3 / 2.0f),
- };
-
- public Tetrahedron() {
- int i;
-
- TriangleArray tetra = new TriangleArray(12, TriangleArray.COORDINATES |
- TriangleArray.NORMALS | TriangleArray.TEXTURE_COORDINATE_2);
-
- tetra.setCoordinates(0, verts);
- for (i = 0; i < 12; i++) {
- tetra.setTextureCoordinate(0, i, texCoord[i%3]);
- }
-
- int face;
- Vector3f normal = new Vector3f();
- Vector3f v1 = new Vector3f();
- Vector3f v2 = new Vector3f();
- Point3f [] pts = new Point3f[3];
- for (i = 0; i < 3; i++) pts[i] = new Point3f();
-
- for (face = 0; face < 4; face++) {
- tetra.getCoordinates(face*3, pts);
- v1.sub(pts[1], pts[0]);
- v2.sub(pts[2], pts[0]);
- normal.cross(v1, v2);
- normal.normalize();
- for (i = 0; i < 3; i++) {
- tetra.setNormal((face * 3 + i), normal);
- }
- }
- this.setGeometry(tetra);
- this.setAppearance(new Appearance());
- }
-}
diff --git a/src/AppearanceMixed/build.xml b/src/AppearanceMixed/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/AppearanceMixed/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Applet3D/HelloUniverse.html b/src/Applet3D/HelloUniverse.html
deleted file mode 100644
index 93b044c..0000000
--- a/src/Applet3D/HelloUniverse.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Hello, Universe!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="HelloUniverse.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Applet3D/HelloUniverse.java b/src/Applet3D/HelloUniverse.java
deleted file mode 100644
index 3ecd922..0000000
--- a/src/Applet3D/HelloUniverse.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import java.awt.event.*;
-import java.awt.GraphicsConfiguration;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class HelloUniverse extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create the TransformGroup node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at run time. Add it to
- // the root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
-
- // Create a simple Shape3D node; add it to the scene graph.
- objTrans.addChild(new ColorCube(0.4));
-
- // Create a new Behavior object that will perform the
- // desired operation on the specified transform and add
- // it into the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, 4000);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator.setSchedulingBounds(bounds);
- objRoot.addChild(rotator);
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public HelloUniverse() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows HelloUniverse to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new HelloUniverse(), 256, 256);
- }
-}
diff --git a/src/Applet3D/HelloUniverse_plugin.html b/src/Applet3D/HelloUniverse_plugin.html
deleted file mode 100644
index 947a59b..0000000
--- a/src/Applet3D/HelloUniverse_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Hello, Universe!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "HelloUniverse.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "HelloUniverse.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "HelloUniverse.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Applet3D/build.xml b/src/Applet3D/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/Applet3D/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Background/BackgroundGeometry.html b/src/Background/BackgroundGeometry.html
deleted file mode 100644
index ca5b914..0000000
--- a/src/Background/BackgroundGeometry.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>BackgroundGeometry</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="BackgroundGeometry.class" width=750 height=750>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Background/BackgroundGeometry.java b/src/Background/BackgroundGeometry.java
deleted file mode 100644
index 95b1649..0000000
--- a/src/Background/BackgroundGeometry.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.image.TextureLoader;
-import com.sun.j3d.utils.behaviors.mouse.*;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class BackgroundGeometry extends Applet {
-
- BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- private java.net.URL bgImage = null;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime.
- TransformGroup objTrans = new TransformGroup();
- objScale.addChild(objTrans);
-
- Background bg = new Background();
- bg.setApplicationBounds(bounds);
- BranchGroup backGeoBranch = new BranchGroup();
- Sphere sphereObj = new Sphere(1.0f, Sphere.GENERATE_NORMALS |
- Sphere.GENERATE_NORMALS_INWARD |
- Sphere.GENERATE_TEXTURE_COORDS, 45);
- Appearance backgroundApp = sphereObj.getAppearance();
- backGeoBranch.addChild(sphereObj);
- bg.setGeometry(backGeoBranch);
- objTrans.addChild(bg);
-
- TextureLoader tex = new TextureLoader(bgImage,
- new String("RGB"), this);
- if (tex != null)
- backgroundApp.setTexture(tex.getTexture());
-
- Vector3f tranlation = new Vector3f(2.0f, 0.0f, 0.0f);
- Transform3D modelTransform = new Transform3D();
- Transform3D tmpTransform = new Transform3D();
- double angleInc = Math.PI/8.0;
- double angle = 0.0;
- int numBoxes = 16;
-
- float scaleX[] = {0.1f, 0.2f, 0.2f, 0.3f,
- 0.2f, 0.1f, 0.2f, 0.3f,
- 0.1f, 0.3f, 0.2f, 0.3f,
- 0.1f, 0.3f, 0.2f, 0.3f};
-
- float scaleY[] = {0.3f, 0.4f, 0.3f, 0.4f,
- 0.3f, 0.4f, 0.3f, 0.4f,
- 0.3f, 0.3f, 0.3f, 0.3f,
- 0.3f, 0.3f, 0.3f, 0.4f};
-
- float scaleZ[] = {0.3f, 0.2f, 0.1f, 0.1f,
- 0.3f, 0.2f, 0.1f, 0.3f,
- 0.3f, 0.2f, 0.1f, 0.3f,
- 0.3f, 0.2f, 0.1f, 0.2f};
-
- Appearance a1 = new Appearance();
- Color3f eColor = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f sColor = new Color3f(0.5f, 0.5f, 1.0f);
- Color3f oColor = new Color3f(0.5f, 0.5f, 0.3f);
-
- Material m = new Material(oColor, eColor, oColor, sColor, 100.0f);
- m.setLightingEnable(true);
- a1.setMaterial(m);
-
- for (int i=0; i<numBoxes; i++, angle += angleInc) {
- modelTransform.rotY(angle);
- tmpTransform.set(tranlation);
- modelTransform.mul(tmpTransform);
-
- TransformGroup tgroup = new TransformGroup(modelTransform);
- objTrans.addChild(tgroup);
-
- tgroup.addChild( new Box(scaleX[i],scaleY[i],scaleZ[i],
- Box.GENERATE_NORMALS,a1));
- }
-
-
- // Shine it with two lights.
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Color3f lColor2 = new Color3f(0.2f, 0.2f, 0.1f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Vector3f lDir2 = new Vector3f(0.0f, 0.0f, -1.0f);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- DirectionalLight lgt2 = new DirectionalLight(lColor2, lDir2);
- lgt1.setInfluencingBounds(bounds);
- lgt2.setInfluencingBounds(bounds);
- objScale.addChild(lgt1);
- objScale.addChild(lgt2);
-
-
- return objRoot;
- }
-
- public BackgroundGeometry (){
- }
-
- public BackgroundGeometry(java.net.URL bgurl) {
- bgImage = bgurl;
- }
-
- public void init() {
-
- if (bgImage == null) {
- // the path to the image for an applet
- try {
- bgImage = new java.net.URL(getCodeBase().toString() +
- "../images/bg.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- TransformGroup viewTrans =
- u.getViewingPlatform().getViewPlatformTransform();
-
- // Create the rotate behavior node
- MouseRotate behavior1 = new MouseRotate(viewTrans);
- scene.addChild(behavior1);
- behavior1.setSchedulingBounds(bounds);
-
- // Create the zoom behavior node
- MouseZoom behavior2 = new MouseZoom(viewTrans);
- scene.addChild(behavior2);
- behavior2.setSchedulingBounds(bounds);
-
- // Create the translate behavior node
- MouseTranslate behavior3 = new MouseTranslate(viewTrans);
- scene.addChild(behavior3);
- behavior3.setSchedulingBounds(bounds);
-
- // Let Java 3D perform optimizations on this scene graph.
- scene.compile();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public static void main(String argv[]) {
- System.out.println("Usage: mouse buttons to rotate, zoom or translate the view platform transform");
- System.out.println(" Note that the background geometry only changes with rotation");
- // the path to the image file for an application
- java.net.URL bgurl = null;
- try {
- bgurl = new java.net.URL("file:../images/bg.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- new MainFrame(new BackgroundGeometry(bgurl), 750, 750);
- }
-}
-
diff --git a/src/Background/BackgroundGeometry_plugin.html b/src/Background/BackgroundGeometry_plugin.html
deleted file mode 100644
index 6caa206..0000000
--- a/src/Background/BackgroundGeometry_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>BackgroundGeometry</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 750 HEIGHT = 750 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "BackgroundGeometry.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "BackgroundGeometry.class" WIDTH = 750 HEIGHT = 750 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "BackgroundGeometry.class" WIDTH = 750 HEIGHT = 750 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Background/build.xml b/src/Background/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/Background/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/CgShaderTest/ObjLoadCg.java b/src/CgShaderTest/ObjLoadCg.java
deleted file mode 100644
index 7711075..0000000
--- a/src/CgShaderTest/ObjLoadCg.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.loaders.objectfile.ObjectFile;
-import com.sun.j3d.loaders.ParsingErrorException;
-import com.sun.j3d.loaders.IncorrectFormatException;
-import com.sun.j3d.loaders.Scene;
-import com.sun.j3d.utils.shader.StringIO;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.Enumeration;
-import java.io.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-import java.net.URL;
-import java.net.MalformedURLException;
-
-public class ObjLoadCg extends Applet {
-
- private boolean spin = false;
- private boolean noTriangulate = false;
- private boolean noStripify = false;
- private double creaseAngle = 60.0;
- private URL filename = null;
- private SimpleUniverse u;
- private BoundingSphere bounds;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.7);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objScale.addChild(objTrans);
-
- int flags = ObjectFile.RESIZE;
- if (!noTriangulate) flags |= ObjectFile.TRIANGULATE;
- if (!noStripify) flags |= ObjectFile.STRIPIFY;
- ObjectFile f = new ObjectFile(flags,
- (float)(creaseAngle * Math.PI / 180.0));
- Scene s = null;
- try {
- s = f.load(filename);
- }
- catch (FileNotFoundException e) {
- e.printStackTrace();
- System.exit(1);
- }
- catch (ParsingErrorException e) {
- e.printStackTrace();
- System.exit(1);
- }
- catch (IncorrectFormatException e) {
- e.printStackTrace();
- System.exit(1);
- }
-
- // Set vertex and fragment shader program for all Shape3D nodes in scene
- String vertexProgram = null;
- String fragmentProgram = null;
- try {
- vertexProgram = StringIO.readFully("./simple_vp.cg");
- fragmentProgram = StringIO.readFully("./simple_fp.cg");
- }
- catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
- Shader[] shaders = new Shader[2];
- shaders[0] = new SourceCodeShader(Shader.SHADING_LANGUAGE_CG,
- Shader.SHADER_TYPE_VERTEX,
- vertexProgram);
- shaders[1] = new SourceCodeShader(Shader.SHADING_LANGUAGE_CG,
- Shader.SHADER_TYPE_FRAGMENT,
- fragmentProgram);
- ShaderProgram shaderProgram = new CgShaderProgram();
- shaderProgram.setShaders(shaders);
- setShaderProgram(s.getSceneGroup(), shaderProgram);
-
- objTrans.addChild(s.getSceneGroup());
-
- bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- if (spin) {
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
- }
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
- Background bgNode = new Background(bgColor);
- bgNode.setApplicationBounds(bounds);
- objRoot.addChild(bgNode);
-
- return objRoot;
- }
-
- private void usage()
- {
- System.out.println(
- "Usage: java ObjLoadCg [-s] [-n] [-t] [-c degrees] <.obj file>");
- System.out.println(" -s Spin (no user interaction)");
- System.out.println(" -n No triangulation");
- System.out.println(" -t No stripification");
- System.out.println(
- " -c Set crease angle for normal generation (default is 60 without");
- System.out.println(
- " smoothing group info, otherwise 180 within smoothing groups)");
- System.exit(0);
- } // End of usage
-
-
-
- public void init() {
- if (filename == null) {
- // Applet
- try {
- URL path = getCodeBase();
- filename = new URL(path.toString() + "./galleon.obj");
- }
- catch (MalformedURLException e) {
- System.err.println(e);
- System.exit(1);
- }
- }
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // add mouse behaviors to the ViewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- PlatformGeometry pg = new PlatformGeometry();
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- pg.addChild(ambientLightNode);
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 0.2f, 0.4f);
- Vector3f light1Direction = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f light2Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light2Direction = new Vector3f(1.0f, 1.0f, 1.0f);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- pg.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- pg.addChild(light2);
-
- viewingPlatform.setPlatformGeometry( pg );
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- if (!spin) {
- OrbitBehavior orbit = new OrbitBehavior(c,
- OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
- }
-
- /*
- // Limit the frame rate to 100 Hz
- u.getViewer().getView().setMinimumFrameCycleTime(10);
- */
-
- u.addBranchGraph(scene);
- }
-
- // Set shader program for all nodes in specified branch graph
- private void setShaderProgram(BranchGroup g, ShaderProgram shaderProgram) {
- ShaderAppearance myApp = new ShaderAppearance();
- Material mat = new Material();
- Texture2D tex2d = new Texture2D();
- myApp.setCapability(Appearance.ALLOW_TEXTURE_WRITE);
- myApp.setShaderProgram(shaderProgram);
- myApp.setMaterial(mat);
- myApp.setTexture(tex2d);
- setShaderProgram(g, myApp);
- }
-
- // Recursively set shader program for all children of specified group
- private void setShaderProgram(Group g,
- ShaderAppearance myApp) {
-
- Enumeration e = g.getAllChildren();
- while (e.hasMoreElements()) {
- Node n = (Node)(e.nextElement());
- if (n instanceof Group) {
- setShaderProgram((Group)n, myApp);
- }
- else if (n instanceof Shape3D) {
- Shape3D s = (Shape3D)n;
- s.setAppearance(myApp);
- }
- }
- }
-
- // Caled if running as a program
- public ObjLoadCg(String[] args) {
- if (args.length != 0) {
- for (int i = 0 ; i < args.length ; i++) {
- if (args[i].startsWith("-")) {
- if (args[i].equals("-s")) {
- spin = true;
- } else if (args[i].equals("-n")) {
- noTriangulate = true;
- } else if (args[i].equals("-t")) {
- noStripify = true;
- } else if (args[i].equals("-c")) {
- if (i < args.length - 1) {
- creaseAngle = (new Double(args[++i])).doubleValue();
- } else usage();
- } else {
- usage();
- }
- } else {
- try {
- if ((args[i].indexOf("file:") == 0) ||
- (args[i].indexOf("http") == 0)) {
- filename = new URL(args[i]);
- }
- else if (args[i].charAt(0) != '/') {
- filename = new URL("file:./" + args[i]);
- }
- else {
- filename = new URL("file:" + args[i]);
- }
- }
- catch (MalformedURLException e) {
- System.err.println(e);
- System.exit(1);
- }
- }
- }
- }
- }
-
-
-
- // Running as an applet
- public ObjLoadCg() {
- }
-
- public void destroy() {
- u.cleanup();
- }
-
-
-
- //
- // The following allows ObjLoadCg to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new ObjLoadCg(args), 700, 700);
- }
-}
diff --git a/src/CgShaderTest/SphereCg.java b/src/CgShaderTest/SphereCg.java
deleted file mode 100644
index 495036e..0000000
--- a/src/CgShaderTest/SphereCg.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.io.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.shader.StringIO;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.Enumeration;
-import java.net.URL;
-import java.net.MalformedURLException;
-
-/**
- * Simple CG Shader test program
- */
-public class SphereCg extends Applet {
-
- // Constants for type of light to use
- private static final int DIRECTIONAL_LIGHT = 0;
- private static final int POINT_LIGHT = 1;
- private static final int SPOT_LIGHT = 2;
-
- // Flag indicates type of lights: directional, point, or spot
- // lights. This flag is set based on command line argument
- private static int lightType = DIRECTIONAL_LIGHT;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(SimpleUniverse u) {
- Color3f eColor = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f sColor = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f objColor = new Color3f(0.6f, 0.6f, 0.6f);
- Color3f lColor1 = new Color3f(1.0f, 0.0f, 0.0f);
- Color3f lColor2 = new Color3f(0.0f, 1.0f, 0.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
-
- Transform3D t;
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objScale.addChild(bg);
-
- // Create a Sphere object, generate one copy of the sphere,
- // and add it into the scene graph.
- ShaderAppearance a = new ShaderAppearance();
- Material m = new Material(objColor, eColor, objColor, sColor, 100.0f);
- m.setLightingEnable(true);
- Texture t2d = new Texture2D();
- a.setTexture(t2d);
- a.setCapability(Appearance.ALLOW_TEXTURE_WRITE);
-
- String vertexProgram = null;
- String fragmentProgram = null;
- try {
- vertexProgram = StringIO.readFully("./simple_vp.cg");
- fragmentProgram = StringIO.readFully("./simple_fp.cg");
- }
- catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
- Shader[] shaders = new Shader[2];
- shaders[0] = new SourceCodeShader(Shader.SHADING_LANGUAGE_CG,
- Shader.SHADER_TYPE_VERTEX,
- vertexProgram);
- shaders[1] = new SourceCodeShader(Shader.SHADING_LANGUAGE_CG,
- Shader.SHADER_TYPE_FRAGMENT,
- fragmentProgram);
- ShaderProgram shaderProgram = new CgShaderProgram();
- shaderProgram.setShaders(shaders);
-
- a.setShaderProgram(shaderProgram);
- a.setMaterial(m);
- Sphere sph = new Sphere(1.0f, Sphere.GENERATE_NORMALS, 200, a);
- objScale.addChild(sph);
-
- // Create the transform group node for the each light and initialize
- // it to the identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add them to the root
- // of the subgraph.
- TransformGroup l1RotTrans = new TransformGroup();
- l1RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(l1RotTrans);
-
- TransformGroup l2RotTrans = new TransformGroup();
- l2RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(l2RotTrans);
-
- // Create transformations for the positional lights
- t = new Transform3D();
- Vector3d lPos1 = new Vector3d(0.0, 0.0, 2.0);
- t.set(lPos1);
- TransformGroup l1Trans = new TransformGroup(t);
- l1RotTrans.addChild(l1Trans);
-
- t = new Transform3D();
- Vector3d lPos2 = new Vector3d(0.5, 0.8, 2.0);
- t.set(lPos2);
- TransformGroup l2Trans = new TransformGroup(t);
- l2RotTrans.addChild(l2Trans);
-
- /*
- // Create Geometry for point lights
- ColoringAttributes caL1 = new ColoringAttributes();
- ColoringAttributes caL2 = new ColoringAttributes();
- caL1.setColor(lColor1);
- caL2.setColor(lColor2);
- Appearance appL1 = new Appearance();
- Appearance appL2 = new Appearance();
- appL1.setColoringAttributes(caL1);
- appL2.setColoringAttributes(caL2);
- l1Trans.addChild(new Sphere(0.05f, appL1));
- l2Trans.addChild(new Sphere(0.05f, appL2));
- */
-
- // Create lights
- AmbientLight aLgt = new AmbientLight(alColor);
-
- Light lgt1 = null;
- Light lgt2 = null;
-
- Point3f lPoint = new Point3f(0.0f, 0.0f, 0.0f);
- Point3f atten = new Point3f(1.0f, 0.0f, 0.0f);
- Vector3f lDirect1 = new Vector3f(lPos1);
- Vector3f lDirect2 = new Vector3f(lPos2);
- lDirect1.negate();
- lDirect2.negate();
-
- switch (lightType) {
- case DIRECTIONAL_LIGHT:
- lgt1 = new DirectionalLight(lColor1, lDirect1);
- lgt2 = new DirectionalLight(lColor2, lDirect2);
- break;
- case POINT_LIGHT:
- lgt1 = new PointLight(lColor1, lPoint, atten);
- lgt2 = new PointLight(lColor2, lPoint, atten);
- break;
- case SPOT_LIGHT:
- lgt1 = new SpotLight(lColor1, lPoint, atten, lDirect1,
- 25.0f * (float)Math.PI / 180.0f, 10.0f);
- lgt2 = new SpotLight(lColor2, lPoint, atten, lDirect2,
- 25.0f * (float)Math.PI / 180.0f, 10.0f);
- break;
- }
-
- // Set the influencing bounds
- aLgt.setInfluencingBounds(bounds);
- lgt1.setInfluencingBounds(bounds);
- lgt2.setInfluencingBounds(bounds);
-
- // Add the lights into the scene graph
- objScale.addChild(aLgt);
- l1Trans.addChild(lgt1);
- l2Trans.addChild(lgt2);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotor1Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator1 =
- new RotationInterpolator(rotor1Alpha,
- l1RotTrans,
- yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator1.setSchedulingBounds(bounds);
- l1RotTrans.addChild(rotator1);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- Alpha rotor2Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 1000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator2 =
- new RotationInterpolator(rotor2Alpha,
- l2RotTrans,
- yAxis,
- 0.0f, 0.0f);
- bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator2.setSchedulingBounds(bounds);
- l2RotTrans.addChild(rotator2);
-
- // Create a position interpolator and attach it to the view
- // platform
- TransformGroup vpTrans =
- u.getViewingPlatform().getViewPlatformTransform();
- Transform3D axisOfTranslation = new Transform3D();
- Alpha transAlpha = new Alpha(-1,
- Alpha.INCREASING_ENABLE |
- Alpha.DECREASING_ENABLE,
- 0, 0,
- 5000, 0, 0,
- 5000, 0, 0);
- axisOfTranslation.rotY(-Math.PI/2.0);
- PositionInterpolator translator =
- new PositionInterpolator(transAlpha,
- vpTrans,
- axisOfTranslation,
- 2.0f, 3.5f);
- translator.setSchedulingBounds(bounds);
- objScale.addChild(translator);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public SphereCg() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- u = new SimpleUniverse(c);
- BranchGroup scene = createSceneGraph(u);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- /*
- // Limit the frame rate to 100 Hz
- u.getViewer().getView().setMinimumFrameCycleTime(10);
- */
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows SphereCg to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- // Parse the Input Arguments
- String usage = "Usage: java SphereCg [-point | -spot | -dir]";
- for (int i = 0; i < args.length; i++) {
- if (args[i].startsWith("-")) {
- if (args[i].equals("-point")) {
- /*
- System.out.println("Using point lights");
- lightType = POINT_LIGHT;
- */
- System.out.println("Point lights not yet implemented, option ignored");
- }
- else if (args[i].equals("-spot")) {
- /*
- System.out.println("Using spot lights");
- lightType = SPOT_LIGHT;
- */
- System.out.println("Spot lights not yet implemented, option ignored");
- }
- else if (args[i].equals("-dir")) {
- System.out.println("Using directional lights");
- lightType = DIRECTIONAL_LIGHT;
- }
- else {
- System.out.println(usage);
- System.exit(0);
- }
- }
- else {
- System.out.println(usage);
- System.exit(0);
- }
- }
-
- new MainFrame(new SphereCg(), 700, 700);
- }
-}
diff --git a/src/CgShaderTest/build.xml b/src/CgShaderTest/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/CgShaderTest/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/CgShaderTest/simple_fp.cg b/src/CgShaderTest/simple_fp.cg
deleted file mode 100644
index e9cd44b..0000000
--- a/src/CgShaderTest/simple_fp.cg
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-// Simple fragment program to attenuate the input fragment color as a
-// function of the distance of the fragment position from the center
-// of the window
-
-// define inputs from vertex shader to fragment shader
-struct vertin
-{
- float4 HPosition : POSITION;
- float4 FragPos : TEXCOORD0;
- float4 Color0 : COLOR0;
-};
-
-float4 main(vertin IN) : COLOR
-{
- // Compute distance from center in range [0.0, 1.0]
- float2 dist = min(abs(IN.FragPos.xy), 1.0f);
- float2 invDist = 1.0f - dist;
-
- // Compute attenuation
- float atten = invDist.x * invDist.y;
- float4 outcolor = float4(IN.Color0 * atten);
-
- return outcolor;
-}
diff --git a/src/CgShaderTest/simple_vp.cg b/src/CgShaderTest/simple_vp.cg
deleted file mode 100644
index d030818..0000000
--- a/src/CgShaderTest/simple_vp.cg
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*********************************************************************NVMH3****
-Path: NVSDK\Common\media\programs
-File: simple.cg
-
-Copyright NVIDIA Corporation 2002
-TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
-*AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
-BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
-WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
-BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
-ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
-BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
-Comments:
-
-******************************************************************************/
-
-// Simple vertex shader, derived from NVIDIA's simple.cg sample
-// shader, that modulates the lit color with a noise pattern based on
-// vertex position.
-
-// define inputs from application
-struct appin
-{
- float4 Position : POSITION;
- float4 Normal : NORMAL;
-};
-
-// define outputs from vertex shader
-struct vertout
-{
- float4 HPosition : POSITION;
- float4 FragPos : TEXCOORD0;
- float4 Color0 : COLOR0;
-};
-
-vertout main(appin IN,
- uniform float4x4 ModelViewProj,
- uniform float4x4 ModelViewIT,
- uniform float4 LightVec,
- uniform float4 LightColor,
- uniform float4 DiffuseMaterial,
- uniform float4 SpecularMaterial)
-{
- vertout OUT;
-
-// Assume that the profile is PROFILE_ARBVP1...
-// #ifdef PROFILE_ARBVP1
- ModelViewProj = glstate.matrix.mvp;
- ModelViewIT = glstate.matrix.invtrans.modelview[0];
- LightVec = glstate.light[0].position;
- LightColor = glstate.light[0].diffuse;
- DiffuseMaterial = glstate.material.front.diffuse;
- SpecularMaterial = glstate.material.front.specular;
-// #endif
-
- // transform vertex position into homogenous clip-space
- OUT.HPosition = mul(ModelViewProj, IN.Position);
-
- // Output the post-perspective-divide position as FragPos
- float invW = 1.0f / OUT.HPosition.w;
- OUT.FragPos = OUT.HPosition * invW;
-
- // transform normal from model-space to view-space
- float3 normalVec = normalize(mul(ModelViewIT, IN.Normal).xyz);
-
- // store normalized light vector
- float3 lightVec = normalize(LightVec.xyz);
-
- // calculate half angle vector
- float3 eyeVec = float3(0.0, 0.0, 1.0);
- float3 halfVec = normalize(lightVec + eyeVec);
-
- // calculate diffuse component
- float diffuse = dot(normalVec, lightVec);
-
- // calculate specular component
- float specular = dot(normalVec, halfVec);
-
- // The lit() function is a handy function in the standard library that
- // can be used to accelerate your lighting calculations.
- //
- // This function return a vector containing these values:
- // result.x = 1.0;
- // result.y = max(diffuse, 0);
- // result.z = if (result.y > 0.0) then pow(specular, 32) else 0.0
- // result.w = 1.0;
-
- // Use the lit function to compute lighting vector from diffuse and
- // specular values
- float4 lighting = lit(diffuse, specular, 32);
-
- // combine diffuse and specular contributions
- float3 color0 = (lighting.y * DiffuseMaterial.xyz * LightColor.xyz) +
- (lighting.z * SpecularMaterial.xyz);
-
- // Generate a pseudo-random noise pattern
-// float3 xyz = clamp((normalVec.xyz + 1.0) * 0.5, 0.0, 1.0);
- float3 xyz = clamp((OUT.HPosition.xyz + 1.0) * 0.5, 0.0, 1.0);
-
- xyz = frac(xyz * 262144.0);
- float randSeed = frac(3.0 * xyz.x + 5.0 * xyz.y + 7.0 * xyz.z);
-
- float3 altColor;
-
- randSeed = frac(37.0 * randSeed);
- altColor.x = randSeed * 0.5 + 0.5;
- randSeed = frac(37.0 * randSeed);
- altColor.y = randSeed * 0.5 + 0.5;
- randSeed = frac(37.0 * randSeed);
- altColor.z = randSeed * 0.5 + 0.5;
- randSeed = frac(37.0 * randSeed);
- float altAlpha = randSeed * 0.5;
-
- // Apply noise and output final vertex color
- OUT.Color0.rgb = lerp(color0, altColor, altAlpha);
- OUT.Color0.a = 1.0;
-
- return OUT;
-}
diff --git a/src/ConfiguredUniverse/ConfigObjLoad.java b/src/ConfiguredUniverse/ConfigObjLoad.java
deleted file mode 100644
index 7cd5019..0000000
--- a/src/ConfiguredUniverse/ConfigObjLoad.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.loaders.objectfile.ObjectFile;
-import com.sun.j3d.loaders.ParsingErrorException;
-import com.sun.j3d.loaders.IncorrectFormatException;
-import com.sun.j3d.loaders.Scene;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.io.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-import com.sun.j3d.utils.behaviors.sensor.Mouse6DPointerBehavior;
-import java.net.URL;
-import java.net.MalformedURLException;
-import java.util.Map;
-
-public class ConfigObjLoad {
-
- private boolean spin = false;
- private boolean noTriangulate = false;
- private boolean noStripify = false;
- private double creaseAngle = 60.0;
- private URL filename = null;
-
- private ConfiguredUniverse u;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.7);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objScale.addChild(objTrans);
-
- int flags = ObjectFile.RESIZE;
- if (!noTriangulate) flags |= ObjectFile.TRIANGULATE;
- if (!noStripify) flags |= ObjectFile.STRIPIFY;
- ObjectFile f = new ObjectFile(flags,
- (float)(creaseAngle * Math.PI / 180.0));
- Scene s = null;
- try {
- s = f.load(filename);
- }
- catch (FileNotFoundException e) {
- System.err.println(e);
- System.exit(1);
- }
- catch (ParsingErrorException e) {
- System.err.println(e);
- System.exit(1);
- }
- catch (IncorrectFormatException e) {
- System.err.println(e);
- System.exit(1);
- }
-
- objTrans.addChild(s.getSceneGroup());
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- if (spin) {
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
- }
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
- Background bgNode = new Background(bgColor);
- bgNode.setApplicationBounds(bounds);
- objRoot.addChild(bgNode);
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- objRoot.addChild(ambientLightNode);
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light1Direction = new Vector3f(1.0f, 1.0f, 1.0f);
- Color3f light2Color = new Color3f(1.0f, 1.0f, 1.0f);
- Vector3f light2Direction = new Vector3f(-1.0f, -1.0f, -1.0f);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- objRoot.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- objRoot.addChild(light2);
-
- return objRoot;
- }
-
- private void usage()
- {
- System.out.println(
- "Usage: java ObjLoad [-s] [-n] [-t] [-c degrees] <.obj file>");
- System.out.println(" -s Spin (no user interaction)");
- System.out.println(" -n No triangulation");
- System.out.println(" -t No stripification");
- System.out.println(
- " -c Set crease angle for normal generation (default is 60 without");
- System.out.println(
- " smoothing group info, otherwise 180 within smoothing groups)");
- System.exit(0);
- } // End of usage
-
-
- public void init() {
- if (filename == null) {
- try {
- filename = new URL("file:../geometry/galleon.obj");
- }
- catch (MalformedURLException e) {
- System.err.println(e);
- System.exit(1);
- }
- }
-
- // Get the config file URL from the j3d.configURL property or use the
- // default config file "j3d1x1-window" in the current directory.
- URL configURL = ConfiguredUniverse.getConfigURL("file:j3d1x1-window");
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new ConfiguredUniverse(configURL);
-
- // Get the ViewingPlatform.
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // This will move the ViewPlatform back a bit so the objects in the
- // scene can be viewed. This will only have an effect if the config
- // file sets the window eyepoint policy to something other than
- // RELATIVE_TO_COEXISTENCE, which is the default eyepoint policy
- // applied by ConfiguredUniverse.
- //
- // The default view attach policy for ConfiguredUniverse applications
- // is NOMINAL_SCREEN. This sets the view platform origin in the
- // physical world to the center of coexistence, which allows eye
- // positions expressed relative to coexistence to see the appropriate
- // field of view automatically.
- viewingPlatform.setNominalViewingTransform();
-
- // Add a ViewPlatformBehavior if not specified in the config file.
- if (!spin && viewingPlatform.getViewPlatformBehavior() == null) {
- OrbitBehavior orbit = new OrbitBehavior(u.getCanvas(),
- OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
-
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
- }
-
- // See if there's a 6 degree of freedom mouse in the environment.
- // We look for one named "mouse6d".
- Map sensorMap = null;
- sensorMap = u.getNamedSensors();
- if (sensorMap != null) {
- Sensor mouse6d = (Sensor)sensorMap.get("mouse6d");
- if (mouse6d != null) {
- Mouse6DPointerBehavior behavior =
- new Mouse6DPointerBehavior(mouse6d, 1.0, true);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- behavior.setSchedulingBounds(bounds);
-
- scene.addChild(behavior);
- scene.addChild(behavior.getEcho());
- }
- }
-
- // Listen for a typed "q", "Q", or "Escape" key on each canvas to
- // allow a convenient exit from full screen configurations.
- Canvas3D[] canvases;
- canvases = u.getViewer().getCanvas3Ds();
-
- class QuitListener extends KeyAdapter {
- public void keyTyped(KeyEvent e) {
- char c = e.getKeyChar();
- if (c == 'q' || c == 'Q' || c == 27)
- System.exit(0);
- }
- }
-
- QuitListener quitListener = new QuitListener();
- for (int i = 0; i < canvases.length; i++)
- canvases[i].addKeyListener(quitListener);
-
- // Make the scenegraph live.
- u.addBranchGraph(scene);
- }
-
- public ConfigObjLoad(String[] args) {
- if (args.length != 0) {
- for (int i = 0; i < args.length; i++) {
- if (args[i].startsWith("-")) {
- if (args[i].equals("-s")) {
- spin = true;
- } else if (args[i].equals("-n")) {
- noTriangulate = true;
- } else if (args[i].equals("-t")) {
- noStripify = true;
- } else if (args[i].equals("-c")) {
- if (i < args.length - 1) {
- creaseAngle = (new Double(args[++i])).doubleValue();
- } else usage();
- } else {
- usage();
- }
- } else {
- try {
- if ((args[i].indexOf("file:") == 0) ||
- (args[i].indexOf("http") == 0)) {
- filename = new URL(args[i]);
- }
- else if (args[i].charAt(0) != '/') {
- filename = new URL("file:./" + args[i]);
- }
- else {
- filename = new URL("file:" + args[i]);
- }
- }
- catch (MalformedURLException e) {
- System.err.println(e);
- System.exit(1);
- }
- }
- }
- }
- init();
- }
-
- public static void main(String[] args) {
- new ConfigObjLoad(args);
- }
-}
diff --git a/src/ConfiguredUniverse/README.txt b/src/ConfiguredUniverse/README.txt
deleted file mode 100644
index fd2af8e..0000000
--- a/src/ConfiguredUniverse/README.txt
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-This directory contains a simple example application that demonstrates the
-ConfiguredUniverse utility class available in the com.sun.j3d.utils.universe
-package. J3DFly, available separately, is a fully featured application that
-also uses ConfiguredUniverse.
-
-ConfiguredUniverse is an extension of SimpleUniverse that can set up an
-interactive viewing environment based upon the contents of a site-specific
-configuration file. This is useful when an application needs to run without
-change across a broad range of viewing configurations and locally available
-input and audio devices. InputDevice implementations can be instantiated by
-ConfiguredUniverse and their Sensors can be retrieved by applications along
-with the names bound to them in the configuration file.
-
-Supported viewing configurations include windows on conventional desktops,
-stereo-enabled views, fullscreen immersive displays on single or multiple
-screens, and virtual reality installations such as cave and head-mounted
-displays incorporating 6-degree-of-freedom sensor devices.
-
-The ConfigObjLoad application is a modified version of the ObjLoad example
-program which uses the ConfiguredUniverse utility instead of SimpleUniverse.
-It also differs in the following other respects:
-
- It is an application and cannot be run in a browser. ConfiguredUniverse
- creates a JFrame, JPanel, and Canvas3D itself for each screen and is
- oriented towards multiple fullscreen viewing environments, although
- conventional windowed displays are also supported. The components
- created are easily accessable so applications can still incorporate them
- into their own user interfaces.
-
- The configuration file to load is specified by the j3d.configURL
- property. If one is not specified, it will load the file j3d1x1-window
- in this directory.
-
- Alternative custom view platform behaviors other than OrbitBehavior can
- be used by specifying the behavior in the configuration file.
-
- It can retrieve a 6DOF Sensor specified in the configuration file and
- use it to demonstrate the Mouse6DPointerBehavior class.
-
- Typing a "q" or the Escape key will terminate the example program. This
- is useful for fullscreen configurations.
-
-To load a specific configuration file, set the j3d.configURL property on the
-command line:
-
- java -Dj3d.configURL=<URL string> ConfigObjLoad <args> <obj file>
-
-For example, to load j3d1x2-rot30 in the current directory, run
-
- java -Dj3d.configURL=file:j3d1x2-rot30 ConfigObjLoad <args> <obj file>
-
-This directory includes the following sample configuration files. Normally
-a configuration file is site-specific but many of these can used as-is.
-Others may need customization for screen sizes, available input devices, and
-PhysicalBody parameters.
-
- j3d1x1: single fullscreen desktop configuration.
-
- j3d1x1-behavior: single fullscreen desktop configuration with a
- configurable view platform behavior.
-
- j3d1x1-stereo: single fullscreen desktop configuration with stereo
- viewing.
-
- j3d1x1-vr: single fullscreen desktop configuration with stereo viewing,
- head tracker, and 6DOF mouse.
-
- j3d1x1-window: single screen windowed desktop configuration.
-
- j3d1x2-flat: dual-screen flat desktop configuration.
-
- j3d1x2-rot30: dual-screen desktop configuration with each screen rotated
- toward the other by 30 degrees about Y.
-
- j3d1x3-cave: 3-projector configuration with screens to the left, front,
- and right of the user.
-
- j3d1x3-cave-vr: 3-projector configuration with screens to the left,
- front, and right of the user. Includes head tracking and stereo
- viewing.
-
- j3d1x3-rot45: 3-screen desktop configuration with left and right screens
- angled by 45 degrees from the center screen.
-
- j3d2x2-flat: 4-screen projector configuration arranged in a 2x2 power
- wall.
-
-Note: JDK 1.4 or newer is required when configuring multiple screens if the
-X11 Xinerama extension is being used to create a single virtual screen.
-This is due to a limitation of the getScreenDevices() method in the JDK 1.3
-version of GraphicsConfiguration which returns only a single GraphicsDevice
-from a virtual screen. ConfiguredUniverse will report this condition as an
-error in specifying more screens than are available.
-
-Also: Graphics performance may be degraded in some environments when using a
-virtual screen device. See the description of the j3d.disableXinerama
-property for possible performance improvements when using Xinerama.
-
diff --git a/src/ConfiguredUniverse/build.xml b/src/ConfiguredUniverse/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/ConfiguredUniverse/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/ConfiguredUniverse/j3d1x1 b/src/ConfiguredUniverse/j3d1x1
deleted file mode 100644
index 41173e3..0000000
--- a/src/ConfiguredUniverse/j3d1x1
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for a single fullscreen desktop configuration.
- *
- ************************************************************************
- */
-
-// Create a new screen object and associate it with a logical name and a
-// number. This number is used as an index to retrieve the AWT GraphicsDevice
-// from the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen center 0)
-
-// Create a fullscreen window
-//
-(ScreenAttribute center WindowSize NoBorderFullScreen)
-
-// Set the available image area for the full screen. This is important when an
-// explicit ScreenScale view attribute is defined for precise scaling between
-// objects in the virtual world and their projections into the physical world.
-// The defaults are 0.365 meters for width and 0.292 meters for height.
-//
-(ScreenAttribute center PhysicalScreenWidth 0.360)
-(ScreenAttribute center PhysicalScreenHeight 0.288)
-
-// Set the TrackerBaseToImagePlate transform for this screen. The coexistence
-// to tracker base transform is identity by default, so the tracker base origin
-// and orientation will also set the origin and orientation of coexistence
-// coordinates in the physical world. This is the primary purpose of setting
-// this transform when neither head tracking nor multiple screens are being
-// used.
-//
-// The tracker base and center of coexistence are set here to the middle of the
-// screen's image plate. Their basis vectors are aligned with the image plate
-// basis vectors. The physical eyepoint position will be set relative to
-// coexistence coordinates below.
-//
-(ScreenAttribute center TrackerBaseToImagePlate
- (Translate 0.180 0.144 0.000))
-
-// Create a view using the defined screen.
-//
-(NewView view0)
-(ViewAttribute view0 Screen center)
-
-// Set the eyepoint relative to coexistence coordinates. Here it is set 45cm
-// toward the user along +Z. Skewed projections can be created by offsetting
-// the eyepoint along X and/or Y.
-//
-(ViewAttribute view0 CenterEyeInCoexistence (0.0 0.0 0.45))
diff --git a/src/ConfiguredUniverse/j3d1x1-behavior b/src/ConfiguredUniverse/j3d1x1-behavior
deleted file mode 100644
index d291913..0000000
--- a/src/ConfiguredUniverse/j3d1x1-behavior
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for single fullscreen desktop configuration.
- * A view platform behavior is created and configured here as well.
- *
- ************************************************************************
- */
-
-// Create a new screen object and associate it with a logical name and a
-// number. This number is used as an index to retrieve the AWT GraphicsDevice
-// from the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen center 0)
-
-// Create a fullscreen window
-//
-(ScreenAttribute center WindowSize NoBorderFullScreen)
-
-// Set the available image area for the full screen.
-//
-(ScreenAttribute center PhysicalScreenWidth 0.360)
-(ScreenAttribute center PhysicalScreenHeight 0.288)
-
-// Set the TrackerBaseToImagePlate transform for this screen. The coexistence
-// to tracker base transform is identity by default, so the tracker base origin
-// and orientation will also set the origin and orientation of coexistence
-// coordinates in the physical world. This is the primary purpose of setting
-// this transform when neither head tracking nor multiple screens are being
-// used.
-//
-// The tracker base and center of coexistence are set here to the middle of the
-// screen's image plate. Their basis vectors are aligned with the image plate
-// basis vectors. The physical eyepoint position will be set relative to
-// coexistence coordinates below.
-//
-(ScreenAttribute center TrackerBaseToImagePlate
- (Translate 0.180 0.144 0.000))
-
-// Create a view using the defined screen.
-//
-(NewView view0)
-(ViewAttribute view0 Screen center)
-
-// Set the eyepoint relative to coexistence coordinates. Here it is set 45cm
-// toward the user along +Z. Skewed projections can be set by by offsetting
-// the eyepoint along X and Y.
-//
-(ViewAttribute view0 CenterEyeInCoexistence (0.0 0.0 0.45))
-
-// Create a view platform behavior. Here we use OrbitBehavior, although any
-// concrete subclass of the abstract ViewPlatformBehavior with a parameterless
-// constructor could be used. The logical name to assign to this behavior is
-// specified by the 2nd argument to the NewViewPlatformBehavior command, while
-// the 3rd argument is the name of the ViewPlatformBehavior subclass. It is
-// instantiated through introspection.
-//
-// Attributes defined by the abstract ViewPlatformBehavior superclass itself
-// can be set directly with the ViewPlatformBehaviorAttribute command. The
-// details of the subclass implementation are not known to ConfiguredUniverse,
-// so any configuration information needed by such a subclass is set by the
-// ViewPlatformBehaviorProperty command. The property name specified by that
-// command is taken to be a method name of the subclass and invoked through
-// introspection.
-//
-// View platform behaviors often need sensors or canvases as event sources to
-// drive the behavior action. An implementation of ViewPlatformBehavior always
-// gets the current ViewingPlatform through the setViewingPlatform() method.
-// The canvases used by the ViewingPlatform can be retrieved by calling its
-// getViewers() method and then calling each Viewer's getCanvas3Ds()
-// method. Sensors can be retrived by calling the ViewingPlatform method
-// getUniverse(), checking to see if the returned SimpleUniverse is a
-// ConfiguredUniverse, and then calling its getNamedSensors() method.
-//
-(NewViewPlatformBehavior vpb com.sun.j3d.utils.behaviors.vp.OrbitBehavior)
-
-// Set the scheduling bounds to be a BoundingSphere with its center at
-// (0.0 0.0 0.0) and a radius of 100 meters.
-//
-(ViewPlatformBehaviorAttribute vpb SchedulingBounds
- (BoundingSphere (0.0 0.0 0.0) 100.0))
-
-// Set properties specific to OrbitBehavior. All arguments following the
-// method name are wrapped and passed to the specified method as an array of
-// Objects. Strings "true" and "false" get turned into Boolean, and number
-// strings get turned into Double. Constructs such as (0.0 1.0 2.0) and
-// ((0.0 1.0 2.0 0.5) (3.0 4.0 5.0 1.0) (6.0 7.0 8.0 0.0)) get converted to
-// Point3d and Matrix4d respectively. Note that last row of a Matrix4d doesn't
-// need to be specified; it is implicitly (0.0 0.0 0.0 1.0).
-//
-// The REVERSE_ALL flags are usually passed to the OrbitBehavior constructor.
-// Since it is being instantiated with its parameterless constructor the
-// reverse flags are set here explicitly.
-//
-(ViewPlatformBehaviorProperty vpb ReverseTranslate true)
-(ViewPlatformBehaviorProperty vpb ReverseRotate true)
-(ViewPlatformBehaviorProperty vpb ReverseZoom true)
-
-// Create a new view platform and set the view platform behavior.
-//
-(NewViewPlatform vp)
-(ViewPlatformAttribute vp ViewPlatformBehavior vpb)
diff --git a/src/ConfiguredUniverse/j3d1x1-stereo b/src/ConfiguredUniverse/j3d1x1-stereo
deleted file mode 100644
index 3db4070..0000000
--- a/src/ConfiguredUniverse/j3d1x1-stereo
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for single fullscreen stereo desktop
- * configuration with no head tracking.
- *
- ************************************************************************
- */
-
-// Create a new screen object and associate it with a logical name and a
-// number. This number is used as an index to retrieve the AWT GraphicsDevice
-// from the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen center 0)
-
-// Create a fullscreen window
-//
-(ScreenAttribute center WindowSize NoBorderFullScreen)
-
-// Set the available image area for the full screen.
-//
-(ScreenAttribute center PhysicalScreenWidth 0.360)
-(ScreenAttribute center PhysicalScreenHeight 0.288)
-
-// Set the TrackerBaseToImagePlate transform for this screen. The coexistence
-// to tracker base transform is identity by default, so the tracker base origin
-// and orientation will also set the origin and orientation of coexistence
-// coordinates in the physical world. This is the primary purpose of setting
-// this transform when neither head tracking nor multiple screens are being
-// used.
-//
-// The tracker base and center of coexistence are set here to the middle of the
-// screen's image plate. Their basis vectors are aligned with the image plate
-// basis vectors. The physical eyepoint position will be set relative to
-// coexistence coordinates below.
-//
-(ScreenAttribute center TrackerBaseToImagePlate
- (Translate 0.180 0.144 0.000))
-
-// Define the physical body.
-//
-// The head origin is halfway between the eyes, with X extending to the right,
-// Y up, and positive Z extending into the skull.
-//
-(NewPhysicalBody SiteUser)
-
-// Set the interpupilary distance. This sets the LeftEyePosition and
-// RightEyePosition to offsets of half this distance along both directions of
-// the X axis.
-//
-(PhysicalBodyAttribute SiteUser StereoEyeSeparation 0.066)
-
-// Create a view using the defined screen and physical body.
-//
-(NewView view0)
-(ViewAttribute view0 Screen center)
-(ViewAttribute view0 PhysicalBody SiteUser)
-
-// Set the eyepoint relative to coexistence coordinates. Here it is set 45cm
-// toward the user along +Z.
-//
-(ViewAttribute view0 CenterEyeInCoexistence (0.0 0.0 0.45))
-
-// Enable stereo viewing.
-//
-(ViewAttribute view0 StereoEnable true)
diff --git a/src/ConfiguredUniverse/j3d1x1-vr b/src/ConfiguredUniverse/j3d1x1-vr
deleted file mode 100644
index 587f481..0000000
--- a/src/ConfiguredUniverse/j3d1x1-vr
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for a single screen stereo desktop display
- * using a head tracker and 6DOF mouse.
- *
- ************************************************************************
- */
-
-// Configure the head tracker. The NewDevice command binds a logical name
-// (the 2nd argument) to an InputDevice implementation whose class name is
-// specified in the 3rd argument. The InputDevice implementation for a head
-// tracker must generate position and orientation data relative to a fixed
-// frame of reference in the physical world, the "tracker base" of the Java
-// 3D view model.
-//
-// The InputDevice is instantiated through introspection of the class name.
-// Available InputDevice implementations are site-specific, so substitute
-// the class name in a NewDevice command below with one that is available at
-// the local site.
-//
-// Note that properties are used to configure an InputDevice instead of
-// attributes. The details of an InputDevice implementation are not known to
-// ConfiguredUniverse, so the property name is invoked as a method through
-// introspection. The example properties below must be replaced with the ones
-// needed, if any, by specific InputDevice implementations.
-//
-// All property arguments following the method name are wrapped and passed to
-// the specified method as an array of Objects. Strings "true" and "false"
-// get wrapped into Boolean, and number strings get wrapped into Double.
-// Construct such as (0.0 1.0 2.0) and ((0.0 1.0 2.0 0.5) (3.0 4.0 5.0 1.0)
-// (6.0 7.0 8.0 0.0)) get converted to Point3d and Matrix4d respectively.
-// Note that last row of a Matrix4d doesn't need to be specified; it is
-// implicitly (0.0 0.0 0.0 1.0).
-//
-(NewDevice glasses LogitechRedBarron)
-(DeviceProperty glasses SerialPort "/dev/ttya") // Unix paths need quoting.
-(DeviceProperty glasses ReceiverBaseline 0.1450)
-(DeviceProperty glasses ReceiverLeftLeg 0.0875)
-(DeviceProperty glasses ReceiverHeight 0.0470)
-(DeviceProperty glasses ReceiverTopOffset 0.0000)
-
-// Configure an InputDevice to use for a 6 degree of freedom mouse if
-// required. In some implementations the same InputDevice instance can be
-// used both for head tracking and multiple peripheral sensing devices.
-// This example assumes an implementation that requires multiple instances,
-// one for each sensor, sharing the same physical hardware used for the
-// tracker base. In either case all the sensors must generate position and
-// orientation relative to the same fixed tracker base frame of reference.
-//
-(NewDevice wand LogitechRedBarron)
-(DeviceProperty wand SerialPort "/dev/ttyb")
-(DeviceProperty wand ReceiverBaseline 0.0700)
-(DeviceProperty wand ReceiverLeftLeg 0.0625)
-(DeviceProperty wand ReceiverHeight 0.0510)
-(DeviceProperty wand ReceiverTopOffset 0.0000)
-
-// Create logical names for the available sensors in the specified input
-// devices. The last argument is the sensor's index in the input device.
-//
-(NewSensor head glasses 0)
-(NewSensor mouse6d wand 0)
-
-// Set the 6DOF mouse sensor hotspot in the local sensor coordinate system.
-// The hotspot is simply the "active" point relative to the sensor origin
-// which interacts with the virtual world, such as the point used for picking
-// or grabbing an object. Its interpretation is up to the sensor behavior.
-//
-// It is set here to 10 centimeters from the base to allow reaching into the
-// screen without bumping the device into the glass, and to prevent the device
-// itself from obscuring the pointer echo.
-//
-(SensorAttribute mouse6d Hotspot (0.0 0.0 -0.10))
-
-
-// Create a new screen object and associate it with a logical name and a
-// number. This number is used as an index to retrieve the AWT GraphicsDevice
-// from the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen center 0)
-
-// Set the actual available image area. This measured as 0.350 meters in
-// width and 0.245 meters in height for the monitor in the sample setup when
-// running in stereo resolution.
-//
-(ScreenAttribute center PhysicalScreenWidth 0.350)
-(ScreenAttribute center PhysicalScreenHeight 0.245)
-(ScreenAttribute center WindowSize NoBorderFullScreen)
-
-// Set the TrackerBaseToImagePlate transform for this screen. This transforms
-// points in tracker base coordinates to image plate coordinates.
-//
-// For this sample setup the tracker base is leaning at 50 degrees about its
-// X-axis over the top edge of the monitor. The middle of the tracker base
-// (its origin) is offset by (0.175, 0.345, 0.020) from the lower left
-// corner of the screen (origin of the image plate).
-//
-(ScreenAttribute center TrackerBaseToImagePlate
- (RotateTranslate (Rotate 50.000 0.000 0.000)
- (Translate 0.175 0.345 0.020)))
-
-
-// Create a physical environment. This contains the available input devices,
-// audio devices, and sensors, and defines the coexistence coordinate system.
-//
-(NewPhysicalEnvironment SampleSite)
-
-// Register the input devices defined in this file.
-//
-(PhysicalEnvironmentAttribute SampleSite InputDevice glasses)
-(PhysicalEnvironmentAttribute SampleSite InputDevice wand)
-
-// Register the sensor which will drive head tracking.
-//
-(PhysicalEnvironmentAttribute SampleSite HeadTracker head)
-
-// Define coexistence coordinates.
-//
-// Coexistence coordinates are defined relative to the tracker base to simplify
-// calibration measurements, just as the tracker base is used as the common
-// reference frame for the TrackerBaseToImagePlate calibration.
-//
-// Here the coexistence origin is set to the middle of the center screen, using
-// the same basis vectors as its image plate. This will put the tracker base
-// origin at (0.0 0.220 0.020) relative to the coexistence origin along its
-// basis vectors.
-//
-(PhysicalEnvironmentAttribute SampleSite CoexistenceToTrackerBase
- (TranslateRotate (Translate 0.0 -0.220 -0.020)
- (Rotate -50.0 0.0 0.0)))
-
-// Define the physical body.
-//
-// The head origin is halfway between the eyes, with X extending to the right,
-// Y up, and positive Z extending into the skull.
-//
-(NewPhysicalBody SiteUser)
-
-// Set the interpupilary distance. This sets the LeftEyePosition and
-// RightEyePosition to offsets of half this distance along both directions of
-// the X axis.
-//
-(PhysicalBodyAttribute SiteUser StereoEyeSeparation 0.066)
-
-// Define the position and orientation of the head relative to the tracker
-// mounted on the head.
-//
-(PhysicalBodyAttribute SiteUser HeadToHeadTracker ((1.0 0.0 0.0 0.000)
- (0.0 1.0 0.0 0.020)
- (0.0 0.0 1.0 0.018)))
-
-
-// Create a view using the defined screens, PhysicalEnvironment, and
-// PhysicalBody.
-//
-(NewView view0)
-(ViewAttribute view0 Screen center)
-(ViewAttribute view0 PhysicalEnvironment SampleSite)
-(ViewAttribute view0 PhysicalBody SiteUser)
-
-// Enable stereo viewing. Enable head tracking to get the position of the eyes
-// with respect to coexistence.
-//
-(ViewAttribute view0 StereoEnable true)
-(ViewAttribute view0 TrackingEnable True)
diff --git a/src/ConfiguredUniverse/j3d1x1-window b/src/ConfiguredUniverse/j3d1x1-window
deleted file mode 100644
index eec0e31..0000000
--- a/src/ConfiguredUniverse/j3d1x1-window
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for a conventional single screen, windowed
- * desktop configuration.
- *
- ************************************************************************
- */
-
-// Create a new screen object and associate it with a logical name and a
-// number. This number is used as an index to retrieve the AWT GraphicsDevice
-// from the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen center 0)
-
-// Create a 700x700 pixel window on the screen.
-//
-(ScreenAttribute center WindowSize (700.0 700.0))
-
-// Create a view using the defined screen.
-//
-(NewView view0)
-(ViewAttribute view0 Screen center)
-
-// ConfiguredUniverse is oriented toward multi-screen viewing environments, so
-// it sets the following attributes to those listed. For a conventional window
-// on a single screen desktop configuration we need to set them back to their
-// normal defaults.
-//
-// View.windowEyePointPolicy RELATIVE_TO_COEXISTENCE
-// View.windowMovementPolicy VIRTUAL_WORLD
-// View.windowResizePolicy VIRTUAL_WORLD
-// View.coexistenceCenteringEnable false
-// ViewPlatform.viewAttachPolicy NOMINAL_SCREEN
-//
-(ViewAttribute view0 WindowEyepointPolicy RELATIVE_TO_FIELD_OF_VIEW)
-(ViewAttribute view0 WindowMovementPolicy PHYSICAL_WORLD)
-(ViewAttribute view0 WindowResizePolicy PHYSICAL_WORLD)
-(ViewAttribute view0 CoexistenceCenteringEnable true)
-
-(NewViewPlatform vp)
-(ViewPlatformAttribute vp ViewAttachPolicy NOMINAL_HEAD)
diff --git a/src/ConfiguredUniverse/j3d1x2-flat b/src/ConfiguredUniverse/j3d1x2-flat
deleted file mode 100644
index 667ea52..0000000
--- a/src/ConfiguredUniverse/j3d1x2-flat
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for dual-screen (flat) desktop configuration
- * with no head tracking.
- *
- ************************************************************************
- */
-
-// Create new screen objects and associate them with logical names and numbers.
-// These numbers are used as indices to retrieve the AWT GraphicsDevice from
-// the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen left 0)
-(NewScreen right 1)
-
-// Set the screen dimensions.
-//
-(ScreenAttribute left PhysicalScreenWidth 0.360)
-(ScreenAttribute left PhysicalScreenHeight 0.288)
-
-(ScreenAttribute right PhysicalScreenWidth 0.360)
-(ScreenAttribute right PhysicalScreenHeight 0.288)
-
-// Specify full screen windows.
-//
-(ScreenAttribute left WindowSize NoBorderFullScreen)
-(ScreenAttribute right WindowSize NoBorderFullScreen)
-
-// Set the TrackerBaseToImagePlate transforms for these screens. This
-// transforms points in tracker base coordinates to each screen's image plate
-// coordinates, where the origin of the image plate is defined to be the lower
-// left corner of the screen with X increasing to the right, Y increasing to
-// the top, and Z increasing away from the screen.
-//
-// Without head or sensor tracking the tracker base is still needed as a fixed
-// frame of reference for describing the orientation and position of each
-// screen to the others. The coexistence to tracker base transform is set to
-// identity by default, so the tracker base origin and orientation will also
-// set the origin and orientation of coexistence coordinates in the physical
-// world.
-//
-// The tracker base and center of coexistence is set here to the middle of the
-// edge shared by the two screens.
-//
-(ScreenAttribute left TrackerBaseToImagePlate
- (Translate 0.360 0.144 0.0))
-(ScreenAttribute right TrackerBaseToImagePlate
- (Translate 0.000 0.144 0.0))
-
-// Sometimes it is desirable to include the bevels in between the monitors in
-// the TrackerBaseToImagePlate transforms, so that the abutting bevels obscure
-// the view of the virtual world instead of stretching it out between the
-// monitors. For a bevel width of 4.5 cm on each monitor, the above commands
-// would become the following:
-//
-// (ScreenAttribute left TrackerBaseToImagePlate
-// (Translate 0.405 0.144 0.0))
-// (ScreenAttribute right TrackerBaseToImagePlate
-// (Translate -0.045 0.144 0.0))
-//
-// Conversely, a similar technique may be used to include overlap between the
-// screens. This is useful for projection systems which use edge blending
-// to provide seamless integration between screens.
-
-
-// Create a view using the defined screens.
-//
-(NewView view0)
-(ViewAttribute view0 Screen left)
-(ViewAttribute view0 Screen right)
-
-// Set the eyepoint relative to coexistence coordinates. Here it is set 45cm
-// toward the user along Z, extending out from the midpoint of the edge shared
-// by the two screens. This will create the appropriate skewed projection
-// frustums for each image plate.
-//
-// If a planar display surface is all that is required, the same effect could
-// be achieved in a virtual screen enviroment such as Xinerama by simply
-// creating a canvas that spans both screens. In some display environments the
-// use of a canvas that spans multiple physical screens may cause significant
-// performance degradation, however.
-//
-// See j3d1x2-rot30 for an example of a non-planar configuration that cannot be
-// achieved through a single canvas spanning both screens.
-//
-(ViewAttribute view0 CenterEyeInCoexistence (0.0 0.0 0.45))
diff --git a/src/ConfiguredUniverse/j3d1x2-rot30 b/src/ConfiguredUniverse/j3d1x2-rot30
deleted file mode 100644
index 68f4a6e..0000000
--- a/src/ConfiguredUniverse/j3d1x2-rot30
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for a dual-screen desktop configuration
- * with each screen rotated toward the other by 30 degrees about Y from
- * planar. The inside angle between them is 120 degrees.
- *
- ************************************************************************
- */
-
-// Create new screen objects and associate them with logical names and numbers.
-// These numbers are used as indices to retrieve the AWT GraphicsDevice from
-// the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen left 0)
-(NewScreen right 1)
-
-// Set the available image areas for full screens.
-//
-(ScreenAttribute left PhysicalScreenWidth 0.360)
-(ScreenAttribute left PhysicalScreenHeight 0.288)
-
-(ScreenAttribute right PhysicalScreenWidth 0.360)
-(ScreenAttribute right PhysicalScreenHeight 0.288)
-
-// Specify full screen windows.
-//
-(ScreenAttribute left WindowSize NoBorderFullScreen)
-(ScreenAttribute right WindowSize NoBorderFullScreen)
-
-// Set the TrackerBaseToImagePlate transforms for these screens.
-//
-// The tracker base is set here to the middle of the edge shared by the two
-// screens. Each screen is rotated 30 degrees toward the other about the
-// tracker base +Y axis, so that the tracker base +Z is centered between the
-// two screens.
-//
-(ScreenAttribute left TrackerBaseToImagePlate
- (RotateTranslate (Rotate 0.000 -30.000 0.0)
- (Translate 0.360 0.144 0.0)))
-
-(ScreenAttribute right TrackerBaseToImagePlate
- (RotateTranslate (Rotate 0.000 30.000 0.0)
- (Translate 0.000 0.144 0.0)))
-
-
-// Create a view using the defined screens.
-//
-(NewView view0)
-(ViewAttribute view0 Screen left)
-(ViewAttribute view0 Screen right)
-(ViewAttribute view0 CenterEyeInCoexistence (0.0 0.0 0.45))
diff --git a/src/ConfiguredUniverse/j3d1x3-cave b/src/ConfiguredUniverse/j3d1x3-cave
deleted file mode 100644
index afc532c..0000000
--- a/src/ConfiguredUniverse/j3d1x3-cave
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for a cave environment. This cave
- * consists of 3 projectors with 3 screens to the left, front, and right
- * of the user, all at 90 degrees to each other.
- *
- * The projectors in the VirtualPortal sample site are actually turned
- * on their sides to get more height. Screen 0 is rotated 90 degrees
- * counter-clockwise, while screens 1 and 2 are rotated 90 degrees
- * clockwise.
- *
- ************************************************************************
- */
-
-// Create new screen objects and associate them with logical names and numbers.
-// These numbers are used as indices to retrieve the AWT GraphicsDevice from
-// the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen left 0)
-(NewScreen center 1)
-(NewScreen right 2)
-
-
-// Set the available image areas as well as their positition and orientation
-// relative to the tracker base. Although this config file doesn't enable
-// head tracking, the tracker base is still needed as a point of reference to
-// describe the position and orientation of the screens relative to the
-// environment.
-//
-// From the orientation of a user standing within this VirtualPortal site and
-// facing the center screen, the tracker base is along the vertical midline of
-// the screen, 0.248 meters down from the top edge, and 1.340 meters in front
-// of it. The tracker base is oriented so that its +X axis points to the left,
-// its +Y axis points toward the screen, and its +Z axis points toward the
-// floor.
-//
-(ScreenAttribute left PhysicalScreenWidth 2.480)
-(ScreenAttribute left PhysicalScreenHeight 1.705)
-(ScreenAttribute left WindowSize NoBorderFullScreen)
-(ScreenAttribute left TrackerBaseToImagePlate
- (( 0.0 0.0 -1.0 2.230)
- ( 0.0 -1.0 0.0 1.340)
- (-1.0 0.0 0.0 0.885)))
-
-(ScreenAttribute center PhysicalScreenWidth 2.485)
-(ScreenAttribute center PhysicalScreenHeight 1.745)
-(ScreenAttribute center WindowSize NoBorderFullScreen)
-(ScreenAttribute center TrackerBaseToImagePlate
- (( 0.0 0.0 1.0 0.248)
- (-1.0 0.0 0.0 0.885)
- ( 0.0 -1.0 0.0 1.340)))
-
-(ScreenAttribute right PhysicalScreenWidth 2.480)
-(ScreenAttribute right PhysicalScreenHeight 1.775)
-(ScreenAttribute right WindowSize NoBorderFullScreen)
-(ScreenAttribute right TrackerBaseToImagePlate
- (( 0.0 0.0 1.0 0.2488)
- ( 0.0 -1.0 0.0 1.340)
- ( 1.0 0.0 0.0 0.860)))
-
-// Set the location of the center of coexistence relative to the tracker base.
-// Here it set to the center of the center screen. This config file will set
-// the location of the user's eyes relative to this point. The default view
-// attach policy of NOMINAL_SCREEN used by ConfiguredUniverse will place the
-// origin of the view platform in coexistence coordinates at the center of
-// coexistence.
-//
-(NewPhysicalEnvironment VirtualPortal)
-(PhysicalEnvironmentAttribute VirtualPortal
- CoexistenceToTrackerBase
- ((-1.0 0.0 0.0 0.000)
- ( 0.0 0.0 -1.0 1.340)
- ( 0.0 -1.0 0.0 0.994)))
-
-// The above center of coexistence is appropriate for the sample geometry
-// files available in the programs/examples directory. Often a more
-// immersive point of view is required for larger virtual worlds. This can be
-// achieved by placing the center of coexistence closer to the nominal position
-// of the user's head, so that the view platform origin in coexistence
-// coordinates will map there as well.
-//
-// Here we set the location of the center of coexistence 0.5 meters along the
-// tracker base +Z axis, 1.737 meters from the floor (about 5 ft 8.4 inches).
-//
-// (PhysicalEnvironmentAttribute VirtualPortal
-// CoexistenceToTrackerBase
-// ((-1.0 0.0 0.0 0.0)
-// ( 0.0 0.0 -1.0 0.0)
-// ( 0.0 -1.0 0.0 0.5)))
-
-
-// Now define the view.
-//
-(NewView view0)
-(ViewAttribute view0 Screen left)
-(ViewAttribute view0 Screen center)
-(ViewAttribute view0 Screen right)
-(ViewAttribute view0 PhysicalEnvironment VirtualPortal)
-
-// Set the user eye position in the display environment. It is set here to
-// 1.340 meters back from the center screen (directly under the tracker), and
-// 1.737 meters from the floor (about 5 ft 8.4 inches).
-//
-(ViewAttribute view0 CenterEyeInCoexistence (0.0 0.494 1.340))
-
-// Here is an alternative center eye position to use with the immersive
-// coexistence coordinate system defined in comments above.
-//
-// (ViewAttribute view0 CenterEyeInCoexistence (0.0 0.0 0.0))
-
-// Set the screen scale. This is scale factor from virtual to physical
-// coordinates.
-//
-(ViewAttribute view0 ScreenScalePolicy SCALE_SCREEN_SIZE)
-
-// Alternative for explict scaling.
-//
-// (ViewAttribute view0 ScreenScalePolicy SCALE_EXPLICIT)
-// (ViewAttribute view0 ScreenScale 5.00)
-
-// No stereo viewing for this configuration.
-//
-(ViewAttribute view0 StereoEnable False)
diff --git a/src/ConfiguredUniverse/j3d1x3-cave-vr b/src/ConfiguredUniverse/j3d1x3-cave-vr
deleted file mode 100644
index 029decf..0000000
--- a/src/ConfiguredUniverse/j3d1x3-cave-vr
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for a cave environment with head tracking and
- * stereo viewing. This cave consists of 3 projectors with 3 screens to the
- * left, front, and right of the user, all at 90 degrees to each other.
- *
- * The projectors in the VirtualPortal sample site are actually turned
- * on their sides to get more height. Screen 0 is rotated 90 degrees
- * counter-clockwise, while screens 1 and 2 are rotated 90 degrees
- * clockwise.
- *
- ************************************************************************
- */
-
-// Configure the head tracker. The NewDevice command binds a logical name
-// (the 2nd argument) to an InputDevice implementation whose class name is
-// specified in the 3rd argument. The InputDevice implementation for a head
-// tracker must generate position and orientation data relative to a fixed
-// frame of reference in the physical world, the "tracker base" of the Java
-// 3D view model.
-//
-// The InputDevice is instantiated through introspection of the class name.
-// Available InputDevice implementations are site-specific, so substitute
-// the class name in a NewDevice command below with one that is available at
-// the local site.
-//
-// Note that properties are used to configure an InputDevice instead of
-// attributes. The details of an InputDevice implementation are not known to
-// ConfiguredUniverse, so the property name is invoked as a method through
-// introspection. The example properties below must be replaced with the ones
-// needed, if any, by specific InputDevice implementations. All arguments
-// following the method name are wrapped and passed to the specified method as
-// an array of Objects.
-//
-// All property arguments following the method name are wrapped and passed to
-// the specified method as an array of Objects. Strings "true" and "false"
-// get wrapped into Boolean, and number strings get wrapped into Double.
-// Construct such as (0.0 1.0 2.0) and ((0.0 1.0 2.0 0.5) (3.0 4.0 5.0 1.0)
-// (6.0 7.0 8.0 0.0)) get converted to Point3d and Matrix4d respectively.
-// Note that last row of a Matrix4d doesn't need to be specified; it is
-// implicitly (0.0 0.0 0.0 1.0).
-//
-(NewDevice glasses LogitechRedBarron)
-(DeviceProperty glasses SerialPort "/dev/ttya") // Unix paths need quoting.
-(DeviceProperty glasses TransmitterBaseline 0.4600)
-(DeviceProperty glasses TransmitterLeftLeg 0.4400)
-(DeviceProperty glasses TransmitterCalibrationDistance 0.4120)
-
-// Create a logical name for the head tracker sensor. The last argument is
-// the sensor's index in the input device.
-//
-(NewSensor head glasses 0)
-
-// Create new screen objects and associate them with logical names and numbers.
-// These numbers are used as indices to retrieve the AWT GraphicsDevice from
-// the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen left 0)
-(NewScreen center 1)
-(NewScreen right 2)
-
-
-// Set the available image areas as well as their positition and orientation
-// relative to the tracker base. From the orientation of a user standing
-// within this VirtualPortal site and facing the center screen, the tracker
-// base is along the vertical midline of the screen, 0.248 meters down from
-// the top edge, and 1.340 meters in front of it. The tracker base is
-// oriented so that its +X axis points to the left, its +Y axis points toward
-// the screen, and its +Z axis points toward the floor.
-//
-(ScreenAttribute left PhysicalScreenWidth 2.480)
-(ScreenAttribute left PhysicalScreenHeight 1.705)
-(ScreenAttribute left WindowSize NoBorderFullScreen)
-(ScreenAttribute left TrackerBaseToImagePlate
- (( 0.0 0.0 -1.0 2.230)
- ( 0.0 -1.0 0.0 1.340)
- (-1.0 0.0 0.0 0.885)))
-
-(ScreenAttribute center PhysicalScreenWidth 2.485)
-(ScreenAttribute center PhysicalScreenHeight 1.745)
-(ScreenAttribute center WindowSize NoBorderFullScreen)
-(ScreenAttribute center TrackerBaseToImagePlate
- (( 0.0 0.0 1.0 0.248)
- (-1.0 0.0 0.0 0.885)
- ( 0.0 -1.0 0.0 1.340)))
-
-(ScreenAttribute right PhysicalScreenWidth 2.480)
-(ScreenAttribute right PhysicalScreenHeight 1.775)
-(ScreenAttribute right WindowSize NoBorderFullScreen)
-(ScreenAttribute right TrackerBaseToImagePlate
- (( 0.0 0.0 1.0 0.2488)
- ( 0.0 -1.0 0.0 1.340)
- ( 1.0 0.0 0.0 0.860)))
-
-// Create a physical environment. This contains the available input devices,
-// audio devices, and sensors, and defines the coexistence coordinate system
-// for mapping between the virtual and physical worlds.
-//
-(NewPhysicalEnvironment VirtualPortal)
-
-// Register the input device defined in this file and the sensor which will
-// drive head tracking.
-//
-(PhysicalEnvironmentAttribute VirtualPortal InputDevice glasses)
-(PhysicalEnvironmentAttribute VirtualPortal HeadTracker head)
-
-// Set the location of the center of coexistence relative to the tracker base.
-// Here it set to the center of the center screen. The default view attach
-// policy of NOMINAL_SCREEN used by ConfiguredUniverse will place the origin of
-// the view platform in coexistence coordinates at the center of coexistence.
-//
-(PhysicalEnvironmentAttribute VirtualPortal
- CoexistenceToTrackerBase
- ((-1.0 0.0 0.0 0.000)
- ( 0.0 0.0 -1.0 1.340)
- ( 0.0 -1.0 0.0 0.994)))
-
-// The above center of coexistence is appropriate for the sample geometry
-// files available in the programs/examples directory. Often a more
-// immersive point of view is required for larger virtual worlds. This can be
-// achieved by placing the center of coexistence closer to the nominal position
-// of the user's head, so that the view platform origin in coexistence
-// coordinates will map there as well.
-//
-// Here we set the location of the center of coexistence 0.5 meters along the
-// tracker base +Z axis, 1.737 meters from the floor (about 5 ft 8.4 inches).
-//
-// (PhysicalEnvironmentAttribute VirtualPortal
-// CoexistenceToTrackerBase
-// ((-1.0 0.0 0.0 0.0)
-// ( 0.0 0.0 -1.0 0.0)
-// ( 0.0 -1.0 0.0 0.5)))
-
-
-// Define the physical body.
-//
-// The head origin is halfway between the eyes, with X extending to the right,
-// Y up, and positive Z extending into the skull.
-//
-(NewPhysicalBody LabRat)
-(PhysicalBodyAttribute LabRat StereoEyeSeparation .07)
-
-// Define the position and orientation of the head relative to the tracker
-// mounted on the head.
-//
-(PhysicalBodyAttribute LabRat HeadToHeadTracker
- ((-1.0 0.0 0.0 0.00)
- ( 0.0 0.0 -1.0 0.05)
- ( 0.0 -1.0 0.0 0.11)))
-// Now define the view.
-//
-(NewView view0)
-(ViewAttribute view0 Screen left)
-(ViewAttribute view0 Screen center)
-(ViewAttribute view0 Screen right)
-(ViewAttribute view0 PhysicalBody LabRat)
-(ViewAttribute view0 PhysicalEnvironment VirtualPortal)
-
-// Set the screen scale. This is scale factor from virtual to physical
-// coordinates.
-//
-(ViewAttribute view0 ScreenScalePolicy SCALE_SCREEN_SIZE)
-
-// Alternative for explict scaling.
-//
-//(ViewAttribute view0 ScreenScalePolicy SCALE_EXPLICIT)
-//(ViewAttribute view0 ScreenScale 5.00)
-
-// Enable stereo viewing. Enable head tracking to get the position of the eyes
-// with respect to coexistence. Boolean values may be specified as either
-// true, True, false, or False.
-//
-(ViewAttribute view0 StereoEnable true)
-(ViewAttribute view0 TrackingEnable True)
diff --git a/src/ConfiguredUniverse/j3d1x3-rot45 b/src/ConfiguredUniverse/j3d1x3-rot45
deleted file mode 100644
index d221e74..0000000
--- a/src/ConfiguredUniverse/j3d1x3-rot45
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for 3 screens. Left and right screens are
- * rotated 45 degrees from the center screen.
- *
- ************************************************************************
- */
-
-// Create new screen objects and associate them with logical names and numbers.
-// These numbers are used as indices to retrieve the AWT GraphicsDevice from
-// the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen left 0)
-(NewScreen center 1)
-(NewScreen right 2)
-
-// Set the available image areas for full screens.
-//
-(ScreenAttribute left PhysicalScreenWidth 0.360)
-(ScreenAttribute left PhysicalScreenHeight 0.288)
-
-(ScreenAttribute center PhysicalScreenWidth 0.360)
-(ScreenAttribute center PhysicalScreenHeight 0.288)
-
-(ScreenAttribute right PhysicalScreenWidth 0.360)
-(ScreenAttribute right PhysicalScreenHeight 0.288)
-
-// Specify full screen windows.
-//
-(ScreenAttribute left WindowSize NoBorderFullScreen)
-(ScreenAttribute center WindowSize NoBorderFullScreen)
-(ScreenAttribute right WindowSize NoBorderFullScreen)
-
-// Set the TrackerBaseToImagePlate transforms for these screens.
-//
-// The tracker base and center of coexistence are set here to the middle of the
-// center screen. The basis vectors are aligned with the center screen image
-// plate. The left and right screens are rotated 45 degrees toward each other
-// about their shared edges with the center screen.
-//
-(ScreenAttribute center TrackerBaseToImagePlate
- (Translate 0.180000 0.144000 0.000000))
-
-// cos(45) * 0.360 * 0.5 = 0.127279; 0.360 + 0.127279 = 0.487279
-(ScreenAttribute left TrackerBaseToImagePlate
- (RotateTranslate
- (Rotate 0.000000 -45.000000 0.000000)
- (Translate 0.487279 0.144000 0.127279)))
-
-// cos(45) * 0.360 * 0.5 = 0.127279
-(ScreenAttribute right TrackerBaseToImagePlate
- (RotateTranslate
- (Rotate 0.000000 45.000000 0.000000)
- (Translate -0.127279 0.144000 0.127279)))
-
-// Create a view using the defined screens.
-//
-(NewView view0)
-(ViewAttribute view0 Screen left)
-(ViewAttribute view0 Screen center)
-(ViewAttribute view0 Screen right)
-(ViewAttribute view0 CenterEyeInCoexistence (0.0 0.0 0.5))
diff --git a/src/ConfiguredUniverse/j3d2x2-flat b/src/ConfiguredUniverse/j3d2x2-flat
deleted file mode 100644
index 46df9a3..0000000
--- a/src/ConfiguredUniverse/j3d2x2-flat
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- ************************************************************************
- *
- * Java 3D configuration file for 4 screen projection configuration
- * arranged in a 2x2 power wall.
- *
- ************************************************************************
- */
-
-// Create new screen objects and associate them with logical names and numbers.
-// These numbers are used as indices to retrieve the AWT GraphicsDevice from
-// the array that GraphicsEnvironment.getScreenDevices() returns.
-//
-// NOTE: The GraphicsDevice order in the array is specific to the local
-// site and display system.
-//
-(NewScreen topleft 0)
-(NewScreen topright 1)
-(NewScreen bottomleft 3)
-(NewScreen bottomright 2)
-
-// Set the available image areas for full screens. This is important when
-// precise scaling between objects in the virtual world and their projections
-// into the physical world is desired through use of explicit ScreenScale view
-// attributes. The defaults are 0.365 meters for width and 0.292 meters for
-// height.
-//
-(ScreenAttribute topleft PhysicalScreenWidth 0.912)
-(ScreenAttribute topleft PhysicalScreenHeight 0.680)
-
-(ScreenAttribute topright PhysicalScreenWidth 0.912)
-(ScreenAttribute topright PhysicalScreenHeight 0.680)
-
-(ScreenAttribute bottomleft PhysicalScreenWidth 0.912)
-(ScreenAttribute bottomleft PhysicalScreenHeight 0.685)
-
-(ScreenAttribute bottomright PhysicalScreenWidth 0.912)
-(ScreenAttribute bottomright PhysicalScreenHeight 0.685)
-
-
-// Specify full screen windows.
-//
-(ScreenAttribute topleft WindowSize NoBorderFullScreen)
-(ScreenAttribute topright WindowSize NoBorderFullScreen)
-(ScreenAttribute bottomleft WindowSize NoBorderFullScreen)
-(ScreenAttribute bottomright WindowSize NoBorderFullScreen)
-
-// Set the TrackerBaseToImagePlate transforms for these screens. This
-// transforms points in tracker base coordinates to each screen's image plate
-// coordinates, where the origin of the image plate is defined to be the lower
-// left corner of the screen with X increasing to the right, Y increasing to
-// the top, and Z increasing away from the screen.
-//
-// Without head or sensor tracking the tracker base is still needed as a point
-// of reference for describing the orientation and position of each screen to
-// the others. The coexistence to tracker base transform is set to identity by
-// default, so the tracker base origin and orientation will also set the origin
-// and orientation of coexistence coordinates in the physical world.
-//
-// The tracker base and center of coexistence are set here to the center of the
-// 2x2 array with its basis vectors aligned to image plate coordinates.
-//
-(ScreenAttribute topleft TrackerBaseToImagePlate
- (Translate 0.912 0.000 0.0))
-(ScreenAttribute topright TrackerBaseToImagePlate
- (Translate 0.000 0.000 0.0))
-(ScreenAttribute bottomleft TrackerBaseToImagePlate
- (Translate 0.912 0.685 0.0))
-(ScreenAttribute bottomright TrackerBaseToImagePlate
- (Translate 0.000 0.685 0.0))
-
-// Create a view using the defined screens.
-//
-(NewView view0)
-(ViewAttribute view0 Screen topleft)
-(ViewAttribute view0 Screen topright)
-(ViewAttribute view0 Screen bottomleft)
-(ViewAttribute view0 Screen bottomright)
-
-// Set the screen scale. This is scale factor from virtual to physical
-// coordinates. The default policy of SCALE_SCREEN_SIZE doesn't work well here
-// since in the 2x2 arrangement the individual screens are too small. The
-// explicit scale factor below assumes a normalized range of object coordinates
-// of [-1.0 .. +1.0].
-//
-(ViewAttribute view0 ScreenScalePolicy SCALE_EXPLICIT)
-(ViewAttribute view0 ScreenScale 0.912)
-
-// Set the user eye position in the display environment.
-//
-(ViewAttribute view0 CenterEyeInCoexistence (0.0 0.0 1.0))
diff --git a/src/ConicWorld/ConicWorld.html b/src/ConicWorld/ConicWorld.html
deleted file mode 100644
index a12905e..0000000
--- a/src/ConicWorld/ConicWorld.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ConicWorld</TITLE>
-</HEAD>
-<BODY BGCOLOR="#0C0C33">
-<applet align=middle code="ConicWorld.class" width=750 height=750>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see "ConicWorld" instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/ConicWorld/ConicWorld.java b/src/ConicWorld/ConicWorld.java
deleted file mode 100644
index 2af4b3d..0000000
--- a/src/ConicWorld/ConicWorld.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-/**
- * ConicWorld creates spheres, cylinders, and cones of different resolutions
- * and colors. Demonstrates the use of the various geometry creation
- * constructors found in the com.sun.j3d.utils.geometry package.
- */
-public class ConicWorld extends Applet {
-
- private java.net.URL texImage = null;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(Canvas3D c) {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a bounds for the background and behaviors
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objRoot.addChild(bg);
-
- // Set up the global lights
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
-
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- objRoot.addChild(aLgt);
- objRoot.addChild(lgt1);
-
- // Create a bunch of objects with a behavior and add them
- // into the scene graph.
-
- int row, col;
- int numRows = 3, numCols = 5;
- Appearance[][] app = new Appearance[numRows][numCols];
-
- for (row = 0; row < numRows; row++)
- for (col = 0; col < numCols; col++)
- app[row][col] = createAppearance(row * numCols + col);
-
- // Space between each row/column
- double xspace = 2.0 / ((double)numCols - 1.0);
- double yspace = 2.0 / ((double)numRows - 1.0);
-
- for (int i = 0; i < numRows; i++) {
- double ypos = ((double)i * yspace - 1.0) * 0.6;
- for (int j = 0; j < numCols; j++) {
- double xpos = xpos = ((double)j * xspace - 1.0) * 0.6;
- objRoot.addChild(createObject(i, j, app[i][j],
- 0.1, xpos, ypos));
- }
- }
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
-
- private Appearance createAppearance(int idx) {
- Appearance app = new Appearance();
-
- // Globally used colors
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
-
- idx = idx % 5;
-
- switch (idx) {
- // Lit solid
- case 0:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- break;
- }
- // Lit solid, no specular
- case 1:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.0f, 0.8f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- break;
- }
-
- // Lit solid, specular only
- case 2:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.0f, 0.8f, 0.8f);
- app.setMaterial(new Material(black, black, objColor,
- white, 80.0f));
- break;
- }
-
- // Texture mapped, lit solid
- case 3:
- {
- // Set up the texture map
- TextureLoader tex = new TextureLoader(texImage, this);
- app.setTexture(tex.getTexture());
-
- // Set up the material properties
- app.setMaterial(new Material(white, black, white, black, 1.0f));
- TextureAttributes texAttr = new TextureAttributes();
- texAttr.setTextureMode(TextureAttributes.MODULATE);
- app.setTextureAttributes(texAttr);
-
- break;
- }
-
-
- // Another lit solid with a different color
- case 4:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(1.0f, 1.0f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- break;
- }
-
- default:
- {
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(new Color3f(0.0f, 1.0f, 0.0f));
- app.setColoringAttributes(ca);
- }
- }
-
- return app;
- }
-
-
- private Group createObject(int i, int j, Appearance app, double scale,
- double xpos, double ypos) {
-
- // Create a transform group node to scale and position the object.
- Transform3D t = new Transform3D();
- t.set(scale, new Vector3d(xpos, ypos, 0.0));
- TransformGroup objTrans = new TransformGroup(t);
-
- // Create a second transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime.
- TransformGroup spinTg = new TransformGroup();
- spinTg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- spinTg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- Primitive obj = null;
-
- if (i % 3 == 2){
- obj = (Primitive) new Sphere(1.0f,
- Sphere.GENERATE_NORMALS |
- Sphere.GENERATE_TEXTURE_COORDS,
- j*8 + 4, app);
- }
- else
- if (i % 3 == 1){
- obj = (Primitive) new Cylinder(1.0f, 2.0f,
- Cylinder.GENERATE_TEXTURE_COORDS |
- Cylinder.GENERATE_NORMALS,
- j*8+4,j*8+4,
- app);
- }
- else
- if (i % 3 == 0){
- obj = (Primitive) new Cone(1.0f, 2.0f,
- Cone.GENERATE_NORMALS |
- Cone.GENERATE_TEXTURE_COORDS,
- j*8+4,j*8+4,
- app);
- }
-
- // add it to the scene graph.
- spinTg.addChild(obj);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 5000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, spinTg, yAxis,
- 0.0f, (float) Math.PI*2.0f);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- rotator.setSchedulingBounds(bounds);
-
- // Add the behavior and the transform group to the object
- objTrans.addChild(rotator);
- objTrans.addChild(spinTg);
-
- return objTrans;
- }
-
-
- public ConicWorld() {
- }
-
- public ConicWorld(java.net.URL url) {
- texImage = url;
- }
-
- public void init() {
- if (texImage == null) {
- // the path to the image for an applet
- try {
- texImage = new java.net.URL(getCodeBase().toString() +
- "../images/earth.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph(c);
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows ConicWorld to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- // the path to the image file for an application
- java.net.URL url = null;
- try {
- url = new java.net.URL("file:../images/earth.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- new MainFrame(new ConicWorld(url), 700, 700);
- }
-}
-
-
diff --git a/src/ConicWorld/ConicWorld_plugin.html b/src/ConicWorld/ConicWorld_plugin.html
deleted file mode 100644
index ca16f88..0000000
--- a/src/ConicWorld/ConicWorld_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ConicWorld</TITLE>
-</HEAD>
-<BODY BGCOLOR="#0C0C33">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 750 HEIGHT = 750 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "ConicWorld.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "ConicWorld.class" WIDTH = 750 HEIGHT = 750 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see "ConicWorld" instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "ConicWorld.class" WIDTH = 750 HEIGHT = 750 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see "ConicWorld" instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/ConicWorld/build.xml b/src/ConicWorld/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/ConicWorld/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/DepthFuncTest/DepthFuncTest.form b/src/DepthFuncTest/DepthFuncTest.form
deleted file mode 100644
index b7d1376..0000000
--- a/src/DepthFuncTest/DepthFuncTest.form
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.2" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <Properties>
- <Property name="defaultCloseOperation" type="int" value="3"/>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-16,0,0,1,-109"/>
- <SyntheticProperty name="formPosition" type="java.awt.Point" value="-84,-19,0,5,115,114,0,14,106,97,118,97,46,97,119,116,46,80,111,105,110,116,-74,-60,-118,114,52,126,-56,38,2,0,2,73,0,1,120,73,0,1,121,120,112,0,0,0,0,0,0,0,0"/>
- <SyntheticProperty name="formSizePolicy" type="int" value="0"/>
- <SyntheticProperty name="generatePosition" type="boolean" value="true"/>
- <SyntheticProperty name="generateSize" type="boolean" value="true"/>
- <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
- </SyntheticProperties>
- <AuxValues>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-40,0,0,1,-117"/>
- </AuxValues>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="jPanel1">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="WireFrame Object"/>
- </Border>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="0" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabel1">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="12" style="0"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Depth function"/>
- <Property name="toolTipText" type="java.lang.String" value="Mode for normal object"/>
- </Properties>
- <AccessibilityProperties>
- <Property name="AccessibleContext.accessibleParent" type="javax.accessibility.Accessible" editor="org.netbeans.modules.form.RADVisualComponent$AccessibleParentEditor">
- <ComponentRef name="shadedComboBox"/>
- </Property>
- </AccessibilityProperties>
- </Component>
- <Component class="javax.swing.JComboBox" name="normalComboBox">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="12" style="0"/>
- </Property>
- <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
- <StringArray count="8">
- <StringItem index="0" value="ALWAYS"/>
- <StringItem index="1" value="NEVER"/>
- <StringItem index="2" value="EQUAL"/>
- <StringItem index="3" value="NOT_EQUAL"/>
- <StringItem index="4" value="LESS"/>
- <StringItem index="5" value="LESS_OR_EQUAL"/>
- <StringItem index="6" value="GREATER"/>
- <StringItem index="7" value="GREATER_OR_EQUAL"/>
- </StringArray>
- </Property>
- <Property name="selectedIndex" type="int" value="6"/>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[150, 22]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="normalComboBoxActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JCheckBox" name="wfCheckBox">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="12" style="0"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Write Depth Buffer"/>
- <Property name="toolTipText" type="java.lang.String" value="Depth will be written for the object, if selected"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="wfCheckBoxActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel2">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="Shaded Object"/>
- </Border>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="1" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabel3">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="12" style="0"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Depth Function"/>
- <Property name="toolTipText" type="java.lang.String" value="Mode of shaded object"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JComboBox" name="shadedComboBox">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="12" style="0"/>
- </Property>
- <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
- <StringArray count="8">
- <StringItem index="0" value="ALWAYS"/>
- <StringItem index="1" value="NEVER"/>
- <StringItem index="2" value="EQUAL"/>
- <StringItem index="3" value="NOT_EQUAL"/>
- <StringItem index="4" value="LESS"/>
- <StringItem index="5" value="LESS_OR_EQUAL"/>
- <StringItem index="6" value="GREATER"/>
- <StringItem index="7" value="GREATER_OR_EQUAL"/>
- </StringArray>
- </Property>
- <Property name="selectedIndex" type="int" value="4"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="shadedComboBoxActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JCheckBox" name="shadedCheckBox">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="12" style="0"/>
- </Property>
- <Property name="selected" type="boolean" value="true"/>
- <Property name="text" type="java.lang.String" value="Write Depth Buffer"/>
- <Property name="toolTipText" type="java.lang.String" value="Depth will be written for the object, if selected"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="shadedCheckBoxActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel3">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="Rotating Cube"/>
- </Border>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="2" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabel4">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="12" style="0"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Raster Operator"/>
- <Property name="toolTipText" type="java.lang.String" value="Raster mode of rotating object (try NOOP)"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JComboBox" name="rotatingComboBox">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="12" style="0"/>
- </Property>
- <Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
- <StringArray count="16">
- <StringItem index="0" value="CLEAR"/>
- <StringItem index="1" value="AND"/>
- <StringItem index="2" value="AND_REVERSE"/>
- <StringItem index="3" value="COPY"/>
- <StringItem index="4" value="AND_INVERTED"/>
- <StringItem index="5" value="NOOP"/>
- <StringItem index="6" value="XOR"/>
- <StringItem index="7" value="OR"/>
- <StringItem index="8" value="NOR"/>
- <StringItem index="9" value="EQUIV"/>
- <StringItem index="10" value="INVERT"/>
- <StringItem index="11" value="OR_REVERSE"/>
- <StringItem index="12" value="COPY_INVERTED"/>
- <StringItem index="13" value="OR_INVERTED"/>
- <StringItem index="14" value="NAND"/>
- <StringItem index="15" value="SET"/>
- </StringArray>
- </Property>
- <Property name="selectedIndex" type="int" value="3"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rotatingComboBoxActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- </SubComponents>
-</Form>
diff --git a/src/DepthFuncTest/DepthFuncTest.java b/src/DepthFuncTest/DepthFuncTest.java
deleted file mode 100644
index 1589754..0000000
--- a/src/DepthFuncTest/DepthFuncTest.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-
-
-/**
- *The goal of that example is to show the use of different ZBuffer comparison modes.
- */
-public class DepthFuncTest extends javax.swing.JFrame
-{
-
- RenderFrame rf;
-
- /**
- * Creates new form DepthFuncTest
- */
- public DepthFuncTest(){
- initComponents();
- }
-
- /** This method is called from within the constructor to
- * initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents()
- {
- java.awt.GridBagConstraints gridBagConstraints;
-
- jPanel1 = new javax.swing.JPanel();
- jLabel1 = new javax.swing.JLabel();
- normalComboBox = new javax.swing.JComboBox();
- wfCheckBox = new javax.swing.JCheckBox();
- jPanel2 = new javax.swing.JPanel();
- jLabel3 = new javax.swing.JLabel();
- shadedComboBox = new javax.swing.JComboBox();
- shadedCheckBox = new javax.swing.JCheckBox();
- jPanel3 = new javax.swing.JPanel();
- jLabel4 = new javax.swing.JLabel();
- rotatingComboBox = new javax.swing.JComboBox();
-
- getContentPane().setLayout(new java.awt.GridBagLayout());
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- jPanel1.setBorder(new javax.swing.border.TitledBorder("WireFrame Object"));
- jLabel1.setFont(new java.awt.Font("Dialog", 0, 12));
- jLabel1.setText("Depth function");
- jLabel1.setToolTipText("Mode for normal object");
- jPanel1.add(jLabel1);
- jLabel1.getAccessibleContext().setAccessibleParent(shadedComboBox);
-
- normalComboBox.setFont(new java.awt.Font("Dialog", 0, 12));
- normalComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ALWAYS", "NEVER", "EQUAL", "NOT_EQUAL", "LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL" }));
- normalComboBox.setSelectedIndex(6);
- normalComboBox.setPreferredSize(new java.awt.Dimension(150, 22));
- normalComboBox.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- normalComboBoxActionPerformed(evt);
- }
- });
-
- jPanel1.add(normalComboBox);
-
- wfCheckBox.setFont(new java.awt.Font("Dialog", 0, 12));
- wfCheckBox.setText("Write Depth Buffer");
- wfCheckBox.setToolTipText("Depth will be written for the object, if selected");
- wfCheckBox.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- wfCheckBoxActionPerformed(evt);
- }
- });
-
- jPanel1.add(wfCheckBox);
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 0;
- gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
- getContentPane().add(jPanel1, gridBagConstraints);
-
- jPanel2.setBorder(new javax.swing.border.TitledBorder("Shaded Object"));
- jLabel3.setFont(new java.awt.Font("Dialog", 0, 12));
- jLabel3.setText("Depth Function");
- jLabel3.setToolTipText("Mode of shaded object");
- jPanel2.add(jLabel3);
-
- shadedComboBox.setFont(new java.awt.Font("Dialog", 0, 12));
- shadedComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ALWAYS", "NEVER", "EQUAL", "NOT_EQUAL", "LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL" }));
- shadedComboBox.setSelectedIndex(4);
- shadedComboBox.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- shadedComboBoxActionPerformed(evt);
- }
- });
-
- jPanel2.add(shadedComboBox);
-
- shadedCheckBox.setFont(new java.awt.Font("Dialog", 0, 12));
- shadedCheckBox.setSelected(true);
- shadedCheckBox.setText("Write Depth Buffer");
- shadedCheckBox.setToolTipText("Depth will be written for the object, if selected");
- shadedCheckBox.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- shadedCheckBoxActionPerformed(evt);
- }
- });
-
- jPanel2.add(shadedCheckBox);
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
- getContentPane().add(jPanel2, gridBagConstraints);
-
- jPanel3.setBorder(new javax.swing.border.TitledBorder("Rotating Cube"));
- jLabel4.setFont(new java.awt.Font("Dialog", 0, 12));
- jLabel4.setText("Raster Operator");
- jLabel4.setToolTipText("Raster mode of rotating object (try NOOP)");
- jPanel3.add(jLabel4);
-
- rotatingComboBox.setFont(new java.awt.Font("Dialog", 0, 12));
- rotatingComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "CLEAR", "AND", "AND_REVERSE", "COPY", "AND_INVERTED", "NOOP", "XOR", "OR", "NOR", "EQUIV", "INVERT", "OR_REVERSE", "COPY_INVERTED", "OR_INVERTED", "NAND", "SET" }));
- rotatingComboBox.setSelectedIndex(3);
- rotatingComboBox.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- rotatingComboBoxActionPerformed(evt);
- }
- });
-
- jPanel3.add(rotatingComboBox);
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 2;
- gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
- getContentPane().add(jPanel3, gridBagConstraints);
-
- setBounds(0, 0, 403, 240);
- }
- // </editor-fold>//GEN-END:initComponents
-
- private void rotatingComboBoxActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_rotatingComboBoxActionPerformed
- {//GEN-HEADEREND:event_rotatingComboBoxActionPerformed
- String selectedItem = rotatingComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness)
- int mode = RenderingAttributes.ROP_COPY;
- if ( "CLEAR".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_CLEAR;
- }
- else if ( "AND".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_AND;
- }
- else if ( "AND_REVERSE".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_AND_REVERSE;
- }
- else if ( "COPY".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_COPY;
- }
- else if ( "AND_INVERTED".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_AND_INVERTED;
- }
- else if ( "NOOP".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_NOOP;
- }
- else if ( "XOR".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_XOR;
- }
- else if ( "OR".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_OR;
- }
- else if ( "NOR".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_NOR;
- }
- else if ( "EQUIV".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_EQUIV;
- }
- else if ( "INVERT".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_INVERT;
- }
- else if ( "OR_REVERSE".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_OR_REVERSE;
- }
- else if ( "COPY_INVERTED".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_COPY_INVERTED;
- }
- else if ( "OR_INVERTED".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_OR_INVERTED;
- }
- else if ( "NAND".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_NAND;
- }
- else if ( "SET".equals(selectedItem) )
- {
- mode = RenderingAttributes.ROP_SET;
- }
- else
- {
- System.out.println("oops. wrong mode in ROP combo: "+selectedItem);
- }
- rf.setRotatingObjectROPMode( mode );
- }//GEN-LAST:event_rotatingComboBoxActionPerformed
-
- private void shadedCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_shadedCheckBoxActionPerformed
- rf.setStaticObjectDBWriteStatus( shadedCheckBox.isSelected() );
- }//GEN-LAST:event_shadedCheckBoxActionPerformed
-
- private void wfCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_wfCheckBoxActionPerformed
- rf.setStaticWFObjectDBWriteStatus( wfCheckBox.isSelected() );
- }//GEN-LAST:event_wfCheckBoxActionPerformed
-
- private void shadedComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_shadedComboBoxActionPerformed
- int func = RenderingAttributes.LESS_OR_EQUAL;
- String selectedItem = shadedComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness)
- rf.setStaticObjectTestFunc( getID( selectedItem ) );
- }//GEN-LAST:event_shadedComboBoxActionPerformed
-
- private void normalComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_normalComboBoxActionPerformed
- int func = RenderingAttributes.LESS_OR_EQUAL;
- String selectedItem = normalComboBox.getSelectedItem().toString(); // how to avoid a cast and all that goes with it. (lazyness)
- rf.setStaticWFObjectTestFunc( getID( selectedItem ) );
- }//GEN-LAST:event_normalComboBoxActionPerformed
-
- int getID( String selectedItem )
- {
- int func = RenderingAttributes.LESS_OR_EQUAL;
- if ( "LESS_OR_EQUAL".equals(selectedItem) )
- {
- func = RenderingAttributes.LESS_OR_EQUAL;
- }
- else if ( "NEVER".equals(selectedItem) )
- {
- func = RenderingAttributes.NEVER;
- }
- else if ( "ALWAYS".equals(selectedItem) )
- {
- func = RenderingAttributes.ALWAYS;
- }
- else if ( "GREATER".equals(selectedItem) )
- {
- func = RenderingAttributes.GREATER;
- }
- else if ( "GREATER_OR_EQUAL".equals(selectedItem) )
- {
- func = RenderingAttributes.GREATER_OR_EQUAL;
- }
- else if ( "LESS".equals(selectedItem) )
- {
- func = RenderingAttributes.LESS;
- }
- else if ( "EQUAL".equals(selectedItem) )
- {
- func = RenderingAttributes.EQUAL;
- }
- else if ( "NOT_EQUAL".equals(selectedItem) )
- {
- func = RenderingAttributes.NOT_EQUAL;
- }
- return func;
- }
-
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- DepthFuncTest dpt = new DepthFuncTest();
- dpt.rf = new RenderFrame( dpt );
- dpt.setVisible(true);
- dpt.rf.setVisible(true);
- }
- });
- }
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JPanel jPanel2;
- private javax.swing.JPanel jPanel3;
- private javax.swing.JComboBox normalComboBox;
- private javax.swing.JComboBox rotatingComboBox;
- private javax.swing.JCheckBox shadedCheckBox;
- private javax.swing.JComboBox shadedComboBox;
- private javax.swing.JCheckBox wfCheckBox;
- // End of variables declaration//GEN-END:variables
-
-}
diff --git a/src/DepthFuncTest/RenderFrame.form b/src/DepthFuncTest/RenderFrame.form
deleted file mode 100644
index 2edc4bb..0000000
--- a/src/DepthFuncTest/RenderFrame.form
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <Properties>
- <Property name="defaultCloseOperation" type="int" value="3"/>
- <Property name="title" type="java.lang.String" value="J3D frame"/>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="formSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,-32,0,0,2,-128"/>
- <SyntheticProperty name="formPosition" type="java.awt.Point" value="-84,-19,0,5,115,114,0,14,106,97,118,97,46,97,119,116,46,80,111,105,110,116,-74,-60,-118,114,52,126,-56,38,2,0,2,73,0,1,120,73,0,1,121,120,112,0,0,1,-112,0,0,0,0"/>
- <SyntheticProperty name="formSizePolicy" type="int" value="0"/>
- <SyntheticProperty name="generatePosition" type="boolean" value="true"/>
- <SyntheticProperty name="generateSize" type="boolean" value="true"/>
- <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
- </SyntheticProperties>
- <AuxValues>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,-56,0,0,2,120"/>
- </AuxValues>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
-</Form>
diff --git a/src/DepthFuncTest/RenderFrame.java b/src/DepthFuncTest/RenderFrame.java
deleted file mode 100644
index 70945eb..0000000
--- a/src/DepthFuncTest/RenderFrame.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.behaviors.mouse.*;
-import com.sun.j3d.utils.behaviors.vp.OrbitBehavior;
-import java.awt.GraphicsConfiguration;
-import javax.media.j3d.*;
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.geometry.*;
-import javax.vecmath.*;
-
-
-public class RenderFrame extends javax.swing.JFrame {
-
- DepthFuncTest dpt;
-
- SimpleUniverse su;
-
- RenderingAttributes staticWFBoxRA;
- RenderingAttributes staticBoxRA;
-
- RenderingAttributes rotatingBoxRA;
-
- /** Creates new form RenderFrame */
- public RenderFrame( DepthFuncTest _dpt) {
- dpt = _dpt;
- initComponents();
- initUniverse();
- }
-
- /** This method is called from within the constructor to
- * initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents()
- {
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("J3D frame");
- setBounds(400, 0, 640, 480);
- }
- // </editor-fold>//GEN-END:initComponents
-
- void initUniverse() {
- GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
- su = new SimpleUniverse(c);
- su.addBranchGraph( createScene() );
- c.getView().setMinimumFrameCycleTime( 10 );
- }
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- // End of variables declaration//GEN-END:variables
-
- BranchGroup createScene() {
- BoundingSphere bounds = new BoundingSphere( new Point3d( 0.0, 0.0, 0.0 ), 100.0 );
-
- BranchGroup globalBG = new BranchGroup();
- BranchGroup rotObjectBG = new BranchGroup();
- OrderedGroup staticObjectOG = new OrderedGroup();
- BranchGroup lampsBG = new BranchGroup();
- OrderedGroup oGroup = new OrderedGroup();
- TransformGroup staticBoxRotTG = new TransformGroup();
- staticBoxRotTG.addChild( staticObjectOG );
- TransformGroup objectsTGRot = new TransformGroup();
- TransformGroup objectsTGTrans = new TransformGroup();
- Transform3D objectsTGTransT3d = new Transform3D();
- objectsTGTransT3d.setTranslation( new Vector3f( 0.0f, 0.0f, -10.0f ) );
- objectsTGTrans.setTransform( objectsTGTransT3d );
- objectsTGRot.addChild( oGroup );
- objectsTGTrans.addChild( objectsTGRot );
- lampsBG.addChild( objectsTGTrans );
-
- //adding a sphere as backgroung so there is something else than flat black, and cut cube removal as an other implication. (seeing through)
- Appearance globalSphereAppearance = new Appearance();
- PolygonAttributes globalSpherePA = new PolygonAttributes();
- globalSpherePA.setCullFace( globalSpherePA.CULL_FRONT );// so that interior of the sphere is visible.
- Material globalSphereMaterial = new Material();
- globalSphereMaterial.setEmissiveColor( .25f ,.3f ,.35f );
- globalSphereAppearance.setMaterial( globalSphereMaterial );
- globalSphereAppearance.setPolygonAttributes( globalSpherePA );
- Sphere globalSphere = new Sphere( 6.0f );
- globalSphere.setAppearance( globalSphereAppearance );
- globalSphere.setBounds( bounds );
- oGroup.addChild( globalSphere );
-
- globalBG.addChild( lampsBG );
-
- // adding lamps.
- PointLight frontLamp = new PointLight( new Color3f( 1.0f, 1.0f, 1.0f ), new Point3f( 20, 20, 20 ), new Point3f( 0.0f, .0f, 0.f ) );
- lampsBG.addChild( frontLamp );
- frontLamp.setBounds( bounds );
- frontLamp.setInfluencingBounds( bounds );
- PointLight backLamp = new PointLight( new Color3f( 1.0f, .0f, .0f ), new Point3f( -20, -20, -20 ), new Point3f( 0.0f, .0f, 0.f ) );
- lampsBG.addChild( backLamp );
- backLamp.setBounds( bounds );
- backLamp.setInfluencingBounds( bounds );
-
- //adding shapes.
- {
- //adding rotating and scaling cube
- //doing the rotation
- TransformGroup rotBoxTGRot = new TransformGroup();
- rotBoxTGRot.setCapability( rotBoxTGRot.ALLOW_TRANSFORM_WRITE );
- RotationInterpolator rotBoxRotInt = new RotationInterpolator( new Alpha( -1, 20000 ) , rotBoxTGRot );
- rotBoxRotInt.setSchedulingBounds( bounds );
- rotBoxRotInt.setBounds( bounds );
-
- //doing the scaling
- Transform3D scaleBoxt3d = new Transform3D();
- TransformGroup rotBoxTGScale = new TransformGroup();
- rotBoxTGScale.setCapability( rotBoxTGScale.ALLOW_TRANSFORM_WRITE );
- ScaleInterpolator rotBoxScaleInt = new ScaleInterpolator( new Alpha( -1, Alpha.INCREASING_ENABLE|Alpha.DECREASING_ENABLE, 0, 0, 3000, 1500, 0, 3000, 1500, 0 ) , rotBoxTGScale, new Transform3D(), 0.7f, 1.6f );
- rotBoxScaleInt.setSchedulingBounds( bounds );
- rotBoxScaleInt.setBounds( bounds );
-
- Appearance rotBoxApp = new Appearance();
- Material rotBoxMat = new Material();
- rotBoxMat.setDiffuseColor( .4f, .4f, .4f );
- rotBoxApp.setMaterial( rotBoxMat );
- Box rotBox = new Box( 1.1f, 1.1f, 1.1f, rotBoxApp );
- rotBoxTGScale.addChild( rotBox );
- rotBoxTGRot.addChild( rotBoxTGScale );
- TransformGroup rotBoxTG = new TransformGroup();
- rotBoxTG.addChild( rotBoxTGRot );
- rotObjectBG.addChild( rotBoxTG );
- rotObjectBG.addChild( rotBoxScaleInt );
- rotObjectBG.addChild( rotBoxRotInt );
- rotBox.setBounds( bounds );
-
- rotatingBoxRA = new RenderingAttributes();
- rotatingBoxRA.setRasterOpEnable( true );
- rotatingBoxRA.setCapability( staticBoxRA.ALLOW_RASTER_OP_WRITE );
-// rotatingBoxRA.setRasterOp( rotatingBoxRA.ROP_XOR );
- rotBoxApp.setRenderingAttributes( rotatingBoxRA );
-
-
- rotBox.setAppearance( rotBoxApp );
- }
-
- //adding static back face wireframe cube
- {
- Box staticWFBoxBack = new Box( );
- Appearance staticWFBoxApp = new Appearance();
- Material staticWFBoxMat = new Material();
- staticWFBoxMat.setDiffuseColor( 0.f, 0.f, 0.f );
- staticWFBoxMat.setEmissiveColor( 0.f, .4f, 0.f );
- staticWFBoxApp.setMaterial( staticWFBoxMat );
- PolygonAttributes staticWFBoxPABack = new PolygonAttributes( PolygonAttributes.POLYGON_LINE, PolygonAttributes.CULL_FRONT, 0.0f );
- staticWFBoxApp.setPolygonAttributes( staticWFBoxPABack );
- staticWFBoxRA = new RenderingAttributes();
- staticWFBoxRA.setCapability( staticWFBoxRA.ALLOW_DEPTH_TEST_FUNCTION_WRITE );
- staticWFBoxRA.setCapability( staticWFBoxRA.ALLOW_DEPTH_ENABLE_WRITE );
- staticWFBoxRA.setDepthTestFunction( staticWFBoxRA.GREATER );
- staticWFBoxRA.setDepthBufferWriteEnable( false );
- staticWFBoxApp.setRenderingAttributes( staticWFBoxRA );
- staticWFBoxBack.setAppearance( staticWFBoxApp );
- staticWFBoxBack.setBounds( bounds );
- staticObjectOG.addChild( staticWFBoxBack );
- }
-
- //adding static front face wireframe cube
- {
- Box staticWFBox = new Box( );
- Appearance staticWFBoxApp = new Appearance();
- Material staticWFBoxMat = new Material();
- staticWFBoxMat.setDiffuseColor( 0.f, 0.f, 0.f );
- staticWFBoxMat.setEmissiveColor( 0.f, 1.f, 0.f );
- staticWFBoxApp.setMaterial( staticWFBoxMat );
- PolygonAttributes staticWFBoxPA = new PolygonAttributes( PolygonAttributes.POLYGON_LINE, PolygonAttributes.CULL_BACK, 0.0f );
- staticWFBoxApp.setPolygonAttributes( staticWFBoxPA );
- staticWFBoxApp.setRenderingAttributes( staticWFBoxRA );
- staticWFBox.setAppearance( staticWFBoxApp );
- staticWFBox.setBounds( bounds );
- staticObjectOG.addChild( staticWFBox );
- }
-
-
- {// rotating the static cubes
- Transform3D boxt3d = new Transform3D();
- Transform3D tempt3d = new Transform3D();
- boxt3d.rotZ( Math.PI/4.0f );
- tempt3d.rotX( Math.PI/4.0f );
- boxt3d.mul( tempt3d );
- tempt3d.rotY( Math.PI/4.0f );
- boxt3d.mul( tempt3d );
- staticBoxRotTG.setTransform( boxt3d );
- }
-
- // adding static flat cube
- {
- Box staticBox = new Box( );
- staticBox.setBounds( bounds );
- Appearance boxApp = new Appearance();
- Material boxMat = new Material();
- boxMat.setDiffuseColor( .7f, .7f, .7f );
- boxApp.setMaterial( boxMat );
- staticBoxRA = new RenderingAttributes();
- staticBoxRA.setCapability( staticBoxRA.ALLOW_DEPTH_TEST_FUNCTION_WRITE );
- staticBoxRA.setCapability( staticBoxRA.ALLOW_DEPTH_ENABLE_WRITE );
- staticBoxRA.setDepthTestFunction( staticBoxRA.LESS );
- staticBoxRA.setDepthBufferWriteEnable( false );
- boxApp.setRenderingAttributes( staticBoxRA );
- staticBox.setAppearance( boxApp );
- staticObjectOG.addChild( staticBox );
- }
- oGroup.addChild( rotObjectBG );
- oGroup.addChild( staticBoxRotTG );
-
- //adding the mouse rotate behavior to the group of cubes.
- MouseRotate behavior = new MouseRotate();
- behavior.setTransformGroup( objectsTGRot );
- objectsTGRot.addChild( behavior );
- objectsTGRot.setCapability( objectsTGRot.ALLOW_TRANSFORM_READ );
- objectsTGRot.setCapability( objectsTGRot.ALLOW_TRANSFORM_WRITE );
- behavior.setSchedulingBounds(bounds);
- return globalBG;
- }
-
- public void setStaticWFObjectTestFunc( int func )
- {
- staticWFBoxRA.setDepthTestFunction( func );
- }
-
- public void setStaticObjectTestFunc( int func )
- {
- staticBoxRA.setDepthTestFunction( func );
- }
-
- public void setStaticWFObjectDBWriteStatus( boolean status )
- {
- staticWFBoxRA.setDepthBufferWriteEnable( status );
- }
-
- public void setStaticObjectDBWriteStatus( boolean status )
- {
- staticBoxRA.setDepthBufferWriteEnable( status );
- }
-
- public void setRotatingObjectROPMode( int mode )
- {
- rotatingBoxRA.setRasterOp( mode );
- }
-
-}
diff --git a/src/DepthFuncTest/build.xml b/src/DepthFuncTest/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/DepthFuncTest/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/DistortGlyph/DistortBehavior.java b/src/DistortGlyph/DistortBehavior.java
deleted file mode 100644
index e4f0d59..0000000
--- a/src/DistortGlyph/DistortBehavior.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.util.Enumeration;
-
-import javax.media.j3d.Appearance;
-import javax.media.j3d.Behavior;
-import javax.media.j3d.GeometryArray;
-import javax.media.j3d.Shape3D;
-import javax.media.j3d.Transform3D;
-import javax.media.j3d.WakeupCondition;
-import javax.media.j3d.WakeupCriterion;
-import javax.media.j3d.WakeupOnElapsedFrames;
-import javax.media.j3d.WakeupOnElapsedTime;
-
-import javax.vecmath.Vector3f;
-
-public class DistortBehavior extends Behavior {
- // the wake up condition for the behavior
- protected WakeupCondition m_InitialWakeupCondition = null;
- protected WakeupCondition m_FrameWakeupCondition = null;
-
- // the GeometryArray for the Shape3D that we are modifying
- protected Shape3D m_Shape3D = null;
- protected GeometryArray m_GeometryArray = null;
-
- protected float[] m_CoordinateArray = null;
- protected float[] m_OriginalCoordinateArray = null;
- protected Appearance m_Appearance = null;
-
- protected int m_nElapsedTime = 0;
- protected int m_nNumFrames = 0;
- protected int m_nFrameNumber = 0;
-
- private int frame = 0;
- protected Vector3f m_Vector = null;
-
- public DistortBehavior(Shape3D shape3D, int nElapsedTime, int nNumFrames) {
- // allocate a temporary vector
- m_Vector = new Vector3f();
-
- m_FrameWakeupCondition = new WakeupOnElapsedFrames(0);
-
- restart(shape3D, nElapsedTime, nNumFrames);
- }
-
- public WakeupCondition restart(Shape3D shape3D, int nElapsedTime, int nNumFrames) {
- m_Shape3D = shape3D;
- m_nElapsedTime = nElapsedTime;
- m_nNumFrames = nNumFrames;
- m_nFrameNumber = 0;
-
- // create the WakeupCriterion for the behavior
- m_InitialWakeupCondition = new WakeupOnElapsedTime(m_nElapsedTime);
-
- // save the GeometryArray that we are modifying
- m_GeometryArray = (GeometryArray) m_Shape3D.getGeometry();
-
- if (m_Shape3D.isLive() == false && m_Shape3D.isCompiled() == false) {
- // set the capability bits that the behavior requires
- m_Shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
- m_Shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
-
- m_Shape3D.getAppearance().setCapability(Appearance.ALLOW_POINT_ATTRIBUTES_WRITE);
- m_Shape3D.getAppearance().setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);
- m_Shape3D.getAppearance().setCapability(Appearance.ALLOW_TRANSPARENCY_ATTRIBUTES_WRITE);
- m_Shape3D.getAppearance().setCapability(Appearance.ALLOW_TEXTURE_WRITE);
-
- m_GeometryArray.setCapability(GeometryArray.ALLOW_COORDINATE_READ);
- m_GeometryArray.setCapability(GeometryArray.ALLOW_COORDINATE_WRITE);
- m_GeometryArray.setCapability(GeometryArray.ALLOW_COUNT_READ);
- }
-
- // make a copy of the object's original appearance
- m_Appearance = new Appearance();
- m_Appearance = (Appearance) m_Shape3D.getAppearance().cloneNodeComponent(true);
-
- // allocate an array for the model coordinates
- m_CoordinateArray = new float[3 * m_GeometryArray.getVertexCount()];
-
- // make a copy of the models original coordinates
- m_OriginalCoordinateArray = new float[3 * m_GeometryArray.getVertexCount()];
- m_GeometryArray.getCoordinates(0, m_OriginalCoordinateArray);
-
- // start (or restart) the behavior
- setEnable(true);
-
- return m_InitialWakeupCondition;
- }
-
- public void initialize() {
- // apply the initial WakeupCriterion
- wakeupOn(m_InitialWakeupCondition);
- }
-
- public void processStimulus(Enumeration criteria) {
- while (criteria.hasMoreElements()) {
- WakeupCriterion wakeUp = (WakeupCriterion) criteria.nextElement();
-
- if (wakeUp instanceof WakeupOnElapsedTime) {
- } else {
- // we are mid explosion, modify the GeometryArray
- m_nFrameNumber++;
- frame++;
- m_GeometryArray.getCoordinates(0, m_CoordinateArray);
-
- Transform3D t3 = new Transform3D();
- for (int n = 0; n < m_CoordinateArray.length; n += 3) {
- m_Vector.x = m_OriginalCoordinateArray[n];
- m_Vector.y = m_OriginalCoordinateArray[n + 1];
- m_Vector.z = m_OriginalCoordinateArray[n + 2];
-
- float spx = (float) (Math.sin(frame *3f / 500));
- float spy = (float) (Math.cos(frame *5f / 500));
- Vector3f v = new Vector3f(spx, spy, 0);
-
- float px = (m_Vector.x - v.x);
- float py = (m_Vector.y - v.y);
- float pz = (m_Vector.z - v.z);
- float d = (float) Math.sqrt(px * px + py * py + pz * pz);
-
-
- m_Vector.add(new Vector3f(-.25f, -.25f, -.25f));
- //m_Vector.scale(d);
-
- t3.rotZ(d);
- t3.rotX(d*2);
- t3.rotY(d);
- t3.transform(m_Vector);
-
- m_CoordinateArray[n] = m_Vector.x;
- m_CoordinateArray[n + 1] = m_Vector.y;
- m_CoordinateArray[n + 2] = m_Vector.z;
-
- }
-
- // assign the new coordinates
- m_GeometryArray.setCoordinates(0, m_CoordinateArray);
- }
- }
-
- if (m_nFrameNumber < m_nNumFrames) {
- // assign the next WakeUpCondition, so we are notified again
- wakeupOn(m_FrameWakeupCondition);
- } else {
- // restart
- m_nFrameNumber = 0;
- wakeupOn(m_FrameWakeupCondition);
- }
- }
-}
diff --git a/src/DistortGlyph/DistortGlyphTest.java b/src/DistortGlyph/DistortGlyphTest.java
deleted file mode 100644
index fd9c590..0000000
--- a/src/DistortGlyph/DistortGlyphTest.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.GraphicsConfiguration;
-import java.awt.GraphicsEnvironment;
-
-import javax.media.j3d.AmbientLight;
-import javax.media.j3d.Appearance;
-import javax.media.j3d.BoundingSphere;
-import javax.media.j3d.BranchGroup;
-import javax.media.j3d.Canvas3D;
-import javax.media.j3d.DirectionalLight;
-import javax.media.j3d.Font3D;
-import javax.media.j3d.FontExtrusion;
-import javax.media.j3d.GeometryArray;
-import javax.media.j3d.GraphicsConfigTemplate3D;
-import javax.media.j3d.Light;
-import javax.media.j3d.Material;
-import javax.media.j3d.PointLight;
-import javax.media.j3d.Shape3D;
-import javax.media.j3d.TexCoordGeneration;
-import javax.media.j3d.Texture;
-import javax.media.j3d.TransformGroup;
-
-import javax.vecmath.Color3f;
-import javax.vecmath.Point3d;
-import javax.vecmath.Point3f;
-import javax.vecmath.Vector3f;
-
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
-import com.sun.j3d.utils.behaviors.mouse.MouseTranslate;
-import com.sun.j3d.utils.behaviors.mouse.MouseZoom;
-import com.sun.j3d.utils.image.TextureLoader;
-import com.sun.j3d.utils.universe.SimpleUniverse;
-
-public class DistortGlyphTest extends Applet {
- // get a nice graphics config
- private static GraphicsConfiguration getGraphicsConfig() {
- GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
- template.setSceneAntialiasing(GraphicsConfigTemplate3D.PREFERRED);
- GraphicsConfiguration gcfg = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getBestConfiguration(template);
- return gcfg;
- }
-
- private void setupLights(BranchGroup root) {
- // set up the BoundingSphere for all the lights
- BoundingSphere bounds = new BoundingSphere(new Point3d(), 100.0);
-
- // Set up the ambient light
- AmbientLight lightAmbient = new AmbientLight(new Color3f(0.37f, 0.37f, 0.37f));
- lightAmbient.setInfluencingBounds(bounds);
- root.addChild(lightAmbient);
-
- // Set up the directional light
- Vector3f lightDirection1 = new Vector3f(0.0f, 0.0f, -1.0f);
- DirectionalLight lightDirectional1 = new DirectionalLight(new Color3f(1.00f, 0.10f, 0.00f), lightDirection1);
- lightDirectional1.setInfluencingBounds(bounds);
- lightDirectional1.setCapability(Light.ALLOW_STATE_WRITE);
- root.addChild(lightDirectional1);
-
- Point3f lightPos1 = new Point3f(-4.0f, 8.0f, 16.0f);
- Point3f lightAttenuation1 = new Point3f(1.0f, 0.0f, 0.0f);
- PointLight pointLight1 = new PointLight(new Color3f(0.37f, 1.00f, 0.37f), lightPos1, lightAttenuation1);
- pointLight1.setInfluencingBounds(bounds);
- root.addChild(pointLight1);
-
- Point3f lightPos2 = new Point3f(-16.0f, 8.0f, 4.0f);
- Point3f lightAttenuation2 = new Point3f(1.0f, 0.0f, 0.0f);
- PointLight pointLight2 = new PointLight(new Color3f(0.37f, 0.37f, 1.00f), lightPos2, lightAttenuation2);
- pointLight2.setInfluencingBounds(bounds);
- root.addChild(pointLight2);
- }
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- setupLights(objRoot);
-
- TransformGroup objTransform = new TransformGroup();
- objTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
-
- objRoot.addChild(objTransform);
-
- // setup a nice textured appearance
- Appearance app = new Appearance();
- Color3f objColor = new Color3f(1.0f, 0.7f, 0.8f);
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor, black, 80.0f));
- Texture txtr = new TextureLoader("gold.jpg",this).getTexture();
- app.setTexture(txtr);
- TexCoordGeneration tcg = new TexCoordGeneration(TexCoordGeneration.SPHERE_MAP,TexCoordGeneration.TEXTURE_COORDINATE_2);
- app.setTexCoordGeneration(tcg);
-
- // use a customized FontExtrusion object to control the depth of the text
- java.awt.geom.GeneralPath gp = new java.awt.geom.GeneralPath();
- gp.moveTo(0, 0);
- gp.lineTo(.01f, .01f);
- gp.lineTo(.2f, .01f);
- gp.lineTo(.21f, 0f);
- FontExtrusion fontEx = new FontExtrusion(gp);
-
- // our glyph
- Font fnt = new Font("dialog", Font.BOLD, 1);
- Font3D f3d = new Font3D(fnt, .001, fontEx);
- GeometryArray geom = f3d.getGlyphGeometry('A');
- Shape3D shape = new Shape3D(geom, app);
- objTransform.addChild(shape);
-
- // the DistortBehavior
- DistortBehavior eb = new DistortBehavior(shape, 1000, 1000);
- eb.setSchedulingBounds(new BoundingSphere());
- objTransform.addChild(eb);
-
- MouseRotate myMouseRotate = new MouseRotate();
- myMouseRotate.setTransformGroup(objTransform);
- myMouseRotate.setSchedulingBounds(new BoundingSphere());
- objRoot.addChild(myMouseRotate);
-
- MouseTranslate myMouseTranslate = new MouseTranslate();
- myMouseTranslate.setTransformGroup(objTransform);
- myMouseTranslate.setSchedulingBounds(new BoundingSphere());
- objRoot.addChild(myMouseTranslate);
-
- MouseZoom myMouseZoom = new MouseZoom();
- myMouseZoom.setTransformGroup(objTransform);
- myMouseZoom.setSchedulingBounds(new BoundingSphere());
- objRoot.addChild(myMouseZoom);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- // Create a simple scene and attach it to the virtual universe
- public DistortGlyphTest() {
- //setLayout(new BorderLayout());
- GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D canvas3D = new Canvas3D(getGraphicsConfig());
- canvas3D.setBounds(0, 0, 800, 600);
- add("Center", canvas3D);
-
- BranchGroup scene = createSceneGraph();
-
- // SimpleUniverse is a Convenience Utility class
- SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- simpleU.getViewingPlatform().setNominalViewingTransform();
-
- simpleU.addBranchGraph(scene);
- }
-
- // The following allows this to be run as an application
- // as well as an applet
- public static void main(String[] args) {
- Frame frame = new MainFrame(new DistortGlyphTest(), 800, 600);
- }
-}
diff --git a/src/DistortGlyph/build.xml b/src/DistortGlyph/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/DistortGlyph/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/DistortGlyph/gold.jpg b/src/DistortGlyph/gold.jpg
deleted file mode 100644
index 40e8786..0000000
--- a/src/DistortGlyph/gold.jpg
+++ /dev/null
Binary files differ
diff --git a/src/FPSCounter/FPSCounter.java b/src/FPSCounter/FPSCounter.java
deleted file mode 100644
index 17e7f35..0000000
--- a/src/FPSCounter/FPSCounter.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.text.*;
-
-/** This behavior calculates the frame rate and average frame rate of a
- * Java3D application.
- * The behavior sets itself up to wakeup every time a new frame is rendered.
- *
- * <p> The HotSpot(tm) compiler performs some initial optimizations before
- * running at optimal speed. Frame rates measured during this warmup period
- * will be inaccurate and not indicative of the true performance of the the
- * application. Therefore, before beginning the frame rate computation,
- * the frame counter waits for a fixed time period to allow the HotSpot(tm)
- * compiler to stablilize.
- *
- * <p> To avoid computing the frame rate too frequently (which would also
- * hamper rendering performance), the frame counter only computes the frame
- * rate at fixed time intervals. The default sampling duration is 10 seconds.
- * After waiting for the warmup period, the frame counter needs to calibrate
- * itself. It computes the number of frames rendered during the sampling
- * period. After doing this calibration, the frame counter reports the frame
- * rate after these many frames are rendered. It also reports the average
- * frame rate after a fixed number of sampling intervals (the default is 5).
- *
- * <p>The frame counter can be set up to run for a fixed number of sampling
- * intervals or to run indefinitely. The defaultis to run indefinitely.
- */
-
-public class FPSCounter extends Behavior {
- // Wakeup condition - framecount = 0 -> wakeup on every frame
- WakeupOnElapsedFrames FPSwakeup = new WakeupOnElapsedFrames(0);
-
- // Do calibration for these many millisec
- private static final long testduration = 1000;
-
- // Report frame rate after every sampleduration milliseconds
- private static final long sampleduration = 10000;
-
- // Flag to indicate that it is time to (re)calibrate
- private boolean doCalibration = true;
-
- // Flag to indicate the counter has started
- private boolean startup = true;
-
- // Wait for HotSpot compiler to perform optimizations
- private boolean warmup = true;
-
- // Time to wait for HotSpot compiler to stabilize (in milliseconds)
- private long warmupTime = 20000;
-
- // Counter for number of frames rendered
- private int numframes = 0;
-
- // Report frame rate after maxframe number of frames have been rendered
- private int maxframes = 1;
-
- // Variables to keep track of elapsed time
- private long startuptime = 0;
- private long currtime = 0;
- private long lasttime = 0;
- private long deltatime;
-
- // Run indefinitely or for a fixed duration
- private boolean finiteLoop = false;
-
- // No. of sampling intervals to run for if not running indefinitely
- private long maxLoops;
-
- // No. of sampling intervals run for so far
- private long numLoops = 0;
-
- // Total number of frames rendered so far
- private int sumFrames = 0;
-
- // Total time since last reporting of average frame rate
- private long sumTimes = 0;
-
- // Counts no. of sampling intervals
- private int loop = 0;
-
- // Average frame rate is reported after loopCount number of
- // sampling intervals
- private int loopCount = 5;
- private double sumFps = 0.0;
-
- private String symbol[] = {"\\", "|", "|", "/", "-", "|", "-"};
- int index = 0;
- private NumberFormat nf = null;
-
- public FPSCounter() {
- setEnable(true);
- nf = NumberFormat.getNumberInstance();
- }
-
- /**
- * Called to init the behavior
- */
- public void initialize() {
- // Set the trigger for the behavior to wakeup on every frame rendered
- wakeupOn(FPSwakeup);
- }
-
- /**
- * Called every time the behavior is activated
- */
- public void processStimulus(java.util.Enumeration critera) {
- // Apply calibration algorithm to determine number of frames to
- // wait before computing frames per second.
- // sampleduration = 10000 -> to run test, pass for 10 seconds.
-
- if (doCalibration) { // start calibration
- if (startup) {
- // Record time at which the behavior was first invoked
- startuptime = System.currentTimeMillis();
- startup = false;
- }
- else if(warmup) { // Wait for the system to stabilize.
- System.out.print("\rFPSCounter warming up..." +
- symbol[(index++)%symbol.length]);
- currtime = System.currentTimeMillis();
- deltatime = currtime - startuptime;
- if(deltatime > warmupTime) {
- // Done waiting for warmup
- warmup = false;
- lasttime = System.currentTimeMillis();
- System.out.println("\rFPSCounter warming up...Done");
- }
- }
- else {
- numframes += 1;
- // Wait till at least maxframe no. of frames have been rendered
- if (numframes >= maxframes) {
- currtime = System.currentTimeMillis();
- deltatime = currtime - lasttime;
- // Do the calibration for testduration no. of millisecs
- if (deltatime > testduration) {
- // Compute total no. of frames rendered so far in the
- // current sampling duration
- maxframes = (int)Math.ceil((double)numframes *
- ((double)sampleduration /
- (double)deltatime));
-
- // Done with calibration
- doCalibration = false;
- // reset the value for the measurement
- numframes = 0;
- lasttime = System.currentTimeMillis();
- }
- else {
- // Need to run the calibration routine for some more
- // time. Increase the no. of frames to be rendered
- maxframes *= 2;
- }
- }
- }
- }
- else { // do the measurement
- numframes += 1;
- if (numframes >= maxframes) {
- currtime = System.currentTimeMillis();
- deltatime = currtime - lasttime;
- // time is in millisec, so multiply by 1000 to get frames/sec
- double fps = (double)numframes / ((double)deltatime / 1000.0);
-
- System.out.println("Frame Rate : \n\tNo. of frames : " +
- numframes + "\n\tTime : " +
- ((double)deltatime / 1000.0) +
- " sec." + "\n\tFrames/sec : " + nf.format(fps));
-
- // Calculate average frame rate
- sumFrames += numframes;
- sumTimes += deltatime;
- sumFps += fps;
- loop++;
- if (loop >= loopCount) {
- double avgFps = (double)sumFrames*1000.0/(double)sumTimes;
- double ravgFps = sumFps/(double)loopCount;
- System.out.println("Aggregate frame rate " +
- nf.format(avgFps) + " frames/sec");
- System.out.println("Average frame rate " +
- nf.format(ravgFps) + " frames/sec");
- numLoops++;
- if (finiteLoop && numLoops >= maxLoops) {
- System.out.println("************** The End **************\n");
- setEnable(false);
- }
- loop = 0;
- sumFps = 0;
- }
- numframes = 0;
- lasttime = System.currentTimeMillis();;
- }
- }
- // Set the trigger for the behavior
- wakeupOn(FPSwakeup);
- }
-
- /**
- * The frame counter waits for some time before computing the
- * frame rate. This allows the HotSpot compiler to perform
- * initial optimizations. The amount of time to wait for is set
- * by this method. The default is 20000 (20 sec)
- *
- * @param amount of time to wait for before computing frame rate
- * (specified in milliseconds)
- */
- public void setWarmupTime(long wt) {
- warmupTime = wt;
- }
-
- /**
- * Sets the number of sampling intervals to wait for before computing
- * the average frame rate.
- * The default is 5.
- *
- * @param number of sampling intervals over which to compute frame rate.
- * A value of 0 implies the average frame rate is computed over one
- * sampling interval
- */
- public void setLoopCount(int lc) {
- loopCount = lc;
- }
-
- /**
- * This method sets the number of sampling intervals for which
- * the frame counter should run.
- *
- * @param number of sampling intervals to run for
- */
- public void setMaxLoops(int ml) {
- maxLoops = ml;
- finiteLoop = true;
- }
-
-}
diff --git a/src/FPSCounter/FPSCounterDemo.html b/src/FPSCounter/FPSCounterDemo.html
deleted file mode 100644
index 9ebe39e..0000000
--- a/src/FPSCounter/FPSCounterDemo.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>FPS Counter</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="FPSCounterDemo.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a FPS Counter instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/FPSCounter/FPSCounterDemo.java b/src/FPSCounter/FPSCounterDemo.java
deleted file mode 100644
index 6967741..0000000
--- a/src/FPSCounter/FPSCounterDemo.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import java.awt.event.*;
-import java.awt.GraphicsConfiguration;
-import com.sun.j3d.utils.applet.JMainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import javax.swing.JOptionPane;
-
-/** This program demonstrates the use of the frames per second counter.
- * The program displays a rotating cube and sets up the FPSCounter to compute
- * the frame rate. The FPSCounter is set up with default values:
- * - run indefinitely
- * - 2 sec. warmup time
- * - display average frame rate every fifth sampling interval.
- * The default values can be changed through the command line
- * arguments. Use FPSCounterDemo -h for help on the various arguments.
- */
-
-public class FPSCounterDemo extends Applet {
- private SimpleUniverse u = null;
- private FPSCounter fpsCounter = new FPSCounter();
-
- BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create the TransformGroup node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at run time. Add it to
- // the root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
-
- // Create a simple Shape3D node; add it to the scene graph.
- objTrans.addChild(new ColorCube(0.4));
-
- // Create a new Behavior object that will perform the
- // desired operation on the specified transform and add
- // it into the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, 4000);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0),
- 100.0);
- rotator.setSchedulingBounds(bounds);
- objRoot.addChild(rotator);
-
- // Create the Framecounter behavior
- fpsCounter.setSchedulingBounds(bounds);
- objRoot.addChild(fpsCounter);
-
- return objRoot;
- }
-
-
- public FPSCounterDemo(String args[]) {
- }
-
- public FPSCounterDemo() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
-
- // Parse the command line to set the various parameters
-
- // Have Java 3D perform optimizations on this scene graph.
- scene.compile();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
-
- JOptionPane.showMessageDialog(this,
- ("This program measures the number of frames rendered per second.\n" +
- "Note that the frame rate is limited by the refresh rate of the monitor.\n" +
- "To get the true frame rate you need to disable vertical retrace.\n\n" +
- "On Windows(tm) you do this through the Control Panel.\n\n" +
- "On Solaris set the environment variable OGL_NO_VBLANK"),
- "Frame Counter",
- JOptionPane.INFORMATION_MESSAGE);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows FPSCounterDemo to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- FPSCounterDemo fp = new FPSCounterDemo();
- fp.parseArgs(args);
- JMainFrame frame = new JMainFrame(fp, 256, 256);
- }
-
- /** Parses the commandline for the various switches to set the FPSCounter
- * variables.
- * All arguments are of the form <i>-name value</i>.
- * All -name arguments can be shortened to one character. All the value
- * arguments take a number. The arguments accepted are :
- * <ul>
- * <li>warmupTime : Specifies amount of time the FPSCounter should wait
- * for the HotSpot<sup><font size="-2">TM</font></sup> VM to perform
- * initial optimizations. Specified in milliseconds<br>
- * <li>loopCount : Specifies the number of sampling intervals over which
- * the FPSCounter should calculate the aggregate and average frame rate.
- * Specified as a count. <br>
- * <li>maxLoops : Specifies that the FPSCounter should run for only
- * these many sampling intervals. Specified as number. If this argument
- * is not specified, the FPSCounter runs indefinitely. <br>
- * <li>help : Prints the accepted arguments. <br>
- * </ul>
- */
- private void parseArgs(String args[]) {
- for(int i = 0; i < args.length; i++) {
- if(args[i].startsWith("-")) {
- if(args[i].startsWith("w", 1)) {
- i++;
- System.out.println("Warmup time : " + args[i]);
- int w = new Integer(args[i]).intValue();
- fpsCounter.setWarmupTime(w);
- }
- else if(args[i].startsWith("l", 1)) {
- i++;
- System.out.println("Loop count : " + args[i]);
- int l = new Integer(args[i]).intValue();
- fpsCounter.setLoopCount(l);
- }
- else if(args[i].startsWith("m", 1)) {
- i++;
- System.out.println("Max Loop Count : " + args[i]);
- int m = new Integer(args[i]).intValue();
- fpsCounter.setMaxLoops(m);
- }
- else if(args[i].startsWith("h", 1)) {
- System.out.println("Usage : FPSCounterDemo [-name value]\n" +
- "All arguments are of the form: -name value. All -name arguments can be\n" +
- "shortened to one character. All the value arguments take a number. The\n" +
- "arguments accepted are:\n\n" +
- " -warmupTime : Specifies amount of time the FPSCounter should wait\n" +
- " for the HotSpot(tm) VM to perform initial\n" +
- " optimizations. Specified in milliseconds\n\n" +
- " -loopCount : Specifies the number of sampling intervals over which\n" +
- " the FPSCounter should calculate the aggregate and average\n" +
- " frame rate. Specified as a count\n\n" +
- " -maxLoops : Specifies that the FPSCounter should run for only these\n" +
- " many sampling intervals. Specified as number. If this argument\n" +
- " is not specified, the FPSCounter runs indefinitely.\n\n" +
- " -help : Prints this message.");
- }
- }
- }
- }
-
-}
diff --git a/src/FPSCounter/FPSCounterDemo_plugin.html b/src/FPSCounter/FPSCounterDemo_plugin.html
deleted file mode 100644
index e16ec6e..0000000
--- a/src/FPSCounter/FPSCounterDemo_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>FPS Counter</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "FPSCounterDemo.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "FPSCounterDemo.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a FPS Counter instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "FPSCounterDemo.class" WIDTH = 500 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a FPS Counter instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/FPSCounter/build.xml b/src/FPSCounter/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/FPSCounter/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/FourByFour/BigCube.java b/src/FourByFour/BigCube.java
deleted file mode 100644
index dbd304e..0000000
--- a/src/FourByFour/BigCube.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.event.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-/**
- * Class BigCube
- *
- * Description: Creates the "big" cube used to mark the computer's
- * position.
- *
- * Version: 1.0
- */
-public class BigCube extends Object {
-
- private Shape3D shape3D;
-
- private static final float[] verts = {
- // Front Face
- 5.0f, -5.0f, 5.0f, 5.0f, 5.0f, 5.0f,
- -5.0f, 5.0f, 5.0f, -5.0f, -5.0f, 5.0f,
- // Back Face
- -5.0f, -5.0f, -5.0f, -5.0f, 5.0f, -5.0f,
- 5.0f, 5.0f, -5.0f, 5.0f, -5.0f, -5.0f,
- // Right Face
- 5.0f, -5.0f, -5.0f, 5.0f, 5.0f, -5.0f,
- 5.0f, 5.0f, 5.0f, 5.0f, -5.0f, 5.0f,
- // Left Face
- -5.0f, -5.0f, 5.0f, -5.0f, 5.0f, 5.0f,
- -5.0f, 5.0f, -5.0f, -5.0f, -5.0f, -5.0f,
- // Top Face
- 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, -5.0f,
- -5.0f, 5.0f, -5.0f, -5.0f, 5.0f, 5.0f,
- // Bottom Face
- -5.0f, -5.0f, 5.0f, -5.0f, -5.0f, -5.0f,
- 5.0f, -5.0f, -5.0f, 5.0f, -5.0f, 5.0f,
- };
-
- private static final float[] normals = {
- // Front Face
- 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
- // Back Face
- 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f,
- 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f,
- // Right Face
- 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
- // Left Face
- -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f,
- -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f,
- // Top Face
- 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f,
- // Bottom Face
- 0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f,
- 0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f,
- };
-
- public BigCube(Appearance appearance) {
-
- QuadArray quadArray = new QuadArray(24, QuadArray.COORDINATES |
- QuadArray.NORMALS );
- quadArray.setCoordinates(0, verts);
- quadArray.setNormals(0, normals);
-
- shape3D = new Shape3D(quadArray, appearance);
- shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
- shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
- shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
- shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
- }
-
- public BigCube(Appearance appearance, float size) {
-
- QuadArray quadArray = new QuadArray(24, QuadArray.COORDINATES |
- QuadArray.NORMALS );
-
- for (int i=0; i<72; i++) verts[i] *= size;
-
- quadArray.setCoordinates(0, verts);
- quadArray.setNormals(0, normals);
-
- shape3D = new Shape3D(quadArray, appearance);
- shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
- shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
- shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
- shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
- }
-
- public Shape3D getChild() {
- return shape3D;
- }
-}
diff --git a/src/FourByFour/Board.java b/src/FourByFour/Board.java
deleted file mode 100644
index b4d29c9..0000000
--- a/src/FourByFour/Board.java
+++ /dev/null
@@ -1,2310 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-
-/**
- * Class: Board
- *
- * Description: Handles all logic with respect to play. Also renders
- * the 2D window.
- *
- * Version: 1.1
- *
- */
-class Board {
-
- final static int UNOCCUPIED = 0;
- final static int HUMAN = 1;
- final static int MACHINE = 2;
- final static int END = 3;
-
- private int[] moves;
- private int[] occupied;
- private int[][] combinations;
- private int[][] outside_four;
- private int[][] inside_four;
- private int[][] faces;
- private int[][] pos_to_comb;
- private int[][] best_picks;
- private int num_points;
- private int num_balls;
- private int num_polygons;
- private int num_pt_indexes;
- private int num_normal_indexes;
- private int pt_start;
- private int color_index;
- private int width;
- private int height;
- private int center_x;
- private int center_y;
- private int player;
- private int skill_level;
- private int outside_four_index;
- private int inside_four_index;
- private int face_index;
- private int nmoves;
- private int current_face;
- private int min = 1000;
- private int max = 0;
- private long[] sort_array;
- private long time;
- private long beg_time;
- private long end_time;
- private Color[] color_ramp;
- private Color background;
- private Color label_color;
- private Color red;
- private Color blue;
- private Color white;
- private Color gray;
- private Color yellow;
- private double max_dist;
- private FourByFour panel;
- private boolean debug;
- private boolean outside_four_flag;
- private boolean inside_four_flag;
- private boolean face_flag;
- private boolean label_flag;
- private boolean block_chair_flag;
- private boolean undoFlag;
- private boolean[] highlight;
- private int block_chair_next_move;
- private int block_chair_face;
- private Positions positions;
- private Canvas2D canvas;
-
- Board (FourByFour panel, Positions positions, int width, int height) {
-
- // Set the debug state.
- debug = false;
-
- // Store arguments
- this.width = width;
- this.height = height;
- this.panel = panel;
- this.positions = positions;
-
- // Initialize flags
- label_flag = false;
- outside_four_flag = false;
- inside_four_flag = false;
- block_chair_flag = false;
- undoFlag = false;
-
- // Total number of board positions.
- num_points = 64;
-
- // Allocate the logic arrays.
- moves = new int[64];
- occupied = new int[64];
- combinations = new int[76][7];
- outside_four = new int[18][6];
- inside_four = new int[18][6];
- faces = new int[18][18];
- pos_to_comb = new int[64][8];
- best_picks = new int[64][8];
- highlight = new boolean[18];
-
- // Initialize the logic arrays.
- init_combinations();
- init_faces();
- init_outside_four();
- init_inside_four();
-
- // Set the player with the first move.
- player = HUMAN;
-
- // Set the default skill level.
- skill_level = 4;
-
- // Initialize the number of moves.
- nmoves = 0;
-
- // Define colors
- background = new Color(13, 13, 51);
- red = new Color(230, 26, 51);
- blue = new Color(51, 51, 230);
- white = new Color(255, 255, 255);
- gray = new Color(240, 240, 240);
- yellow = new Color(240, 240, 0);
-
- // Record the start time
- beg_time = System.currentTimeMillis();
- }
-
- public void setCanvas(Canvas2D canvas) {
- this.canvas = canvas;
- }
-
- public void init_combinations () {
-
- // The combination array contains all possible winning combinations.
- //
- // Each combination has the following format:
- //
- // combinations[x][0] = status: 0 = no player has selected positons in this row
- // -1 = both players have men in this row
- // 1 to 4 = number of positions occupied by player
- //
- // combinations[x][1] = player who owns this row (valid only if status = 1-4)
- // combinations[x][2] = postion that define the row
- // combinations[x][3] = postion that define the row
- // combinations[x][4] = postion that define the row
- // combinations[x][5] = postion that define the row
-
- // Horizontal, Z
-
- combinations[ 0][0] = 0; combinations[ 1][0] = 0; combinations[ 2][0] = 0; combinations[ 3][0] = 0;
- combinations[ 0][1] = 0; combinations[ 1][1] = 0; combinations[ 2][1] = 0; combinations[ 3][1] = 0;
- combinations[ 0][2] = 0; combinations[ 1][2] = 4; combinations[ 2][2] = 8; combinations[ 3][2] = 12;
- combinations[ 0][3] = 1; combinations[ 1][3] = 5; combinations[ 2][3] = 9; combinations[ 3][3] = 13;
- combinations[ 0][4] = 2; combinations[ 1][4] = 6; combinations[ 2][4] = 10; combinations[ 3][4] = 14;
- combinations[ 0][5] = 3; combinations[ 1][5] = 7; combinations[ 2][5] = 11; combinations[ 3][5] = 15;
-
- combinations[ 4][0] = 0; combinations[ 5][0] = 0; combinations[ 6][0] = 0; combinations[ 7][0] = 0;
- combinations[ 4][1] = 0; combinations[ 5][1] = 0; combinations[ 6][1] = 0; combinations[ 7][1] = 0;
- combinations[ 4][2] = 16; combinations[ 5][2] = 20; combinations[ 6][2] = 24; combinations[ 7][2] = 28;
- combinations[ 4][3] = 17; combinations[ 5][3] = 21; combinations[ 6][3] = 25; combinations[ 7][3] = 29;
- combinations[ 4][4] = 18; combinations[ 5][4] = 22; combinations[ 6][4] = 26; combinations[ 7][4] = 30;
- combinations[ 4][5] = 19; combinations[ 5][5] = 23; combinations[ 6][5] = 27; combinations[ 7][5] = 31;
-
- combinations[ 8][0] = 0; combinations[ 9][0] = 0; combinations[10][0] = 0; combinations[11][0] = 0;
- combinations[ 8][1] = 0; combinations[ 9][1] = 0; combinations[10][1] = 0; combinations[11][1] = 0;
- combinations[ 8][2] = 32; combinations[ 9][2] = 36; combinations[10][2] = 40; combinations[11][2] = 44;
- combinations[ 8][3] = 33; combinations[ 9][3] = 37; combinations[10][3] = 41; combinations[11][3] = 45;
- combinations[ 8][4] = 34; combinations[ 9][4] = 38; combinations[10][4] = 42; combinations[11][4] = 46;
- combinations[ 8][5] = 35; combinations[ 9][5] = 39; combinations[10][5] = 43; combinations[11][5] = 47;
-
- combinations[12][0] = 0; combinations[13][0] = 0; combinations[14][0] = 0; combinations[15][0] = 0;
- combinations[12][1] = 0; combinations[13][1] = 0; combinations[14][1] = 0; combinations[15][1] = 0;
- combinations[12][2] = 48; combinations[13][2] = 52; combinations[14][2] = 56; combinations[15][2] = 60;
- combinations[12][3] = 49; combinations[13][3] = 53; combinations[14][3] = 57; combinations[15][3] = 61;
- combinations[12][4] = 50; combinations[13][4] = 54; combinations[14][4] = 58; combinations[15][4] = 62;
- combinations[12][5] = 51; combinations[13][5] = 55; combinations[14][5] = 59; combinations[15][5] = 63;
-
- // Vertical, Z
-
- combinations[16][0] = 0; combinations[17][0] = 0; combinations[18][0] = 0; combinations[19][0] = 0;
- combinations[16][1] = 0; combinations[17][1] = 0; combinations[18][1] = 0; combinations[19][1] = 0;
- combinations[16][2] = 0; combinations[17][2] = 1; combinations[18][2] = 2; combinations[19][2] = 3;
- combinations[16][3] = 4; combinations[17][3] = 5; combinations[18][3] = 6; combinations[19][3] = 7;
- combinations[16][4] = 8; combinations[17][4] = 9; combinations[18][4] = 10; combinations[19][4] = 11;
- combinations[16][5] = 12; combinations[17][5] = 13; combinations[18][5] = 14; combinations[19][5] = 15;
-
- combinations[20][0] = 0; combinations[21][0] = 0; combinations[22][0] = 0; combinations[23][0] = 0;
- combinations[20][1] = 0; combinations[21][1] = 0; combinations[22][1] = 0; combinations[23][1] = 0;
- combinations[20][2] = 16; combinations[21][2] = 17; combinations[22][2] = 18; combinations[23][2] = 19;
- combinations[20][3] = 20; combinations[21][3] = 21; combinations[22][3] = 22; combinations[23][3] = 23;
- combinations[20][4] = 24; combinations[21][4] = 25; combinations[22][4] = 26; combinations[23][4] = 27;
- combinations[20][5] = 28; combinations[21][5] = 29; combinations[22][5] = 30; combinations[23][5] = 31;
-
- combinations[24][0] = 0; combinations[25][0] = 0; combinations[26][0] = 0; combinations[27][0] = 0;
- combinations[24][1] = 0; combinations[25][1] = 0; combinations[26][1] = 0; combinations[27][1] = 0;
- combinations[24][2] = 32; combinations[25][2] = 33; combinations[26][2] = 34; combinations[27][2] = 35;
- combinations[24][3] = 36; combinations[25][3] = 37; combinations[26][3] = 38; combinations[27][3] = 39;
- combinations[24][4] = 40; combinations[25][4] = 41; combinations[26][4] = 42; combinations[27][4] = 43;
- combinations[24][5] = 44; combinations[25][5] = 45; combinations[26][5] = 46; combinations[27][5] = 47;
-
- combinations[28][0] = 0; combinations[29][0] = 0; combinations[30][0] = 0; combinations[31][0] = 0;
- combinations[28][1] = 0; combinations[29][1] = 0; combinations[30][1] = 0; combinations[31][1] = 0;
- combinations[28][2] = 48; combinations[29][2] = 49; combinations[30][2] = 50; combinations[31][2] = 51;
- combinations[28][3] = 52; combinations[29][3] = 53; combinations[30][3] = 54; combinations[31][3] = 55;
- combinations[28][4] = 56; combinations[29][4] = 57; combinations[30][4] = 58; combinations[31][4] = 59;
- combinations[28][5] = 60; combinations[29][5] = 61; combinations[30][5] = 62; combinations[31][5] = 63;
-
- // Diagonal, Z
-
- combinations[32][0] = 0; combinations[33][0] = 0; combinations[34][0] = 0; combinations[35][0] = 0;
- combinations[32][1] = 0; combinations[33][1] = 0; combinations[34][1] = 0; combinations[35][1] = 0;
- combinations[32][2] = 0; combinations[33][2] = 16; combinations[34][2] = 32; combinations[35][2] = 48;
- combinations[32][3] = 5; combinations[33][3] = 21; combinations[34][3] = 37; combinations[35][3] = 53;
- combinations[32][4] = 10; combinations[33][4] = 26; combinations[34][4] = 42; combinations[35][4] = 58;
- combinations[32][5] = 15; combinations[33][5] = 31; combinations[34][5] = 47; combinations[35][5] = 63;
-
- combinations[36][0] = 0; combinations[37][0] = 0; combinations[38][0] = 0; combinations[39][0] = 0;
- combinations[36][1] = 0; combinations[37][1] = 0; combinations[38][1] = 0; combinations[39][1] = 0;
- combinations[36][2] = 3; combinations[37][2] = 19; combinations[38][2] = 35; combinations[39][2] = 51;
- combinations[36][3] = 6; combinations[37][3] = 22; combinations[38][3] = 38; combinations[39][3] = 54;
- combinations[36][4] = 9; combinations[37][4] = 25; combinations[38][4] = 41; combinations[39][4] = 57;
- combinations[36][5] = 12; combinations[37][5] = 28; combinations[38][5] = 44; combinations[39][5] = 60;
-
- // Horizontal, X
-
- combinations[40][0] = 0; combinations[41][0] = 0; combinations[42][0] = 0; combinations[43][0] = 0;
- combinations[40][1] = 0; combinations[41][1] = 0; combinations[42][1] = 0; combinations[43][1] = 0;
- combinations[40][2] = 51; combinations[41][2] = 55; combinations[42][2] = 59; combinations[43][2] = 63;
- combinations[40][3] = 35; combinations[41][3] = 39; combinations[42][3] = 43; combinations[43][3] = 47;
- combinations[40][4] = 19; combinations[41][4] = 23; combinations[42][4] = 27; combinations[43][4] = 31;
- combinations[40][5] = 3; combinations[41][5] = 7; combinations[42][5] = 11; combinations[43][5] = 15;
-
- combinations[44][0] = 0; combinations[45][0] = 0; combinations[46][0] = 0; combinations[47][0] = 0;
- combinations[44][1] = 0; combinations[45][1] = 0; combinations[46][1] = 0; combinations[47][1] = 0;
- combinations[44][2] = 50; combinations[45][2] = 54; combinations[46][2] = 58; combinations[47][2] = 62;
- combinations[44][3] = 34; combinations[45][3] = 38; combinations[46][3] = 42; combinations[47][3] = 46;
- combinations[44][4] = 18; combinations[45][4] = 22; combinations[46][4] = 26; combinations[47][4] = 30;
- combinations[44][5] = 2; combinations[45][5] = 6; combinations[46][5] = 10; combinations[47][5] = 14;
-
- combinations[48][0] = 0; combinations[49][0] = 0; combinations[50][0] = 0; combinations[51][0] = 0;
- combinations[48][1] = 0; combinations[49][1] = 0; combinations[50][1] = 0; combinations[51][1] = 0;
- combinations[48][2] = 49; combinations[49][2] = 53; combinations[50][2] = 57; combinations[51][2] = 61;
- combinations[48][3] = 33; combinations[49][3] = 37; combinations[50][3] = 41; combinations[51][3] = 45;
- combinations[48][4] = 17; combinations[49][4] = 21; combinations[50][4] = 25; combinations[51][4] = 29;
- combinations[48][5] = 1; combinations[49][5] = 5; combinations[50][5] = 9; combinations[51][5] = 13;
-
- combinations[52][0] = 0; combinations[53][0] = 0; combinations[54][0] = 0; combinations[55][0] = 0;
- combinations[52][1] = 0; combinations[53][1] = 0; combinations[54][1] = 0; combinations[55][1] = 0;
- combinations[52][2] = 48; combinations[53][2] = 52; combinations[54][2] = 56; combinations[55][2] = 60;
- combinations[52][3] = 32; combinations[53][3] = 36; combinations[54][3] = 40; combinations[55][3] = 44;
- combinations[52][4] = 16; combinations[53][4] = 20; combinations[54][4] = 24; combinations[55][4] = 28;
- combinations[52][5] = 0; combinations[53][5] = 4; combinations[54][5] = 8; combinations[55][5] = 12;
-
- // Diagonal, X
-
- combinations[56][0] = 0; combinations[57][0] = 0; combinations[58][0] = 0; combinations[59][0] = 0;
- combinations[56][1] = 0; combinations[57][1] = 0; combinations[58][1] = 0; combinations[59][1] = 0;
- combinations[56][2] = 51; combinations[57][2] = 50; combinations[58][2] = 49; combinations[59][2] = 48;
- combinations[56][3] = 39; combinations[57][3] = 38; combinations[58][3] = 37; combinations[59][3] = 36;
- combinations[56][4] = 27; combinations[57][4] = 26; combinations[58][4] = 25; combinations[59][4] = 24;
- combinations[56][5] = 15; combinations[57][5] = 14; combinations[58][5] = 13; combinations[59][5] = 12;
-
- combinations[60][0] = 0; combinations[61][0] = 0; combinations[62][0] = 0; combinations[63][0] = 0;
- combinations[60][1] = 0; combinations[61][1] = 0; combinations[62][1] = 0; combinations[63][1] = 0;
- combinations[60][2] = 3; combinations[61][2] = 2; combinations[62][2] = 1; combinations[63][2] = 0;
- combinations[60][3] = 23; combinations[61][3] = 22; combinations[62][3] = 21; combinations[63][3] = 20;
- combinations[60][4] = 43; combinations[61][4] = 42; combinations[62][4] = 41; combinations[63][4] = 40;
- combinations[60][5] = 63; combinations[61][5] = 62; combinations[62][5] = 61; combinations[63][5] = 60;
-
- // Diagonal, Y
-
- combinations[64][0] = 0; combinations[65][0] = 0; combinations[66][0] = 0; combinations[67][0] = 0;
- combinations[64][1] = 0; combinations[65][1] = 0; combinations[66][1] = 0; combinations[67][1] = 0;
- combinations[64][2] = 63; combinations[65][2] = 59; combinations[66][2] = 55; combinations[67][2] = 51;
- combinations[64][3] = 46; combinations[65][3] = 42; combinations[66][3] = 38; combinations[67][3] = 34;
- combinations[64][4] = 29; combinations[65][4] = 25; combinations[66][4] = 21; combinations[67][4] = 17;
- combinations[64][5] = 12; combinations[65][5] = 8; combinations[66][5] = 4; combinations[67][5] = 0;
-
- combinations[68][0] = 0; combinations[69][0] = 0; combinations[70][0] = 0; combinations[71][0] = 0;
- combinations[68][1] = 0; combinations[69][1] = 0; combinations[70][1] = 0; combinations[71][1] = 0;
- combinations[68][2] = 15; combinations[69][2] = 11; combinations[70][2] = 7; combinations[71][2] = 3;
- combinations[68][3] = 30; combinations[69][3] = 26; combinations[70][3] = 22; combinations[71][3] = 18;
- combinations[68][4] = 45; combinations[69][4] = 41; combinations[70][4] = 37; combinations[71][4] = 33;
- combinations[68][5] = 60; combinations[69][5] = 56; combinations[70][5] = 52; combinations[71][5] = 48;
-
- // Corner to Corner
-
- combinations[72][0] = 0; combinations[73][0] = 0; combinations[74][0] = 0; combinations[75][0] = 0;
- combinations[72][1] = 0; combinations[73][1] = 0; combinations[74][1] = 0; combinations[75][1] = 0;
- combinations[72][2] = 0; combinations[73][2] = 3; combinations[74][2] = 12; combinations[75][2] = 15;
- combinations[72][3] = 21; combinations[73][3] = 22; combinations[74][3] = 25; combinations[75][3] = 26;
- combinations[72][4] = 42; combinations[73][4] = 41; combinations[74][4] = 38; combinations[75][4] = 37;
- combinations[72][5] = 63; combinations[73][5] = 60; combinations[74][5] = 51; combinations[75][5] = 48;
-
- // Initialize the combination flags to zero.
- for (int i=0; i<76; i++)
- combinations[i][6] = 0;
-
- // Set up the pos_to_comb array to point to every winning combination that a given
- // position may have.
- setup_pos_to_comb();
-
- // Set up the best_picks array.
- update_best_picks();
- }
-
-
- /**
- * Initialize the "outside four" array.
- */
- public void init_outside_four() {
- for (int i=0; i<18; i++) {
- outside_four[i][0] = 0;
- outside_four[i][1] = 0;
- outside_four[i][2] = faces[i][ 2];
- outside_four[i][3] = faces[i][ 5];
- outside_four[i][4] = faces[i][14];
- outside_four[i][5] = faces[i][17];
- }
- }
-
-
- /**
- * Initialize the "inside four" array.
- */
- public void init_inside_four() {
- for (int i=0; i<18; i++) {
- inside_four[i][0] = 0;
- inside_four[i][1] = 0;
- inside_four[i][2] = faces[i][ 7];
- inside_four[i][3] = faces[i][ 8];
- inside_four[i][4] = faces[i][11];
- inside_four[i][5] = faces[i][12];
- }
- }
-
- /**
- * Initialize the "faces" array.
- */
- public void init_faces () {
-
- faces[ 0][ 0] = 0;
- faces[ 0][ 1] = 0;
- faces[ 0][ 2] = 12; faces[ 0][ 6] = 13; faces[ 0][10] = 14; faces[ 0][14] = 15;
- faces[ 0][ 3] = 8; faces[ 0][ 7] = 9; faces[ 0][11] = 10; faces[ 0][15] = 11;
- faces[ 0][ 4] = 4; faces[ 0][ 8] = 5; faces[ 0][12] = 6; faces[ 0][16] = 7;
- faces[ 0][ 5] = 0; faces[ 0][ 9] = 1; faces[ 0][13] = 2; faces[ 0][17] = 3;
-
- faces[ 1][ 0] = 0;
- faces[ 1][ 1] = 0;
- faces[ 1][ 2] = 28; faces[ 1][ 6] = 29; faces[ 1][10] = 30; faces[ 1][14] = 31;
- faces[ 1][ 3] = 24; faces[ 1][ 7] = 25; faces[ 1][11] = 26; faces[ 1][15] = 27;
- faces[ 1][ 4] = 20; faces[ 1][ 8] = 21; faces[ 1][12] = 22; faces[ 1][16] = 23;
- faces[ 1][ 5] = 16; faces[ 1][ 9] = 17; faces[ 1][13] = 18; faces[ 1][17] = 19;
-
- faces[ 2][ 0] = 0;
- faces[ 2][ 1] = 0;
- faces[ 2][ 2] = 44; faces[ 2][ 6] = 45; faces[ 2][10] = 46; faces[ 2][14] = 47;
- faces[ 2][ 3] = 40; faces[ 2][ 7] = 41; faces[ 2][11] = 42; faces[ 2][15] = 43;
- faces[ 2][ 4] = 36; faces[ 2][ 8] = 37; faces[ 2][12] = 38; faces[ 2][16] = 39;
- faces[ 2][ 5] = 32; faces[ 2][ 9] = 33; faces[ 2][13] = 34; faces[ 2][17] = 35;
-
- faces[ 3][ 0] = 0;
- faces[ 3][ 1] = 0;
- faces[ 3][ 2] = 60; faces[ 3][ 6] = 61; faces[ 3][10] = 62; faces[ 3][14] = 63;
- faces[ 3][ 3] = 56; faces[ 3][ 7] = 57; faces[ 3][11] = 58; faces[ 3][15] = 59;
- faces[ 3][ 4] = 52; faces[ 3][ 8] = 53; faces[ 3][12] = 54; faces[ 3][16] = 55;
- faces[ 3][ 5] = 48; faces[ 3][ 9] = 49; faces[ 3][13] = 50; faces[ 3][17] = 51;
-
- faces[ 4][ 0] = 0;
- faces[ 4][ 1] = 0;
- faces[ 4][ 2] = 12; faces[ 4][ 6] = 28; faces[ 4][10] = 44; faces[ 4][14] = 60;
- faces[ 4][ 3] = 8; faces[ 4][ 7] = 24; faces[ 4][11] = 40; faces[ 4][15] = 56;
- faces[ 4][ 4] = 4; faces[ 4][ 8] = 20; faces[ 4][12] = 36; faces[ 4][16] = 52;
- faces[ 4][ 5] = 0; faces[ 4][ 9] = 16; faces[ 4][13] = 32; faces[ 4][17] = 48;
-
- faces[ 5][ 0] = 0;
- faces[ 5][ 1] = 0;
- faces[ 5][ 2] = 13; faces[ 5][ 6] = 29; faces[ 5][10] = 45; faces[ 5][14] = 61;
- faces[ 5][ 3] = 9; faces[ 5][ 7] = 25; faces[ 5][11] = 41; faces[ 5][15] = 57;
- faces[ 5][ 4] = 5; faces[ 5][ 8] = 21; faces[ 5][12] = 37; faces[ 5][16] = 53;
- faces[ 5][ 5] = 1; faces[ 5][ 9] = 17; faces[ 5][13] = 33; faces[ 5][17] = 49;
-
- faces[ 6][ 0] = 0;
- faces[ 6][ 1] = 0;
- faces[ 6][ 2] = 14; faces[ 6][ 6] = 30; faces[ 6][10] = 46; faces[ 6][14] = 62;
- faces[ 6][ 3] = 10; faces[ 6][ 7] = 26; faces[ 6][11] = 42; faces[ 6][15] = 58;
- faces[ 6][ 4] = 6; faces[ 6][ 8] = 22; faces[ 6][12] = 38; faces[ 6][16] = 54;
- faces[ 6][ 5] = 2; faces[ 6][ 9] = 18; faces[ 6][13] = 34; faces[ 6][17] = 50;
-
- faces[ 7][ 0] = 0;
- faces[ 7][ 1] = 0;
- faces[ 7][ 2] = 15; faces[ 7][ 6] = 31; faces[ 7][10] = 47; faces[ 7][14] = 63;
- faces[ 7][ 3] = 11; faces[ 7][ 7] = 27; faces[ 7][11] = 43; faces[ 7][15] = 59;
- faces[ 7][ 4] = 7; faces[ 7][ 8] = 23; faces[ 7][12] = 39; faces[ 7][16] = 55;
- faces[ 7][ 5] = 3; faces[ 7][ 9] = 19; faces[ 7][13] = 35; faces[ 7][17] = 51;
-
- faces[ 8][ 0] = 0;
- faces[ 8][ 1] = 0;
- faces[ 8][ 2] = 12; faces[ 8][ 6] = 28; faces[ 8][10] = 44; faces[ 8][14] = 60;
- faces[ 8][ 3] = 13; faces[ 8][ 7] = 29; faces[ 8][11] = 45; faces[ 8][15] = 61;
- faces[ 8][ 4] = 14; faces[ 8][ 8] = 30; faces[ 8][12] = 46; faces[ 8][16] = 62;
- faces[ 8][ 5] = 15; faces[ 8][ 9] = 31; faces[ 8][13] = 47; faces[ 8][17] = 63;
-
- faces[ 9][ 0] = 0;
- faces[ 9][ 1] = 0;
- faces[ 9][ 2] = 8; faces[ 9][ 6] = 24; faces[ 9][10] = 40; faces[ 9][14] = 56;
- faces[ 9][ 3] = 9; faces[ 9][ 7] = 25; faces[ 9][11] = 41; faces[ 9][15] = 57;
- faces[ 9][ 4] = 10; faces[ 9][ 8] = 26; faces[ 9][12] = 42; faces[ 9][16] = 58;
- faces[ 9][ 5] = 11; faces[ 9][ 9] = 27; faces[ 9][13] = 43; faces[ 9][17] = 59;
-
- faces[10][ 0] = 0;
- faces[10][ 1] = 0;
- faces[10][ 2] = 4; faces[10][ 6] = 20; faces[10][10] = 36; faces[10][14] = 52;
- faces[10][ 3] = 5; faces[10][ 7] = 21; faces[10][11] = 37; faces[10][15] = 53;
- faces[10][ 4] = 6; faces[10][ 8] = 22; faces[10][12] = 38; faces[10][16] = 54;
- faces[10][ 5] = 7; faces[10][ 9] = 23; faces[10][13] = 39; faces[10][17] = 55;
-
- faces[11][ 0] = 0;
- faces[11][ 1] = 0;
- faces[11][ 2] = 0; faces[11][ 6] = 16; faces[11][10] = 32; faces[11][14] = 48;
- faces[11][ 3] = 1; faces[11][ 7] = 17; faces[11][11] = 33; faces[11][15] = 49;
- faces[11][ 4] = 2; faces[11][ 8] = 18; faces[11][12] = 34; faces[11][16] = 50;
- faces[11][ 5] = 3; faces[11][ 9] = 19; faces[11][13] = 35; faces[11][17] = 51;
-
- faces[12][ 0] = 0;
- faces[12][ 1] = 0;
- faces[12][ 2] = 12; faces[12][ 6] = 13; faces[12][10] = 14; faces[12][14] = 15;
- faces[12][ 3] = 24; faces[12][ 7] = 25; faces[12][11] = 26; faces[12][15] = 27;
- faces[12][ 4] = 36; faces[12][ 8] = 37; faces[12][12] = 38; faces[12][16] = 39;
- faces[12][ 5] = 48; faces[12][ 9] = 49; faces[12][13] = 50; faces[12][17] = 51;
-
- faces[13][ 0] = 0;
- faces[13][ 1] = 0;
- faces[13][ 2] = 0; faces[13][ 6] = 1; faces[13][10] = 2; faces[13][14] = 3;
- faces[13][ 3] = 20; faces[13][ 7] = 21; faces[13][11] = 22; faces[13][15] = 23;
- faces[13][ 4] = 40; faces[13][ 8] = 41; faces[13][12] = 42; faces[13][16] = 43;
- faces[13][ 5] = 60; faces[13][ 9] = 61; faces[13][13] = 62; faces[13][17] = 63;
-
- faces[14][ 0] = 0;
- faces[14][ 1] = 0;
- faces[14][ 2] = 12; faces[14][ 6] = 28; faces[14][10] = 44; faces[14][14] = 60;
- faces[14][ 3] = 9; faces[14][ 7] = 25; faces[14][11] = 41; faces[14][15] = 57;
- faces[14][ 4] = 6; faces[14][ 8] = 22; faces[14][12] = 38; faces[14][16] = 54;
- faces[14][ 5] = 3; faces[14][ 9] = 19; faces[14][13] = 35; faces[14][17] = 51;
-
- faces[15][ 0] = 0;
- faces[15][ 1] = 0;
- faces[15][ 2] = 15; faces[15][ 6] = 31; faces[15][10] = 47; faces[15][14] = 63;
- faces[15][ 3] = 10; faces[15][ 7] = 26; faces[15][11] = 42; faces[15][15] = 58;
- faces[15][ 4] = 5; faces[15][ 8] = 21; faces[15][12] = 37; faces[15][16] = 53;
- faces[15][ 5] = 0; faces[15][ 9] = 16; faces[15][13] = 32; faces[15][17] = 48;
-
- faces[16][ 0] = 0;
- faces[16][ 1] = 0;
- faces[16][ 2] = 12; faces[16][ 6] = 29; faces[16][10] = 46; faces[16][14] = 63;
- faces[16][ 3] = 8; faces[16][ 7] = 25; faces[16][11] = 42; faces[16][15] = 59;
- faces[16][ 4] = 4; faces[16][ 8] = 21; faces[16][12] = 38; faces[16][16] = 55;
- faces[16][ 5] = 0; faces[16][ 9] = 17; faces[16][13] = 34; faces[16][17] = 51;
-
- faces[17][ 0] = 0;
- faces[17][ 1] = 0;
- faces[17][ 2] = 15; faces[17][ 6] = 30; faces[17][10] = 45; faces[17][14] = 60;
- faces[17][ 3] = 11; faces[17][ 7] = 26; faces[17][11] = 41; faces[17][15] = 56;
- faces[17][ 4] = 7; faces[17][ 8] = 22; faces[17][12] = 37; faces[17][16] = 52;
- faces[17][ 5] = 3; faces[17][ 9] = 18; faces[17][13] = 33; faces[17][17] = 48;
- }
-
- /**
- * Render the current face set in the 2D window.
- */
- public void render2D(Graphics gc) {
-
- gc.setColor(background);
- gc.fillRect(0, 0, width, height);
-
- int id;
- int x, y;
-
- float begX;
- float begY;
-
- for (int l=0; l<3; l++) {
- begY = 28.0f + l*(5.f*23.3f);
- for (int k=0; k<6; k++) {
- begX = 11.65f + k*(5.f*11.65f);
- int count = 0;
- int face = l*6+k;
- for (int i=0; i<4; i++) {
- for (int j=0; j<4; j++) {
- x = (int)begX + i*12;
- y = (int)begY + j*12;
- id = faces[face][count+2];
- if (occupied[id] == HUMAN) {
- x -= 2;
- y -= 2;
- gc.setColor(red);
- gc.fillRect(x, y, 5, 5);
- }
- else if (occupied[id] == MACHINE) {
- x -= 2;
- y -= 2;
- gc.setColor(blue);
- gc.fillRect(x, y, 5, 5);
- }
- else {
- x -= 1;
- y -= 1;
- gc.setColor(gray);
- gc.fillRect(x, y, 2, 2);
- }
- if (highlight[face]) {
- gc.setColor(yellow);
- positions.setHighlight(faces[face][count+2]);
- }
- count++;
- }
- }
- if (highlight[face])
- gc.setColor(yellow);
- else
- gc.setColor(white);
- if ((face+1)<10)
- gc.drawString("Face "+(face+1), (int)begX-2, (int)begY+60);
- else
- gc.drawString("Face "+(face+1), (int)begX-4, (int)begY+60);
- }
- }
- }
-
- /**
- * Determine what position has been selected in the 2D window.
- */
- public void checkSelection2D(int x, int y, int player) {
-
- int id;
- int posX, posY;
-
- float begX;
- float begY;
-
- for (int l=0; l<3; l++) {
- begY = 28.0f + l*(5.f*23.3f);
- for (int k=0; k<6; k++) {
- begX = 11.65f + k*(5.f*11.65f);
- int count = 0;
- int face = l*6+k;
- for (int i=0; i<4; i++) {
- for (int j=0; j<4; j++) {
- posX = (int)begX + i*12;
- posY = (int)begY + j*12;
- if (x > posX-4 && x < posX+4 &&
- y > posY-4 && y < posY+4) {
-
- id = faces[face][count+2];
-
- if (occupied[id] == UNOCCUPIED) {
- positions.set(id, player);
- selection(id, player);
- canvas.repaint();
- }
- return;
- }
- count++;
- }
- }
- if ((x > begX-4 && x < begX+40) &&
- (y > begY+45 && y < begY+60) ) {
-
- count = 0;
- for (int i=0; i<4; i++) {
- for (int j=0; j<4; j++) {
- if (highlight[face])
- positions.clearHighlight(faces[face][count+2]);
- count++;
- }
- }
- if (highlight[face])
- highlight[face] = false;
- else
- highlight[face] = true;
- canvas.repaint();
- }
- }
- }
-
- }
-
-
- /**
- * Record the player's move.
- */
- public void selection(int pos, int player) {
-
- int num_combinations;
- int comb;
-
- this.player = player;
-
- if (player == HUMAN) {
-
- // If position is already occupied, return.
- if (occupied[pos] != 0) return;
-
- // Mark the position as HUMAN.
- occupied[pos] = HUMAN;
-
- // Update the logic arrays.
- this.player = update_logic_arrays(pos);
-
- // Have the computer determine its move.
- choose_move();
- }
- }
-
-
- /**
- * Determine the computer's move.
- */
- public void choose_move () {
-
- if (player == MACHINE) {
-
- // Babe in the woods.
- if (skill_level == 0) {
- if (!block_winning_move()) {
- if (!pick_7()) {
- if (!check_outside_four()) {
- pick_best_position();
- }
- }
- }
- }
-
- // Walk and chew gum.
- else if (skill_level == 1) {
- if (!block_winning_move()) {
- if (!block_intersecting_rows()) {
- if (!block_inside_four()) {
- if (!block_outside_four()) {
- pick_best_position();
- }
- }
- }
- }
- }
-
- // Jeopordy contestant.
- else if (skill_level == 2) {
- if (!block_winning_move()) {
- if (!block_intersecting_rows()) {
- if (!block_inside_four()) {
- if (!block_outside_four()) {
- if (!pick_7()) {
- pick_best_position();
- }
- }
- }
- }
- }
- }
-
- // Rocket scientist.
- else if (skill_level == 3) {
- if (!block_winning_move()) {
- if (!block_intersecting_rows()) {
- if (!block_chair_move()) {
- if (!check_face_three()) {
- if (!block_central_four()) {
- if (!block_inside_four()) {
- if (!block_outside_four()) {
- if (!take_inside_four()) {
- if (!take_outside_four()) {
- if (!pick_7()) {
- if (!check_outside_four()) {
- pick_best_position();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- // Be afraid, be very afraid.
- else if (skill_level == 4) {
- if (!block_winning_move()) {
- if (!block_intersecting_rows()) {
- if (!block_chair_move()) {
- if (!block_walk_move()) {
- if (!block_central_four()) {
- if (!block_inside_four()) {
- if (!block_outside_four()) {
- if (!check_face_three()) {
- if (!check_intersecting_rows2()) {
- if (!take_inside_four()) {
- if (!take_outside_four()) {
- if (!pick_7()) {
- if (!check_outside_four()) {
- pick_best_position();
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
-
- /**
- * Check for a winning move.
- */
- public boolean block_winning_move() {
-
- // Loop through each combination and see if any player occupies
- // three positions. If so, take the last remaining position.
- int pos;
- for (int i=0; i<76; i++) {
- if (combinations[i][0] == 3) {
- for (int j=2; j<6; j++) {
- pos = combinations[i][j];
- if (occupied[pos] == 0) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_winning_move: true");
- return true;
- }
- }
- }
- }
- if (debug) System.out.println("check_winning_move: false");
- return false;
- }
-
-
- /**
- * Block outside four
- */
- public boolean block_outside_four() {
-
- int pos;
- int index = 0;
- int max = 0;
-
- // Block the opponent, if necessary.
- for (int i=0; i<18; i++) {
- if (outside_four[i][0] > 0 &&
- outside_four[i][1] == HUMAN) {
- if(outside_four[i][0] > max) {
- index = i;
- max = outside_four[i][0];
- }
- }
- }
-
- if (max > 0) {
- for (int j=2; j<6; j++) {
- pos = outside_four[index][j];
- if (occupied[pos] == 0) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_outside_four: true");
- return true;
- }
- }
- }
-
- if (debug) System.out.println("block_outside_four: false");
- return false;
- }
-
-
- /**
- * Block central four
- */
- public boolean block_central_four() {
-
- int pos;
- int index = 0;
- int max = 0;
-
- // Block the opponent, if necessary.
- for (int i=1; i<3; i++) {
- if (inside_four[i][0] > 0 &&
- inside_four[i][1] == HUMAN) {
- if(inside_four[i][0] > max) {
- index = i;
- max = inside_four[i][0];
- }
- }
- }
-
- if (max > 0) {
- for (int j=2; j<6; j++) {
- pos = inside_four[index][j];
- if (occupied[pos] == 0) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_central_four: true");
- return true;
- }
- }
- }
-
- if (debug) System.out.println("block_central_four: false");
- return false;
- }
-
- /**
- * Check each face for a forced win.
- */
- public boolean check_face_three() {
-
- int pos;
- int index = 0;
- int human = 0;
- int machine = 0;
-
- // Block the opponent from a forced win.
- for (int i=0; i<18; i++) {
- if (outside_four[i][0] == -1) {
- human = 0;
- machine = 0;
- for (int j=2; j<6; j++) {
- if (occupied[outside_four[i][j]] == MACHINE)
- machine++;
- else if (occupied[outside_four[i][j]] == HUMAN)
- human++;
- }
- if (debug) System.out.println("machine = " + machine);
- if (debug) System.out.println("human = " + human);
- if (human == 3 && machine == 1) {
- if (debug) System.out.println("human == 3 && machine == 1");
- for (int j=2; j<18; j++) {
- pos = faces[i][j];
- if (occupied[pos] == 0) {
- for (int k=0; k<76; k++) {
- if (combinations[i][0] == 2 &
- combinations[i][1] == HUMAN) {
- for (int l=0; l<4; l++) {
- if (combinations[i][l] == pos) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("check_face_three: true");
- return true;
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- if (debug) System.out.println("check_face_three: false");
- return false;
- }
-
-
-
- /**
- * Block inside four
- */
- public boolean block_inside_four() {
-
- int pos;
- int index = 0;
- int max = 0;
-
- // Block the opponent, if necessary.
- for (int i=0; i<18; i++) {
- if (inside_four[i][0] > 0 &&
- inside_four[i][1] == HUMAN) {
- if(inside_four[i][0] > max) {
- index = i;
- max = inside_four[i][0];
- }
- }
- }
-
- if (max > 0) {
- for (int j=2; j<6; j++) {
- pos = inside_four[index][j];
- if (occupied[pos] == 0) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_inside_four: true");
- return true;
- }
- }
- }
-
- if (debug) System.out.println("block_inside_four: false");
- return false;
- }
-
-
- public boolean block_chair_move() {
-
- int pos;
-
- int ncorners = 0; // Number of corners owned by human
- int corner = 0; // Corner owned by machine
-
- if (debug) System.out.println("inside block_chair_move");
-
- // Loop through all of the faces.
- for(int i=0; i<18; i++) {
-
- // Determine which corners the human owns.
- if (occupied[faces[i][2]] == HUMAN)
- ncorners++;
- else if (occupied[faces[i][2]] == MACHINE)
- corner = 2;
- if (occupied[faces[i][5]] == HUMAN)
- ncorners++;
- else if (occupied[faces[i][5]] == MACHINE)
- corner = 5;
- if (occupied[faces[i][14]] == HUMAN)
- ncorners++;
- else if (occupied[faces[i][14]] == MACHINE)
- corner = 14;
- if (occupied[faces[i][17]] == HUMAN)
- ncorners++;
- else if (occupied[faces[i][17]] == MACHINE)
- corner = 17;
-
- // If the human owns three corners, continue with the search.
- if (ncorners == 3) {
- if (corner == 2) {
- if (occupied[faces[i][ 3]] == HUMAN && occupied[faces[i][ 7]] == 0 &&
- occupied[faces[i][ 8]] == 0 && occupied[faces[i][11]] == 0 &&
- occupied[faces[i][15]] == 0 && occupied[faces[i][16]] == 0) {
- pos = faces[i][11];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][ 4]] == HUMAN && occupied[faces[i][ 8]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][12]] == 0 &&
- occupied[faces[i][15]] == 0 && occupied[faces[i][16]] == 0) {
- pos = faces[i][12];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][ 6]] == HUMAN && occupied[faces[i][ 7]] == 0 &&
- occupied[faces[i][ 8]] == 0 && occupied[faces[i][ 9]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][13]] == 0) {
- pos = faces[i][8];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][10]] == HUMAN && occupied[faces[i][ 8]] == 0 &&
- occupied[faces[i][ 9]] == 0 && occupied[faces[i][11]] == 0 &&
- occupied[faces[i][12]] == 0 && occupied[faces[i][13]] == 0) {
- pos = faces[i][11];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][ 7]] == HUMAN && occupied[faces[i][ 3]] == 0 &&
- occupied[faces[i][ 8]] == 0 && occupied[faces[i][11]] == 0 &&
- occupied[faces[i][15]] == 0 && occupied[faces[i][16]] == 0) {
- pos = faces[i][11];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][12]] == HUMAN && occupied[faces[i][ 4]] == 0 &&
- occupied[faces[i][ 8]] == 0 && occupied[faces[i][11]] == 0 &&
- occupied[faces[i][15]] == 0 && occupied[faces[i][16]] == 0) {
- pos = faces[i][16];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- }
- else if (corner == 5) {
- if (occupied[faces[i][ 9]] == HUMAN && occupied[faces[i][ 6]] == 0 &&
- occupied[faces[i][ 7]] == 0 && occupied[faces[i][ 8]] == 0 &&
- occupied[faces[i][10]] == 0 && occupied[faces[i][12]] == 0) {
- pos = faces[i][7];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][13]] == HUMAN && occupied[faces[i][ 7]] == 0 &&
- occupied[faces[i][ 7]] == 0 && occupied[faces[i][10]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][12]] == 0) {
- pos = faces[i][12];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][ 4]] == HUMAN && occupied[faces[i][ 8]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][12]] == 0 &&
- occupied[faces[i][15]] == 0 && occupied[faces[i][16]] == 0) {
- pos = faces[i][12];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][ 3]] == HUMAN && occupied[faces[i][ 7]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][12]] == 0 &&
- occupied[faces[i][15]] == 0 && occupied[faces[i][16]] == 0) {
- pos = faces[i][7];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][ 8]] == HUMAN && occupied[faces[i][ 4]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][12]] == 0 &&
- occupied[faces[i][15]] == 0 && occupied[faces[i][16]] == 0) {
- pos = faces[i][12];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][11]] == HUMAN && occupied[faces[i][ 3]] == 0 &&
- occupied[faces[i][ 7]] == 0 && occupied[faces[i][12]] == 0 &&
- occupied[faces[i][15]] == 0 && occupied[faces[i][16]] == 0) {
- pos = faces[i][ 7];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- }
- else if (corner == 14) {
- if (occupied[faces[i][ 6]] == HUMAN && occupied[faces[i][ 7]] == 0 &&
- occupied[faces[i][ 8]] == 0 && occupied[faces[i][ 9]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][13]] == 0) {
- pos = faces[i][7];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][10]] == HUMAN && occupied[faces[i][ 8]] == 0 &&
- occupied[faces[i][ 9]] == 0 && occupied[faces[i][11]] == 0 &&
- occupied[faces[i][12]] == 0 && occupied[faces[i][13]] == 0) {
- pos = faces[i][12];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][15]] == HUMAN && occupied[faces[i][ 3]] == 0 &&
- occupied[faces[i][ 4]] == 0 && occupied[faces[i][ 7]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][12]] == 0) {
- pos = faces[i][3];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][16]] == HUMAN && occupied[faces[i][ 3]] == 0 &&
- occupied[faces[i][ 4]] == 0 && occupied[faces[i][ 7]] == 0 &&
- occupied[faces[i][ 8]] == 0 && occupied[faces[i][12]] == 0) {
- pos = faces[i][12];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][11]] == HUMAN && occupied[faces[i][ 3]] == 0 &&
- occupied[faces[i][ 4]] == 0 && occupied[faces[i][ 7]] == 0 &&
- occupied[faces[i][12]] == 0 && occupied[faces[i][15]] == 0) {
- pos = faces[i][7];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][ 8]] == HUMAN && occupied[faces[i][ 6]] == 0 &&
- occupied[faces[i][ 7]] == 0 && occupied[faces[i][ 9]] == 0 &&
- occupied[faces[i][12]] == 0 && occupied[faces[i][13]] == 0) {
- pos = faces[i][7];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- }
- else if (corner == 17) {
- if (occupied[faces[i][ 9]] == HUMAN && occupied[faces[i][ 6]] == 0 &&
- occupied[faces[i][ 7]] == 0 && occupied[faces[i][ 8]] == 0 &&
- occupied[faces[i][10]] == 0 && occupied[faces[i][11]] == 0) {
- pos = faces[i][8];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][13]] == HUMAN && occupied[faces[i][ 6]] == 0 &&
- occupied[faces[i][ 8]] == 0 && occupied[faces[i][10]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][12]] == 0) {
- pos = faces[i][11];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][15]] == HUMAN && occupied[faces[i][ 3]] == 0 &&
- occupied[faces[i][ 4]] == 0 && occupied[faces[i][ 7]] == 0 &&
- occupied[faces[i][ 8]] == 0 && occupied[faces[i][11]] == 0) {
- pos = faces[i][11];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][16]] == HUMAN && occupied[faces[i][ 3]] == 0 &&
- occupied[faces[i][ 4]] == 0 && occupied[faces[i][ 8]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][12]] == 0) {
- pos = faces[i][8];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][12]] == HUMAN && occupied[faces[i][ 3]] == 0 &&
- occupied[faces[i][ 4]] == 0 && occupied[faces[i][ 8]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][16]] == 0) {
- pos = faces[i][8];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (occupied[faces[i][ 7]] == HUMAN && occupied[faces[i][ 3]] == 0 &&
- occupied[faces[i][ 4]] == 0 && occupied[faces[i][ 8]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][15]] == 0) {
- pos = faces[i][11];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- }
- }
- ncorners = 0;
- corner = -1;
- }
- if (debug) System.out.println("block_chair_move: false");
- return false;
- }
-
- public boolean block_walk_move() {
-
- int pos;
-
- if (debug) System.out.println("inside block_walk_move");
-
- // Loop through all of the faces.
- for(int i=0; i<18; i++) {
-
- // Look for a matching pattern.
- if (occupied[faces[i][ 2]] == HUMAN && occupied[faces[i][14]] == HUMAN &&
- occupied[faces[i][ 3]] == HUMAN && occupied[faces[i][15]] == HUMAN &&
- occupied[faces[i][ 6]] == 0 && occupied[faces[i][10]] == 0 &&
- occupied[faces[i][ 7]] == 0 && occupied[faces[i][11]] == 0) {
-
- if (occupied[faces[i][ 8]] == HUMAN && occupied[faces[i][ 9]] == 0) {
- pos = faces[i][6];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- else if (occupied[faces[i][12]] == HUMAN && occupied[faces[i][13]] == 0) {
- pos = faces[i][10];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- }
-
- // Look for a matching pattern.
- if (occupied[faces[i][14]] == HUMAN && occupied[faces[i][17]] == HUMAN &&
- occupied[faces[i][10]] == HUMAN && occupied[faces[i][13]] == HUMAN &&
- occupied[faces[i][15]] == 0 && occupied[faces[i][16]] == 0 &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][12]] == 0) {
-
- if (occupied[faces[i][7]] == HUMAN && occupied[faces[i][3]] == 0) {
- pos = faces[i][15];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- else if (occupied[faces[i][8]] == HUMAN && occupied[faces[i][4]] == 0) {
- pos = faces[i][16];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- }
-
- // Look for a matching pattern.
- if (occupied[faces[i][ 4]] == HUMAN && occupied[faces[i][16]] == HUMAN &&
- occupied[faces[i][ 5]] == HUMAN && occupied[faces[i][17]] == HUMAN &&
- occupied[faces[i][ 8]] == 0 && occupied[faces[i][12]] == 0 &&
- occupied[faces[i][ 9]] == 0 && occupied[faces[i][13]] == 0) {
-
- if (occupied[faces[i][11]] == HUMAN && occupied[faces[i][10]] == 0) {
- pos = faces[i][18];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- else if (occupied[faces[i][7]] == HUMAN && occupied[faces[i][6]] == 0) {
- pos = faces[i][9];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- }
-
- // Look for a matching pattern.
- if (occupied[faces[i][ 6]] == HUMAN && occupied[faces[i][ 9]] == HUMAN &&
- occupied[faces[i][ 2]] == HUMAN && occupied[faces[i][ 5]] == HUMAN &&
- occupied[faces[i][ 7]] == 0 && occupied[faces[i][ 8]] == 0 &&
- occupied[faces[i][ 3]] == 0 && occupied[faces[i][ 4]] == 0) {
-
- if (occupied[faces[i][11]] == HUMAN && occupied[faces[i][15]] == 0) {
- pos = faces[i][3];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- else if (occupied[faces[i][12]] == HUMAN && occupied[faces[i][16]] == 0) {
- pos = faces[i][4];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- }
-
- // Look for a matching pattern.
- if (occupied[faces[i][ 2]] == HUMAN && occupied[faces[i][14]] == HUMAN &&
- occupied[faces[i][ 4]] == HUMAN && occupied[faces[i][16]] == HUMAN &&
- occupied[faces[i][ 6]] == 0 && occupied[faces[i][10]] == 0 &&
- occupied[faces[i][ 8]] == 0 && occupied[faces[i][12]] == 0) {
-
- if ((occupied[faces[i][7]] == HUMAN && occupied[faces[i][9]] == 0) ||
- (occupied[faces[i][9]] == HUMAN && occupied[faces[i][7]] == 0) ) {
- pos = faces[i][6];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- else if ((occupied[faces[i][11]] == HUMAN && occupied[faces[i][13]] == 0) ||
- (occupied[faces[i][13]] == HUMAN && occupied[faces[i][11]] == 0) ) {
- pos = faces[i][10];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- }
-
- // Look for a matching pattern.
- if (occupied[faces[i][14]] == HUMAN && occupied[faces[i][17]] == HUMAN &&
- occupied[faces[i][ 6]] == HUMAN && occupied[faces[i][ 9]] == HUMAN &&
- occupied[faces[i][15]] == 0 && occupied[faces[i][16]] == 0 &&
- occupied[faces[i][ 7]] == 0 && occupied[faces[i][ 8]] == 0) {
-
- if ((occupied[faces[i][11]] == HUMAN && occupied[faces[i][ 3]] == 0) ||
- (occupied[faces[i][ 3]] == HUMAN && occupied[faces[i][11]] == 0) ) {
- pos = faces[i][15];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- else if ((occupied[faces[i][12]] == HUMAN && occupied[faces[i][ 4]] == 0) ||
- (occupied[faces[i][ 4]] == HUMAN && occupied[faces[i][12]] == 0) ) {
- pos = faces[i][16];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- }
-
- // Look for a matching pattern.
- if (occupied[faces[i][ 3]] == HUMAN && occupied[faces[i][15]] == HUMAN &&
- occupied[faces[i][ 5]] == HUMAN && occupied[faces[i][17]] == HUMAN &&
- occupied[faces[i][ 7]] == 0 && occupied[faces[i][11]] == 0 &&
- occupied[faces[i][ 9]] == 0 && occupied[faces[i][13]] == 0) {
-
- if ((occupied[faces[i][ 6]] == HUMAN && occupied[faces[i][ 8]] == 0) ||
- (occupied[faces[i][ 8]] == HUMAN && occupied[faces[i][ 6]] == 0) ) {
- pos = faces[i][9];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- else if ((occupied[faces[i][10]] == HUMAN && occupied[faces[i][12]] == 0) ||
- (occupied[faces[i][12]] == HUMAN && occupied[faces[i][10]] == 0) ) {
- pos = faces[i][13];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- }
-
- // Look for a matching pattern.
- if (occupied[faces[i][10]] == HUMAN && occupied[faces[i][13]] == HUMAN &&
- occupied[faces[i][ 2]] == HUMAN && occupied[faces[i][ 5]] == HUMAN &&
- occupied[faces[i][11]] == 0 && occupied[faces[i][12]] == 0 &&
- occupied[faces[i][ 3]] == 0 && occupied[faces[i][ 4]] == 0) {
-
- if ((occupied[faces[i][ 7]] == HUMAN && occupied[faces[i][15]] == 0) ||
- (occupied[faces[i][15]] == HUMAN && occupied[faces[i][ 7]] == 0) ) {
- pos = faces[i][3];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- else if ((occupied[faces[i][ 8]] == HUMAN && occupied[faces[i][16]] == 0) ||
- (occupied[faces[i][16]] == HUMAN && occupied[faces[i][ 8]] == 0) ) {
- pos = faces[i][4];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- }
-
- }
-
- if (debug) System.out.println("block_walk_move: false");
- return false;
- }
-
- public boolean check_chair_move() {
-
- int pos;
-
- // If the "block chair flag" is set, all we need to do is
- // block the winning path...
- if (block_chair_flag) {
- pos = faces[block_chair_face][block_chair_next_move];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: march");
- return true;
- }
-
- int ncorners = 0; // Number of corners owned by human
- int corner = 0; // Corner owned by machine
-
- // Loop through all of the faces.
- for(int i=0; i<18; i++) {
-
- // Determine which corners the human owns.
- if (faces[i][ 2] == HUMAN)
- ncorners++;
- else
- corner = 2;
- if (faces[i][ 5] == HUMAN)
- ncorners++;
- else
- corner = 5;
- if (faces[i][14] == HUMAN)
- ncorners++;
- else
- corner = 14;
- if (faces[i][17] == HUMAN)
- ncorners++;
- else
- corner = 17;
-
- // If the human owns three corners, continue with the search.
- if (ncorners == 3) {
- if (corner == 2) {
- if (faces[i][ 3] == HUMAN && faces[i][ 7] == 0 &&
- faces[i][ 8] == 0 && faces[i][11] == 0 &&
- faces[i][15] == 0 && faces[i][16] == 0) {
- block_chair_flag = true;
- block_chair_next_move = 11;
- block_chair_face = i;
- pos = faces[i][15];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- if (faces[i][ 4] == HUMAN && faces[i][ 8] == 0 &&
- faces[i][11] == 0 && faces[i][12] == 0 &&
- faces[i][15] == 0 && faces[i][16] == 0) {
- block_chair_flag = true;
- block_chair_next_move = 16;
- block_chair_face = i;
- pos = faces[i][8];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_chair_move: found");
- return true;
- }
- }
- else if (corner == 5) {
- block_chair_flag = true;
- block_chair_next_move = 11;
- block_chair_face = i;
- pos = faces[i][15];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("check_face_three: true");
- return true;
- }
- else if (corner == 14) {
- block_chair_flag = true;
- block_chair_next_move = 11;
- block_chair_face = i;
- pos = faces[i][15];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("check_face_three: true");
- return true;
- }
- else if (corner == 17) {
- block_chair_flag = true;
- block_chair_next_move = 11;
- block_chair_face = i;
- pos = faces[i][15];
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("check_face_three: true");
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * Take inside four
- */
- public boolean take_inside_four() {
-
- int pos = 0;
- boolean found = false;
-
- if (occupied[21] == 0) {
- found = true;
- pos = 21;
- }
- else if (occupied[22] == 0) {
- found = true;
- pos = 22;
- }
- else if (occupied[25] == 0) {
- found = true;
- pos = 25;
- }
- else if (occupied[26] == 0) {
- found = true;
- pos = 26;
- }
- else if (occupied[37] == 0) {
- found = true;
- pos = 37;
- }
- else if (occupied[38] == 0) {
- found = true;
- pos = 38;
- }
- else if (occupied[41] == 0) {
- found = true;
- pos = 41;
- }
- else if (occupied[42] == 0) {
- found = true;
- pos = 42;
- }
-
- if (found) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("take_inside_four: true");
- return true;
- }
-
- if (debug) System.out.println("take_inside_four: false");
- return false;
- }
-
-
- /**
- * Check occupancy of outside four.
- */
- public boolean check_outside_four() {
-
- int pos = 0;
-
- // Finish off the four corner combination.
- if (outside_four_flag) {
- if (occupied[faces[face_index][7]] == 0) {
- pos = faces[face_index][7];
- }
- else if (occupied[faces[face_index][6]] == 0) {
- pos = faces[face_index][6];
- }
-
- if (occupied[pos] == 0) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- return true;
- }
- }
-
- // Look for a four corner combination.
- for (int i=0; i<18; i++) {
- if (outside_four[i][0] == 4 &&
- outside_four[i][1] == MACHINE) {
- if (faces[i][0] > 0 &&
- faces[i][1] == MACHINE) {
- if (occupied[faces[i][8]] == 0) {
- pos = faces[i][8];
- outside_four_flag = true;
- face_index = i;
- }
- if (occupied[pos] == 0) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("check_outside_four: true");
- return true;
- }
- }
- }
- }
-
- // Take the corners, if available.
- for (int i=0; i<18; i++) {
- if (outside_four[i][0] > 0 &&
- outside_four[i][1] == MACHINE) {
- if (faces[i][0] > 0 &&
- faces[i][1] == MACHINE) {
- for (int j=2; j<6; j++) {
- pos = outside_four[i][j];
- if (occupied[pos] == 0) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("check_outside_four: true");
- return true;
- }
- }
- }
- }
- }
-
- // Look for an "outside four" combination in a face in which the
- // opponent holds no positions.
- for (int i=0; i<18; i++) {
- if (outside_four[i][0] == 0 || (outside_four[i][0] > 0 &&
- outside_four[i][1] == MACHINE)) {
-
- if (outside_four[i][1] == MACHINE)
- outside_four_flag = true;
- for (int j=2; j<6; j++) {
- pos = outside_four[i][j];
- if (occupied[pos] == 0) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("check_outside_four: true");
- return true;
- }
- }
- }
- }
-
- if (debug) System.out.println("check_outside_four: false");
- return false;
- }
-
-
- /**
- * Take outside four
- */
- public boolean take_outside_four() {
-
- int pos = 0;
- boolean found = false;
-
- if (occupied[0] == 0) {
- found = true;
- pos = 0;
- }
- else if (occupied[3] == 0) {
- found = true;
- pos = 3;
- }
- else if (occupied[12] == 0) {
- found = true;
- pos = 12;
- }
- else if (occupied[15] == 0) {
- found = true;
- pos = 15;
- }
- else if (occupied[48] == 0) {
- found = true;
- pos = 48;
- }
- else if (occupied[51] == 0) {
- found = true;
- pos = 51;
- }
- else if (occupied[60] == 0) {
- found = true;
- pos = 60;
- }
- else if (occupied[63] == 0) {
- found = true;
- pos = 63;
- }
-
- if (found) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("take_outside_four: true");
- return true;
- }
-
- if (debug) System.out.println("take_outside_four: false");
- return false;
- }
-
-
- /**
- * Check for a forced win by intersecting rows. Block
- * if necessary.
- */
- public boolean block_intersecting_rows() {
-
- int pos;
-
- // Loop through each row and check for rows that have two
- // positions occupied by the human and two positions which are empty.
- // Make sure that none of the empty positions in this row intersect
- // with another row that also contains two positions held by the human.
- // If so, block the row by taking the position at the intersection
- // of these two row.
-
- // Loop through each row.
- for (int i=0; i<76; i++) {
-
- // Look for a row that has two positions held by the human.
- if (combinations[i][0] == 2 && combinations[i][1] == HUMAN) {
-
- if (debug)
- System.out.println(" row " + i + "has 2 positions occupied by the human");
-
- // Mark this row with a flag.
- combinations[i][6] = 1;
-
- // Check each position in the row.
- for (int j=2; j<6; j++) {
-
- // Look for the empty positions in the row.
- pos = combinations[i][j];
- if (occupied[pos] == 0) {
-
- // Loop through the rows again.
- for (int k=0; k<76; k++) {
-
- if (debug) System.out.println(" row " + k);
-
- // Look for another row that has two positions held
- // by the human (and which is unmarked.) modified
- if (combinations[k][0] == 2 &&
- combinations[k][1] == HUMAN &&
- combinations[k][6] == 0) {
-
- if (debug)
- System.out.println("found an intersecting row: row " + k);
-
- // Check the positions in this row and see if
- // any match the position we're looking for. If
- // we find a match, grab the position and return.
- for (int l=2; l<6; l++) {
- if (pos == combinations[k][l]) {
- combinations[i][6] = 0;
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("block_intersecting_rows: true");
- return true;
- }
- }
- }
- }
- }
- }
-
- // Unmark the combination before moving on.
- combinations[i][6] = 0;
- }
-
- }
- if (debug) System.out.println("block_intersecting_rows: false");
- return false;
- }
-
- /**
- * Check for a forced win by intersecting rows. Block
- * if necessary.
- */
- public boolean check_intersecting_rows2() {
-
- int pos;
-
- // Loop through each row and check for rows that have two
- // positions occupied by the human and two positions which are empty.
- // Make sure that none of the empty positions in this row intersect
- // with another row that also contains two positions held by the human.
- // If so, block the row by taking the position at the intersection
- // of these two row.
-
- // Loop through each row.
- for (int i=0; i<76; i++) {
-
- // Look for a row that has two positions held by the human.
- if (combinations[i][0] == 2 && combinations[i][1] == HUMAN) {
-
- if (debug) {
- System.out.println(" row " + i + "has 2 positions occupied by the human");
- }
-
- // Mark this row with a flag.
- combinations[i][6] = 1;
-
- // Check each position in the row.
- for (int j=2; j<6; j++) {
-
- // Look for the empty positions in the row.
- pos = combinations[i][j];
- if (occupied[pos] == 0) {
-
- // Loop through the rows again.
- for (int k=0; k<76; k++) {
-
- if (debug) System.out.println(" row " + k);
-
- // Look for another row that has two positions held
- // by the human (and which is unmarked.) modified
- if (combinations[k][0] == 1 &&
- combinations[k][1] == HUMAN &&
- combinations[k][6] == 0) {
-
- if (debug)
- System.out.println("found an intersecting row: row " + k);
-
- // Check the positions in this row and see if
- // any match the position we're looking for. If
- // we find a match, grab the position and return.
- for (int l=2; l<6; l++) {
- if (pos == combinations[k][l]) {
- combinations[i][6] = 0;
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("check_intersecting_rows: true");
- return true;
- }
- }
- }
- }
- }
- }
-
- // Unmark the combination before moving on.
- combinations[i][6] = 0;
- }
-
- }
- if (debug) System.out.println("check_intersecting_rows: false");
- return false;
- }
-
-
- /**
- * Check for a forced win by intersecting rows. Block
- * if necessary.
- */
- public boolean check_for_two() {
-
- int pos;
-
- // Loop through the rows.
- for (int i=0; i<76; i++) {
-
- // Look for a row that has two positions held
- // by the human (and which is unmarked.)
- if (combinations[i][0] == 2 &&
- combinations[i][1] == HUMAN &&
- combinations[i][6] == 0) {
-
- // Take the first available spot.
- for (int j=2; j<6; j++) {
- pos = combinations[i][j];
- if (occupied[pos] == 0) {
- occupied[pos] = MACHINE;
- positions.set(pos, MACHINE);
- player = update_logic_arrays(pos);
- if (debug) System.out.println("check_for_two: true");
- return true;
- }
- }
-
- }
- }
- if (debug) System.out.println("check_for_two: false");
- return false;
- }
-
- public void undo_move() {
-
- // Return if no moves are recorded
- if (nmoves == 0) return;
-
- // Set the undo flag
- undoFlag = true;
-
- // Undo the last two moves
- positions.clear(moves[--nmoves]);
- positions.clear(moves[--nmoves]);
-
- // Undo the winner flag in the positions object
- positions.noWinner();
-
- // Repaint the 2D canvas.
- canvas.repaint();
-
- // Reset the inside/outside flags
- inside_four_flag = false;
- outside_four_flag = false;
- block_chair_flag = false;
-
- // Reset the board
- for (int i=0; i<64; i++) {
- occupied[i] = 0;
- }
-
- // Reset the inside/outside arrays
- for (int i=0; i<18; i++) {
- inside_four[i][0] = 0;
- inside_four[i][1] = 0;
- outside_four[i][0] = 0;
- outside_four[i][1] = 0;
- }
-
- // Reset the faces array
- for (int i=0; i<18; i++) {
- faces[i][0] = 0;
- faces[i][1] = 0;
- }
-
- // Reset the combinations array
- for (int i=0; i<76; i++) {
- combinations[i][0] = 0;
- combinations[i][1] = 0;
- }
-
- if (nmoves == 0) {
- undoFlag = false;
- player = HUMAN;
- return;
- }
-
- // Update the logic arrays
- int pos;
- player = HUMAN;
- for (int i=0; i<nmoves; i++) {
- pos = moves[i];
- occupied[pos] = player;
- player = update_logic_arrays(pos);
- }
-
- // Reset the "best picks" array
- update_best_picks();
-
- // Reset the player and undo flag
- player = HUMAN;
- undoFlag = false;
- }
-
- /**
- * Update the logic arrays that keep track of positions and status.
- * If we have a winner, stop the game.
- */
- public int update_logic_arrays(int pos) {
-
- // Record the move.
- if (!undoFlag) {
- moves[nmoves++] = pos;
- }
-
- // Get the number of combinations that this position has.
- int num_combinations = pos_to_comb[pos][0];
-
- // Go through each combination associated with this position
- // and update the status. If we have a winner, stop the game.
- int comb;
- for (int j=0; j<num_combinations; j++) {
- comb = pos_to_comb[pos][j+1];
- if (combinations[comb][1] != player &&
- combinations[comb][1] != 0) {
- combinations[comb][0] = -1;
- }
- else {
- combinations[comb][0]++;
- if (combinations[comb][0] == 4) {
- end_time = System.currentTimeMillis();
- time = (end_time - beg_time)/1000;
- panel.winner(player, skill_level, nmoves, time);
- panel.repaint();
- canvas.repaint();
- positions.winner();
- return END;
- }
- else {
- combinations[comb][1] = player;
- }
- }
- }
-
- // Update the best_picks array.
- update_best_picks();
-
- // Update the inside_four array.
- for (int i=0; i<18; i++) {
- for (int j=2; j<6; j++) {
- if (pos == inside_four[i][j]) {
- if (inside_four[i][0] == 0) {
- inside_four[i][0] = 1;
- inside_four[i][1] = player;
- }
- else if (inside_four[i][1] == player) {
- inside_four[i][0]++;
- inside_four[i][1] = player;
- }
- else {
- inside_four[i][0] = -1;
- }
- }
- }
- }
-
- // Update the outside_four array.
- for (int i=0; i<18; i++) {
- for (int j=2; j<6; j++) {
- if (pos == outside_four[i][j]) {
- if (outside_four[i][0] == 0) {
- outside_four[i][0] = 1;
- outside_four[i][1] = player;
- }
- else if (outside_four[i][1] == player) {
- outside_four[i][0]++;
- outside_four[i][1] = player;
- }
- else {
- outside_four[i][0] = -1;
- }
- }
- }
- }
-
- // Update the faces array.
- for (int i=0; i<18; i++) {
- for (int j=2; j<18; j++) {
- if (pos == faces[i][j]) {
- if (faces[i][0] == 0) {
- faces[i][0] = 1;
- faces[i][1] = player;
- }
- else if (faces[i][1] == player) {
- faces[i][0]++;
- }
- else {
- faces[i][0] = -1;
- }
- }
- }
-
- }
-
- // Switch players.
- if (player == HUMAN)
- return MACHINE;
- else
- return HUMAN;
- }
-
-
- /**
- * Start a new game.
- */
- public void newGame() {
-
- // Initialize the inside/outside flags.
- inside_four_flag = false;
- outside_four_flag = false;
- block_chair_flag = false;
-
- // Initialize the inside/outside arrays.
- for (int i=0; i<18; i++) {
- inside_four[i][0] = 0;
- inside_four[i][1] = 0;
- outside_four[i][0] = 0;
- outside_four[i][1] = 0;
- }
-
- // Initialize the faces array.
- for (int i=0; i<18; i++) {
- faces[i][0] = 0;
- faces[i][1] = 0;
- }
-
- // Initialize the board.
- for (int i=0; i<64; i++) {
- occupied[i] = 0;
- }
- for (int i=0; i<76; i++) {
- combinations[i][0] = 0;
- combinations[i][1] = 0;
- }
-
- // Reset the best_picks array.
- update_best_picks();
-
- // Set the player with the first move.
- player = HUMAN;
-
- // Initialize the number of moves.
- nmoves = 0;
-
- // Reset the playing positions.
- positions.newGame();
- }
-
-
- /**
- * Set the skill level.
- */
- public void set_skill_level(int level) {
- skill_level = level;
- }
-
-
- /**
- * Set up the pos_to_comb array.
- */
- public void setup_pos_to_comb() {
-
- // Set up the pos_to_comb array to point to every winning
- // combination a given position may have.
- int count;
- for (int i=0; i<64; i++) {
- count = 1;
- pos_to_comb[i][0] = 0;
- for (int j=0; j<76; j++) {
- for (int k=2; k<6; k++) {
- if (combinations[j][k] == i) {
- pos_to_comb[i][0]++;
- pos_to_comb[i][count++] = j;
- }
- }
- }
- }
-
- if (debug) {
- for (int i=0; i<64; i++) {
- System.out.println("");
- for (int j=0; j<8; j++) {
- System.out.println("pos_to_comb[" + i + "][" + j + "] = " + pos_to_comb[i][j]);
- }
- }
- }
-
- }
-
-
- /**
- * Update the best_picks array.
- */
- public void update_best_picks() {
-
- // Re-calculate the best_picks array to point to every (current) winning
- // combination a given position may have.
- int count;
- for (int i=0; i<64; i++) {
-
- count = 1;
- best_picks[i][0] = 0;
- if (occupied[i] == 0) {
- for (int j=0; j<76; j++) {
-
- if (combinations[j][0] == 0 ||
- combinations[j][1] == MACHINE) {
-
- for (int k=2; k<6; k++) {
- if (combinations[j][k] == i) {
- best_picks[i][0]++;
- best_picks[i][count++] = j;
- }
- }
- }
- }
- }
- }
-
- if (debug) {
- for (int i=0; i<64; i++) {
- System.out.println("");
- for (int j=0; j<8; j++) {
- System.out.println("best_picks[" + i + "][" + j + "] = " + best_picks[i][j]);
- }
- }
- }
- }
-
-
- /**
- * Pick the computer's best possible move based on the number
- * of combinations per position. Choose the position with the
- * most combinations.
- */
- public void pick_best_position() {
-
- int pos = 0;
- int max_num = 0;
- for (int i=0; i<64; i++) {
- if (best_picks[i][0] > max_num &&
- occupied[i] == 0) {
- pos = i;
- max_num = best_picks[i][0];
- }
- }
-
- // Mark the position as MACHINE.
- occupied[pos] = MACHINE;
-
- positions.set(pos, MACHINE);
-
- // Udate the logic arrays and reset the player.
- player = update_logic_arrays(pos);
- }
-
-
- public boolean pick_7() {
-
- for (int i=0; i<64; i++) {
- if (best_picks[i][0] == 7) {
- occupied[i] = MACHINE;
- positions.set(i, MACHINE);
- player = update_logic_arrays(i);
- return true;
- }
- }
- return false;
-
- }
-
- public void change_face() {
- current_face = ++current_face%18;
- }
-
- public void label() {
- label_flag ^= true;
- }
-
- public boolean unoccupied(int pos) {
- if (occupied[pos] == UNOCCUPIED)
- return true;
- else
- return false;
- }
-}
diff --git a/src/FourByFour/Canvas2D.java b/src/FourByFour/Canvas2D.java
deleted file mode 100644
index 033be15..0000000
--- a/src/FourByFour/Canvas2D.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.image.*;
-
-/**
- * Class: Canvas2D
- *
- * Description: Used to respond to mouse events in the 2D window.
- *
- * Version: 1.0
- *
- */
-class Canvas2D extends Canvas implements MouseListener {
-
- Image backbuffer; // Backbuffer image
- Graphics gc; // Graphics context of backbuffer
- Board board; // Game board
-
- Canvas2D(Board board) {
- this.board = board;
- }
-
- public void setBuffer(Image backbuffer) {
- this.backbuffer = backbuffer;
- gc = backbuffer.getGraphics();
- }
-
- public void update(Graphics g) {
- paint(g);
- }
-
- public void paint(Graphics g) {
- if (board != null) {
- board.render2D(gc);
- g.drawImage(backbuffer, 0, 0, this);
- }
- }
-
- public void mousePressed(MouseEvent e) {
- board.checkSelection2D(e.getX(), e.getY(), 1);
- repaint();
- }
-
- public void mouseClicked(MouseEvent e) {}
- public void mouseReleased(MouseEvent e) {}
- public void mouseEntered(MouseEvent e) {}
- public void mouseExited(MouseEvent e) {}
-}
diff --git a/src/FourByFour/Cube.java b/src/FourByFour/Cube.java
deleted file mode 100644
index b12ec46..0000000
--- a/src/FourByFour/Cube.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.event.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Cube extends Object {
-
- private Shape3D shape3D;
-
- private static final float[] verts = {
- // Front Face
- 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, 1.0f, -1.0f, -1.0f, 1.0f,
- // Back Face
- -1.0f, -1.0f, -1.0f, -1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, -1.0f, 1.0f, -1.0f, -1.0f,
- // Right Face
- 1.0f, -1.0f, -1.0f, 1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f,
- // Left Face
- -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, -1.0f, -1.0f, -1.0f, -1.0f,
- // Top Face
- 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, 1.0f,
- // Bottom Face
- -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, 1.0f,
- };
-
- private static final float[] normals = {
- // Front Face
- 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
- // Back Face
- 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f,
- 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f,
- // Right Face
- 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
- // Left Face
- -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f,
- -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f,
- // Top Face
- 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f,
- // Bottom Face
- 0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f,
- 0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f,
- };
-
- public Cube(Appearance appearance) {
-
- QuadArray quadArray = new QuadArray(24, QuadArray.COORDINATES |
- QuadArray.NORMALS |
- QuadArray.TEXTURE_COORDINATE_2);
- quadArray.setCoordinates(0, verts);
- quadArray.setNormals(0, normals);
-
- shape3D = new Shape3D(quadArray, appearance);
- shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
- shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
- shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
- shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
- }
-
- public Cube(Appearance appearance, float size) {
-
- QuadArray quadArray = new QuadArray(24, QuadArray.COORDINATES |
- QuadArray.NORMALS);
- for (int i=0; i<72; i++)
- verts[i] *= size;
-
- quadArray.setCoordinates(0, verts);
- quadArray.setNormals(0, normals);
-
- shape3D = new Shape3D(quadArray, appearance);
- shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
- shape3D.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
- shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
- shape3D.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
- }
-
- public Shape3D getChild() {
- return shape3D;
- }
-}
diff --git a/src/FourByFour/Cylinder.java b/src/FourByFour/Cylinder.java
deleted file mode 100644
index c647087..0000000
--- a/src/FourByFour/Cylinder.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Cylinder {
-
- float verts[];
- float normals[];
- QuadArray quad = null;
- float div = 3.0f;
- Shape3D shape;
-
- public Cylinder(float x, float z, float radius, float length, int quality, Appearance a) {
-
- if (quality < 3) quality = 3;
-
- div = (float) quality;
-
- verts = new float[quality*12];
- normals = new float[quality*12];
-
- double inc = 2.0*Math.PI/(double)div;
- for (int i=0; i< quality; i++){
- float z1 = radius * (float)Math.sin((double)i*inc) + z;
- float x1 = radius * (float)Math.cos((double)i*inc) + x;
- float z2 = radius * (float)Math.sin((double)(i+1)*inc) + z;
- float x2 = radius * (float)Math.cos((double)(i+1)*inc) + x;
-
- verts[12*i] = x1;
- verts[12*i+1] = -length/2.f;
- verts[12*i+2] = z1;
- verts[12*i+3] = x1;
- verts[12*i+4] = length/2.f;
- verts[12*i+5] = z1;
- verts[12*i+6] = x2;
- verts[12*i+7] = length/2.f;
- verts[12*i+8] = z2;
- verts[12*i+9] = x2;
- verts[12*i+10] = -length/2.f;
- verts[12*i+11] = z2;
-
- float nz1 = (float)Math.sin((double)i*inc);
- float nx1 = (float)Math.cos((double)i*inc);
- float nz2 = (float)Math.sin((double)(i+1)*inc);
- float nx2 = (float)Math.cos((double)(i+1)*inc);
-
- normals[12*i] = nx1;
- normals[12*i+1] = 0.0f;
- normals[12*i+2] = nz1;
- normals[12*i+3] = nx1;
- normals[12*i+4] = 0.0f;
- normals[12*i+5] = nz1;
- normals[12*i+6] = nx2;
- normals[12*i+7] = 0.0f;
- normals[12*i+8] = nz2;
- normals[12*i+9] = nx2;
- normals[12*i+10] = 0.0f;
- normals[12*i+11] = nz2;
- }
-
- quad = new QuadArray(quality*4, QuadArray.COORDINATES |
- QuadArray.NORMALS );
- quad.setCoordinates(0, verts);
- quad.setNormals(0, normals);
- shape = new Shape3D(quad, a);
- }
-
- Shape3D getShape(){
- return shape;
- }
-}
diff --git a/src/FourByFour/FourByFour.html b/src/FourByFour/FourByFour.html
deleted file mode 100644
index 8adb168..0000000
--- a/src/FourByFour/FourByFour.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Drag the mouse in the window</TITLE>
-</HEAD>
-<BODY BGCOLOR="#0C0C33">
-<applet align=middle code="FourByFour.class" width=716 height=410>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see "FourByFour" instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/FourByFour/FourByFour.java b/src/FourByFour/FourByFour.java
deleted file mode 100644
index 4e368cd..0000000
--- a/src/FourByFour/FourByFour.java
+++ /dev/null
@@ -1,884 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import java.net.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import com.sun.j3d.utils.universe.SimpleUniverse;
-import com.sun.j3d.utils.applet.MainFrame;
-
-/**
- * Class FourByFour
- *
- * Description: High level class for the game FourByFour
- *
- * Version: 1.2
- *
- */
-public class FourByFour extends Applet implements ActionListener {
-
- String host; // Host from which this applet came from
- int port; // Port number for writing high scores
- Image backbuffer2D; // Backbuffer image used for 2D double buffering
- int width, height; // Size of the graphics window in pixels
- int score; // Final game score
- int level_weight; // Weighting factor for skill level
- int move_weight; // Weighting factor for number of moves to win
- int time_weight; // Weighting factor for amount of time it took to win
- int skill_level; // Skill level, 0 - 4
- Canvas2D canvas2D; // 2D rendering canvas
- Canvas3D canvas3D; // 3D rendering canvas
- Board board; // Game board object
- Panel b_container; // Container to hold the buttons
- Panel c_container; // Container to hold the canvas
- Panel l_container; // Container to hold the labels
- Panel skill_panel; // Panel to hold skill levels
- Panel instruct_panel; // Panel to hold instructions
- Panel winner_panel; // Panel to hold winner announcement
- Panel high_panel; // Panel to hold high scores
- Button instruct_button; // Instructions button
- Button new_button; // New Game button
- Button skill_button; // Skill Level button
- Button high_button; // High Scores button
- Button undo_button; // Undo Move button
- Label skill_label; // Label on skill panel
- Label winner_label; // Label on winner panel
- Label winner_score_label; // Score label on winner panel
- Label winner_name_label; // Name label on winner panel
- Label winner_top_label; // Top 20 label on winner panel
- Label high_label; // High score label
- Label high_places[]; // Labels to hold places
- Label high_names[]; // Labels to hold names
- Label high_scores[]; // Labels to hold scores
- TextArea instruct_text; // TextArea object that holds instructions
- TextArea high_text; // TextArea object that holds top 20 scores
- TextField winner_name; // TextField object that holds winner's name
- Button instruct_return_button; // Return button for instruction panel
- Button skill_return_button; // Return button for skill level panel
- Button winner_return_button; // Return button for winner panel
- Button high_return_button; // Return button for high scores panel
- CheckboxGroup group; // CheckboxGroup object for skill level panel
- InputStream inStream; // Input stream for reading instructions and high scores
- OutputStream outStream; // Output stream for writing high scores
- static boolean appletFlag = true; // Applet flag
- boolean winner_flag = false; // Winner flag
- byte text[]; // Temporary storage area for reading instructions file
- byte outText[]; // Temporary storage area for writing high scores file
- String textString; // Storage area for instructions
- String scoresString; // String used for writing high scores file
- int places[]; // Storage area for high score places
- int scores[]; // Storage area for high score scores
- String names[]; // Storage area for high score names
- Positions positions; // Positions object, used to render player positions
-
- private SimpleUniverse universe = null;
-
- /**
- * Initialization
- */
- public void init() {
-
- // Set the port number.
- port = 4111;
-
- // Set the graphics window size.
- width = 350;
- height = 350;
-
- // Set the weighting factors used for scoring.
- level_weight = 1311;
- move_weight = 111;
- time_weight = 1000;
-
- // Create the "base" color for the AWT components.
- setBackground(new Color(200, 200, 200));
-
- // Read the instructions file.
- if (appletFlag) {
-
- // Get the host from which this applet came.
- host = getCodeBase().getHost();
-
- try {
- inStream = new BufferedInputStream
- (new URL(getCodeBase(), "instructions.txt").openStream(), 8192);
- text = new byte[5000];
- int character = inStream.read();
- int count = 0;
- while (character != -1) {
- text[count++] = (byte) character;
- character = inStream.read();
- }
- textString = new String(text);
- inStream.close();
- }
- catch(Exception e) {
- System.out.println("Error: " + e.toString());
- }
- }
- else {
-
- try {
- inStream = new BufferedInputStream
- (new FileInputStream("instructions.txt"));
- text = new byte[5000];
- int character = inStream.read();
- int count = 0;
- while (character != -1) {
- text[count++] = (byte) character;
- character = inStream.read();
- }
- textString = new String(text);
- inStream.close();
- }
- catch(Exception e) {
- System.out.println("Error: " + e.toString());
- }
- }
-
- // Read the high-scores file.
- places = new int[20];
- scores = new int[20];
- names = new String[20];
- if (appletFlag) {
- try {
- inStream = new BufferedInputStream
- (new URL(getCodeBase(), "scores.txt").openStream(), 8192);
- Reader read = new BufferedReader(new InputStreamReader(inStream));
- StreamTokenizer st = new StreamTokenizer(read);
- st.whitespaceChars(32,44);
- st.eolIsSignificant(false);
-
- int count = 0;
- int token = st.nextToken();
- boolean scoreFlag = true;
- String string;
- while (count<20) {
- places[count] = (int) st.nval;
- string = new String("");
- token = st.nextToken();
- while (token == StreamTokenizer.TT_WORD) {
- string += st.sval;
- string += " ";
- token = st.nextToken();
- }
- names[count] = string;
- scores[count] = (int) st.nval;
- token = st.nextToken();
- count++;
- }
- inStream.close();
- }
- catch(Exception e) {
- System.out.println("Error: " + e.toString());
- }
- }
- else {
- try {
- inStream = new BufferedInputStream
- (new FileInputStream("scores.txt"));
- Reader read = new BufferedReader(new InputStreamReader(inStream));
- StreamTokenizer st = new StreamTokenizer(read);
- st.whitespaceChars(32,44);
- st.eolIsSignificant(false);
-
- int count = 0;
- int token = st.nextToken();
- boolean scoreFlag = true;
- String string;
- while (count<20) {
- places[count] = (int) st.nval;
- string = new String("");
- token = st.nextToken();
- while (token == StreamTokenizer.TT_WORD) {
- string += st.sval;
- string += " ";
- token = st.nextToken();
- }
- names[count] = string;
- scores[count] = (int) st.nval;
- token = st.nextToken();
- count++;
- }
- inStream.close();
- }
- catch(Exception e) {
- System.out.println("Error: " + e.toString());
- }
- }
-
- // The positions object sets up the switch nodes which
- // control the rendering of the player's positions.
- positions = new Positions();
-
- // Create the game board object which is responsible
- // for keeping track of the moves on the game board
- // and determining what move the computer should make.
- board = new Board(this, positions, width, height);
- positions.setBoard(board);
-
- // Create a 2D graphics canvas.
- canvas2D = new Canvas2D(board);
- canvas2D.setSize(width, height);
- canvas2D.setLocation(width+10, 5);
- canvas2D.addMouseListener(canvas2D);
- board.setCanvas(canvas2D);
-
- // Create the 2D backbuffer
- backbuffer2D = createImage(width, height);
- canvas2D.setBuffer(backbuffer2D);
-
- // Create a 3D graphics canvas.
- canvas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- canvas3D.setSize(width, height);
- canvas3D.setLocation(5, 5);
-
- // Create the scene branchgroup.
- BranchGroup scene3D = createScene3D();
-
- // Create a universe with the Java3D universe utility.
- universe = new SimpleUniverse(canvas3D);
- universe.addBranchGraph(scene3D);
-
- // Use parallel projection.
- View view = universe.getViewer().getView();
- view.setProjectionPolicy(View.PARALLEL_PROJECTION);
-
- // Set the universe Transform3D object.
- TransformGroup tg =
- universe.getViewingPlatform().getViewPlatformTransform();
- Transform3D transform = new Transform3D();
- transform.set(65.f, new Vector3f(0.0f, 0.0f, 400.0f));
- tg.setTransform(transform);
-
- // Create the canvas container.
- c_container = new Panel();
- c_container.setSize(720, 360);
- c_container.setLocation(0, 0);
- c_container.setVisible(true);
- c_container.setLayout(null);
- add(c_container);
-
- // Add the 2D and 3D canvases to the container.
- c_container.add(canvas2D);
- c_container.add(canvas3D);
-
- // Turn off the layout manager, widgets will be sized
- // and positioned explicitly.
- setLayout(null);
-
- // Create the button container.
- b_container = new Panel();
- b_container.setSize(720, 70);
- b_container.setLocation(0, 360);
- b_container.setVisible(true);
- b_container.setLayout(null);
-
- // Create the buttons.
- instruct_button = new Button("Instructions");
- instruct_button.setSize(135, 25);
- instruct_button.setLocation(10, 10);
- instruct_button.setVisible(true);
- instruct_button.addActionListener(this);
-
- new_button = new Button("New Game");
- new_button.setSize(135, 25);
- new_button.setLocation(150, 10);
- new_button.setVisible(true);
- new_button.addActionListener(this);
-
- undo_button = new Button("Undo Move");
- undo_button.setSize(135, 25);
- undo_button.setLocation(290, 10);
- undo_button.setVisible(true);
- undo_button.addActionListener(this);
-
- skill_button = new Button("Skill Level");
- skill_button.setSize(135, 25);
- skill_button.setLocation(430, 10);
- skill_button.setVisible(true);
- skill_button.addActionListener(this);
-
- high_button = new Button("High Scores");
- high_button.setSize(135, 25);
- high_button.setLocation(570, 10);
- high_button.setVisible(true);
- high_button.addActionListener(this);
-
- b_container.add(new_button);
- b_container.add(undo_button);
- b_container.add(skill_button);
- b_container.add(high_button);
- b_container.add(instruct_button);
-
- // Add the button container to the applet.
- add(b_container);
-
- // Create the "Skill Level" dialog box.
- skill_panel = new Panel();
- skill_panel.setSize(400, 300);
- skill_panel.setLocation(200, 20);
- skill_panel.setLayout(null);
-
- skill_label = new Label("Pick your skill level:");
- skill_label.setSize(200, 25);
- skill_label.setLocation(25, 20);
- skill_label.setVisible(true);
- skill_panel.add(skill_label);
-
- group = new CheckboxGroup();
- Checkbox skill_1 = new Checkbox("Babe in the Woods ", group, false);
- Checkbox skill_2 = new Checkbox("Walk and Chew Gum ", group, false);
- Checkbox skill_3 = new Checkbox("Jeopardy Contestant ", group, false);
- Checkbox skill_4 = new Checkbox("Rocket Scientist ", group, false);
- Checkbox skill_5 = new Checkbox("Be afraid, be very afraid", group, true);
- skill_1.setSize(170, 25);
- skill_1.setLocation(80, 60);
- skill_1.setVisible(true);
- skill_2.setSize(170, 25);
- skill_2.setLocation(80, 100);
- skill_2.setVisible(true);
- skill_3.setSize(170, 25);
- skill_3.setLocation(80, 140);
- skill_3.setVisible(true);
- skill_4.setSize(170, 25);
- skill_4.setLocation(80, 180);
- skill_4.setVisible(true);
- skill_5.setSize(170, 25);
- skill_5.setLocation(80, 220);
- skill_5.setVisible(true);
- skill_return_button = new Button("Return");
- skill_return_button.setSize(120, 25);
- skill_return_button.setLocation(300, 370);
- skill_return_button.setVisible(false);
- skill_return_button.addActionListener(this);
- skill_panel.add(skill_1);
- skill_panel.add(skill_2);
- skill_panel.add(skill_3);
- skill_panel.add(skill_4);
- skill_panel.add(skill_5);
- skill_panel.setVisible(false);
- add(skill_return_button);
- add(skill_panel);
-
- // Create the "Instructions" panel.
- instruct_return_button = new Button("Return");
- instruct_return_button.setLocation(300, 370);
- instruct_return_button.setSize(120, 25);
- instruct_return_button.setVisible(false);
- instruct_return_button.addActionListener(this);
- instruct_text =
- new TextArea(textString, 100, 200, TextArea.SCROLLBARS_VERTICAL_ONLY);
- instruct_text.setSize(715, 350);
- instruct_text.setLocation(0, 0);
- instruct_text.setVisible(false);
- add(instruct_text);
-
- add(instruct_return_button);
-
- high_panel = new Panel();
- high_panel.setSize(715, 350);
- high_panel.setLocation(0, 0);
- high_panel.setVisible(false);
- high_panel.setLayout(null);
-
- high_label = new Label("High Scores");
- high_label.setLocation(330, 5);
- high_label.setSize(200, 30);
- high_label.setVisible(true);
- high_panel.add(high_label);
-
- high_places = new Label[20];
- high_names = new Label[20];
- high_scores = new Label[20];
- for (int i=0; i<20; i++) {
- high_places[i] = new Label(Integer.toString(i+1));
- high_places[i].setSize(20, 30);
- high_places[i].setVisible(true);
- high_names[i] = new Label(names[i]);
- high_names[i].setSize(150, 30);
- high_names[i].setVisible(true);
- high_scores[i] = new Label(Integer.toString(scores[i]));
- high_scores[i].setSize(150, 30);
- high_scores[i].setVisible(true);
- if (i<10) {
- high_places[i].setLocation(70, i*30+40);
- high_names[i].setLocation(100, i*30+40);
- high_scores[i].setLocation(260, i*30+40);
- }
- else {
- high_places[i].setLocation(425, (i-10)*30+40);
- high_names[i].setLocation(455, (i-10)*30+40);
- high_scores[i].setLocation(615, (i-10)*30+40);
- }
- high_panel.add(high_places[i]);
- high_panel.add(high_names[i]);
- high_panel.add(high_scores[i]);
- }
- high_return_button = new Button("Return");
- high_return_button.setSize(120, 25);
- high_return_button.setLocation(300, 370);
- high_return_button.setVisible(false);
- high_return_button.addActionListener(this);
- add(high_return_button);
- add(high_panel);
-
- // Create the "Winner" dialog box
- winner_panel = new Panel();
- winner_panel.setLayout(null);
- winner_panel.setSize(600, 500);
- winner_panel.setLocation(0, 0);
- winner_return_button = new Button("Return");
- winner_return_button.setSize(120, 25);
- winner_return_button.setLocation(300, 360);
- winner_return_button.addActionListener(this);
- winner_panel.add(winner_return_button);
- winner_label = new Label("");
- winner_label.setSize(200, 30);
- winner_label.setLocation(270, 110);
- winner_score_label = new Label("");
- winner_score_label.setSize(200, 30);
- winner_top_label = new Label("You have a score in the top 20.");
- winner_top_label.setSize(200, 25);
- winner_top_label.setLocation(260, 185);
- winner_top_label.setVisible(false); winner_name_label = new Label("Enter your name here:");
- winner_name_label.setSize(150, 25);
- winner_name_label.setLocation(260, 210);
- winner_name_label.setVisible(false);
- winner_name = new TextField("");
- winner_name.setSize(200, 30);
- winner_name.setLocation(260, 240);
- winner_name.setVisible(false);
- winner_panel.add(winner_label);
- winner_panel.add(winner_score_label);
- winner_panel.add(winner_top_label);
- winner_panel.add(winner_name_label);
- winner_panel.add(winner_name);
- winner_panel.setVisible(false);
- add(winner_panel);
- }
-
- public void destroy() {
- universe.cleanup();
- }
-
- /**
- * Create the scenegraph for the 3D view.
- */
- public BranchGroup createScene3D() {
-
- // Define colors
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f red = new Color3f(0.80f, 0.20f, 0.2f);
- Color3f ambient = new Color3f(0.25f, 0.25f, 0.25f);
- Color3f diffuse = new Color3f(0.7f, 0.7f, 0.7f);
- Color3f specular = new Color3f(0.9f, 0.9f, 0.9f);
- Color3f ambientRed = new Color3f(0.2f, 0.05f, 0.0f);
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
-
- // Create the branch group
- BranchGroup branchGroup = new BranchGroup();
-
- // Create the bounding leaf node
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 1000.0);
- BoundingLeaf boundingLeaf = new BoundingLeaf(bounds);
- branchGroup.addChild(boundingLeaf);
-
- // Create the background
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- branchGroup.addChild(bg);
-
- // Create the ambient light
- AmbientLight ambLight = new AmbientLight(white);
- ambLight.setInfluencingBounds(bounds);
- branchGroup.addChild(ambLight);
-
- // Create the directional light
- Vector3f dir = new Vector3f(-1.0f, -1.0f, -1.0f);
- DirectionalLight dirLight = new DirectionalLight(white, dir);
- dirLight.setInfluencingBounds(bounds);
- branchGroup.addChild(dirLight);
-
- // Create the pole appearance
- Material poleMaterial =
- new Material(ambient, black, diffuse, specular, 110.f);
- poleMaterial.setLightingEnable(true);
- Appearance poleAppearance = new Appearance();
- poleAppearance.setMaterial(poleMaterial);
-
- // Create the transform group node
- TransformGroup transformGroup = new TransformGroup();
- transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- transformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- branchGroup.addChild(transformGroup);
-
- // Create the poles
- Poles poles = new Poles(poleAppearance);
- transformGroup.addChild(poles.getChild());
-
- // Add the position markers to the transform group
- transformGroup.addChild(positions.getChild());
-
- // Let the positions object know about the transform group
- positions.setTransformGroup(transformGroup);
-
- // Create the mouse pick and drag behavior node
- PickDragBehavior behavior = new PickDragBehavior(canvas2D, canvas3D, positions,
- branchGroup, transformGroup);
- behavior.setSchedulingBounds(bounds);
- transformGroup.addChild(behavior);
-
- return branchGroup;
- }
-
- public void actionPerformed (ActionEvent event) {
-
- Object target = event.getSource();
-
- // Process the button events.
- if (target == skill_return_button) {
- skill_panel.setVisible(false);
- skill_return_button.setVisible(false);
- c_container.setVisible(true);
- b_container.setVisible(true);
- newGame();
- }
- else if (target == winner_return_button) {
- if (winner_flag) {
- String name = winner_name.getText();
- String tmp_name = new String("");
- int tmp_score = 0;
- boolean insert_flag = false;
- winner_flag = false;
- for (int i=0; i<20; i++) {
- if (insert_flag) {
- name = names[i];
- score = scores[i];
- names[i] = tmp_name;
- scores[i] = tmp_score;
- tmp_name = name;
- tmp_score = score;
- }
- if (!insert_flag && score > scores[i]) {
- tmp_name = names[i];
- tmp_score = scores[i];
- scores[i] = score;
- names[i] = name;
- insert_flag = true;
- }
- high_names[i].setText(names[i]);
- high_scores[i].setText(Integer.toString(scores[i]));
- }
- scoresString = new String("");
- int place;
- for (int i=0; i<20; i++) {
- place = (int) places[i];
- scoresString += Integer.toString(place);
- scoresString += "\t";
- scoresString += names[i];
- scoresString += " ";
- scoresString += Integer.toString(scores[i]);
- scoresString += "\n";
- }
-
- if (appletFlag) {
- // Use this section of code when writing the high
- // scores file back to a server. Requires the use
- // of a deamon on the server to receive the socket
- // connection.
- //
- // Create the output stream.
- // try {
- // Socket socket = new Socket(host, port);
- // outStream = new BufferedOutputStream
- // (socket.getOutputStream(), 8192);
- // }
- // catch(IOException ioe) {
- // System.out.println("Error: " + ioe.toString());
- // }
- // System.out.println("Output stream opened");
- //
- // Write the scores to the file back on the server.
- // outText = scoresString.getBytes();
- // try {
- // outStream.write(outText);
- // outStream.flush();
- // outStream.close();
- // outStream = null;
- // }
- // catch (IOException ioe) {
- // System.out.println("Error: " + ioe.toString());
- // }
- // System.out.println("Output stream written");
-
- try {
- OutputStreamWriter outFile =
- new OutputStreamWriter(new FileOutputStream("scores.txt"));
- outFile.write(scoresString);
- outFile.flush();
- outFile.close();
- outFile = null;
- }
- catch (IOException ioe) {
- System.out.println("Error: " + ioe.toString());
- }
- catch (Exception e) {
- System.out.println("Error: " + e.toString());
- }
- }
- else {
-
- try {
- OutputStreamWriter outFile =
- new OutputStreamWriter(new FileOutputStream("scores.txt"));
- outFile.write(scoresString);
- outFile.flush();
- outFile.close();
- outFile = null;
- }
- catch (IOException ioe) {
- System.out.println("Error: " + ioe.toString());
- }
- }
- }
- winner_panel.setVisible(false);
- winner_return_button.setVisible(false);
- winner_label.setVisible(false);
- winner_score_label.setVisible(false);
- winner_name_label.setVisible(false);
- winner_top_label.setVisible(false);
- winner_name.setVisible(false);
- c_container.setVisible(true);
- b_container.setVisible(true);
- }
- else if (target == high_return_button) {
- high_return_button.setVisible(false);
- high_panel.setVisible(false);
- c_container.setVisible(true);
- b_container.setVisible(true);
- }
- else if (target == instruct_return_button) {
- instruct_text.setVisible(false);
- instruct_return_button.setVisible(false);
- instruct_text.repaint();
- c_container.setVisible(true);
- b_container.setVisible(true);
- }
- else if (target == undo_button) {
- board.undo_move();
- canvas2D.repaint();
- }
- else if (target == instruct_button) {
- c_container.setVisible(false);
- b_container.setVisible(false);
- instruct_text.setVisible(true);
- instruct_return_button.setVisible(true);
- }
- else if (target == new_button) {
- newGame();
- }
- else if (target == skill_button) {
- c_container.setVisible(false);
- b_container.setVisible(false);
- skill_panel.setVisible(true);
- skill_return_button.setVisible(true);
- }
- else if (target == high_button) {
- // Read the high scores file.
- if (appletFlag) {
- try {
- inStream = new BufferedInputStream
- (new URL(getCodeBase(), "scores.txt").openStream(), 8192);
- Reader read = new BufferedReader(new InputStreamReader(inStream));
- StreamTokenizer st = new StreamTokenizer(read);
- st.whitespaceChars(32,44);
- st.eolIsSignificant(false);
-
- int count = 0;
- int token = st.nextToken();
- boolean scoreFlag = true;
- String string;
- while (count<20) {
- places[count] = (int) st.nval;
- string = new String("");
- token = st.nextToken();
- while (token == StreamTokenizer.TT_WORD) {
- string += st.sval;
- string += " ";
- token = st.nextToken();
- }
- names[count] = string;
- scores[count] = (int) st.nval;
- token = st.nextToken();
- count++;
- }
- inStream.close();
- }
- catch(Exception ioe) {
- System.out.println("Error: " + ioe.toString());
- }
- }
- else {
- try {
- inStream = new BufferedInputStream
- (new FileInputStream("scores.txt"));
- Reader read = new BufferedReader(new InputStreamReader(inStream));
- StreamTokenizer st = new StreamTokenizer(read);
- st.whitespaceChars(32,44);
- st.eolIsSignificant(false);
-
- int count = 0;
- int token = st.nextToken();
- boolean scoreFlag = true;
- String string;
- while (count<20) {
- places[count] = (int) st.nval;
- string = new String("");
- token = st.nextToken();
- while (token == StreamTokenizer.TT_WORD) {
- string += st.sval;
- string += " ";
- token = st.nextToken();
- }
- names[count] = string;
- scores[count] = (int) st.nval;
- token = st.nextToken();
- count++;
- }
- inStream.close();
- }
- catch(Exception ioe) {
- System.out.println("Error: " + ioe.toString());
- }
- }
- c_container.setVisible(false);
- b_container.setVisible(false);
- high_panel.setVisible(true);
- high_return_button.setVisible(true);
- }
-
- Checkbox box = group.getSelectedCheckbox();
- String label = box.getLabel();
- if (label.equals("Babe in the Woods ")) {
- board.set_skill_level(0);
- }
- else if (label.equals("Walk and Chew Gum ")) {
- board.set_skill_level(1);
- }
- else if (label.equals("Jeopardy Contestant ")) {
- board.set_skill_level(2);
- }
- else if (label.equals("Rocket Scientist ")) {
- board.set_skill_level(3);
- }
- else if (label.equals("Be afraid, be very afraid")) {
- board.set_skill_level(4);
- }
- }
-
- public void newGame() {
- board.newGame();
- canvas2D.repaint();
- }
-
- public void start() {
- if (appletFlag) showStatus("FourByFour");
- }
-
- public void winner(int player, int level, int nmoves, long time) {
-
- if (player == 1) {
- score = level * level_weight +
- (66 - nmoves) * move_weight -
- (int) Math.min(time * time_weight, 5000);
- winner_label.setText("Game over, you win!");
- winner_label.setLocation(290, 90);
- winner_score_label.setText("Score = " + score);
- winner_score_label.setVisible(true);
- winner_score_label.setLocation(315, 120);
- if (score > scores[19]) {
- winner_name_label.setVisible(true);
- winner_top_label.setVisible(true);
- winner_name.setVisible(true);
- winner_flag = true;
- }
- }
- else {
- winner_label.setText("Game over, the computer wins!");
- winner_label.setLocation(250, 150);
- }
- c_container.setVisible(false);
- b_container.setVisible(false);
- winner_panel.setVisible(true);
- winner_label.setVisible(true);
- winner_return_button.setVisible(true);
- repaint();
- }
-
- /**
- * Inner class used to "kill" the window when running as
- * an application.
- */
- static class killAdapter extends WindowAdapter {
- public void windowClosing(WindowEvent event) {
- System.exit(0);
- }
- }
-
- /**
- * Main method, only used when running as an application.
- */
- public static void main(String[] args) {
- FourByFour.appletFlag = false;
- new MainFrame(new FourByFour(), 730, 450);
- }
-
-}
diff --git a/src/FourByFour/FourByFour_plugin.html b/src/FourByFour/FourByFour_plugin.html
deleted file mode 100644
index 55e1cf4..0000000
--- a/src/FourByFour/FourByFour_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Drag the mouse in the window</TITLE>
-</HEAD>
-<BODY BGCOLOR="#0C0C33">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 716 HEIGHT = 410 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "FourByFour.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "FourByFour.class" WIDTH = 716 HEIGHT = 410 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see "FourByFour" instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "FourByFour.class" WIDTH = 716 HEIGHT = 410 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see "FourByFour" instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/FourByFour/ID.java b/src/FourByFour/ID.java
deleted file mode 100644
index 0ca8cf9..0000000
--- a/src/FourByFour/ID.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-class ID {
- int id;
-
- public ID(int id) {
- this.id = id;
- }
-
- public int get() {
- return id;
- }
-
- public void set(int id) {
- this.id = id;
- }
-}
diff --git a/src/FourByFour/PickDragBehavior.java b/src/FourByFour/PickDragBehavior.java
deleted file mode 100644
index 7645af9..0000000
--- a/src/FourByFour/PickDragBehavior.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import com.sun.j3d.utils.geometry.Sphere;
-
-/**
- * Class: PickDragBehavior
- *
- * Description: Used to respond to mouse pick and drag events
- * in the 3D window.
- *
- * Version: 1.0
- *
- */
-public class PickDragBehavior extends Behavior {
-
- WakeupCriterion[] mouseEvents;
- WakeupOr mouseCriterion;
- int x, y;
- int x_last, y_last;
- double x_angle, y_angle;
- double x_factor, y_factor;
- Transform3D modelTrans;
- Transform3D transformX;
- Transform3D transformY;
- TransformGroup transformGroup;
- BranchGroup branchGroup;
- Canvas2D canvas2D;
- Canvas3D canvas3D;
- Positions positions;
- PickRay pickRay = new PickRay();
- SceneGraphPath sceneGraphPath[];
- Appearance highlight;
- boolean parallel;
-
- PickDragBehavior(Canvas2D canvas2D, Canvas3D canvas3D, Positions positions,
- BranchGroup branchGroup, TransformGroup transformGroup) {
-
- this.canvas2D = canvas2D;
- this.canvas3D = canvas3D;
- this.positions = positions;
- this.branchGroup = branchGroup;
- this.transformGroup = transformGroup;
-
- modelTrans = new Transform3D();
- transformX = new Transform3D();
- transformY = new Transform3D();
-
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f green = new Color3f(0.0f, 1.0f, 0.0f);
-
- highlight = new Appearance();
- highlight.setMaterial(new Material(green, black, green, white, 80.f));
-
- parallel = true;
- }
-
- public void initialize() {
- x = 0;
- y = 0;
- x_last = 0;
- y_last = 0;
- x_angle = 0;
- y_angle = 0;
- x_factor = .02;
- y_factor = .02;
-
- mouseEvents = new WakeupCriterion[2];
- mouseEvents[0] = new WakeupOnAWTEvent(MouseEvent.MOUSE_DRAGGED);
- mouseEvents[1] = new WakeupOnAWTEvent(MouseEvent.MOUSE_PRESSED);
- mouseCriterion = new WakeupOr(mouseEvents);
- wakeupOn (mouseCriterion);
- }
-
- public void processStimulus (Enumeration criteria) {
- WakeupCriterion wakeup;
- AWTEvent[] event;
- int id;
- int dx, dy;
-
- while (criteria.hasMoreElements()) {
- wakeup = (WakeupCriterion) criteria.nextElement();
- if (wakeup instanceof WakeupOnAWTEvent) {
- event = ((WakeupOnAWTEvent)wakeup).getAWTEvent();
- for (int i=0; i<event.length; i++) {
- id = event[i].getID();
- if (id == MouseEvent.MOUSE_DRAGGED) {
-
- x = ((MouseEvent)event[i]).getX();
- y = ((MouseEvent)event[i]).getY();
-
- dx = x - x_last;
- dy = y - y_last;
-
- x_angle = dy * y_factor;
- y_angle = dx * x_factor;
-
- transformX.rotX(x_angle);
- transformY.rotY(y_angle);
-
- modelTrans.mul(transformX, modelTrans);
- modelTrans.mul(transformY, modelTrans);
-
- transformGroup.setTransform(modelTrans);
-
- x_last = x;
- y_last = y;
- }
- else if (id == MouseEvent.MOUSE_PRESSED) {
-
- x = x_last = ((MouseEvent)event[i]).getX();
- y = y_last = ((MouseEvent)event[i]).getY();
-
- Point3d eyePos = new Point3d();
- canvas3D.getCenterEyeInImagePlate(eyePos);
-
- Point3d mousePos = new Point3d();
- canvas3D.getPixelLocationInImagePlate(x, y, mousePos);
-
- Transform3D transform3D = new Transform3D();
- canvas3D.getImagePlateToVworld(transform3D);
-
- transform3D.transform(eyePos);
- transform3D.transform(mousePos);
-
- Vector3d mouseVec;
- if (parallel) {
- mouseVec = new Vector3d(0.f, 0.f, -1.f);
- }
- else {
- mouseVec = new Vector3d();
- mouseVec.sub(mousePos, eyePos);
- mouseVec.normalize();
- }
-
- pickRay.set(mousePos, mouseVec);
- sceneGraphPath = branchGroup.pickAllSorted(pickRay);
-
- if (sceneGraphPath != null) {
- for (int j=0; j<sceneGraphPath.length; j++) {
- if (sceneGraphPath[j] != null) {
- Node node = sceneGraphPath[j].getObject();
- if (node instanceof Shape3D) {
- try {
- ID posID = (ID) node.getUserData();
- if (posID != null) {
- int pos = posID.get();
- positions.set(pos, Positions.HUMAN);
- canvas2D.repaint();
- break;
- }
- }
- catch (CapabilityNotSetException e) {
- // Catch all CapabilityNotSet exceptions and
- // throw them away, prevents renderer from
- // locking up when encountering "non-selectable"
- // objects.
- }
- }
- }
- }
- }
- }
- }
- }
- }
- wakeupOn (mouseCriterion);
- }
-}
diff --git a/src/FourByFour/Poles.java b/src/FourByFour/Poles.java
deleted file mode 100644
index b875b4b..0000000
--- a/src/FourByFour/Poles.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.event.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-/**
- * Class: Poles
- *
- * Description: Creates the "poles" in the 3D window.
- *
- * Version: 1.0
- *
- */
-public class Poles extends Object {
-
- private Group group;
-
- public Poles(Appearance appearance) {
- float x = -30.0f;
- float z = -30.0f;
- group = new Group();
- for(int i=0; i<4; i++) {
- for(int j=0; j<4; j++) {
- Cylinder c = new Cylinder(x, z, 1.0f, 60.0f, 10, appearance);
- group.addChild(c.getShape());
- x += 20.0f;
- }
- x = -30.0f;
- z += 20.0f;
- }
- }
-
- public Group getChild() {
- return group;
- }
-}
diff --git a/src/FourByFour/Positions.java b/src/FourByFour/Positions.java
deleted file mode 100644
index 5a61b93..0000000
--- a/src/FourByFour/Positions.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.event.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.BitSet;
-import com.sun.j3d.utils.geometry.Sphere;
-
-/**
- * Class: Positions
- *
- * Description: Creates the position markers.
- *
- * Version: 1.0
- *
- */
-public class Positions extends Object {
-
- final static int UNOCCUPIED = 0;
- final static int HUMAN = 1;
- final static int MACHINE = 2;
- final static int END = 3;
-
- private Vector3f point[];
- private Switch posSwitch;
- private Switch humanSwitch;
- private Switch machineSwitch;
- private BitSet posMask;
- private BitSet humanMask;
- private BitSet machineMask;
- private Group group;
- private Material redMat;
- private Material blueMat;
- private Material yellowMat;
- private Material whiteMat;
- private Appearance redApp;
- private Appearance blueApp;
- private Appearance yellowApp;
- private Appearance whiteApp;
- private Board board;
- private Sphere posSphere[];
- private BigCube cube[];
- private TransformGroup tgroup;
- private boolean winnerFlag = false;
-
- public Positions() {
-
- // Define colors for lighting
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f red = new Color3f(0.9f, 0.1f, 0.2f);
- Color3f blue = new Color3f(0.3f, 0.3f, 0.8f);
- Color3f yellow = new Color3f(1.0f, 1.0f, 0.0f);
- Color3f ambRed = new Color3f(0.3f, 0.03f, 0.03f);
- Color3f ambBlue = new Color3f(0.03f, 0.03f, 0.3f);
- Color3f ambYellow = new Color3f(0.3f, 0.3f, 0.03f);
- Color3f ambWhite = new Color3f(0.3f, 0.3f, 0.3f);
- Color3f specular = new Color3f(1.0f, 1.0f, 1.0f);
-
- // Create the red appearance node
- redMat= new Material(ambRed, black, red, specular, 100.f);
- redMat.setLightingEnable(true);
- redApp = new Appearance();
- redApp.setMaterial(redMat);
-
- // Create the blue appearance node
- blueMat= new Material(ambBlue, black, blue, specular, 100.f);
- blueMat.setLightingEnable(true);
- blueApp = new Appearance();
- blueApp.setMaterial(blueMat);
-
- // Create the yellow appearance node
- yellowMat= new Material(ambYellow, black, yellow, specular, 100.f);
- yellowMat.setLightingEnable(true);
- yellowApp = new Appearance();
- yellowApp.setMaterial(yellowMat);
-
- // Create the white appearance node
- whiteMat= new Material(ambWhite, black, white, specular, 100.f);
- whiteMat.setLightingEnable(true);
- whiteApp = new Appearance();
- whiteApp.setMaterial(whiteMat);
-
- // Load the point array with the offset (coordinates) for each of
- // the 64 positions.
- point = new Vector3f[64];
- int count = 0;
- for (int i=-30; i<40; i+=20) {
- for (int j=-30; j<40; j+=20) {
- for (int k=-30; k<40; k+=20) {
- point[count] = new Vector3f((float) k, (float) j, (float) i);
- count++;
- }
- }
- }
-
- // Create the switch nodes
- posSwitch = new Switch(Switch.CHILD_MASK);
- humanSwitch = new Switch(Switch.CHILD_MASK);
- machineSwitch = new Switch(Switch.CHILD_MASK);
-
- // Set the capability bits
- posSwitch.setCapability(Switch.ALLOW_SWITCH_READ);
- posSwitch.setCapability(Switch.ALLOW_SWITCH_WRITE);
-
- humanSwitch.setCapability(Switch.ALLOW_SWITCH_READ);
- humanSwitch.setCapability(Switch.ALLOW_SWITCH_WRITE);
-
- machineSwitch.setCapability(Switch.ALLOW_SWITCH_READ);
- machineSwitch.setCapability(Switch.ALLOW_SWITCH_WRITE);
-
- // Create the bit masks
- posMask = new BitSet();
- humanMask = new BitSet();
- machineMask = new BitSet();
-
- // Create the small white spheres that mark unoccupied
- // positions.
- posSphere = new Sphere[64];
- for (int i=0; i<64; i++) {
- Transform3D transform3D = new Transform3D();
- transform3D.set(point[i]);
- TransformGroup transformGroup = new TransformGroup(transform3D);
- posSphere[i] = new Sphere(2.0f, Sphere.GENERATE_NORMALS |
- Sphere.ENABLE_APPEARANCE_MODIFY,
- 12, whiteApp);
- Shape3D shape = posSphere[i].getShape();
- ID id = new ID(i);
- shape.setUserData(id);
- transformGroup.addChild(posSphere[i]);
- posSwitch.addChild(transformGroup);
- posMask.set(i);
- }
-
- // Create the red spheres that mark the user's positions.
- for (int i=0; i<64; i++) {
- Transform3D transform3D = new Transform3D();
- transform3D.set(point[i]);
- TransformGroup transformGroup = new TransformGroup(transform3D);
- transformGroup.addChild(new Sphere(7.0f, redApp));
- humanSwitch.addChild(transformGroup);
- humanMask.clear(i);
- }
-
- // Create the blue cubes that mark the computer's positions.
- for (int i=0; i<64; i++) {
- Transform3D transform3D = new Transform3D();
- transform3D.set(point[i]);
- TransformGroup transformGroup = new TransformGroup(transform3D);
- BigCube cube = new BigCube(blueApp);
- transformGroup.addChild(cube.getChild());
- machineSwitch.addChild(transformGroup);
- machineMask.clear(i);
- }
-
- // Set the positions mask
- posSwitch.setChildMask(posMask);
- humanSwitch.setChildMask(humanMask);
- machineSwitch.setChildMask(machineMask);
-
- // Throw everything into a single group
- group = new Group();
- group.addChild(posSwitch);
- group.addChild(humanSwitch);
- group.addChild(machineSwitch);
- }
-
- public void setTransformGroup(TransformGroup transformGroup) {
- tgroup = transformGroup;
- }
-
- public Group getChild() {
- return group;
- }
-
- public void setBoard(Board board) {
- this.board = board;
- }
-
- public void winner() {
- winnerFlag = true;
- }
-
- public void noWinner() {
- winnerFlag = false;
- }
-
- public void setHighlight(int pos) {
- posSphere[pos].setAppearance(yellowApp);
- }
-
- public void clearHighlight(int pos) {
- posSphere[pos].setAppearance(whiteApp);
- }
-
- public void newGame() {
-
- // Clear the board
- for (int i=0; i<64; i++) {
- posMask.set(i);
- humanMask.clear(i);
- machineMask.clear(i);
- }
- posSwitch.setChildMask(posMask);
- humanSwitch.setChildMask(humanMask);
- machineSwitch.setChildMask(machineMask);
-
- // The following three lines fix a bug in J3D
- Transform3D t = new Transform3D();
- tgroup.getTransform(t);
- tgroup.setTransform(t);
-
- // Reset the winner flag
- winnerFlag = false;
- }
-
- public void set(int pos, int player) {
-
- // Stop accepting selections when the game
- // is over.
- if (winnerFlag) return;
-
- // Make sure the position is not occupied.
- if (player == HUMAN)
- if (!board.unoccupied(pos)) return;
-
- // Turn off the position marker for the given position
- posMask.clear(pos);
- posSwitch.setChildMask(posMask);
-
- // Turn on the player marker
- if (player == Positions.HUMAN) {
- humanMask.set(pos);
- humanSwitch.setChildMask(humanMask);
- board.selection(pos, Positions.HUMAN);
- }
- else {
- machineMask.set(pos);
- machineSwitch.setChildMask(machineMask);
- }
-
- // The following three lines fix a bug in J3D
- Transform3D t = new Transform3D();
- tgroup.getTransform(t);
- tgroup.setTransform(t);
- }
-
- public void clear(int pos) {
-
- // Turn on the position marker
- posMask.set(pos);
- posSwitch.setChildMask(posMask);
-
- // Turn off the player marker
- humanMask.clear(pos);
- humanSwitch.setChildMask(humanMask);
- machineMask.clear(pos);
- machineSwitch.setChildMask(machineMask);
-
- // The following three lines are a workaround for a bug
- // in dev09 in which the transform3D of certain items are
- // not updated properly. Scheduled to be fixed in dev10
- Transform3D t = new Transform3D();
- tgroup.getTransform(t);
- tgroup.setTransform(t);
- }
-
-}
diff --git a/src/FourByFour/README b/src/FourByFour/README
deleted file mode 100644
index 6d0e046..0000000
--- a/src/FourByFour/README
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-FourByFour
-
-To run:
-
- appletviewer FourByFour.html
-
-Press the "Instructions" button to get instructions on
-how to play FourByFour.
diff --git a/src/FourByFour/build.xml b/src/FourByFour/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/FourByFour/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/FourByFour/instructions.txt b/src/FourByFour/instructions.txt
deleted file mode 100644
index 36ded73..0000000
--- a/src/FourByFour/instructions.txt
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
- Four By Four
-
-Description:
-
- A three dimensional game of tic-tac-toe on a 4x4x4 cube.
-
-Object:
-
- Be the first to score four in a row.
-
-Instructions:
-
- 1. It's you versus the computer.
-
- 2. There are five skill levels. Press the "Skill Level" button to select your level
- of play. The program defaults to the hardest level. Changing the skill level in
- the middle of a game will force the start of a new game.
-
- 3. The screen on the left is a 3D window. A mouse drag in this window will rotate the
- view to any desired position.
-
- 4. The screen on the right is a 2D window which displays all 18 faces that exist in the
- 4x4x4 array.
-
- 5. Click on any of the small gray spheres (in either the 2D or 3D window) to select a position.
-
- 6. Positions owned by you will be marked in red. Positions owned by the computer will be
- marked in blue.
-
- 7. Click the "Undo Move" button to take back a move.
-
- 8. Clicking on any of words "Face X" in the 2D window will cause that particular face to highlight
- in the 3D window. Clicking the word again will un-highlight the face.
-
- 9. The final score is based on skill level, number of moves, and time. Select the button
- "High Scores" to see a list of the top 20 scores. There is no penalty for using the
- undo button.
-
- 10. Good luck.
-
-General Strategy:
-
- 1. There are a 64 positions from which to choose. In total, there are 72 possible winning
- combinations.
-
- 2. The outer four corners and the inner "core" of eight have the most winning combinations,
- 7 each, and should perhaps be chosen first.
-
- 3. Use the 2D window to keep an eye on all the faces.
-
- 4. The computer plays well at the highest skill level (the default). There are, however,
- faults in it's logic that can be exploited. Thus the human player can win even at the
- highest skill level. In the beginning, however, you may want to start at the lower skill
- levels and work your way up.
diff --git a/src/FourByFour/scores.txt b/src/FourByFour/scores.txt
deleted file mode 100644
index 0ebc31a..0000000
--- a/src/FourByFour/scores.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-1 Bart Simpson 5283
-2 Dwight Eisenhower 5105
-3 Ken 5061
-4 Barbie 2883
-5 DoubleMint Twins 2195
-6 Robin Hood 1772
-7 Jack Benny 1604
-8 Anonymous 1550
-9 Duke 1501
-10 Jack Paar 1499
-11 Barney 1488
-12 Mick Jagger 1472
-13 Howard Hughes 1329
-14 Bugs Bunny 1328
-15 Suzi Chapstick 1302
-16 Forest Gump 1244
-17 Alfred Hitchcock 1231
-18 Roman Polaski 1168
-19 Missy Giovi 1106
-20 Bill Joy 1002
diff --git a/src/GLSLShaderTest/ObjLoadGLSL.java b/src/GLSLShaderTest/ObjLoadGLSL.java
deleted file mode 100644
index 3c67b98..0000000
--- a/src/GLSLShaderTest/ObjLoadGLSL.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.loaders.objectfile.ObjectFile;
-import com.sun.j3d.loaders.ParsingErrorException;
-import com.sun.j3d.loaders.IncorrectFormatException;
-import com.sun.j3d.loaders.Scene;
-import com.sun.j3d.utils.shader.StringIO;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.Enumeration;
-import java.io.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-import java.net.URL;
-import java.net.MalformedURLException;
-
-public class ObjLoadGLSL extends Applet {
-
- private String shaderName = "polkadot3d";
- private boolean spin = false;
- private boolean noTriangulate = false;
- private boolean noStripify = false;
- private double creaseAngle = 60.0;
- private URL filename = null;
- private SimpleUniverse u;
- private BoundingSphere bounds;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.7);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objScale.addChild(objTrans);
-
- int flags = ObjectFile.RESIZE;
- if (!noTriangulate) flags |= ObjectFile.TRIANGULATE;
- if (!noStripify) flags |= ObjectFile.STRIPIFY;
- ObjectFile f = new ObjectFile(flags,
- (float)(creaseAngle * Math.PI / 180.0));
- Scene s = null;
- try {
- s = f.load(filename);
- }
- catch (FileNotFoundException e) {
- throw new RuntimeException(e);
- }
- catch (ParsingErrorException e) {
- throw new RuntimeException(e);
- }
- catch (IncorrectFormatException e) {
- throw new RuntimeException(e);
- }
-
- // Set vertex and fragment shader program for all Shape3D nodes in scene
- String vertexProgram = null;
- String fragmentProgram = null;
- try {
- vertexProgram = StringIO.readFully(shaderName + ".vert");
- fragmentProgram = StringIO.readFully(shaderName + ".frag");
- }
- catch (IOException e) {
- throw new RuntimeException(e);
- }
- Shader[] shaders = new Shader[2];
- shaders[0] = new SourceCodeShader(Shader.SHADING_LANGUAGE_GLSL,
- Shader.SHADER_TYPE_VERTEX,
- vertexProgram);
- shaders[1] = new SourceCodeShader(Shader.SHADING_LANGUAGE_GLSL,
- Shader.SHADER_TYPE_FRAGMENT,
- fragmentProgram);
- ShaderProgram shaderProgram = new GLSLShaderProgram();
- shaderProgram.setShaders(shaders);
- setShaderProgram(s.getSceneGroup(), shaderProgram);
-
- objTrans.addChild(s.getSceneGroup());
-
- bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- if (spin) {
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
- }
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
- Background bgNode = new Background(bgColor);
- bgNode.setApplicationBounds(bounds);
- objRoot.addChild(bgNode);
-
- return objRoot;
- }
-
- private void usage()
- {
- System.out.println(
- "Usage: java ObjLoadGLSL [-s] [-S shaderName] [-n] [-t] [-c degrees] <.obj file>");
- System.out.println(" -s Spin (no user interaction)");
- System.out.println(" -S Set shader name (default is 'simple')");
- System.out.println(" -n No triangulation");
- System.out.println(" -t No stripification");
- System.out.println(
- " -c Set crease angle for normal generation (default is 60 without");
- System.out.println(
- " smoothing group info, otherwise 180 within smoothing groups)");
- System.exit(0);
- } // End of usage
-
-
-
- public void init() {
- if (filename == null) {
- // Applet
- try {
- URL path = getCodeBase();
- filename = new URL(path.toString() + "./galleon.obj");
- }
- catch (MalformedURLException e) {
- throw new RuntimeException(e);
- }
- }
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // add mouse behaviors to the ViewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- PlatformGeometry pg = new PlatformGeometry();
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- pg.addChild(ambientLightNode);
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 0.2f, 0.4f);
- Vector3f light1Direction = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f light2Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light2Direction = new Vector3f(1.0f, 1.0f, 1.0f);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- pg.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- pg.addChild(light2);
-
- viewingPlatform.setPlatformGeometry( pg );
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- if (!spin) {
- OrbitBehavior orbit = new OrbitBehavior(c,
- OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
- }
-
- /*
- // Limit the frame rate to 100 Hz
- u.getViewer().getView().setMinimumFrameCycleTime(10);
- */
-
- u.addBranchGraph(scene);
- }
-
- // Set shader program for all nodes in specified branch graph
- private void setShaderProgram(BranchGroup g, ShaderProgram shaderProgram) {
- ShaderAppearance myApp = new ShaderAppearance();
- Material mat = new Material();
- myApp.setShaderProgram(shaderProgram);
- myApp.setMaterial(mat);
- setShaderProgram(g, myApp);
- }
-
- // Recursively set shader program for all children of specified group
- private void setShaderProgram(Group g,
- ShaderAppearance myApp) {
-
- Enumeration e = g.getAllChildren();
- while (e.hasMoreElements()) {
- Node n = (Node)(e.nextElement());
- if (n instanceof Group) {
- setShaderProgram((Group)n, myApp);
- }
- else if (n instanceof Shape3D) {
- Shape3D s = (Shape3D)n;
- s.setAppearance(myApp);
- }
- }
- }
-
- // Caled if running as a program
- public ObjLoadGLSL(String[] args) {
- if (args.length != 0) {
- for (int i = 0 ; i < args.length ; i++) {
- if (args[i].startsWith("-")) {
- if (args[i].equals("-s")) {
- spin = true;
- } else if (args[i].equals("-n")) {
- noTriangulate = true;
- } else if (args[i].equals("-t")) {
- noStripify = true;
- } else if (args[i].equals("-c")) {
- if (i < args.length - 1) {
- creaseAngle = (new Double(args[++i])).doubleValue();
- } else usage();
- } else if (args[i].equals("-S")) {
- if (i < args.length - 1) {
- shaderName = args[++i];
- } else usage();
- } else {
- usage();
- }
- } else {
- try {
- if ((args[i].indexOf("file:") == 0) ||
- (args[i].indexOf("http") == 0)) {
- filename = new URL(args[i]);
- }
- else if (args[i].charAt(0) != '/') {
- filename = new URL("file:./" + args[i]);
- }
- else {
- filename = new URL("file:" + args[i]);
- }
- }
- catch (MalformedURLException e) {
- throw new RuntimeException(e);
- }
- }
- }
- }
- }
-
-
-
- // Running as an applet
- public ObjLoadGLSL() {
- }
-
- public void destroy() {
- u.cleanup();
- }
-
-
-
- //
- // The following allows ObjLoadGLSL to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new ObjLoadGLSL(args), 700, 700);
- }
-}
diff --git a/src/GLSLShaderTest/PhongShadingGLSL.form b/src/GLSLShaderTest/PhongShadingGLSL.form
deleted file mode 100644
index dcccf73..0000000
--- a/src/GLSLShaderTest/PhongShadingGLSL.form
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <NonVisualComponents>
- <Component class="javax.swing.ButtonGroup" name="shaderButtonGroup">
- </Component>
- <Menu class="javax.swing.JMenuBar" name="jMenuBar1">
- <SubComponents>
- <Menu class="javax.swing.JMenu" name="fileMenu">
- <Properties>
- <Property name="text" type="java.lang.String" value="File"/>
- </Properties>
- <SubComponents>
- <MenuItem class="javax.swing.JMenuItem" name="exitMenuItem">
- <Properties>
- <Property name="text" type="java.lang.String" value="Exit"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="exitMenuItemActionPerformed"/>
- </Events>
- </MenuItem>
- </SubComponents>
- </Menu>
- </SubComponents>
- </Menu>
- </NonVisualComponents>
- <Properties>
- <Property name="defaultCloseOperation" type="int" value="3"/>
- <Property name="title" type="java.lang.String" value="Phong Shading Test"/>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="menuBar" type="java.lang.String" value="jMenuBar1"/>
- <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
- </SyntheticProperties>
- <AuxValues>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
- </AuxValues>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="guiPanel">
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
- <BorderConstraints direction="North"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="jPanel1">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="Shader"/>
- </Border>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="4" insetsLeft="4" insetsBottom="4" insetsRight="4" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JRadioButton" name="gouraudButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="shaderButtonGroup"/>
- </Property>
- <Property name="selected" type="boolean" value="true"/>
- <Property name="text" type="java.lang.String" value="Per-Vertex Lighting (Gouraud)"/>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
- <EmptyBorder bottom="0" left="0" right="0" top="0"/>
- </Border>
- </Property>
- <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
- <Insets value="[0, 0, 0, 0]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="gouraudButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JRadioButton" name="phongButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="shaderButtonGroup"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Per-Pixel Lighting (Phong)"/>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
- <EmptyBorder bottom="0" left="0" right="0" top="0"/>
- </Border>
- </Property>
- <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
- <Insets value="[0, 0, 0, 0]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="phongButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="2" insetsLeft="2" insetsBottom="2" insetsRight="2" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="drawingPanel">
- <Properties>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[500, 500]"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
- <BorderConstraints direction="Center"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
- </Container>
- </SubComponents>
-</Form>
diff --git a/src/GLSLShaderTest/PhongShadingGLSL.java b/src/GLSLShaderTest/PhongShadingGLSL.java
deleted file mode 100644
index 5711ff8..0000000
--- a/src/GLSLShaderTest/PhongShadingGLSL.java
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.shader.StringIO;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.awt.GraphicsConfiguration;
-import java.io.IOException;
-
-/**
- *
- * @author kcr
- */
-public class PhongShadingGLSL extends javax.swing.JFrame {
-
- // Constants for type of light to use
- private static final int DIRECTIONAL_LIGHT = 0;
- private static final int POINT_LIGHT = 1;
- private static final int SPOT_LIGHT = 2;
-
- // Flag indicates type of lights: directional, point, or spot lights.
- private static int lightType = DIRECTIONAL_LIGHT;
-
- private SimpleUniverse u = null;
-
- private ShaderAppearance sApp = null;
- private ShaderProgram gouraudSP = null;
- private ShaderProgram phongSP = null;
-
- public BranchGroup createSceneGraph() {
- Color3f eColor = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f sColor = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f objColor = new Color3f(0.6f, 0.6f, 0.6f);
-// Color3f lColor1 = new Color3f(1.0f, 0.0f, 0.0f);
-// Color3f lColor2 = new Color3f(0.0f, 1.0f, 0.0f);
- Color3f lColor1 = new Color3f(1.0f, 1.0f, 0.5f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
-
- Transform3D t;
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.5);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objRoot.addChild(bg);
-
- // Create the TransformGroup node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at run time. Add it to
- // the root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(objTrans);
-
- // Create a Sphere object, generate one copy of the sphere,
- // and add it into the scene graph.
- sApp = new ShaderAppearance();
- sApp.setCapability(ShaderAppearance.ALLOW_SHADER_PROGRAM_WRITE);
- Material m = new Material(objColor, eColor, objColor, sColor, 100.0f);
- sApp.setMaterial(m);
-
- // Create Gouraud and Phong shader programs
- String vertexProgram = null;
- String fragmentProgram = null;
- Shader[] shaders = new Shader[2];
- String[] attrNames = { "numLights" };
-
- try {
- vertexProgram = StringIO.readFully("./gouraud.vert");
- fragmentProgram = StringIO.readFully("./gouraud.frag");
- }
- catch (IOException e) {
- throw new RuntimeException(e);
- }
- shaders[0] = new SourceCodeShader(Shader.SHADING_LANGUAGE_GLSL,
- Shader.SHADER_TYPE_VERTEX,
- vertexProgram);
- shaders[1] = new SourceCodeShader(Shader.SHADING_LANGUAGE_GLSL,
- Shader.SHADER_TYPE_FRAGMENT,
- fragmentProgram);
- gouraudSP = new GLSLShaderProgram();
- gouraudSP.setShaders(shaders);
-
- try {
- vertexProgram = StringIO.readFully("./phong.vert");
- fragmentProgram = StringIO.readFully("./phong.frag");
- }
- catch (IOException e) {
- throw new RuntimeException(e);
- }
- shaders[0] = new SourceCodeShader(Shader.SHADING_LANGUAGE_GLSL,
- Shader.SHADER_TYPE_VERTEX,
- vertexProgram);
- shaders[1] = new SourceCodeShader(Shader.SHADING_LANGUAGE_GLSL,
- Shader.SHADER_TYPE_FRAGMENT,
- fragmentProgram);
- phongSP = new GLSLShaderProgram();
- phongSP.setShaders(shaders);
-
- if (gouraudButton.isSelected()) {
- sApp.setShaderProgram(gouraudSP);
- } else if (phongButton.isSelected()) {
- sApp.setShaderProgram(phongSP);
- }
- Sphere sph = new Sphere(1.0f, Sphere.GENERATE_NORMALS, 30, sApp);
- objTrans.addChild(sph);
-
- // Create a new Behavior object that will perform the
- // desired operation on the specified transform and add
- // it into the scene graph.
- Transform3D yAxis = new Transform3D();
- yAxis.rotZ(Math.PI);
- Alpha rotationAlpha = new Alpha(-1, 10000);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objRoot.addChild(rotator);
-
- // Create the transform group node for the each light and initialize
- // it to the identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add them to the root
- // of the subgraph.
- TransformGroup l1RotTrans = new TransformGroup();
- l1RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(l1RotTrans);
-
- TransformGroup l2RotTrans = new TransformGroup();
- l2RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(l2RotTrans);
-
- // Create transformations for the positional lights
- t = new Transform3D();
- Vector3d lPos1 = new Vector3d(0.0, 0.0, 2.0);
- t.set(lPos1);
- TransformGroup l1Trans = new TransformGroup(t);
- l1RotTrans.addChild(l1Trans);
-
-// t = new Transform3D();
-// Vector3d lPos2 = new Vector3d(0.5, 0.8, 2.0);
-// t.set(lPos2);
-// TransformGroup l2Trans = new TransformGroup(t);
-// l2RotTrans.addChild(l2Trans);
-
- // Create Geometry for point lights
- ColoringAttributes caL1 = new ColoringAttributes();
-// ColoringAttributes caL2 = new ColoringAttributes();
- caL1.setColor(lColor1);
-// caL2.setColor(lColor2);
- Appearance appL1 = new Appearance();
-// Appearance appL2 = new Appearance();
- appL1.setColoringAttributes(caL1);
-// appL2.setColoringAttributes(caL2);
- l1Trans.addChild(new Sphere(0.05f, appL1));
-// l2Trans.addChild(new Sphere(0.05f, appL2));
-
- // Create lights
- AmbientLight aLgt = new AmbientLight(alColor);
-
- Light lgt1 = null;
-// Light lgt2 = null;
-
- Point3f lPoint = new Point3f(0.0f, 0.0f, 0.0f);
- Point3f atten = new Point3f(1.0f, 0.0f, 0.0f);
- Vector3f lDirect1 = new Vector3f(lPos1);
-// Vector3f lDirect2 = new Vector3f(lPos2);
- lDirect1.negate();
-// lDirect2.negate();
-
- switch (lightType) {
- case DIRECTIONAL_LIGHT:
- lgt1 = new DirectionalLight(lColor1, lDirect1);
-// lgt2 = new DirectionalLight(lColor2, lDirect2);
- break;
- case POINT_LIGHT:
- assert false : "can't get here";
- lgt1 = new PointLight(lColor1, lPoint, atten);
-// lgt2 = new PointLight(lColor2, lPoint, atten);
- break;
- case SPOT_LIGHT:
- assert false : "can't get here";
- lgt1 = new SpotLight(lColor1, lPoint, atten, lDirect1,
- 25.0f * (float)Math.PI / 180.0f, 10.0f);
-// lgt2 = new SpotLight(lColor2, lPoint, atten, lDirect2,
-// 25.0f * (float)Math.PI / 180.0f, 10.0f);
- break;
- }
-
- // Set the influencing bounds
- aLgt.setInfluencingBounds(bounds);
- lgt1.setInfluencingBounds(bounds);
-// lgt2.setInfluencingBounds(bounds);
-
- // Add the lights into the scene graph
- objScale.addChild(aLgt);
- l1Trans.addChild(lgt1);
-// l2Trans.addChild(lgt2);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- yAxis = new Transform3D();
- Alpha rotor1Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator1 =
- new RotationInterpolator(rotor1Alpha,
- l1RotTrans,
- yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator1.setSchedulingBounds(bounds);
- l1RotTrans.addChild(rotator1);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- Alpha rotor2Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 1000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator2 =
- new RotationInterpolator(rotor2Alpha,
- l2RotTrans,
- yAxis,
- 0.0f, 0.0f);
- bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator2.setSchedulingBounds(bounds);
- l2RotTrans.addChild(rotator2);
-
- return objRoot;
- }
-
- private Canvas3D initScene() {
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
-
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- BranchGroup scene = createSceneGraph();
- u.addBranchGraph(scene);
-
- return c;
- }
-
- /**
- * Creates new form PhongShadingGLSL
- */
- public PhongShadingGLSL() {
- // Initialize the GUI components
- initComponents();
-
- // Create the scene and add the Canvas3D to the drawing panel
- Canvas3D c = initScene();
- drawingPanel.add(c, java.awt.BorderLayout.CENTER);
- }
-
- // ----------------------------------------------------------------
-
- /** This method is called from within the constructor to
- * initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents() {
- java.awt.GridBagConstraints gridBagConstraints;
-
- shaderButtonGroup = new javax.swing.ButtonGroup();
- guiPanel = new javax.swing.JPanel();
- jPanel1 = new javax.swing.JPanel();
- gouraudButton = new javax.swing.JRadioButton();
- phongButton = new javax.swing.JRadioButton();
- drawingPanel = new javax.swing.JPanel();
- jMenuBar1 = new javax.swing.JMenuBar();
- fileMenu = new javax.swing.JMenu();
- exitMenuItem = new javax.swing.JMenuItem();
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("Phong Shading Test");
- guiPanel.setLayout(new java.awt.GridBagLayout());
-
- jPanel1.setLayout(new java.awt.GridBagLayout());
-
- jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Shader"));
- shaderButtonGroup.add(gouraudButton);
- gouraudButton.setSelected(true);
- gouraudButton.setText("Per-Vertex Lighting (Gouraud)");
- gouraudButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
- gouraudButton.setMargin(new java.awt.Insets(0, 0, 0, 0));
- gouraudButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- gouraudButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
- jPanel1.add(gouraudButton, gridBagConstraints);
-
- shaderButtonGroup.add(phongButton);
- phongButton.setText("Per-Pixel Lighting (Phong)");
- phongButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
- phongButton.setMargin(new java.awt.Insets(0, 0, 0, 0));
- phongButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- phongButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
- jPanel1.add(phongButton, gridBagConstraints);
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
- guiPanel.add(jPanel1, gridBagConstraints);
-
- getContentPane().add(guiPanel, java.awt.BorderLayout.NORTH);
-
- drawingPanel.setLayout(new java.awt.BorderLayout());
-
- drawingPanel.setPreferredSize(new java.awt.Dimension(500, 500));
- getContentPane().add(drawingPanel, java.awt.BorderLayout.CENTER);
-
- fileMenu.setText("File");
- exitMenuItem.setText("Exit");
- exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- exitMenuItemActionPerformed(evt);
- }
- });
-
- fileMenu.add(exitMenuItem);
-
- jMenuBar1.add(fileMenu);
-
- setJMenuBar(jMenuBar1);
-
- pack();
- }// </editor-fold>//GEN-END:initComponents
-
- private void phongButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_phongButtonActionPerformed
- sApp.setShaderProgram(phongSP);
- }//GEN-LAST:event_phongButtonActionPerformed
-
- private void gouraudButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_gouraudButtonActionPerformed
- sApp.setShaderProgram(gouraudSP);
- }//GEN-LAST:event_gouraudButtonActionPerformed
-
- private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitMenuItemActionPerformed
- System.exit(0);
- }//GEN-LAST:event_exitMenuItemActionPerformed
-
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- new PhongShadingGLSL().setVisible(true);
- }
- });
- }
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JPanel drawingPanel;
- private javax.swing.JMenuItem exitMenuItem;
- private javax.swing.JMenu fileMenu;
- private javax.swing.JRadioButton gouraudButton;
- private javax.swing.JPanel guiPanel;
- private javax.swing.JMenuBar jMenuBar1;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JRadioButton phongButton;
- private javax.swing.ButtonGroup shaderButtonGroup;
- // End of variables declaration//GEN-END:variables
-
-}
diff --git a/src/GLSLShaderTest/ShaderTestGLSL.form b/src/GLSLShaderTest/ShaderTestGLSL.form
deleted file mode 100644
index 714273d..0000000
--- a/src/GLSLShaderTest/ShaderTestGLSL.form
+++ /dev/null
@@ -1,266 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.2" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <NonVisualComponents>
- <Component class="javax.swing.ButtonGroup" name="densityButtonGroup">
- </Component>
- <Component class="javax.swing.ButtonGroup" name="colorButtonGroup">
- </Component>
- <Component class="javax.swing.ButtonGroup" name="sceneGraphButtonGroup">
- </Component>
- <Menu class="javax.swing.JMenuBar" name="jMenuBar1">
- <SubComponents>
- <Menu class="javax.swing.JMenu" name="fileMenu">
- <Properties>
- <Property name="text" type="java.lang.String" value="File"/>
- </Properties>
- <SubComponents>
- <MenuItem class="javax.swing.JMenuItem" name="exitMenuItem">
- <Properties>
- <Property name="text" type="java.lang.String" value="Exit"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="exitMenuItemActionPerformed"/>
- </Events>
- </MenuItem>
- </SubComponents>
- </Menu>
- </SubComponents>
- </Menu>
- </NonVisualComponents>
- <Properties>
- <Property name="title" type="java.lang.String" value="Window Title"/>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="menuBar" type="java.lang.String" value="jMenuBar1"/>
- <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
- </SyntheticProperties>
- <Events>
- <EventHandler event="windowClosing" listener="java.awt.event.WindowListener" parameters="java.awt.event.WindowEvent" handler="exitForm"/>
- </Events>
- <AuxValues>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,-85,0,0,2,0"/>
- </AuxValues>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="mainPanel">
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
- <BorderConstraints direction="Center"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="guiPanel">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
- <LineBorder/>
- </Border>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
- <BorderConstraints direction="North"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="densityPanel">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="Density"/>
- </Border>
- </Property>
- </Properties>
- <AccessibilityProperties>
- <Property name="AccessibleContext.accessibleName" type="java.lang.String" value="ShaderAttributeValue &#xa;"/>
- </AccessibilityProperties>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JRadioButton" name="zeroButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="densityButtonGroup"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Zero"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="zeroButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JRadioButton" name="halfButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="densityButtonGroup"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Half"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="halfButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JRadioButton" name="fullButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="densityButtonGroup"/>
- </Property>
- <Property name="selected" type="boolean" value="true"/>
- <Property name="text" type="java.lang.String" value="Full"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="fullButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="2" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="colorPanel">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="Color"/>
- </Border>
- </Property>
- </Properties>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JRadioButton" name="goldButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="colorButtonGroup"/>
- </Property>
- <Property name="selected" type="boolean" value="true"/>
- <Property name="text" type="java.lang.String" value="Gold"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="goldButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JRadioButton" name="silverButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="colorButtonGroup"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Silver"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="silverButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="sceneGraphPanel">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="Scene Graph"/>
- </Border>
- </Property>
- </Properties>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JToggleButton" name="DetachButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="sceneGraphButtonGroup"/>
- </Property>
- <Property name="selected" type="boolean" value="true"/>
- <Property name="text" type="java.lang.String" value="Detach"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="DetachButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JToggleButton" name="AttachButton">
- <Properties>
- <Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
- <ComponentRef name="sceneGraphButtonGroup"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Create"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="AttachButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- <Component class="javax.swing.JButton" name="replaceSPButton">
- <Properties>
- <Property name="text" type="java.lang.String" value="Replace Shader"/>
- <Property name="enabled" type="boolean" value="false"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="replaceSPButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="0" gridY="2" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="drawingPanel">
- <Properties>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[500, 500]"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
- <BorderConstraints direction="Center"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
- </Container>
- </SubComponents>
- </Container>
- </SubComponents>
-</Form>
diff --git a/src/GLSLShaderTest/ShaderTestGLSL.java b/src/GLSLShaderTest/ShaderTestGLSL.java
deleted file mode 100644
index b96ea42..0000000
--- a/src/GLSLShaderTest/ShaderTestGLSL.java
+++ /dev/null
@@ -1,666 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.shader.StringIO;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.awt.GraphicsConfiguration;
-import java.io.IOException;
-
-public class ShaderTestGLSL extends javax.swing.JFrame {
-
- static final int GOLD = 1;
- static final int SILVER = 2;
-
- static final int DIMPLE_SHADER = 1;
- static final int BRICK_SHADER = 2;
- static final int WOOD_SHADER = 3;
- static final int POLKADOT3D_SHADER = 4;
-
- static final String[] shaderAttrNames1 = {
- "Density", "Size", "LightPosition", "Color"
- };
-
- static final String[] shaderAttrNames2 = {
- "BrickColor", "LightPosition"
- };
-
- private SimpleUniverse u = null;
- private View view;
- private BranchGroup transpObj;
- private BranchGroup scene = null;
- private int shaderSelected = DIMPLE_SHADER;
- private float density = 16.0f;
- private int color = GOLD;
-
- private Color3f eColor = new Color3f(0.2f, 0.2f, 0.2f);
- private Color3f sColor = new Color3f(0.8f, 0.8f, 0.8f);
- private Color3f objColor = new Color3f(0.6f, 0.6f, 0.6f);
- private Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
- private Color3f gold = new Color3f(0.7f, 0.6f, 0.18f);
- private Color3f silver = new Color3f(0.75f, 0.75f, 0.75f);
-
- // Handlers for doing update
- private ShaderAppearance sApp1 = null;
- private ShaderAppearance sApp2 = null;
- private ShaderAppearance sApp3 = null;
- private ShaderAppearance sApp4 = null;
- private ShaderProgram sp1 = null;
- private ShaderProgram sp2 = null;
- private ShaderProgram sp3 = null;
- private ShaderProgram sp4 = null;
- private ShaderAttributeSet sas1 = null;
- private ShaderAttributeSet sas2 = null;
- private ShaderAttributeObject sao1 = null;
- private ShaderAttributeObject sao2 = null;
- private Sphere sphere = null;
- private Shape3D s3d = null;
-
- private Material createMaterial() {
- Material m;
- m = new Material(objColor, eColor, objColor, sColor, 100.0f);
- m.setLightingEnable(true);
- return m;
- }
-
- private ShaderProgram createGLSLShaderProgram(int index) {
- String vertexProgram = null;
- String fragmentProgram = null;
- try {
- switch (index) {
- case DIMPLE_SHADER:
- vertexProgram = StringIO.readFully("./dimple.vert");
- fragmentProgram = StringIO.readFully("./dimple.frag");
- break;
- case BRICK_SHADER:
- vertexProgram = StringIO.readFully("./aabrick.vert");
- fragmentProgram = StringIO.readFully("./aabrick.frag");
- break;
- case WOOD_SHADER:
- vertexProgram = StringIO.readFully("./wood.vert");
- fragmentProgram = StringIO.readFully("./wood.frag");
- break;
- case POLKADOT3D_SHADER:
- vertexProgram = StringIO.readFully("./polkadot3d.vert");
- fragmentProgram = StringIO.readFully("./polkadot3d.frag");
- break;
- default:
- }
- }
- catch (IOException e) {
- throw new RuntimeException(e);
- }
- Shader[] shaders = new Shader[2];
- shaders[0] = new SourceCodeShader(Shader.SHADING_LANGUAGE_GLSL,
- Shader.SHADER_TYPE_VERTEX,
- vertexProgram);
- shaders[1] = new SourceCodeShader(Shader.SHADING_LANGUAGE_GLSL,
- Shader.SHADER_TYPE_FRAGMENT,
- fragmentProgram);
- ShaderProgram shaderProgram = new GLSLShaderProgram();
- shaderProgram.setShaders(shaders);
- return shaderProgram;
- }
-
- private ShaderAttributeSet createShaderAttributeSet(int index) {
- ShaderAttributeSet shaderAttributeSet = new ShaderAttributeSet();
- ShaderAttributeObject shaderAttribute = null;
-
- switch (index) {
- case DIMPLE_SHADER:
- // "Density", "Size", "Scale", "Color", "LightPosition"
- shaderAttribute = new ShaderAttributeValue("Size", new Float(0.25));
- shaderAttributeSet.put(shaderAttribute);
- shaderAttribute = new ShaderAttributeValue("LightPosition",
- new Point3f(0.0f, 0.0f, 0.5f));
- shaderAttributeSet.put(shaderAttribute);
-
- sao1 = new ShaderAttributeValue("Density", new Float(density));
- sao1.setCapability(ShaderAttributeObject.ALLOW_VALUE_READ);
- sao1.setCapability(ShaderAttributeObject.ALLOW_VALUE_WRITE);
- shaderAttributeSet.put(sao1);
-
- if(color == GOLD) {
- sao2 = new ShaderAttributeValue("Color", gold);
- }
- else if (color == SILVER) {
- sao2 = new ShaderAttributeValue("Color", silver);
- }
- sao2.setCapability(ShaderAttributeObject.ALLOW_VALUE_READ);
- sao2.setCapability(ShaderAttributeObject.ALLOW_VALUE_WRITE);
- shaderAttributeSet.put(sao2);
- break;
-
- case BRICK_SHADER:
- // "BrickColor", "LightPosition"
- shaderAttribute = new ShaderAttributeValue("BrickColor",
- new Color3f(1.0f, 0.3f, 0.2f));
- shaderAttributeSet.put(shaderAttribute);
- shaderAttribute = new ShaderAttributeValue("LightPosition",
- new Point3f(0.0f, 0.0f, 0.5f));
- shaderAttributeSet.put(shaderAttribute);
- break;
- default:
- assert false;
- }
- return shaderAttributeSet;
- }
-
- private ShaderAppearance createShaderAppearance() {
- ShaderAppearance sApp = new ShaderAppearance();
- sApp.setMaterial(createMaterial());
- return sApp;
- }
-
-
- private BranchGroup createSubSceneGraph() {
- // Create the sub-root of the branch graph
- BranchGroup subRoot = new BranchGroup();
-
- //
- // Create 1 spheres with a GLSLShader and add it into the scene graph.
- //
- sApp1 = createShaderAppearance();
- sApp1.setCapability(ShaderAppearance.ALLOW_SHADER_PROGRAM_READ);
- sApp1.setCapability(ShaderAppearance.ALLOW_SHADER_PROGRAM_WRITE);
- sApp1.setCapability(ShaderAppearance.ALLOW_SHADER_ATTRIBUTE_SET_READ);
- sApp1.setCapability(ShaderAppearance.ALLOW_SHADER_ATTRIBUTE_SET_WRITE);
-
- sp1 = createGLSLShaderProgram(1);
- sp1.setShaderAttrNames(shaderAttrNames1);
- sas1 = createShaderAttributeSet(1);
- sas1.setCapability(ShaderAttributeSet.ALLOW_ATTRIBUTES_READ);
- sas1.setCapability(ShaderAttributeSet.ALLOW_ATTRIBUTES_WRITE);
- sApp1.setShaderProgram(sp1);
- sApp1.setShaderAttributeSet(sas1);
-
- // Setup Brick shader
- sp2 = createGLSLShaderProgram(2);
- sp2.setShaderAttrNames(shaderAttrNames2);
- sas2 = createShaderAttributeSet(2);
- sApp2 = createShaderAppearance();
- sApp2.setShaderProgram(sp2);
- sApp2.setShaderAttributeSet(sas2);
-
- // Setup Wood shader
- sp3 = createGLSLShaderProgram(3);
- sApp3 = createShaderAppearance();
- sApp3.setShaderProgram(sp3);
-
- // Setup Polkadot3d shader
- sp4 = createGLSLShaderProgram(4);
- sApp4 = createShaderAppearance();
- sApp4.setShaderProgram(sp4);
-
- sphere = new Sphere(1.5f, Sphere.GENERATE_NORMALS, 200, null);
- s3d = (Shape3D)sphere.getShape();
- s3d.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
- s3d.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
- s3d.setAppearance(sApp1);
-
- TransformGroup objTG;
- Transform3D t = new Transform3D();
- t.set(new Vector3d(0.0, 0.0, 0.0));
- objTG = new TransformGroup(t);
- objTG.addChild(sphere);
- subRoot.addChild(objTG);
-
- return subRoot;
- }
-
- private BranchGroup createSceneGraph(int selectedScene) {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
- objRoot.setCapability(BranchGroup.ALLOW_DETACH);
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objScale.addChild(bg);
-
- objScale.addChild(createSubSceneGraph());
-
- // Create a position interpolator and attach it to the view
- // platform
- TransformGroup vpTrans =
- u.getViewingPlatform().getViewPlatformTransform();
- Transform3D axisOfTranslation = new Transform3D();
- Alpha transAlpha = new Alpha(-1,
- Alpha.INCREASING_ENABLE |
- Alpha.DECREASING_ENABLE,
- 0, 0,
- 5000, 0, 0,
- 5000, 0, 0);
- axisOfTranslation.rotY(-Math.PI/2.0);
- PositionInterpolator translator =
- new PositionInterpolator(transAlpha,
- vpTrans,
- axisOfTranslation,
- 2.0f, 3.5f);
- translator.setSchedulingBounds(bounds);
- objScale.addChild(translator);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- private Canvas3D initScene() {
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
-
- u = new SimpleUniverse(c);
-
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- view = u.getViewer().getView();
-
- return c;
- }
-
- /**
- * Creates new form ShaderTestGLSL
- */
- public ShaderTestGLSL() {
- // Initialize the GUI components
- initComponents();
-
- // Create the scene and add the Canvas3D to the drawing panel
- Canvas3D c = initScene();
- drawingPanel.add(c, java.awt.BorderLayout.CENTER);
- }
-
-
- // ----------------------------------------------------------------
-
- /** This method is called from within the constructor to
- * initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents() {
- java.awt.GridBagConstraints gridBagConstraints;
-
- densityButtonGroup = new javax.swing.ButtonGroup();
- colorButtonGroup = new javax.swing.ButtonGroup();
- sceneGraphButtonGroup = new javax.swing.ButtonGroup();
- mainPanel = new javax.swing.JPanel();
- guiPanel = new javax.swing.JPanel();
- densityPanel = new javax.swing.JPanel();
- zeroButton = new javax.swing.JRadioButton();
- halfButton = new javax.swing.JRadioButton();
- fullButton = new javax.swing.JRadioButton();
- colorPanel = new javax.swing.JPanel();
- goldButton = new javax.swing.JRadioButton();
- silverButton = new javax.swing.JRadioButton();
- sceneGraphPanel = new javax.swing.JPanel();
- DetachButton = new javax.swing.JToggleButton();
- AttachButton = new javax.swing.JToggleButton();
- replaceSPButton = new javax.swing.JButton();
- drawingPanel = new javax.swing.JPanel();
- jMenuBar1 = new javax.swing.JMenuBar();
- fileMenu = new javax.swing.JMenu();
- exitMenuItem = new javax.swing.JMenuItem();
-
- setTitle("Window Title");
- addWindowListener(new java.awt.event.WindowAdapter() {
- public void windowClosing(java.awt.event.WindowEvent evt) {
- exitForm(evt);
- }
- });
-
- mainPanel.setLayout(new java.awt.BorderLayout());
-
- guiPanel.setLayout(new javax.swing.BoxLayout(guiPanel, javax.swing.BoxLayout.X_AXIS));
-
- guiPanel.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0)));
- densityPanel.setLayout(new java.awt.GridBagLayout());
-
- densityPanel.setBorder(new javax.swing.border.TitledBorder("Density"));
- densityButtonGroup.add(zeroButton);
- zeroButton.setText("Zero");
- zeroButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- zeroButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- densityPanel.add(zeroButton, gridBagConstraints);
-
- densityButtonGroup.add(halfButton);
- halfButton.setText("Half");
- halfButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- halfButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- densityPanel.add(halfButton, gridBagConstraints);
-
- densityButtonGroup.add(fullButton);
- fullButton.setSelected(true);
- fullButton.setText("Full");
- fullButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- fullButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 2;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- densityPanel.add(fullButton, gridBagConstraints);
-
- guiPanel.add(densityPanel);
- densityPanel.getAccessibleContext().setAccessibleName("ShaderAttributeValue \n");
-
- colorPanel.setLayout(new java.awt.GridBagLayout());
-
- colorPanel.setBorder(new javax.swing.border.TitledBorder("Color"));
- colorButtonGroup.add(goldButton);
- goldButton.setSelected(true);
- goldButton.setText("Gold");
- goldButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- goldButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- colorPanel.add(goldButton, gridBagConstraints);
-
- colorButtonGroup.add(silverButton);
- silverButton.setText("Silver");
- silverButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- silverButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- colorPanel.add(silverButton, gridBagConstraints);
-
- guiPanel.add(colorPanel);
-
- sceneGraphPanel.setLayout(new java.awt.GridBagLayout());
-
- sceneGraphPanel.setBorder(new javax.swing.border.TitledBorder("Scene Graph"));
- sceneGraphButtonGroup.add(DetachButton);
- DetachButton.setSelected(true);
- DetachButton.setText("Detach");
- DetachButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- DetachButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- sceneGraphPanel.add(DetachButton, gridBagConstraints);
-
- sceneGraphButtonGroup.add(AttachButton);
- AttachButton.setText("Create");
- AttachButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- AttachButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- sceneGraphPanel.add(AttachButton, gridBagConstraints);
-
- replaceSPButton.setText("Replace Shader");
- replaceSPButton.setEnabled(false);
- replaceSPButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- replaceSPButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 2;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- sceneGraphPanel.add(replaceSPButton, gridBagConstraints);
-
- guiPanel.add(sceneGraphPanel);
-
- mainPanel.add(guiPanel, java.awt.BorderLayout.NORTH);
-
- drawingPanel.setLayout(new java.awt.BorderLayout());
-
- drawingPanel.setPreferredSize(new java.awt.Dimension(500, 500));
- mainPanel.add(drawingPanel, java.awt.BorderLayout.CENTER);
-
- getContentPane().add(mainPanel, java.awt.BorderLayout.CENTER);
-
- fileMenu.setText("File");
- exitMenuItem.setText("Exit");
- exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- exitMenuItemActionPerformed(evt);
- }
- });
-
- fileMenu.add(exitMenuItem);
-
- jMenuBar1.add(fileMenu);
-
- setJMenuBar(jMenuBar1);
-
- pack();
- }
- // </editor-fold>//GEN-END:initComponents
-
- private void silverButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_silverButtonActionPerformed
- color = SILVER;
- if(scene != null) {
- sao2.setValue(silver);
- }
- }//GEN-LAST:event_silverButtonActionPerformed
-
- private void goldButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_goldButtonActionPerformed
- color = GOLD;
- if(scene != null) {
- sao2.setValue(gold);
- }
- }//GEN-LAST:event_goldButtonActionPerformed
-
- private void replaceSPButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_replaceSPButtonActionPerformed
- if (shaderSelected != DIMPLE_SHADER) {
- goldButton.setEnabled(false);
- silverButton.setEnabled(false);
- zeroButton.setEnabled(false);
- halfButton.setEnabled(false);
- fullButton.setEnabled(false);
- }
-
- switch(shaderSelected) {
- case DIMPLE_SHADER:
- s3d.setAppearance(sApp1);
- goldButton.setEnabled(true);
- silverButton.setEnabled(true);
- zeroButton.setEnabled(true);
- halfButton.setEnabled(true);
- fullButton.setEnabled(true);
- shaderSelected = BRICK_SHADER;
- break;
- case BRICK_SHADER:
- s3d.setAppearance(sApp2);
- shaderSelected = WOOD_SHADER;
- break;
- case WOOD_SHADER:
- s3d.setAppearance(sApp3);
- shaderSelected = POLKADOT3D_SHADER;
- break;
- case POLKADOT3D_SHADER:
- s3d.setAppearance(sApp4);
- shaderSelected = DIMPLE_SHADER;
- break;
- default:
- assert false;
- }
-
- }//GEN-LAST:event_replaceSPButtonActionPerformed
-
- private void fullButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fullButtonActionPerformed
- density = 16.0f;
- if (scene != null) {
- sao1.setValue(new Float(density));
- }
- }//GEN-LAST:event_fullButtonActionPerformed
-
- private void DetachButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DetachButtonActionPerformed
- if (scene != null) {
- scene.detach();
- scene = null;
- replaceSPButton.setEnabled(false);
- goldButton.setEnabled(true);
- silverButton.setEnabled(true);
- zeroButton.setEnabled(true);
- halfButton.setEnabled(true);
- fullButton.setEnabled(true);
- shaderSelected = DIMPLE_SHADER;
- }
- }//GEN-LAST:event_DetachButtonActionPerformed
-
- private void AttachButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AttachButtonActionPerformed
- if (scene == null) {
- scene = createSceneGraph(1);
- u.addBranchGraph(scene);
- replaceSPButton.setEnabled(true);
- shaderSelected = BRICK_SHADER;
- }
- }//GEN-LAST:event_AttachButtonActionPerformed
-
- private void halfButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_halfButtonActionPerformed
- density = 8.0f;
- if(scene != null) {
- sao1.setValue(new Float(density));
- }
- }//GEN-LAST:event_halfButtonActionPerformed
-
- private void zeroButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_zeroButtonActionPerformed
- density = 0.0f;
- if(scene != null) {
- sao1.setValue(new Float(density));
- }
-
- }//GEN-LAST:event_zeroButtonActionPerformed
-
- private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitMenuItemActionPerformed
- System.exit(0);
- }//GEN-LAST:event_exitMenuItemActionPerformed
-
- /** Exit the Application */
- private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
- System.exit(0);
- }//GEN-LAST:event_exitForm
-
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- new ShaderTestGLSL().setVisible(true);
- }
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JToggleButton AttachButton;
- private javax.swing.JToggleButton DetachButton;
- private javax.swing.ButtonGroup colorButtonGroup;
- private javax.swing.JPanel colorPanel;
- private javax.swing.ButtonGroup densityButtonGroup;
- private javax.swing.JPanel densityPanel;
- private javax.swing.JPanel drawingPanel;
- private javax.swing.JMenuItem exitMenuItem;
- private javax.swing.JMenu fileMenu;
- private javax.swing.JRadioButton fullButton;
- private javax.swing.JRadioButton goldButton;
- private javax.swing.JPanel guiPanel;
- private javax.swing.JRadioButton halfButton;
- private javax.swing.JMenuBar jMenuBar1;
- private javax.swing.JPanel mainPanel;
- private javax.swing.JButton replaceSPButton;
- private javax.swing.ButtonGroup sceneGraphButtonGroup;
- private javax.swing.JPanel sceneGraphPanel;
- private javax.swing.JRadioButton silverButton;
- private javax.swing.JRadioButton zeroButton;
- // End of variables declaration//GEN-END:variables
-
-}
diff --git a/src/GLSLShaderTest/SphereGLSL.java b/src/GLSLShaderTest/SphereGLSL.java
deleted file mode 100644
index a9f6447..0000000
--- a/src/GLSLShaderTest/SphereGLSL.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.io.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.shader.StringIO;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.Enumeration;
-import java.net.URL;
-import java.net.MalformedURLException;
-
-/**
- * Simple GLSL Shader test program
- */
-public class SphereGLSL extends Applet {
-
- // Constants for type of light to use
- private static final int DIRECTIONAL_LIGHT = 0;
- private static final int POINT_LIGHT = 1;
- private static final int SPOT_LIGHT = 2;
-
- // Flag indicates type of lights: directional, point, or spot
- // lights. This flag is set based on command line argument
- private static int lightType = DIRECTIONAL_LIGHT;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(SimpleUniverse u) {
- Color3f eColor = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f sColor = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f objColor = new Color3f(0.6f, 0.6f, 0.6f);
- Color3f lColor1 = new Color3f(1.0f, 0.0f, 0.0f);
- Color3f lColor2 = new Color3f(0.0f, 1.0f, 0.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
-
- Transform3D t;
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objScale.addChild(bg);
-
- // Create a Sphere object, generate one copy of the sphere,
- // and add it into the scene graph.
- ShaderAppearance a = new ShaderAppearance();
- Material m = new Material(objColor, eColor, objColor, sColor, 100.0f);
- m.setLightingEnable(true);
- String vertexProgram = null;
- String fragmentProgram = null;
- try {
- vertexProgram = StringIO.readFully("./simple.vert");
- fragmentProgram = StringIO.readFully("./simple.frag");
- }
- catch (IOException e) {
- throw new RuntimeException(e);
- }
- Shader[] shaders = new Shader[2];
- shaders[0] = new SourceCodeShader(Shader.SHADING_LANGUAGE_GLSL,
- Shader.SHADER_TYPE_VERTEX,
- vertexProgram);
- shaders[1] = new SourceCodeShader(Shader.SHADING_LANGUAGE_GLSL,
- Shader.SHADER_TYPE_FRAGMENT,
- fragmentProgram);
- ShaderProgram shaderProgram = new GLSLShaderProgram();
- shaderProgram.setShaders(shaders);
-
- a.setShaderProgram(shaderProgram);
- a.setMaterial(m);
- Sphere sph = new Sphere(1.0f, Sphere.GENERATE_NORMALS, 200, a);
- objScale.addChild(sph);
-
- // Create the transform group node for the each light and initialize
- // it to the identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add them to the root
- // of the subgraph.
- TransformGroup l1RotTrans = new TransformGroup();
- l1RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(l1RotTrans);
-
- TransformGroup l2RotTrans = new TransformGroup();
- l2RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(l2RotTrans);
-
- // Create transformations for the positional lights
- t = new Transform3D();
- Vector3d lPos1 = new Vector3d(0.0, 0.0, 2.0);
- t.set(lPos1);
- TransformGroup l1Trans = new TransformGroup(t);
- l1RotTrans.addChild(l1Trans);
-
- t = new Transform3D();
- Vector3d lPos2 = new Vector3d(0.5, 0.8, 2.0);
- t.set(lPos2);
- TransformGroup l2Trans = new TransformGroup(t);
- l2RotTrans.addChild(l2Trans);
-
- // Create Geometry for point lights
- ColoringAttributes caL1 = new ColoringAttributes();
- ColoringAttributes caL2 = new ColoringAttributes();
- caL1.setColor(lColor1);
- caL2.setColor(lColor2);
- Appearance appL1 = new Appearance();
- Appearance appL2 = new Appearance();
- appL1.setColoringAttributes(caL1);
- appL2.setColoringAttributes(caL2);
- l1Trans.addChild(new Sphere(0.05f, appL1));
- l2Trans.addChild(new Sphere(0.05f, appL2));
-
- // Create lights
- AmbientLight aLgt = new AmbientLight(alColor);
-
- Light lgt1 = null;
- Light lgt2 = null;
-
- Point3f lPoint = new Point3f(0.0f, 0.0f, 0.0f);
- Point3f atten = new Point3f(1.0f, 0.0f, 0.0f);
- Vector3f lDirect1 = new Vector3f(lPos1);
- Vector3f lDirect2 = new Vector3f(lPos2);
- lDirect1.negate();
- lDirect2.negate();
-
- switch (lightType) {
- case DIRECTIONAL_LIGHT:
- lgt1 = new DirectionalLight(lColor1, lDirect1);
- lgt2 = new DirectionalLight(lColor2, lDirect2);
- break;
- case POINT_LIGHT:
- lgt1 = new PointLight(lColor1, lPoint, atten);
- lgt2 = new PointLight(lColor2, lPoint, atten);
- break;
- case SPOT_LIGHT:
- lgt1 = new SpotLight(lColor1, lPoint, atten, lDirect1,
- 25.0f * (float)Math.PI / 180.0f, 10.0f);
- lgt2 = new SpotLight(lColor2, lPoint, atten, lDirect2,
- 25.0f * (float)Math.PI / 180.0f, 10.0f);
- break;
- }
-
- // Set the influencing bounds
- aLgt.setInfluencingBounds(bounds);
- lgt1.setInfluencingBounds(bounds);
- lgt2.setInfluencingBounds(bounds);
-
- // Add the lights into the scene graph
- objScale.addChild(aLgt);
- l1Trans.addChild(lgt1);
- l2Trans.addChild(lgt2);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotor1Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator1 =
- new RotationInterpolator(rotor1Alpha,
- l1RotTrans,
- yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator1.setSchedulingBounds(bounds);
- l1RotTrans.addChild(rotator1);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- Alpha rotor2Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 1000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator2 =
- new RotationInterpolator(rotor2Alpha,
- l2RotTrans,
- yAxis,
- 0.0f, 0.0f);
- bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator2.setSchedulingBounds(bounds);
- l2RotTrans.addChild(rotator2);
-
- // Create a position interpolator and attach it to the view
- // platform
- TransformGroup vpTrans =
- u.getViewingPlatform().getViewPlatformTransform();
- Transform3D axisOfTranslation = new Transform3D();
- Alpha transAlpha = new Alpha(-1,
- Alpha.INCREASING_ENABLE |
- Alpha.DECREASING_ENABLE,
- 0, 0,
- 5000, 0, 0,
- 5000, 0, 0);
- axisOfTranslation.rotY(-Math.PI/2.0);
- PositionInterpolator translator =
- new PositionInterpolator(transAlpha,
- vpTrans,
- axisOfTranslation,
- 2.0f, 3.5f);
- translator.setSchedulingBounds(bounds);
- objScale.addChild(translator);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public SphereGLSL() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- u = new SimpleUniverse(c);
- BranchGroup scene = createSceneGraph(u);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- /*
- // Limit the frame rate to 100 Hz
- u.getViewer().getView().setMinimumFrameCycleTime(10);
- */
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows SphereGLSL to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- // Parse the Input Arguments
- String usage = "Usage: java SphereGLSL [-point | -spot | -dir]";
- for (int i = 0; i < args.length; i++) {
- if (args[i].startsWith("-")) {
- if (args[i].equals("-point")) {
- /*
- System.out.println("Using point lights");
- lightType = POINT_LIGHT;
- */
- System.out.println("Point lights not yet implemented, option ignored");
- }
- else if (args[i].equals("-spot")) {
- /*
- System.out.println("Using spot lights");
- lightType = SPOT_LIGHT;
- */
- System.out.println("Spot lights not yet implemented, option ignored");
- }
- else if (args[i].equals("-dir")) {
- System.out.println("Using directional lights");
- lightType = DIRECTIONAL_LIGHT;
- }
- else {
- System.out.println(usage);
- System.exit(0);
- }
- }
- else {
- System.out.println(usage);
- System.exit(0);
- }
- }
-
- new MainFrame(new SphereGLSL(), 700, 700);
- }
-}
diff --git a/src/GLSLShaderTest/aabrick.frag b/src/GLSLShaderTest/aabrick.frag
deleted file mode 100644
index 7c9aab8..0000000
--- a/src/GLSLShaderTest/aabrick.frag
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// Fragment shader for antialiased procedural bricks
-//
-// Authors: Dave Baldwin, Randi Rost
-// based on a shader by Darwyn Peachey
-//
-// Copyright (c) 2002-2004 3Dlabs Inc. Ltd.
-//
-// See 3Dlabs-License.txt for license information
-//
-
-uniform vec3 BrickColor;
-//uniform vec3 MortarColor;
-//uniform vec2 BrickSize;
-//uniform vec2 BrickPct;
-//uniform vec2 MortarPct;
-
-//const vec3 BrickColor = vec3 (1, 0.3, 0.2);
-const vec3 MortarColor = vec3 (0.85, 0.86, 0.84);
-const vec2 BrickSize = vec2 (0.3, 0.15);
-const vec2 BrickPct = vec2 (0.9, 0.85);
-const vec2 MortarPct = vec2 (0.1, 0.15);
-
-varying vec2 MCposition;
-varying float LightIntensity;
-
-#define Integral(x, p, notp) ((floor(x)*(p)) + max(fract(x)-(notp), 0.0))
-
-void main(void)
-{
- vec2 position, fw, useBrick;
- vec3 color;
-
- // Determine position within the brick pattern
- position = MCposition / BrickSize;
-
- // Adjust every other row by an offset of half a brick
- if (fract(position.y * 0.5) > 0.5)
- position.x += 0.5;
-
- // Calculate filter size
- //fw = fwidth(position); //fwidth not implemented on WildcatVP
- fw = (abs(dFdx(MCposition)) + abs(dFdy(MCposition))) / BrickSize;
-
- // Perform filtering by integrating the 2D pulse made by the
- // brick pattern over the filter width and height
- useBrick = (Integral(position + fw, BrickPct, MortarPct) -
- Integral(position, BrickPct, MortarPct)) / fw;
-
- // Determine final color
- color = mix(MortarColor, BrickColor, useBrick.x * useBrick.y);
- color *= LightIntensity;
-
- gl_FragColor = vec4 (color, 1.0);
-}
diff --git a/src/GLSLShaderTest/aabrick.vert b/src/GLSLShaderTest/aabrick.vert
deleted file mode 100644
index 226dbe4..0000000
--- a/src/GLSLShaderTest/aabrick.vert
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// Vertex shader for antialiased procedural bricks
-//
-// Authors: Dave Baldwin, Steve Koren, Randi Rost
-// based on a shader by Darwyn Peachey
-//
-// Copyright (c) 2002-2004 3Dlabs Inc. Ltd.
-//
-// See 3Dlabs-License.txt for license information
-//
-
-uniform vec3 LightPosition;
-//const vec3 LightPosition = vec3 (0, 4, 4);
-
-const float SpecularContribution = 0.3;
-const float DiffuseContribution = 1.0 - SpecularContribution;
-
-varying float LightIntensity;
-varying vec2 MCposition;
-
-void main(void)
-{
- vec3 ecPosition = vec3 (gl_ModelViewMatrix * gl_Vertex);
- vec3 tnorm = normalize(gl_NormalMatrix * gl_Normal);
- vec3 lightVec = normalize(LightPosition - ecPosition);
- vec3 reflectVec = reflect(-lightVec, tnorm);
- vec3 viewVec = normalize(-ecPosition);
- float diffuse = max(dot(lightVec, tnorm), 0.0);
- float spec = 0.0;
-
- if (diffuse > 0.0)
- {
- spec = max(dot(reflectVec, viewVec), 0.0);
- spec = pow(spec, 16.0);
- }
-
- LightIntensity = DiffuseContribution * diffuse +
- SpecularContribution * spec;
-
- MCposition = gl_Vertex.xy;
- gl_Position = ftransform();
-}
diff --git a/src/GLSLShaderTest/build.xml b/src/GLSLShaderTest/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/GLSLShaderTest/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/GLSLShaderTest/dimple.frag b/src/GLSLShaderTest/dimple.frag
deleted file mode 100644
index 282add7..0000000
--- a/src/GLSLShaderTest/dimple.frag
+++ /dev/null
@@ -1,61 +0,0 @@
-
-//
-// dimple.frag: Fragment shader for bump mapping dimples (bumps)
-//
-// author: John Kessenich
-//
-// Copyright (c) 2002: 3Dlabs, Inc.
-//
-//
-varying vec3 LightDir;
-varying vec3 EyeDir;
-varying vec3 Normal;
-
-//const vec3 Color = vec3(0.7, 0.6, 0.18);
-
-//const float Density = 16.0;
-//const float Size = 0.25;
-
-uniform vec3 Color;
-uniform float Density;
-uniform float Size;
-// uniform float SpecularFactor;
-
-//float Density = 27.6;
-//float Size = 0.13025;
-
-
-//uniform float Scale;
-
-const float SpecularFactor = 0.4;
-
-void main (void)
-{
- vec3 litColor;
-
- vec2 c = Density * (gl_TexCoord[0].xy);
- vec2 p = fract(c) - vec2(0.5);
- float d = (p.x * p.x) + (p.y * p.y);
- if (d >= Size)
- p = vec2(0.0);
-
- vec3 normDelta = vec3(-p.x, -p.y, 1.0);
-
- litColor = Color * max(0.0, dot(normDelta, LightDir));
-
- float t = 2.0 * dot(LightDir, normDelta);
- vec3 reflectDir = t * normDelta;
- reflectDir = LightDir - reflectDir;
-
-// vec3 reflectDir = LightDir - 2.0 * dot(LightDir, normDelta) * normDelta;
-
- float spec = max(dot(EyeDir, reflectDir), 0.0);
- spec = spec * spec;
- spec = spec * spec;
- spec *= SpecularFactor;
-
- litColor = min(litColor + spec, vec3(1.0));
- gl_FragColor = vec4(litColor, gl_Color.a);
-// gl_FragColor = vec4(litColor, 1.0);
-// gl_FragColor = vec4(Scale);
-}
diff --git a/src/GLSLShaderTest/dimple.vert b/src/GLSLShaderTest/dimple.vert
deleted file mode 100644
index e45796b..0000000
--- a/src/GLSLShaderTest/dimple.vert
+++ /dev/null
@@ -1,42 +0,0 @@
-
-//
-// dimple.vert: Vertex shader for bump mapping dimples (bumps)
-//
-// author: John Kessenich
-//
-// Copyright (c) 2002: 3Dlabs, Inc.
-//
-
-varying vec3 LightDir;
-varying vec3 EyeDir;
-varying vec3 Normal;
-
-uniform vec3 LightPosition;
-// uniform float Scale;
-// vec3 LightPosition = vec3(0.0, 0.0, 5.0);
-float Scale = 1.0;
-
-void main(void)
-{
- vec4 pos = gl_ModelViewMatrix * gl_Vertex;
- gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
- vec3 eyeDir = vec3(pos);
-// gl_TexCoord[0] = gl_MultiTexCoord0;
- gl_TexCoord[0] = gl_Vertex;
- gl_FrontColor = gl_Color;
-
- vec3 n = normalize(gl_NormalMatrix * gl_Normal);
- vec3 t = normalize(cross(vec3(1.141, 2.78, 3.14), n));
- vec3 b = cross(n, t);
-
- vec3 v;
- v.x = dot(LightPosition, t);
- v.y = dot(LightPosition, b);
- v.z = dot(LightPosition, n);
- LightDir = normalize(v);
-
- v.x = dot(eyeDir, t);
- v.y = dot(eyeDir, b);
- v.z = dot(eyeDir, n);
- EyeDir = normalize(v);
-}
diff --git a/src/GLSLShaderTest/gouraud.frag b/src/GLSLShaderTest/gouraud.frag
deleted file mode 100644
index 951ee8e..0000000
--- a/src/GLSLShaderTest/gouraud.frag
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-// Simple GLSL fragment program to add the primary and secondary (specular) colors
-
-void main()
-{
- gl_FragColor = gl_Color + gl_SecondaryColor;
-}
diff --git a/src/GLSLShaderTest/gouraud.vert b/src/GLSLShaderTest/gouraud.vert
deleted file mode 100644
index fd49c18..0000000
--- a/src/GLSLShaderTest/gouraud.vert
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-// A GLSL vertex program for handling 1 directional light with specular.
-// This implements per-vertex lighting (Gouraud shading).
-
-void directionalLight0(
- in vec3 normal,
- inout vec4 ambient,
- inout vec4 diffuse,
- inout vec4 specular)
-{
- // Normalized light direction and half vector
- vec3 lightDirection = normalize(vec3(gl_LightSource[0].position));
- vec3 halfVector = normalize(vec3(gl_LightSource[0].halfVector));
-
- float nDotVP; // normal . light_direction
- float nDotHV; // normal . light_half_vector
- float pf; // power factor
-
- nDotVP = max(0.0, dot(normal, lightDirection));
- nDotHV = max(0.0, dot(normal, halfVector));
-
- if (nDotVP == 0.0) {
- pf = 0.0;
- }
- else {
- pf = pow(nDotHV, gl_FrontMaterial.shininess);
- }
-
- ambient += gl_LightSource[0].ambient;
- diffuse += gl_LightSource[0].diffuse * nDotVP;
- specular += gl_LightSource[0].specular * pf;
-}
-
-
-void main()
-{
- vec3 tnorm = normalize(vec3(gl_NormalMatrix * gl_Normal));
- vec4 amb = vec4(0.0);
- vec4 diff = vec4(0.0);
- vec4 spec = vec4(0.0);
- int i;
-
- // Transform the vertex
- vec4 outPosition = gl_ModelViewProjectionMatrix * gl_Vertex;
-
- directionalLight0(tnorm, amb, diff, spec);
-
- // Apply the result of the lighting equation
- vec4 outSecondaryColor = vec4(vec3(spec * gl_FrontMaterial.specular), 1.0);
- vec4 outColor = vec4(vec3(gl_FrontLightModelProduct.sceneColor +
- amb * gl_FrontMaterial.ambient +
- diff * gl_FrontMaterial.diffuse), 1.0);
-
- gl_FrontColor = outColor;
- gl_FrontSecondaryColor = outSecondaryColor;
- gl_Position = outPosition;
-}
diff --git a/src/GLSLShaderTest/phong.frag b/src/GLSLShaderTest/phong.frag
deleted file mode 100644
index 41de179..0000000
--- a/src/GLSLShaderTest/phong.frag
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-// A GLSL fragment program for handling 1 directional light with specular.
-// This implements per-pixel lighting (Phong shading)
-
-void directionalLight0(
- in vec3 normal,
- inout vec4 ambient,
- inout vec4 diffuse,
- inout vec4 specular)
-{
- // Normalized light direction and half vector
- vec3 lightDirection = normalize(vec3(gl_LightSource[0].position));
- vec3 halfVector = normalize(vec3(gl_LightSource[0].halfVector));
-
- float nDotVP; // normal . light_direction
- float nDotHV; // normal . light_half_vector
- float pf; // power factor
-
- nDotVP = max(0.0, dot(normal, lightDirection));
- nDotHV = max(0.0, dot(normal, halfVector));
-
- if (nDotVP == 0.0) {
- pf = 0.0;
- }
- else {
- pf = pow(nDotHV, gl_FrontMaterial.shininess);
- }
-
- ambient += gl_LightSource[0].ambient;
- diffuse += gl_LightSource[0].diffuse * nDotVP;
- specular += gl_LightSource[0].specular * pf;
-}
-
-
-// Per-pixel normal (input from vertex shader)
-varying vec3 Normal;
-
-void main()
-{
- vec3 unitNorm = normalize(Normal);
- vec4 amb = vec4(0.0);
- vec4 diff = vec4(0.0);
- vec4 spec = vec4(0.0);
- int i;
-
- directionalLight0(unitNorm, amb, diff, spec);
-
- // Apply the result of the lighting equation
- vec4 secondaryColor = vec4(vec3(spec * gl_FrontMaterial.specular), 1.0);
- vec4 color = vec4(vec3(gl_FrontLightModelProduct.sceneColor +
- amb * gl_FrontMaterial.ambient +
- diff * gl_FrontMaterial.diffuse), 1.0);
-
- gl_FragColor = color + secondaryColor;
-}
diff --git a/src/GLSLShaderTest/phong.vert b/src/GLSLShaderTest/phong.vert
deleted file mode 100644
index 9a67c8b..0000000
--- a/src/GLSLShaderTest/phong.vert
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-// A GLSL vertex program for doing Phone shading (per-fragment lighting)
-
-// Per-pixel normal (output to fragment shader)
-varying vec3 Normal;
-
-void main()
-{
- Normal = normalize(vec3(gl_NormalMatrix * gl_Normal));
-
- // Transform the vertex
- gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
-}
diff --git a/src/GLSLShaderTest/polkadot3d.frag b/src/GLSLShaderTest/polkadot3d.frag
deleted file mode 100644
index b341454..0000000
--- a/src/GLSLShaderTest/polkadot3d.frag
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// Fragment shader for 3 dimensional polka dot shader.
-//
-// Author: Joshua Doss
-//
-// Copyright (C) 2002-2004 3Dlabs Inc. Ltd.
-//
-// See 3Dlabs-License.txt for license information
-//
-varying float LightIntensity;
-varying vec3 MCPosition;
-
-//Create uniform variables so dots can be spaced and scaled by user
-//uniform vec3 Spacing;
-//uniform float DotSize;
-const vec3 Spacing = vec3 (0.314, 0.36, 0.261);
-const float DotSize = 0.123;
-
-//Create colors as uniform variables so they can be easily changed
-//uniform vec3 ModelColor, PolkaDotColor;
-const vec3 ModelColor = vec3 (0.75, 0.2, 0.1);
-const vec3 PolkaDotColor = vec3 (1, 1, 1);
-
-void main(void)
-{
- float insidesphere, sphereradius, scaledpointlength;
- vec3 scaledpoint, finalcolor;
-
- // Scale the coordinate system
- // The following line of code is not yet implemented in current drivers:
- // mcpos = mod(Spacing, MCposition);
- // We will use a workaround found below for now
- scaledpoint = MCPosition - (Spacing * floor(MCPosition/Spacing));
-
- // Bring the scaledpoint vector into the center of the scaled coordinate system
- scaledpoint = scaledpoint - Spacing/2.0;
-
- // Find the length of the scaledpoint vector and compare it to the dotsize
- scaledpointlength = length(scaledpoint);
- insidesphere = step(scaledpointlength,DotSize);
-
- // Determine final output color before lighting
- finalcolor = vec3(mix(ModelColor, PolkaDotColor, insidesphere));
-
- // Output final color and factor in lighting
- gl_FragColor = clamp((vec4( finalcolor, 1.0 ) * LightIntensity), vec4(0.0), vec4(1.0));
-}
-
diff --git a/src/GLSLShaderTest/polkadot3d.vert b/src/GLSLShaderTest/polkadot3d.vert
deleted file mode 100644
index 86f432f..0000000
--- a/src/GLSLShaderTest/polkadot3d.vert
+++ /dev/null
@@ -1,58 +0,0 @@
-// This is the Vertex Shader for three dimensional polka dots.
-//
-// author(s): Joshua Doss
-//
-// Copyright (C) 2002-2004 3Dlabs Inc. Ltd.
-
-//Create uniform variables for lighting to allow user interaction
-//uniform float SpecularContribution;
-//uniform vec3 LightPosition;
-
-const float SpecularContribution = 0.36;
-const vec3 LightPosition = vec3 (0, 4, 5);
-
-varying vec3 MCPosition;
-varying float LightIntensity;
-
-void main(void)
-{
- float diffusecontribution = 1.0 - SpecularContribution;
-
- // compute the vertex position in eye coordinates
- vec3 ecPosition = vec3(gl_ModelViewMatrix * gl_Vertex);
-
- // compute the transformed normal
- vec3 tnorm = normalize(gl_NormalMatrix * gl_Normal);
-
- // compute a vector from the model to the light position
- vec3 lightVec = normalize(LightPosition - ecPosition);
-
- // compute the reflection vector
- vec3 reflectVec = reflect(-lightVec, tnorm);
-
- // compute a unit vector in direction of viewing position
- vec3 viewVec = normalize(-ecPosition);
-
- // calculate amount of diffuse light based on normal and light angle
- float diffuse = max(dot(lightVec, tnorm), 0.0);
- float spec = 0.0;
-
- // if there is diffuse lighting, calculate specular
- if(diffuse > 0.0)
- {
- spec = max(dot(reflectVec, viewVec), 0.0);
- spec = pow(spec, 16.0);
- }
-
- // add up the light sources, since this is a varying (global) it will pass to frag shader
- LightIntensity = diffusecontribution * diffuse * 1.5 +
- SpecularContribution * spec;
-
- // the varying variable MCPosition will be used by the fragment shader to determine where
- // in model space the current pixel is
- MCPosition = vec3 (gl_Vertex);
-
- // send vertex information
- gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
-}
-
diff --git a/src/GLSLShaderTest/simple.frag b/src/GLSLShaderTest/simple.frag
deleted file mode 100644
index 6542b34..0000000
--- a/src/GLSLShaderTest/simple.frag
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-// Simple GLSL fragment program to attenuate the input fragment color as a
-// function of the distance of the fragment position from the center
-// of the window
-
-const float windowSize = 700.0; // TODO: this should be a built-in parameter!
-
-void main()
-{
- // Compute distance from center in range [0.0, 1.0]
- vec2 dist = min(abs((gl_FragCoord.xy - (windowSize)/2.0) / windowSize), 1.0);
- vec2 invDist = 1.0 - dist;
-
- // Compute attenuation
- float atten = invDist.x * invDist.y;
- vec4 outcolor = (gl_Color + gl_SecondaryColor) * atten;
-
- gl_FragColor = outcolor;
-}
diff --git a/src/GLSLShaderTest/simple.vert b/src/GLSLShaderTest/simple.vert
deleted file mode 100644
index 7d3e152..0000000
--- a/src/GLSLShaderTest/simple.vert
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-// A simple GLSL vertex program for handling 2 directional lights with
-// separate specular
-
-void directionalLight(
- in int i,
- in vec3 normal,
- inout vec4 ambient,
- inout vec4 diffuse,
- inout vec4 specular)
-{
- // Normalized light direction and half vector
- // (shouldn't they be pre-normalized?!)
- vec3 lightDirection = normalize(vec3(gl_LightSource[i].position));
- vec3 halfVector = normalize(vec3(gl_LightSource[i].halfVector));
-
- float nDotVP; // normal . light_direction
- float nDotHV; // normal . light_half_vector
- float pf; // power factor
-
- nDotVP = max(0.0, dot(normal, lightDirection));
- nDotHV = max(0.0, dot(normal, halfVector));
-
- if (nDotVP == 0.0) {
- pf = 0.0;
- }
- else {
- pf = pow(nDotHV, gl_FrontMaterial.shininess);
- }
-
- ambient += gl_LightSource[i].ambient;
- diffuse += gl_LightSource[i].diffuse * nDotVP;
- specular += gl_LightSource[i].specular * pf;
-}
-
-
-const int numEnabledLights = 2; // TODO: this should be a built-in parameter!
-
-void main()
-{
- //vec4 ecPosition = gl_ModelViewMatrix * gl_Vertex;
- //vec3 ecPosition3 = ecPosition.xyz / ecPosition.w;
- vec3 tnorm = normalize(vec3(gl_NormalMatrix * gl_Normal));
- vec4 amb = vec4(0.0);
- vec4 diff = vec4(0.0);
- vec4 spec = vec4(0.0);
- int i;
-
- // Transform the vertex
- vec4 outPosition = gl_ModelViewProjectionMatrix * gl_Vertex;
-
- for (i = 0; i < numEnabledLights; i++) {
- directionalLight(i, tnorm, amb, diff, spec);
- }
-
- // Apply the result of the lighting equation
- vec4 outSecondaryColor = vec4(vec3(spec * gl_FrontMaterial.specular), 1.0);
- vec3 color0 = vec3(gl_FrontLightModelProduct.sceneColor +
- amb * gl_FrontMaterial.ambient +
- diff * gl_FrontMaterial.diffuse);
-
- // Generate a pseudo-random noise pattern
- vec3 xyz = clamp((outPosition.xyz + 1.0) * 0.5, 0.0, 1.0);
-
- xyz = fract(xyz * 262144.0);
- float randSeed = fract(3.0 * xyz.x + 5.0 * xyz.y + 7.0 * xyz.z);
-
- vec3 altColor;
-
- randSeed = fract(37.0 * randSeed);
- altColor.x = randSeed * 0.5 + 0.5;
- randSeed = fract(37.0 * randSeed);
- altColor.y = randSeed * 0.5 + 0.5;
- randSeed = fract(37.0 * randSeed);
- altColor.z = randSeed * 0.5 + 0.5;
- randSeed = fract(37.0 * randSeed);
- float altAlpha = randSeed * 0.5;
-
- // Apply noise and output final vertex color
- vec4 outColor;
- outColor = vec4(mix(color0, altColor, altAlpha), 1.0);
-
- gl_FrontColor = outColor;
- gl_FrontSecondaryColor = outSecondaryColor;
- gl_Position = outPosition;
-}
diff --git a/src/GLSLShaderTest/toon.frag b/src/GLSLShaderTest/toon.frag
deleted file mode 100644
index fa50453..0000000
--- a/src/GLSLShaderTest/toon.frag
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// Fragment shader for cartoon-style shading
-//
-// Author: Philip Rideout
-//
-// Copyright (c) 2004 3Dlabs Inc. Ltd.
-//
-// See 3Dlabs-License.txt for license information
-//
-
-//uniform vec3 DiffuseColor;
-//uniform vec3 PhongColor;
-//uniform float Edge;
-//uniform float Phong;
-
-vec3 DiffuseColor = vec3(0.5,0.5,1.0);
-vec3 PhongColor = vec3(0.75,0.75,1.0);
-float Edge = 0.64;
-float Phong = 0.90;
-
-varying vec3 Normal;
-varying vec3 LightDir;
-
-void main (void)
-{
- vec3 color = DiffuseColor;
- float f = max( 0.0, dot(LightDir,Normal));
- if (abs(f) < Edge)
- color = DiffuseColor * 0.2;
- if (f > Phong)
- color = PhongColor;
-
- gl_FragColor = vec4(color, 1);
-}
diff --git a/src/GLSLShaderTest/toon.vert b/src/GLSLShaderTest/toon.vert
deleted file mode 100644
index d044af7..0000000
--- a/src/GLSLShaderTest/toon.vert
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// Vertex shader for cartoon-style shading
-//
-// Author: Philip Rideout
-//
-// Copyright (c) 2004 3Dlabs Inc. Ltd.
-//
-// See 3Dlabs-License.txt for license information
-//
-
-varying vec3 Normal;
-varying vec3 LightDir;
-
-void main(void)
-{
- Normal = normalize(gl_NormalMatrix * gl_Normal);
- gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
- LightDir = vec3(normalize(gl_LightSource[0].position));
-}
diff --git a/src/GLSLShaderTest/wood.frag b/src/GLSLShaderTest/wood.frag
deleted file mode 100644
index eecf91f..0000000
--- a/src/GLSLShaderTest/wood.frag
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// Simple fragment shader for wood
-//
-// Author: John Kessenich
-//
-// Copyright (c) 2002-2004 3Dlabs Inc. Ltd.
-//
-// See 3Dlabs-License.txt for license information
-//
-
-//uniform float GrainSizeRecip;
-//uniform vec3 DarkColor;
-//uniform vec3 spread;
-const float GrainSizeRecip = 1.0;
-const vec3 DarkColor = vec3 (0.6, 0.3, 0.1);
-const vec3 spread = vec3 (0.15, 0.075, 0.0);
-
-varying float lightIntensity;
-varying vec3 Position;
-
-void main (void)
-{
- //
- // cheap noise
- //
- vec3 location = Position;
- vec3 floorvec = vec3(floor(10.0 * Position.x), 0.0, floor(10.0 * Position.z));
- vec3 noise = Position * 10.0 - floorvec - 0.5;
- noise *= noise;
- location += noise * 0.12;
-
- //
- // distance from axis
- //
- float dist = location.x * location.x + location.z * location.z;
- float grain = dist * GrainSizeRecip;
-
- //
- // grain effects as function of distance
- //
- float brightness = fract(grain);
- if (brightness > 0.5)
- brightness = (1.0 - brightness);
- vec3 color = DarkColor + brightness * spread;
-
- brightness = fract(grain * 7.0);
- if (brightness > 0.5)
- brightness = 1.0 - brightness;
- color -= brightness * spread;
-
- //
- // also as a function of lines parallel to the axis
- //
- brightness = fract(grain * 47.0) * 0.60;
- float line = fract(Position.z + Position.x);
- float snap = floor(line * 20.0) * (1.0/20.0);
- if (line < snap + 0.006)
- color -= brightness * spread;
-
- //
- // apply lighting effects from vertex processor
- //
- color = clamp(color * lightIntensity, 0.0, 1.0);
-
- gl_FragColor = vec4(color, 1.0);
-}
diff --git a/src/GLSLShaderTest/wood.vert b/src/GLSLShaderTest/wood.vert
deleted file mode 100644
index 84651aa..0000000
--- a/src/GLSLShaderTest/wood.vert
+++ /dev/null
@@ -1,25 +0,0 @@
-//
-// Simple vertex shader for wood
-//
-// Author: John Kessenich
-//
-// Copyright (c) 2002-2004 3Dlabs Inc. Ltd.
-//
-// See 3Dlabs-License.txt for license information
-//
-
-varying float lightIntensity;
-varying vec3 Position;
-//uniform vec3 LightPosition;
-//uniform float Scale;
-const vec3 LightPosition = vec3 (0.0,0.0,0.4);
-const float Scale = 1.0;
-
-void main(void)
-{
- vec4 pos = gl_ModelViewMatrix * gl_Vertex;
- Position = vec3(gl_Vertex) * Scale;
- vec3 tnorm = normalize(gl_NormalMatrix * gl_Normal);
- lightIntensity = max(dot(normalize(LightPosition - vec3(pos)), tnorm), 0.0) * 1.5;
- gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
-}
diff --git a/src/GearTest/Gear.java b/src/GearTest/Gear.java
deleted file mode 100644
index 3a96325..0000000
--- a/src/GearTest/Gear.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.lang.Math.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Gear extends javax.media.j3d.TransformGroup {
-
- // Specifiers determining whether to generate outward facing normals or
- // inward facing normals.
- static final int OutwardNormals = 1;
- static final int InwardNormals = -1;
-
- // The number of teeth in the gear
- int toothCount;
-
- // Gear start differential angle. All gears are constructed with the
- // center of a tooth at Z-axis angle = 0.
- double gearStartAngle;
- // The Z-rotation angle to place the tooth center at theta = 0
- float toothTopCenterAngle;
- // The Z-rotation angle to place the valley center at theta = 0
- float valleyCenterAngle;
- // The angle about Z subtended by one tooth and its associated valley
- float circularPitchAngle;
-
- // Increment angles
- float toothValleyAngleIncrement;
-
- // Front and rear facing normals for the gear's body
- final Vector3f frontNormal = new Vector3f(0.0f, 0.0f, -1.0f);
- final Vector3f rearNormal = new Vector3f(0.0f, 0.0f, 1.0f);
-
-
- Gear(int toothCount) {
- this.toothCount = toothCount;
- }
-
- void addBodyDisks(float shaftRadius, float bodyOuterRadius,
- float thickness, Appearance look) {
- int gearBodySegmentVertexCount; // #(segments) per tooth-unit
- int gearBodyTotalVertexCount; // #(vertices) in a gear face
- int gearBodyStripCount[] = new int[1]; // per strip (1) vertex count
-
- // A ray from the gear center, used in normal calculations
- float xDirection, yDirection;
-
- // The x and y coordinates at each point of a facet and at each
- // point on the gear: at the shaft, the root of the teeth, and
- // the outer point of the teeth
- float xRoot0, yRoot0, xShaft0, yShaft0;
- float xRoot3, yRoot3, xShaft3, yShaft3;
- float xRoot4, yRoot4, xShaft4, yShaft4;
-
- // Temporary variables for storing coordinates and vectors
- Point3f coordinate = new Point3f(0.0f, 0.0f, 0.0f);
-
- // Gear start differential angle. All gears are constructed with the
- // center of a tooth at Z-axis angle = 0.
- double gearStartAngle = -1.0 * toothTopCenterAngle;
-
- // Temporaries that store start angle for each portion of tooth facet
- double toothStartAngle, toothTopStartAngle,
- toothDeclineStartAngle, toothValleyStartAngle,
- nextToothStartAngle;
-
- Shape3D newShape;
- int index;
-
- // The z coordinates for the body disks
- final float frontZ = -0.5f * thickness;
- final float rearZ = 0.5f * thickness;
-
- /* Construct the gear's front body (front facing torus disk)
- * __2__
- * - | - 4
- * - /| /-
- * / / | /| \
- * 0\ / | / / >
- * \ / | / | >
- * \ / | / / |
- * \ / ____|/ | >
- * \-- --__/ |
- * 1 3 5
- *
- */
- gearBodySegmentVertexCount = 4;
- gearBodyTotalVertexCount = 2 + gearBodySegmentVertexCount * toothCount;
- gearBodyStripCount[0] = gearBodyTotalVertexCount;
-
- TriangleStripArray frontGearBody
- = new TriangleStripArray(gearBodyTotalVertexCount,
- GeometryArray.COORDINATES
- | GeometryArray.NORMALS,
- gearBodyStripCount);
-
- xDirection = (float)Math.cos(gearStartAngle);
- yDirection = (float)Math.sin(gearStartAngle);
- xShaft0 = shaftRadius * xDirection;
- yShaft0 = shaftRadius * yDirection;
- xRoot0 = bodyOuterRadius * xDirection;
- yRoot0 = bodyOuterRadius * yDirection;
-
- coordinate.set(xRoot0, yRoot0, frontZ);
- frontGearBody.setCoordinate(0, coordinate);
- frontGearBody.setNormal(0, frontNormal);
-
- coordinate.set(xShaft0, yShaft0, frontZ);
- frontGearBody.setCoordinate(1, coordinate);
- frontGearBody.setNormal(1, frontNormal);
-
- for(int count = 0; count < toothCount; count++) {
- index = 2 + count * 4;
- toothStartAngle
- = gearStartAngle + circularPitchAngle * (double)count;
- toothValleyStartAngle
- = toothStartAngle + toothValleyAngleIncrement;
- nextToothStartAngle = toothStartAngle + circularPitchAngle;
-
- xDirection = (float)Math.cos(toothValleyStartAngle);
- yDirection = (float)Math.sin(toothValleyStartAngle);
- xShaft3 = shaftRadius * xDirection;
- yShaft3 = shaftRadius * yDirection;
- xRoot3 = bodyOuterRadius * xDirection;
- yRoot3 = bodyOuterRadius * yDirection;
-
- xDirection = (float)Math.cos(nextToothStartAngle);
- yDirection = (float)Math.sin(nextToothStartAngle);
- xShaft4 = shaftRadius * xDirection;
- yShaft4 = shaftRadius * yDirection;
- xRoot4 = bodyOuterRadius * xDirection;
- yRoot4 = bodyOuterRadius * yDirection;
-
- coordinate.set(xRoot3, yRoot3, frontZ);
- frontGearBody.setCoordinate(index, coordinate);
- frontGearBody.setNormal(index, frontNormal);
-
- coordinate.set(xShaft3, yShaft3, frontZ);
- frontGearBody.setCoordinate(index + 1, coordinate);
- frontGearBody.setNormal(index + 1, frontNormal);
-
- coordinate.set(xRoot4, yRoot4, frontZ);
- frontGearBody.setCoordinate(index + 2, coordinate);
- frontGearBody.setNormal(index + 2, frontNormal);
-
- coordinate.set(xShaft4, yShaft4, frontZ);
- frontGearBody.setCoordinate(index + 3, coordinate);
- frontGearBody.setNormal(index + 3, frontNormal);
- }
- newShape = new Shape3D(frontGearBody, look);
- this.addChild(newShape);
-
- // Construct the gear's rear body (rear facing torus disc)
- TriangleStripArray rearGearBody
- = new TriangleStripArray(gearBodyTotalVertexCount,
- GeometryArray.COORDINATES
- | GeometryArray.NORMALS,
- gearBodyStripCount);
- xDirection = (float)Math.cos(gearStartAngle);
- yDirection = (float)Math.sin(gearStartAngle);
- xShaft0 = shaftRadius * xDirection;
- yShaft0 = shaftRadius * yDirection;
- xRoot0 = bodyOuterRadius * xDirection;
- yRoot0 = bodyOuterRadius * yDirection;
-
- coordinate.set(xShaft0, yShaft0, rearZ);
- rearGearBody.setCoordinate(0, coordinate);
- rearGearBody.setNormal(0, rearNormal);
-
- coordinate.set(xRoot0, yRoot0, rearZ);
- rearGearBody.setCoordinate(1, coordinate);
- rearGearBody.setNormal(1, rearNormal);
-
- for(int count = 0; count < toothCount; count++) {
- index = 2 + count * 4;
- toothStartAngle
- = gearStartAngle + circularPitchAngle * (double)count;
- toothValleyStartAngle
- = toothStartAngle + toothValleyAngleIncrement;
- nextToothStartAngle = toothStartAngle + circularPitchAngle;
-
- xDirection = (float)Math.cos(toothValleyStartAngle);
- yDirection = (float)Math.sin(toothValleyStartAngle);
- xShaft3 = shaftRadius * xDirection;
- yShaft3 = shaftRadius * yDirection;
- xRoot3 = bodyOuterRadius * xDirection;
- yRoot3 = bodyOuterRadius * yDirection;
-
- xDirection = (float)Math.cos(nextToothStartAngle);
- yDirection = (float)Math.sin(nextToothStartAngle);
- xShaft4 = shaftRadius * xDirection;
- yShaft4 = shaftRadius * yDirection;
- xRoot4 = bodyOuterRadius * xDirection;
- yRoot4 = bodyOuterRadius * yDirection;
-
- coordinate.set(xShaft3, yShaft3, rearZ);
- rearGearBody.setCoordinate(index, coordinate);
- rearGearBody.setNormal(index, rearNormal);
-
- coordinate.set(xRoot3, yRoot3, rearZ);
- rearGearBody.setCoordinate(index + 1, coordinate);
- rearGearBody.setNormal(index + 1, rearNormal);
-
- coordinate.set(xShaft4, yShaft4, rearZ);
- rearGearBody.setCoordinate(index + 2, coordinate);
- rearGearBody.setNormal(index + 2, rearNormal);
-
- coordinate.set(xRoot4, yRoot4, rearZ);
- rearGearBody.setCoordinate(index + 3, coordinate);
- rearGearBody.setNormal(index + 3, rearNormal);
-
- }
- newShape = new Shape3D(rearGearBody, look);
- this.addChild(newShape);
- }
-
- void addCylinderSkins(float shaftRadius, float length,
- int normalDirection, Appearance look) {
- int insideShaftVertexCount; // #(vertices) for shaft
- int insideShaftStripCount[] = new int[1]; // #(vertices) in strip/strip
- double toothStartAngle, nextToothStartAngle, toothValleyStartAngle;
-
- // A ray from the gear center, used in normal calculations
- float xDirection, yDirection;
-
- // The z coordinates for the body disks
- final float frontZ = -0.5f * length;
- final float rearZ = 0.5f * length;
-
- // Temporary variables for storing coordinates, points, and vectors
- float xShaft3, yShaft3, xShaft4, yShaft4;
- Point3f coordinate = new Point3f(0.0f, 0.0f, 0.0f);
- Vector3f surfaceNormal = new Vector3f();
-
- Shape3D newShape;
- int index;
- int firstIndex;
- int secondIndex;
-
-
- /*
- * Construct gear's inside shaft cylinder
- * First the tooth's up, flat outer, and down distances
- * Second the tooth's flat inner distance
- *
- * Outward facing vertex order:
- * 0_______2____4
- * | /| /|
- * | / | / |
- * | / | / |
- * |/______|/___|
- * 1 3 5
- *
- * Inward facing vertex order:
- * 1_______3____5
- * |\ |\ |
- * | \ | \ |
- * | \ | \ |
- * |______\|___\|
- * 0 2 4
- */
- insideShaftVertexCount = 4 * toothCount + 2;
- insideShaftStripCount[0] = insideShaftVertexCount;
-
- TriangleStripArray insideShaft
- = new TriangleStripArray(insideShaftVertexCount,
- GeometryArray.COORDINATES
- | GeometryArray.NORMALS,
- insideShaftStripCount);
- xShaft3 = shaftRadius * (float)Math.cos(gearStartAngle);
- yShaft3 = shaftRadius * (float)Math.sin(gearStartAngle);
-
- if (normalDirection == OutwardNormals) {
- surfaceNormal.set(1.0f, 0.0f, 0.0f);
- firstIndex = 1;
- secondIndex = 0;
- } else {
- surfaceNormal.set(-1.0f, 0.0f, 0.0f);
- firstIndex = 0;
- secondIndex = 1;
- }
-
- // Coordinate labeled 0 in the strip
- coordinate.set(shaftRadius, 0.0f, frontZ);
- insideShaft.setCoordinate(firstIndex, coordinate);
- insideShaft.setNormal(firstIndex, surfaceNormal);
-
- // Coordinate labeled 1 in the strip
- coordinate.set(shaftRadius, 0.0f, rearZ);
- insideShaft.setCoordinate(secondIndex, coordinate);
- insideShaft.setNormal(secondIndex, surfaceNormal);
-
- for(int count = 0; count < toothCount; count++) {
- index = 2 + count * 4;
-
- toothStartAngle = circularPitchAngle * (double)count;
- toothValleyStartAngle
- = toothStartAngle + toothValleyAngleIncrement;
- nextToothStartAngle = toothStartAngle + circularPitchAngle;
-
- xDirection = (float)Math.cos(toothValleyStartAngle);
- yDirection = (float)Math.sin(toothValleyStartAngle);
- xShaft3 = shaftRadius * xDirection;
- yShaft3 = shaftRadius * yDirection;
- if (normalDirection == OutwardNormals)
- surfaceNormal.set(xDirection, yDirection, 0.0f);
- else
- surfaceNormal.set(-xDirection, -yDirection, 0.0f);
-
- // Coordinate labeled 2 in the strip
- coordinate.set(xShaft3, yShaft3, frontZ);
- insideShaft.setCoordinate(index + firstIndex, coordinate);
- insideShaft.setNormal(index + firstIndex, surfaceNormal);
-
- // Coordinate labeled 3 in the strip
- coordinate.set(xShaft3, yShaft3, rearZ);
- insideShaft.setCoordinate(index + secondIndex, coordinate);
- insideShaft.setNormal(index + secondIndex, surfaceNormal);
-
- xDirection = (float)Math.cos(nextToothStartAngle);
- yDirection = (float)Math.sin(nextToothStartAngle);
- xShaft4 = shaftRadius * xDirection;
- yShaft4 = shaftRadius * yDirection;
- if (normalDirection == OutwardNormals)
- surfaceNormal.set(xDirection, yDirection, 0.0f);
- else
- surfaceNormal.set(-xDirection, -yDirection, 0.0f);
-
- // Coordinate labeled 4 in the strip
- coordinate.set(xShaft4, yShaft4, frontZ);
- insideShaft.setCoordinate(index + 2 + firstIndex, coordinate);
- insideShaft.setNormal(index + 2 + firstIndex, surfaceNormal);
-
- // Coordinate labeled 5 in the strip
- coordinate.set(xShaft4, yShaft4, rearZ);
- insideShaft.setCoordinate(index + 2 + secondIndex, coordinate);
- insideShaft.setNormal(index + 2 + secondIndex, surfaceNormal);
-
- }
- newShape = new Shape3D(insideShaft, look);
- this.addChild(newShape);
- }
-
- public float getToothTopCenterAngle() {
- return toothTopCenterAngle;
- }
-
- public float getValleyCenterAngle() {
- return valleyCenterAngle;
- }
-
- public float getCircularPitchAngle() {
- return circularPitchAngle;
- }
-}
diff --git a/src/GearTest/GearBox.html b/src/GearTest/GearBox.html
deleted file mode 100644
index 0137867..0000000
--- a/src/GearTest/GearBox.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>GearBox</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="GearBox.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/GearTest/GearBox.java b/src/GearTest/GearBox.java
deleted file mode 100644
index ab946e6..0000000
--- a/src/GearTest/GearBox.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.behaviors.mouse.*;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.lang.Integer;
-import com.sun.j3d.utils.behaviors.vp.*;
-
-public class GearBox extends Applet {
-
- static final int defaultToothCount = 48;
- private int toothCount;
- private SimpleUniverse u = null;
-
- public BranchGroup createGearBox(int toothCount) {
- Transform3D tempTransform = new Transform3D();
-
- // Create the root of the branch graph
- BranchGroup branchRoot = createBranchEnvironment();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- branchRoot.addChild(objScale);
-
- // Create an Appearance.
- Appearance look = new Appearance();
- Color3f objColor = new Color3f(0.5f, 0.5f, 0.6f);
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- look.setMaterial(new Material(objColor, black,
- objColor, white, 100.0f));
-
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup gearboxTrans = new TransformGroup();
- gearboxTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- gearboxTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objScale.addChild(gearboxTrans);
-
- // Create a bounds for the mouse behavior methods
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Define the shaft base information
- int shaftCount = 4;
- int secondsPerRevolution = 8000;
-
- // Create the Shaft(s)
- Shaft shafts[] = new Shaft[shaftCount];
- TransformGroup shaftTGs[] = new TransformGroup[shaftCount];
- Alpha shaftAlphas[] = new Alpha[shaftCount];
- RotationInterpolator shaftRotors[]
- = new RotationInterpolator[shaftCount];
- Transform3D shaftAxis[] = new Transform3D[shaftCount];
-
- // Note: the following arrays we're incorporated to make changing
- // the gearbox easier.
- float shaftRatios[] = new float[shaftCount];
- shaftRatios[0] = 1.0f;
- shaftRatios[1] = 0.5f;
- shaftRatios[2] = 0.75f;
- shaftRatios[3] = 5.0f;
-
- float shaftRadius[] = new float[shaftCount];
- shaftRadius[0] = 0.2f;
- shaftRadius[1] = 0.2f;
- shaftRadius[2] = 0.2f;
- shaftRadius[3] = 0.2f;
-
- float shaftLength[] = new float[shaftCount];
- shaftLength[0] = 1.8f;
- shaftLength[1] = 0.8f;
- shaftLength[2] = 0.8f;
- shaftLength[3] = 0.8f;
-
- float shaftDirection[] = new float[shaftCount];
- shaftDirection[0] = 1.0f;
- shaftDirection[1] = -1.0f;
- shaftDirection[2] = 1.0f;
- shaftDirection[3] = -1.0f;
-
- Vector3d shaftPlacement[] = new Vector3d[shaftCount];
- shaftPlacement[0] = new Vector3d(-0.75, -0.9, 0.0);
- shaftPlacement[1] = new Vector3d(0.75, -0.9, 0.0);
- shaftPlacement[2] = new Vector3d(0.75, 0.35, 0.0);
- shaftPlacement[3] = new Vector3d(-0.75, 0.60, -0.7);
-
- // Create the shafts.
- for(int i = 0; i < shaftCount; i++) {
- shafts[i] = new Shaft(shaftRadius[i], shaftLength[i], 25, look);
- }
-
- // Create a transform group node for placing each shaft
- for(int i = 0; i < shaftCount; i++) {
- shaftTGs[i] = new TransformGroup();
- gearboxTrans.addChild(shaftTGs[i]);
- shaftTGs[i].getTransform(tempTransform);
- tempTransform.setTranslation(shaftPlacement[i]);
- shaftTGs[i].setTransform(tempTransform);
- shaftTGs[i].addChild(shafts[i]);
- }
-
- // Add rotation interpolators to rotate the shaft in the appropriate
- // direction and at the appropriate rate
- for(int i = 0; i < shaftCount; i++) {
- shaftAlphas[i] = new Alpha(-1, Alpha.INCREASING_ENABLE, 0, 0,
- (long)(secondsPerRevolution
- * shaftRatios[i]),
- 0, 0,
- 0, 0, 0);
- shaftAxis[i] = new Transform3D();
- shaftAxis[i].rotX(Math.PI/2.0);
- shaftRotors[i]
- = new RotationInterpolator(shaftAlphas[i], shafts[i],
- shaftAxis[i],
- 0.0f,
- shaftDirection[i] *
- (float) Math.PI * 2.0f);
- shaftRotors[i].setSchedulingBounds(bounds);
- shaftTGs[i].addChild(shaftRotors[i]);
- }
-
- // Define the gear base information. Again, these arrays exist to
- // make the process of changing the GearBox via an editor faster
- int gearCount = 5;
- float valleyToCircularPitchRatio = .15f;
- float pitchCircleRadius = 1.0f;
- float addendum = 0.05f;
- float dedendum = 0.05f;
- float gearThickness = 0.3f;
- float toothTipThickness = 0.27f;
-
- // Create an array of gears and their associated information
- SpurGear gears[] = new SpurGear[gearCount];
- TransformGroup gearTGs[] = new TransformGroup[gearCount];
-
- int gearShaft[] = new int[gearCount];
- gearShaft[0] = 0;
- gearShaft[1] = 1;
- gearShaft[2] = 2;
- gearShaft[3] = 0;
- gearShaft[4] = 3;
-
- float ratio[] = new float[gearCount];
- ratio[0] = 1.0f;
- ratio[1] = 0.5f;
- ratio[2] = 0.75f;
- ratio[3] = 0.25f;
- ratio[4] = 1.25f;
-
- Vector3d placement[] = new Vector3d[gearCount];
- placement[0] = new Vector3d(0.0, 0.0, 0.0);
- placement[1] = new Vector3d(0.0, 0.0, 0.0);
- placement[2] = new Vector3d(0.0, 0.0, 0.0);
- placement[3] = new Vector3d(0.0, 0.0, -0.7);
- placement[4] = new Vector3d(0.0, 0.0, 0.0);
-
- // Create the gears.
- for(int i = 0; i < gearCount; i++) {
- gears[i]
- = new SpurGearThinBody(((int)((float)toothCount * ratio[i])),
- pitchCircleRadius * ratio[i],
- shaftRadius[0],
- addendum, dedendum,
- gearThickness,
- toothTipThickness,
- valleyToCircularPitchRatio, look);
- }
-
- // Create a transform group node for arranging the gears on a shaft
- // and attach the gear to its associated shaft
- for(int i = 0; i < gearCount; i++) {
- gearTGs[i] = new TransformGroup();
- gearTGs[i].getTransform(tempTransform);
- tempTransform.rotZ((shaftDirection[gearShaft[i]] == -1.0) ?
- gears[i].getCircularPitchAngle()/-2.0f :
- 0.0f);
- tempTransform.setTranslation(placement[i]);
- gearTGs[i].setTransform(tempTransform);
- gearTGs[i].addChild(gears[i]);
- shafts[gearShaft[i]].addChild(gearTGs[i]);
- }
-
- // Have Java 3D perform optimizations on this scene graph.
- branchRoot.compile();
-
- return branchRoot;
- }
-
- BranchGroup createBranchEnvironment(){
- // Create the root of the branch graph
- BranchGroup branchRoot = new BranchGroup();
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
- Background bgNode = new Background(bgColor);
- bgNode.setApplicationBounds(bounds);
- branchRoot.addChild(bgNode);
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- branchRoot.addChild(ambientLightNode);
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light1Direction = new Vector3f(1.0f, 1.0f, 1.0f);
- Color3f light2Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light2Direction = new Vector3f(-1.0f, -1.0f, -1.0f);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- branchRoot.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- branchRoot.addChild(light2);
-
- return branchRoot;
- }
-
- public GearBox() {
- this(defaultToothCount);
- }
-
- public GearBox(int toothCount) {
- this.toothCount = toothCount;
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create the gearbox and attach it to the virtual universe
- BranchGroup scene = createGearBox(toothCount);
- u = new SimpleUniverse(c);
-
- // add mouse behaviors to the ViewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- // add orbit behavior to the ViewingPlatform
- OrbitBehavior orbit = new OrbitBehavior(c, OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows GearBox to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- int value;
-
- if (args.length > 1) {
- System.out.println("Usage: java GearBox #teeth (LCD 4)");
- System.exit(0);
- } else if (args.length == 0) {
- new MainFrame(new GearBox(), 700, 700);
- } else
- {
- try{
- value = Integer.parseInt(args[0]);
- } catch (NumberFormatException e) {
- System.out.println("Illegal integer specified");
- System.out.println("Usage: java GearBox #teeth (LCD 4)");
- value = 0;
- System.exit(0);
- }
- if (value <= 0 | (value % 4) != 0) {
- System.out.println("Integer not a positive multiple of 4");
- System.out.println("Usage: java GearBox #teeth (LCD 4)");
- System.exit(0);
- }
- new MainFrame(new GearBox(value), 700, 700);
- }
- }
-}
diff --git a/src/GearTest/GearBox_plugin.html b/src/GearTest/GearBox_plugin.html
deleted file mode 100644
index 1c6f737..0000000
--- a/src/GearTest/GearBox_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>GearBox</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "GearBox.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "GearBox.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "GearBox.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/GearTest/GearTest.html b/src/GearTest/GearTest.html
deleted file mode 100644
index 5416cf8..0000000
--- a/src/GearTest/GearTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>GearTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="GearTest.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/GearTest/GearTest.java b/src/GearTest/GearTest.java
deleted file mode 100644
index 9fd46fe..0000000
--- a/src/GearTest/GearTest.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class GearTest extends Applet {
-
- static final int defaultToothCount = 24;
-
- private int toothCount;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(int toothCount) {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
- Background bgNode = new Background(bgColor);
- bgNode.setApplicationBounds(bounds);
- objScale.addChild(bgNode);
-
- // Set up the global lights
- Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);
- Color3f light2Color = new Color3f(0.3f, 0.3f, 0.4f);
- Vector3f light2Direction = new Vector3f(-6.0f, -2.0f, -1.0f);
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
-
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- objScale.addChild(ambientLightNode);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- objScale.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- objScale.addChild(light2);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(objTrans);
-
- // Create an Appearance.
- Appearance look = new Appearance();
- Color3f objColor = new Color3f(0.5f, 0.5f, 0.6f);
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- look.setMaterial(new Material(objColor, black, objColor, white, 100.0f));
-
- // Create a gear, add it to the scene graph.
- // SpurGear gear = new SpurGear(toothCount, 1.0f, 0.2f,
- SpurGear gear = new SpurGearThinBody(toothCount, 1.0f, 0.2f,
- 0.05f, 0.05f, 0.3f, 0.28f, look);
- objTrans.addChild(gear);
-
- // Create a new Behavior object that will rotate the object and
- // add it into the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 8000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public GearTest() {
- this(defaultToothCount);
- }
-
- public GearTest(int toothCount) {
- this.toothCount = toothCount;
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph(toothCount);
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows GearTest to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- int value;
-
- if (args.length > 1) {
- System.out.println("Usage: java GearTest [#teeth]");
- System.exit(0);
- } else if (args.length == 0) {
- new MainFrame(new GearTest(), 700, 700);
- } else
- {
- try {
- value = Integer.parseInt(args[0]);
- } catch (NumberFormatException e) {
- System.out.println("Illegal integer specified");
- System.out.println("Usage: java GearTest [#teeth]");
- value = 0;
- System.exit(0);
- }
- if (value <= 0) {
- System.out.println("Integer must be positive (> 0)");
- System.out.println("Usage: java GearBox [#teeth]");
- System.exit(0);
- }
- new MainFrame(new GearTest(value), 700, 700);
- }
- }
-}
diff --git a/src/GearTest/GearTest_plugin.html b/src/GearTest/GearTest_plugin.html
deleted file mode 100644
index a2f7b06..0000000
--- a/src/GearTest/GearTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>GearTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "GearTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "GearTest.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "GearTest.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/GearTest/Shaft.java b/src/GearTest/Shaft.java
deleted file mode 100644
index f596d2a..0000000
--- a/src/GearTest/Shaft.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.lang.Math.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Shaft extends javax.media.j3d.TransformGroup {
-
- /**
- * Construct a Shaft;
- * @return a new shaft that with the specified radius centered about
- * the origin an laying in the XY plane and of a specified length
- * extending in the Z dimension
- * @param radius radius of shaft
- * @param length shaft length shaft extends from -length/2 to length/2 in
- * the Z dimension
- * @param segmentCount number of segments for the shaft face
- * @param look the Appearance to associate with this shaft
- */
- public Shaft(float radius, float length, int segmentCount,
- Appearance look) {
- // The direction of the ray from the shaft's center
- float xDirection, yDirection;
- float xShaft, yShaft;
-
- // The z coordinates for the shaft's faces (never change)
- float frontZ = -0.5f * length;
- float rearZ = 0.5f * length;
-
- int shaftFaceVertexCount; // #(vertices) per shaft face
- int shaftFaceTotalVertexCount; // total #(vertices) in all teeth
- int shaftFaceStripCount[] = new int[1]; // per shaft vertex count
- int shaftVertexCount; // #(vertices) for shaft
- int shaftStripCount[] = new int[1]; // #(vertices) in strip/strip
-
- // Front and rear facing normals for the shaft's faces
- Vector3f frontNormal = new Vector3f(0.0f, 0.0f, -1.0f);
- Vector3f rearNormal = new Vector3f(0.0f, 0.0f, 1.0f);
- // Outward facing normal
- Vector3f outNormal = new Vector3f(1.0f, 0.0f, 0.0f);
-
- // Temporary variables for storing coordinates and vectors
- Point3f coordinate = new Point3f(0.0f, 0.0f, 0.0f);
- Shape3D newShape;
-
- // The angle subtended by a single segment
- double segmentAngle = 2.0 * Math.PI/segmentCount;
- double tempAngle;
-
- // Allow this object to spin. etc.
- this.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
-
- /* for the forward facing fan:
- * ___3___
- * - | -
- * / | \
- * 4/\ | /\2
- * / \ | / \
- * / \ | / \
- * : \ | / :
- * |--------------- *----------------|
- * 5 0 1
- *
- * for backward facing fan exchange 1 with 5; 2 with 4, etc.
- */
-
- // Construct the shaft's front and rear face
- shaftFaceVertexCount = segmentCount + 2;
- shaftFaceStripCount[0] = shaftFaceVertexCount;
-
- TriangleFanArray frontShaftFace
- = new TriangleFanArray(shaftFaceVertexCount,
- GeometryArray.COORDINATES
- | GeometryArray.NORMALS,
- shaftFaceStripCount);
-
- TriangleFanArray rearShaftFace
- = new TriangleFanArray(shaftFaceVertexCount,
- GeometryArray.COORDINATES
- | GeometryArray.NORMALS,
- shaftFaceStripCount);
-
- coordinate.set(0.0f, 0.0f, frontZ);
- frontShaftFace.setCoordinate(0, coordinate);
- frontShaftFace.setNormal(0, frontNormal);
-
- coordinate.set(0.0f, 0.0f, rearZ);
- rearShaftFace.setCoordinate(0, coordinate);
- rearShaftFace.setNormal(0, rearNormal);
-
- for(int index = 1; index < segmentCount+2; index++) {
-
- tempAngle = segmentAngle * -(double)index;
- coordinate.set(radius * (float)Math.cos(tempAngle),
- radius * (float)Math.sin(tempAngle),
- frontZ);
- frontShaftFace.setCoordinate(index, coordinate);
- frontShaftFace.setNormal(index, frontNormal);
-
- tempAngle = -tempAngle;
- coordinate.set(radius * (float)Math.cos(tempAngle),
- radius * (float)Math.sin(tempAngle),
- rearZ);
- rearShaftFace.setCoordinate(index, coordinate);
- rearShaftFace.setNormal(index, rearNormal);
- }
- newShape = new Shape3D(frontShaftFace, look);
- this.addChild(newShape);
- newShape = new Shape3D(rearShaftFace, look);
- this.addChild(newShape);
-
- // Construct shaft's outer skin (the cylinder body)
- shaftVertexCount = 2 * segmentCount + 2;
- shaftStripCount[0] = shaftVertexCount;
-
- TriangleStripArray shaft
- = new TriangleStripArray(shaftVertexCount,
- GeometryArray.COORDINATES
- | GeometryArray.NORMALS,
- shaftStripCount);
-
- outNormal.set(1.0f, 0.0f, 0.0f);
-
- coordinate.set(radius, 0.0f, rearZ);
- shaft.setCoordinate(0, coordinate);
- shaft.setNormal(0, outNormal);
-
- coordinate.set(radius, 0.0f, frontZ);
- shaft.setCoordinate(1, coordinate);
- shaft.setNormal(1, outNormal);
-
- for(int count = 0; count < segmentCount; count++) {
- int index = 2 + count * 2;
-
- tempAngle = segmentAngle * (double)(count + 1);
- xDirection = (float)Math.cos(tempAngle);
- yDirection = (float)Math.sin(tempAngle);
- xShaft = radius * xDirection;
- yShaft = radius * yDirection;
- outNormal.set(xDirection, yDirection, 0.0f);
-
- coordinate.set(xShaft, yShaft, rearZ);
- shaft.setCoordinate(index, coordinate);
- shaft.setNormal(index, outNormal);
-
- coordinate.set(xShaft, yShaft, frontZ);
- shaft.setCoordinate(index + 1, coordinate);
- shaft.setNormal(index + 1, outNormal);
- }
- newShape = new Shape3D(shaft, look);
- this.addChild(newShape);
- }
-}
-
diff --git a/src/GearTest/SpurGear.java b/src/GearTest/SpurGear.java
deleted file mode 100644
index 943d1e5..0000000
--- a/src/GearTest/SpurGear.java
+++ /dev/null
@@ -1,556 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.lang.Math.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class SpurGear extends Gear {
-
- float toothTopAngleIncrement;
- float toothDeclineAngleIncrement;
-
- float rootRadius;
- float outsideRadius;
-
- //The angle subtended by the ascending or descending portion of a tooth
- float circularToothEdgeAngle;
- // The angle subtended by a flat (either a tooth top or a valley
- // between teeth
- float circularToothFlatAngle;
-
- /**
- * internal constructor for SpurGear, used by subclasses to establish
- * SpurGear's required state
- * @return a new spur gear that contains sufficient information to
- * continue building
- * @param toothCount number of teeth
- * @param pitchCircleRadius radius at center of teeth
- * @param addendum distance from pitch circle to top of teeth
- * @param dedendum distance from pitch circle to root of teeth
- * @param toothToValleyAngleRatio the ratio of the angle subtended by the
- * tooth to the angle subtended by the valley (must be <= .25)
- */
- SpurGear(int toothCount, float pitchCircleRadius,
- float addendum, float dedendum, float toothToValleyAngleRatio) {
-
- super(toothCount);
-
- // The angle about Z subtended by one tooth and its associated valley
- circularPitchAngle = (float)(2.0 * Math.PI / (double)toothCount);
-
- // The angle subtended by a flat (either a tooth top or a valley
- // between teeth
- circularToothFlatAngle = circularPitchAngle * toothToValleyAngleRatio;
-
- //The angle subtended by the ascending or descending portion of a tooth
- circularToothEdgeAngle = circularPitchAngle/2.0f -
- circularToothFlatAngle;
-
- // Increment angles
- toothTopAngleIncrement = circularToothEdgeAngle;
- toothDeclineAngleIncrement
- = toothTopAngleIncrement + circularToothFlatAngle;
- toothValleyAngleIncrement
- = toothDeclineAngleIncrement + circularToothEdgeAngle;
-
- // Differential angles for offsetting to the center of tooth's top
- // and valley
- toothTopCenterAngle
- = toothTopAngleIncrement + circularToothFlatAngle/2.0f;
- valleyCenterAngle
- = toothValleyAngleIncrement + circularToothFlatAngle/2.0f;
-
- // Gear start differential angle. All gears are constructed with the
- // center of a tooth at Z-axis angle = 0.
- gearStartAngle = -1.0 * toothTopCenterAngle;
-
- // The radial distance to the root and top of the teeth, respectively
- rootRadius = pitchCircleRadius - dedendum;
- outsideRadius = pitchCircleRadius + addendum;
-
- // Allow this object to spin. etc.
- this.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- }
-
- /**
- * Construct a SpurGear;
- * @return a new spur gear that conforms to the input paramters
- * @param toothCount number of teeth
- * @param pitchCircleRadius radius at center of teeth
- * @param shaftRadius radius of hole at center
- * @param addendum distance from pitch circle to top of teeth
- * @param dedendum distance from pitch circle to root of teeth
- * @param gearThickness thickness of the gear
- */
- public SpurGear(int toothCount, float pitchCircleRadius, float shaftRadius,
- float addendum, float dedendum, float gearThickness) {
- this(toothCount, pitchCircleRadius, shaftRadius, addendum, dedendum,
- gearThickness, gearThickness, 0.25f, null);
- }
-
- /**
- * Construct a SpurGear;
- * @return a new spur gear that conforms to the input paramters
- * @param toothCount number of teeth
- * @param pitchCircleRadius radius at center of teeth
- * @param shaftRadius radius of hole at center
- * @param addendum distance from pitch circle to top of teeth
- * @param dedendum distance from pitch circle to root of teeth
- * @param gearThickness thickness of the gear
- * @param look the gear's appearance
- */
- public SpurGear(int toothCount, float pitchCircleRadius, float shaftRadius,
- float addendum, float dedendum, float gearThickness,
- Appearance look) {
- this(toothCount, pitchCircleRadius, shaftRadius, addendum, dedendum,
- gearThickness, gearThickness, 0.25f, look);
- }
-
- /**
- * Construct a SpurGear;
- * @return a new spur gear that conforms to the input paramters
- * @param toothCount number of teeth
- * @param pitchCircleRadius radius at center of teeth
- * @param shaftRadius radius of hole at center
- * @param addendum distance from pitch circle to top of teeth
- * @param dedendum distance from pitch circle to root of teeth
- * @param gearThickness thickness of the gear
- * @param toothTipThickness thickness of the tip of the tooth
- * @param look the gear's appearance
- */
- public SpurGear(int toothCount, float pitchCircleRadius, float shaftRadius,
- float addendum, float dedendum, float gearThickness,
- float toothTipThickness, Appearance look) {
- this(toothCount, pitchCircleRadius, shaftRadius, addendum, dedendum,
- gearThickness, toothTipThickness, 0.25f, look);
- }
-
- /**
- * Construct a SpurGear;
- * @return a new spur gear that conforms to the input paramters
- * @param toothCount number of teeth
- * @param pitchCircleRadius radius at center of teeth
- * @param shaftRadius radius of hole at center
- * @param addendum distance from pitch circle to top of teeth
- * @param dedendum distance from pitch circle to root of teeth
- * @param gearThickness thickness of the gear
- * @param toothTipThickness thickness of the tip of the tooth
- * @param toothToValleyAngleRatio the ratio of the angle subtended by the
- * tooth to the angle subtended by the valley (must be <= .25)
- * @param look the gear's appearance object
- */
- public SpurGear(int toothCount, float pitchCircleRadius, float shaftRadius,
- float addendum, float dedendum, float gearThickness,
- float toothTipThickness, float toothToValleyAngleRatio,
- Appearance look) {
-
- this(toothCount, pitchCircleRadius, addendum, dedendum,
- toothToValleyAngleRatio);
-
- // Generate the gear's body disks
- addBodyDisks(shaftRadius, rootRadius, gearThickness, look);
-
- // Generate the gear's interior shaft
- addCylinderSkins(shaftRadius, gearThickness, InwardNormals, look);
-
- // Generate the gear's teeth
- addTeeth(pitchCircleRadius, rootRadius,
- outsideRadius, gearThickness, toothTipThickness,
- toothToValleyAngleRatio, look);
- }
-
- /**
- * Construct a SpurGear's teeth by adding the teeth shape nodes
- * @param pitchCircleRadius radius at center of teeth
- * @param rootRadius distance from pitch circle to top of teeth
- * @param outsideRadius distance from pitch circle to root of teeth
- * @param gearThickness thickness of the gear
- * @param toothTipThickness thickness of the tip of the tooth
- * @param toothToValleyAngleRatio the ratio of the angle subtended by the
- * tooth to the angle subtended by the valley (must be <= .25)
- * @param look the gear's appearance object
- */
- void addTeeth(float pitchCircleRadius, float rootRadius,
- float outsideRadius, float gearThickness,
- float toothTipThickness, float toothToValleyAngleRatio,
- Appearance look) {
- int index;
- Shape3D newShape;
-
- // Temporaries that store start angle for each portion of tooth facet
- double toothStartAngle, toothTopStartAngle,
- toothDeclineStartAngle, toothValleyStartAngle,
- nextToothStartAngle;
-
- // The x and y coordinates at each point of a facet and at each
- // point on the gear: at the shaft, the root of the teeth, and
- // the outer point of the teeth
- float xRoot0, yRoot0;
- float xOuter1, yOuter1;
- float xOuter2, yOuter2;
- float xRoot3, yRoot3;
- float xRoot4, yRoot4;
-
- // The z coordinates for the gear
- final float frontZ = -0.5f * gearThickness;
- final float rearZ = 0.5f * gearThickness;
-
- // The z coordinates for the tooth tip of the gear
- final float toothTipFrontZ = -0.5f * toothTipThickness;
- final float toothTipRearZ = 0.5f * toothTipThickness;
-
- int toothFacetVertexCount; // #(vertices) per tooth facet
- int toothFacetCount; // #(facets) per tooth
- int toothFaceTotalVertexCount; // #(vertices) in all teeth
- int toothFaceStripCount[] = new int[toothCount];
- // per tooth vertex count
- int topVertexCount; // #(vertices) for teeth tops
- int topStripCount[] = new int[1]; // #(vertices) in strip/strip
-
- // Front and rear facing normals for the teeth faces
- Vector3f frontToothNormal = new Vector3f(0.0f, 0.0f, -1.0f);
- Vector3f rearToothNormal = new Vector3f(0.0f, 0.0f, 1.0f);
-
- // Normals for teeth tops up incline, tooth top, and down incline
- Vector3f leftNormal = new Vector3f(-1.0f, 0.0f, 0.0f);
- Vector3f rightNormal = new Vector3f(1.0f, 0.0f, 0.0f);
- Vector3f outNormal = new Vector3f(1.0f, 0.0f, 0.0f);
- Vector3f inNormal = new Vector3f(-1.0f, 0.0f, 0.0f);
-
- // Temporary variables for storing coordinates and vectors
- Point3f coordinate = new Point3f(0.0f, 0.0f, 0.0f);
- Point3f tempCoordinate1 = new Point3f(0.0f, 0.0f, 0.0f);
- Point3f tempCoordinate2 = new Point3f(0.0f, 0.0f, 0.0f);
- Point3f tempCoordinate3 = new Point3f(0.0f, 0.0f, 0.0f);
- Vector3f tempVector1 = new Vector3f(0.0f, 0.0f, 0.0f);
- Vector3f tempVector2 = new Vector3f(0.0f, 0.0f, 0.0f);
-
- /* Construct the gear's front facing teeth facets
- * 0______2
- * / /\
- * / / \
- * / / \
- * //___________\
- * 1 3
- */
- toothFacetVertexCount = 4;
- toothFaceTotalVertexCount = toothFacetVertexCount * toothCount;
- for(int i = 0; i < toothCount; i++)
- toothFaceStripCount[i] = toothFacetVertexCount;
-
- TriangleStripArray frontGearTeeth
- = new TriangleStripArray(toothFaceTotalVertexCount,
- GeometryArray.COORDINATES
- | GeometryArray.NORMALS,
- toothFaceStripCount);
-
- for(int count = 0; count < toothCount; count++) {
- index = count * toothFacetVertexCount;
-
- toothStartAngle
- = gearStartAngle + circularPitchAngle * (double)count;
- toothTopStartAngle = toothStartAngle + toothTopAngleIncrement;
- toothDeclineStartAngle
- = toothStartAngle + toothDeclineAngleIncrement;
- toothValleyStartAngle
- = toothStartAngle + toothValleyAngleIncrement;
-
- xRoot0 = rootRadius * (float)Math.cos(toothStartAngle);
- yRoot0 = rootRadius * (float)Math.sin(toothStartAngle);
- xOuter1 = outsideRadius * (float)Math.cos(toothTopStartAngle);
- yOuter1 = outsideRadius * (float)Math.sin(toothTopStartAngle);
- xOuter2 = outsideRadius * (float)Math.cos(toothDeclineStartAngle);
- yOuter2 = outsideRadius * (float)Math.sin(toothDeclineStartAngle);
- xRoot3 = rootRadius * (float)Math.cos(toothValleyStartAngle);
- yRoot3 = rootRadius * (float)Math.sin(toothValleyStartAngle);
-
- tempCoordinate1.set(xRoot0, yRoot0, frontZ);
- tempCoordinate2.set(xRoot3, yRoot3, frontZ);
- tempVector1.sub(tempCoordinate2, tempCoordinate1);
-
- tempCoordinate2.set(xOuter1, yOuter1, toothTipFrontZ);
- tempVector2.sub(tempCoordinate2, tempCoordinate1);
-
- frontToothNormal.cross(tempVector1, tempVector2);
- frontToothNormal.normalize();
-
- coordinate.set(xOuter1, yOuter1, toothTipFrontZ);
- frontGearTeeth.setCoordinate(index, coordinate);
- frontGearTeeth.setNormal(index, frontToothNormal);
-
- coordinate.set(xRoot0, yRoot0, frontZ);
- frontGearTeeth.setCoordinate(index + 1, coordinate);
- frontGearTeeth.setNormal(index + 1, frontToothNormal);
-
- coordinate.set(xOuter2, yOuter2, toothTipFrontZ);
- frontGearTeeth.setCoordinate(index + 2, coordinate);
- frontGearTeeth.setNormal(index + 2, frontToothNormal);
-
- coordinate.set(xRoot3, yRoot3, frontZ);
- frontGearTeeth.setCoordinate(index + 3, coordinate);
- frontGearTeeth.setNormal(index + 3, frontToothNormal);
- }
- newShape = new Shape3D(frontGearTeeth, look);
- this.addChild(newShape);
-
- /* Construct the gear's rear facing teeth facets (Using Quads)
- * 1______2
- * / \
- * / \
- * / \
- * /____________\
- * 0 3
- */
- toothFacetVertexCount = 4;
- toothFaceTotalVertexCount = toothFacetVertexCount * toothCount;
-
- QuadArray rearGearTeeth
- = new QuadArray(toothCount * toothFacetVertexCount,
- GeometryArray.COORDINATES
- | GeometryArray.NORMALS);
-
- for(int count = 0; count < toothCount; count++) {
-
- index = count * toothFacetVertexCount;
- toothStartAngle =
- gearStartAngle + circularPitchAngle * (double)count;
- toothTopStartAngle = toothStartAngle + toothTopAngleIncrement;
- toothDeclineStartAngle
- = toothStartAngle + toothDeclineAngleIncrement;
- toothValleyStartAngle = toothStartAngle + toothValleyAngleIncrement;
-
- xRoot0 = rootRadius * (float)Math.cos(toothStartAngle);
- yRoot0 = rootRadius * (float)Math.sin(toothStartAngle);
- xOuter1 = outsideRadius * (float)Math.cos(toothTopStartAngle);
- yOuter1 = outsideRadius * (float)Math.sin(toothTopStartAngle);
- xOuter2 = outsideRadius * (float)Math.cos(toothDeclineStartAngle);
- yOuter2 = outsideRadius * (float)Math.sin(toothDeclineStartAngle);
- xRoot3 = rootRadius * (float)Math.cos(toothValleyStartAngle);
- yRoot3 = rootRadius * (float)Math.sin(toothValleyStartAngle);
-
- tempCoordinate1.set(xRoot0, yRoot0, rearZ);
- tempCoordinate2.set(xRoot3, yRoot3, rearZ);
- tempVector1.sub(tempCoordinate2, tempCoordinate1);
- tempCoordinate2.set(xOuter1, yOuter1, toothTipRearZ);
- tempVector2.sub(tempCoordinate2, tempCoordinate1);
- rearToothNormal.cross(tempVector2, tempVector1);
- rearToothNormal.normalize();
-
- coordinate.set(xRoot0, yRoot0, rearZ);
- rearGearTeeth.setCoordinate(index, coordinate);
- rearGearTeeth.setNormal(index, rearToothNormal);
-
- coordinate.set(xOuter1, yOuter1, toothTipRearZ);
- rearGearTeeth.setCoordinate(index + 1, coordinate);
- rearGearTeeth.setNormal(index + 1, rearToothNormal);
-
- coordinate.set(xOuter2, yOuter2, toothTipRearZ);
- rearGearTeeth.setCoordinate(index + 2, coordinate);
- rearGearTeeth.setNormal(index + 2, rearToothNormal);
-
- coordinate.set(xRoot3, yRoot3, rearZ);
- rearGearTeeth.setCoordinate(index + 3, coordinate);
- rearGearTeeth.setNormal(index + 3, rearToothNormal);
-
- }
- newShape = new Shape3D(rearGearTeeth, look);
- this.addChild(newShape);
-
- /*
- * Construct the gear's top teeth faces (As seen from above)
- * Root0 Outer1 Outer2 Root3 Root4 (RearZ)
- * 0_______3 2_______5 4_______7 6_______9
- * |0 3| |4 7| |8 11| |12 15|
- * | | | | | | | |
- * | | | | | | | |
- * |1_____2| |5_____6| |9____10| |13___14|
- * 1 2 3 4 5 6 7 8
- * Root0 Outer1 Outer2 Root3 Root4 (FrontZ)
- *
- * Quad 0123 uses a left normal
- * Quad 2345 uses an out normal
- * Quad 4567 uses a right normal
- * Quad 6789 uses an out normal
- */
- topVertexCount = 8 * toothCount + 2;
- topStripCount[0] = topVertexCount;
-
- toothFacetVertexCount = 4;
- toothFacetCount = 4;
-
- QuadArray topGearTeeth
- = new QuadArray(toothCount * toothFacetVertexCount
- * toothFacetCount,
- GeometryArray.COORDINATES
- | GeometryArray.NORMALS);
-
- for(int count = 0; count < toothCount; count++) {
- index = count * toothFacetCount * toothFacetVertexCount;
- toothStartAngle = gearStartAngle +
- circularPitchAngle * (double)count;
- toothTopStartAngle = toothStartAngle + toothTopAngleIncrement;
- toothDeclineStartAngle
- = toothStartAngle + toothDeclineAngleIncrement;
- toothValleyStartAngle
- = toothStartAngle + toothValleyAngleIncrement;
- nextToothStartAngle = toothStartAngle + circularPitchAngle;
-
- xRoot0 = rootRadius * (float)Math.cos(toothStartAngle);
- yRoot0 = rootRadius * (float)Math.sin(toothStartAngle);
- xOuter1 = outsideRadius * (float)Math.cos(toothTopStartAngle);
- yOuter1 = outsideRadius * (float)Math.sin(toothTopStartAngle);
- xOuter2 = outsideRadius * (float)Math.cos(toothDeclineStartAngle);
- yOuter2 = outsideRadius * (float)Math.sin(toothDeclineStartAngle);
- xRoot3 = rootRadius * (float)Math.cos(toothValleyStartAngle);
- yRoot3 = rootRadius * (float)Math.sin(toothValleyStartAngle);
- xRoot4 = rootRadius * (float)Math.cos(nextToothStartAngle);
- yRoot4 = rootRadius * (float)Math.sin(nextToothStartAngle);
-
- // Compute normal for quad 1
- tempCoordinate1.set(xRoot0, yRoot0, frontZ);
- tempCoordinate2.set(xOuter1, yOuter1, toothTipFrontZ);
- tempVector1.sub(tempCoordinate2, tempCoordinate1);
- leftNormal.cross(frontNormal, tempVector1);
- leftNormal.normalize();
-
- // Coordinate labeled 0 in the quad
- coordinate.set(xRoot0, yRoot0, rearZ);
- topGearTeeth.setCoordinate(index, coordinate);
- topGearTeeth.setNormal(index, leftNormal);
-
- // Coordinate labeled 1 in the quad
- coordinate.set(tempCoordinate1);
- topGearTeeth.setCoordinate(index + 1, coordinate);
- topGearTeeth.setNormal(index + 1, leftNormal);
-
- // Coordinate labeled 2 in the quad
- topGearTeeth.setCoordinate(index + 2, tempCoordinate2);
- topGearTeeth.setNormal(index + 2, leftNormal);
- topGearTeeth.setCoordinate(index + 5, tempCoordinate2);
-
- // Coordinate labeled 3 in the quad
- coordinate.set(xOuter1, yOuter1, toothTipRearZ);
- topGearTeeth.setCoordinate(index + 3, coordinate);
- topGearTeeth.setNormal(index + 3, leftNormal);
- topGearTeeth.setCoordinate(index + 4, coordinate);
-
- // Compute normal for quad 2
- tempCoordinate1.set(xOuter1, yOuter1, toothTipFrontZ);
- tempCoordinate2.set(xOuter2, yOuter2, toothTipFrontZ);
- tempVector1.sub(tempCoordinate2, tempCoordinate1);
- outNormal.cross(frontNormal, tempVector1);
- outNormal.normalize();
-
- topGearTeeth.setNormal(index + 4, outNormal);
- topGearTeeth.setNormal(index + 5, outNormal);
-
- // Coordinate labeled 4 in the quad
- topGearTeeth.setCoordinate(index + 6, tempCoordinate2);
- topGearTeeth.setNormal(index + 6, outNormal);
- topGearTeeth.setCoordinate(index + 9, tempCoordinate2);
-
- // Coordinate labeled 5 in the quad
- coordinate.set(xOuter2, yOuter2, toothTipRearZ);
- topGearTeeth.setCoordinate(index + 7, coordinate);
- topGearTeeth.setNormal(index + 7, outNormal);
- topGearTeeth.setCoordinate(index + 8, coordinate);
-
- // Compute normal for quad 3
- tempCoordinate1.set(xOuter2, yOuter2, toothTipFrontZ);
- tempCoordinate2.set(xRoot3, yRoot3, frontZ);
- tempVector1.sub(tempCoordinate2, tempCoordinate1);
- rightNormal.cross(frontNormal, tempVector1);
- rightNormal.normalize();
-
- topGearTeeth.setNormal(index + 8, rightNormal);
- topGearTeeth.setNormal(index + 9, rightNormal);
-
- // Coordinate labeled 7 in the quad
- topGearTeeth.setCoordinate(index + 10, tempCoordinate2);
- topGearTeeth.setNormal(index + 10, rightNormal);
- topGearTeeth.setCoordinate(index + 13, tempCoordinate2);
-
- // Coordinate labeled 6 in the quad
- coordinate.set(xRoot3, yRoot3, rearZ);
- topGearTeeth.setCoordinate(index + 11, coordinate);
- topGearTeeth.setNormal(index + 11, rightNormal);
- topGearTeeth.setCoordinate(index + 12, coordinate);
-
- // Compute normal for quad 4
- tempCoordinate1.set(xRoot3, yRoot3, frontZ);
- tempCoordinate2.set(xRoot4, yRoot4, frontZ);
- tempVector1.sub(tempCoordinate2, tempCoordinate1);
- outNormal.cross(frontNormal, tempVector1);
- outNormal.normalize();
-
- topGearTeeth.setNormal(index + 12, outNormal);
- topGearTeeth.setNormal(index + 13, outNormal);
-
- // Coordinate labeled 9 in the quad
- topGearTeeth.setCoordinate(index + 14, tempCoordinate2);
- topGearTeeth.setNormal(index + 14, outNormal);
-
- // Coordinate labeled 8 in the quad
- coordinate.set(xRoot4, yRoot4, rearZ);
- topGearTeeth.setCoordinate(index + 15, coordinate);
- topGearTeeth.setNormal(index + 15, outNormal);
-
- // Prepare for the loop by computing the new normal
- toothTopStartAngle
- = nextToothStartAngle + toothTopAngleIncrement;
- xOuter1 = outsideRadius * (float)Math.cos(toothTopStartAngle);
- yOuter1 = outsideRadius * (float)Math.sin(toothTopStartAngle);
-
- tempCoordinate1.set(xRoot4, yRoot4, toothTipFrontZ);
- tempCoordinate2.set(xOuter1, yOuter1, toothTipFrontZ);
- tempVector1.sub(tempCoordinate2, tempCoordinate1);
- leftNormal.cross(frontNormal, tempVector1);
- leftNormal.normalize();
- }
- newShape = new Shape3D(topGearTeeth, look);
- this.addChild(newShape);
- }
-
-}
diff --git a/src/GearTest/SpurGearThinBody.java b/src/GearTest/SpurGearThinBody.java
deleted file mode 100644
index d2ead3d..0000000
--- a/src/GearTest/SpurGearThinBody.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.lang.Math.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class SpurGearThinBody extends SpurGear {
-
- /**
- * Construct a SpurGearThinBody;
- * @return a new spur gear that conforms to the input paramters
- * @param toothCount number of teeth
- * @param pitchCircleRadius radius at center of teeth
- * @param shaftRadius radius of hole at center
- * @param addendum distance from pitch circle to top of teeth
- * @param dedendum distance from pitch circle to root of teeth
- * @param gearThickness thickness of the gear
- */
- public SpurGearThinBody(int toothCount, float pitchCircleRadius,
- float shaftRadius, float addendum, float dedendum,
- float gearThickness) {
- this(toothCount, pitchCircleRadius, shaftRadius,
- addendum, dedendum, gearThickness, gearThickness, 0.25f, null);
- }
-
- /**
- * Construct a SpurGearThinBody;
- * @return a new spur gear that conforms to the input paramters
- * @param toothCount number of teeth
- * @param pitchCircleRadius radius at center of teeth
- * @param shaftRadius radius of hole at center
- * @param addendum distance from pitch circle to top of teeth
- * @param dedendum distance from pitch circle to root of teeth
- * @param gearThickness thickness of the gear
- * @param look the gear's appearance
- */
- public SpurGearThinBody(int toothCount, float pitchCircleRadius,
- float shaftRadius, float addendum, float dedendum,
- float gearThickness,
- Appearance look) {
- this(toothCount, pitchCircleRadius, shaftRadius,
- addendum, dedendum, gearThickness, gearThickness, 0.25f, look);
- }
-
- /**
- * Construct a SpurGearThinBody;
- * @return a new spur gear that conforms to the input paramters
- * @param toothCount number of teeth
- * @param pitchCircleRadius radius at center of teeth
- * @param shaftRadius radius of hole at center
- * @param addendum distance from pitch circle to top of teeth
- * @param dedendum distance from pitch circle to root of teeth
- * @param gearThickness thickness of the gear
- * @param toothTipThickness thickness of the tip of the tooth
- * @param look the gear's appearance
- */
- public SpurGearThinBody(int toothCount, float pitchCircleRadius,
- float shaftRadius, float addendum, float dedendum,
- float gearThickness, float toothTipThickness,
- Appearance look) {
- this(toothCount, pitchCircleRadius, shaftRadius, addendum,
- dedendum, gearThickness, toothTipThickness, 0.25f, look);
- }
-
- /**
- * Construct a SpurGearThinBody;
- * @return a new spur gear that conforms to the input paramters
- * @param toothCount number of teeth
- * @param pitchCircleRadius radius at center of teeth
- * @param shaftRadius radius of hole at center
- * @param addendum distance from pitch circle to top of teeth
- * @param dedendum distance from pitch circle to root of teeth
- * @param gearThickness thickness of the gear
- * @param toothTipThickness thickness of the tip of the tooth
- * @param toothToValleyRatio ratio of tooth valley to circular pitch
- * (must be <= .25)
- * @param look the gear's appearance object
- */
- public SpurGearThinBody(int toothCount, float pitchCircleRadius,
- float shaftRadius, float addendum, float dedendum,
- float gearThickness, float toothTipThickness,
- float toothToValleyAngleRatio, Appearance look) {
-
- this(toothCount, pitchCircleRadius, shaftRadius, addendum,
- dedendum, gearThickness, toothTipThickness, 0.25f, look,
- 0.6f * gearThickness, 0.75f * (pitchCircleRadius - shaftRadius));
- }
-
- /**
- * Construct a SpurGearThinBody;
- * @return a new spur gear that conforms to the input paramters
- * @param toothCount number of teeth
- * @param pitchCircleRadius radius at center of teeth
- * @param shaftRadius radius of hole at center
- * @param addendum distance from pitch circle to top of teeth
- * @param dedendum distance from pitch circle to root of teeth
- * @param gearThickness thickness of the gear
- * @param toothTipThickness thickness of the tip of the tooth
- * @param toothToValleyRatio ratio of tooth valley to circular pitch
- * (must be <= .25)
- * @param look the gear's appearance object
- * @param bodyThickness the thickness of the gear body
- * @param crossSectionWidth the width of the depressed portion of the
- * gear's body
- */
- public SpurGearThinBody(int toothCount, float pitchCircleRadius,
- float shaftRadius, float addendum, float dedendum,
- float gearThickness, float toothTipThickness,
- float toothToValleyAngleRatio, Appearance look,
- float bodyThickness, float crossSectionWidth) {
-
- super(toothCount, pitchCircleRadius, addendum, dedendum,
- toothToValleyAngleRatio);
-
- float diskCrossSectionWidth =
- (rootRadius - shaftRadius - crossSectionWidth)/ 2.0f;
- float outerShaftRadius = shaftRadius + diskCrossSectionWidth;
- float innerToothRadius = rootRadius - diskCrossSectionWidth;
-
- // Generate the gear's body disks, first by the shaft, then in
- // the body and, lastly, by the teeth
- addBodyDisks(shaftRadius, outerShaftRadius,
- gearThickness, look);
- addBodyDisks(innerToothRadius, rootRadius,
- gearThickness, look);
- addBodyDisks(outerShaftRadius, innerToothRadius,
- bodyThickness, look);
-
- // Generate the gear's "shaft" equivalents the two at the teeth
- // and the two at the shaft
- addCylinderSkins(innerToothRadius, gearThickness, InwardNormals, look);
- addCylinderSkins(outerShaftRadius, gearThickness, OutwardNormals, look);
-
- // Generate the gear's interior shaft
- addCylinderSkins(shaftRadius, gearThickness, InwardNormals, look);
-
- // Generate the gear's teeth
- addTeeth(pitchCircleRadius, rootRadius,
- outsideRadius, gearThickness, toothTipThickness,
- toothToValleyAngleRatio, look);
- }
-
-}
diff --git a/src/GearTest/build.xml b/src/GearTest/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/GearTest/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/GeometryByReference/GeometryByReferenceNIOBuffer.java b/src/GeometryByReference/GeometryByReferenceNIOBuffer.java
deleted file mode 100644
index b3a9274..0000000
--- a/src/GeometryByReference/GeometryByReferenceNIOBuffer.java
+++ /dev/null
@@ -1,517 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.border.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-import java.nio.*;
-
-public class GeometryByReferenceNIOBuffer extends JApplet implements ActionListener,
-GeometryUpdater {
-
- RenderingAttributes ra;
- ColoringAttributes ca;
- Material mat;
- Appearance app;
- JComboBox geomType;
- JComboBox vertexType;
- JComboBox colorType;
- JCheckBox transparency;
- JComboBox updates;
- Shape3D shape;
- TransparencyAttributes transp;
- int updateIndex = 0;
- int colorCount = 0, vertexCount = 0;
- int vertexIndex = 0, colorIndex = 0;
-
- GeometryArray tetraRegular, tetraStrip, tetraIndexed, tetraIndexedStrip;
- GeometryArray[] geoArrays = new GeometryArray[4];
-
- private static final float sqrt3 = (float) Math.sqrt(3.0);
- private static final float sqrt3_3 = sqrt3 / 3.0f;
- private static final float sqrt24_3 = (float) Math.sqrt(24.0) / 3.0f;
-
- private static final float ycenter = 0.5f * sqrt24_3;
- private static final float zcenter = -sqrt3_3;
-
- private static final Point3f p1 =
- new Point3f(-1.0f, -ycenter, -zcenter);
- private static final Point3f p2 =
- new Point3f(1.0f, -ycenter, -zcenter);
- private static final Point3f p3 =
- new Point3f(0.0f, -ycenter, -sqrt3 - zcenter);
- private static final Point3f p4 =
- new Point3f(0.0f, sqrt24_3 - ycenter, 0.0f);
-
- private static final float[] floatVerts = {
- p1.x, p1.y, p1.z, // front face
- p2.x, p2.y, p2.z,
- p4.x, p4.y, p4.z,
-
- p1.x, p1.y, p1.z,// left, back face
- p4.x, p4.y, p4.z,
- p3.x, p3.y, p3.z,
-
- p2.x, p2.y, p2.z,// right, back face
- p3.x, p3.y, p3.z,
- p4.x, p4.y, p4.z,
-
- p1.x, p1.y, p1.z,// bottom face
- p3.x, p3.y, p3.z,
- p2.x, p2.y, p2.z,
- };
-
- private static final Color3f c1 = new Color3f(0.6f, 0.0f, 0.0f);
- private static final Color3f c2 = new Color3f(0.0f, 0.6f, 0.0f);
- private static final Color3f c3 = new Color3f(0.0f, 0.6f, 0.6f);
- private static final Color3f c4 = new Color3f(0.6f, 0.6f, 0.0f);
-
-
-
- private static final float[] floatClrs = {
- c1.x, c1.y, c1.z, // front face
- c2.x, c2.y, c2.z,
- c4.x, c4.y, c4.z,
-
- c1.x, c1.y, c1.z,// left, back face
- c4.x, c4.y, c4.z,
- c3.x, c3.y, c3.z,
-
- c2.x, c2.y, c2.z,// right, back face
- c3.x, c3.y, c3.z,
- c4.x, c4.y, c4.z,
-
- c1.x, c1.y, c1.z,// bottom face
- c3.x, c3.y, c3.z,
- c2.x, c2.y, c2.z,
- };
-
- private static final float[] indexedFloatVerts = {
- p1.x,p1.y,p1.z,
- p2.x,p2.y,p2.z,
- p3.x,p3.y,p3.z,
- p4.x,p4.y,p4.z,
-
- };
-
-
- private static final float[] indexedFloatClrs = {
- c1.x,c1.y,c1.z,
- c2.x,c2.y,c2.z,
- c3.x,c3.y,c3.z,
- c4.x,c4.y,c4.z,
- };
-
- private static final int[] indices = {0,1,3,0,3,2,1,2,3,0,2,1};
- private int[] stripVertexCounts = {3,3,3,3};
-
- private SimpleUniverse u;
-
- private J3DBuffer floatBufferCoord;
- private J3DBuffer floatBufferColor;
- private J3DBuffer indexedFloatBufferCoord;
- private J3DBuffer indexedFloatBufferColor;
-
- void createJ3DBuffers() {
- int i;
- ByteOrder order = ByteOrder.nativeOrder();
-
- FloatBuffer coord = ByteBuffer.allocateDirect(36 * 4).order(order).asFloatBuffer();
- coord.put(floatVerts, 0, 36);
- floatBufferCoord = new J3DBuffer(coord);
-
- FloatBuffer color = ByteBuffer.allocateDirect(36 * 4).order(order).asFloatBuffer();
- color.put(floatClrs, 0, 36);
- floatBufferColor = new J3DBuffer(color);
-
- FloatBuffer indexedCoord = ByteBuffer.allocateDirect(12 * 4).order(order).asFloatBuffer();
- indexedCoord.put(indexedFloatVerts, 0, 12);
- indexedFloatBufferCoord = new J3DBuffer(indexedCoord);
-
- FloatBuffer indexedColor = ByteBuffer.allocateDirect(12 * 4).order(order).asFloatBuffer();
- indexedColor.put(indexedFloatClrs, 0, 12);
- indexedFloatBufferColor = new J3DBuffer(indexedColor);
- }
-
- BranchGroup createSceneGraph() {
- BranchGroup objRoot = new BranchGroup();
-
- // Set up attributes to render lines
- app = new Appearance();
-
- transp = new TransparencyAttributes();
- transp.setTransparency(0.5f);
- transp.setCapability(TransparencyAttributes.ALLOW_MODE_WRITE);
- transp.setTransparencyMode(TransparencyAttributes.NONE);
- app.setTransparencyAttributes(transp);
-
- //create the direct nio buffer
- createJ3DBuffers();
-
- tetraRegular = createGeometry(1);
- tetraStrip =createGeometry(2);
- tetraIndexed = createGeometry(3);
- tetraIndexedStrip = createGeometry(4);
-
- geoArrays[0] = tetraRegular;
- geoArrays[1] = tetraStrip;
- geoArrays[2] = tetraIndexed;
- geoArrays[3] = tetraIndexedStrip;
-
- shape = new Shape3D(tetraRegular, app);
- shape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
- shape.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
-
- Transform3D t = new Transform3D();
- // move the object upwards
- t.set(new Vector3f(0.0f, 0.3f, 0.0f));
-
- // rotate the shape
- Transform3D temp = new Transform3D();
- temp.rotX(Math.PI/4.0d);
- t.mul(temp);
- temp.rotY(Math.PI/4.0d);
- t.mul(temp);
-
- // Shrink the object
- t.setScale(0.6);
-
- TransformGroup trans = new TransformGroup(t);
- trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
-
- objRoot.addChild(trans);
- trans.addChild(shape);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the global lights
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
-
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- objRoot.addChild(aLgt);
- objRoot.addChild(lgt1);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- JPanel createGeometryByReferencePanel() {
- JPanel panel = new JPanel();
- panel.setBorder(new TitledBorder("Geometry Type"));
-
- String values[] = {"Array", "Strip", "Indexed", "IndexedStrip"};
- geomType = new JComboBox(values);
- geomType.setLightWeightPopupEnabled(false);
- geomType.addActionListener(this);
- geomType.setSelectedIndex(0);
- panel.add(new JLabel("Geometry Type"));
- panel.add(geomType);
-
- return panel;
- }
-
- JPanel createUpdatePanel() {
-
- JPanel panel = new JPanel();
- panel.setBorder(new TitledBorder("Other Attributes"));
-
- String updateComp[] = { "None","Geometry", "Color"};
-
- transparency = new JCheckBox("EnableTransparency",
- false);
- transparency.addActionListener(this);
- panel.add(transparency);
-
-
- updates = new JComboBox(updateComp);
- updates.setLightWeightPopupEnabled(false);
- updates.addActionListener(this);
- updates.setSelectedIndex(0);
- panel.add(new JLabel("UpdateData"));
- panel.add(updates);
-
- return panel;
- }
-
-
-
- public GeometryByReferenceNIOBuffer() {
- }
-
- public void init() {
- Container contentPane = getContentPane();
-
- Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- contentPane.add("Center", c);
-
- BranchGroup scene = createSceneGraph();
- // SimpleUniverse is a Convenience Utility class
- u = new SimpleUniverse(c);
-
- // add mouse behaviors to the viewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
- u.addBranchGraph(scene);
-
- // add Orbit behavior to the ViewingPlatform
- OrbitBehavior orbit = new OrbitBehavior(c, OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- // Create GUI
- JPanel p = new JPanel();
- BoxLayout boxlayout = new BoxLayout(p,
- BoxLayout.Y_AXIS);
- p.add(createGeometryByReferencePanel());
- p.add(createUpdatePanel());
- p.setLayout(boxlayout);
-
- contentPane.add("South", p);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public void actionPerformed(ActionEvent e) {
- Object target = e.getSource();
- GeometryArray geo;
- boolean setColor = false, setVertex = false;
- if (target == geomType) {
- geo = geoArrays[geomType.getSelectedIndex()];
- // Set everything to null, and set it later ..
- geo.setColorRefBuffer(null);
- geo.setCoordRefBuffer(null);
- shape.setGeometry(geoArrays[geomType.getSelectedIndex()]);
-
- setColor = true;
- setVertex= true;
-
-
- }
- else if (target == transparency) {
- if (transparency.isSelected()) {
- transp.setTransparencyMode(TransparencyAttributes.BLENDED);
- }
- else {
- transp.setTransparencyMode(TransparencyAttributes.NONE);
- }
-
- }
- else if (target == updates) {
- updateIndex = updates.getSelectedIndex();
- if (updateIndex == 1) {
- System.out.println("Doing coordinate update");
- ((GeometryArray)(shape.getGeometry())).updateData(this);
- }
- else if (updateIndex == 2) {
- System.out.println("Doing color update");
- ((GeometryArray)(shape.getGeometry())).updateData(this);
- }
-
- }
-
- if (setVertex) {
- geo = (GeometryArray) shape.getGeometry();
- if (geo instanceof IndexedGeometryArray)
- geo.setCoordRefBuffer(indexedFloatBufferCoord);
- else
- geo.setCoordRefBuffer(floatBufferCoord);
-
- }
- if (setColor) {
- geo = (GeometryArray) shape.getGeometry();
- if (geo instanceof IndexedGeometryArray)
- geo.setColorRefBuffer(indexedFloatBufferColor);
- else
- geo.setColorRefBuffer(floatBufferColor);
- }
- }
-
-
-
- public static void main(String[] args) {
- Frame frame = new MainFrame(new GeometryByReferenceNIOBuffer(), 800, 800);
- }
-
- public GeometryArray createGeometry (int type) {
- GeometryArray tetra = null;
- if (type == 1) {
- tetra =new TriangleArray(12,
- TriangleArray.COORDINATES|
- TriangleArray.COLOR_3|
- TriangleArray.BY_REFERENCE|
- TriangleArray.USE_NIO_BUFFER);
-
- tetra.setCoordRefBuffer(floatBufferCoord);
- tetra.setColorRefBuffer(floatBufferColor);
-
- }
- else if (type == 2) {
- tetra = new TriangleStripArray(12,
- TriangleStripArray.COORDINATES|
- TriangleStripArray.COLOR_3|
- TriangleStripArray.BY_REFERENCE|
- TriangleStripArray.USE_NIO_BUFFER,
- stripVertexCounts);
- tetra.setCoordRefBuffer(floatBufferCoord);
- tetra.setColorRefBuffer(floatBufferColor);
-
- }
- else if (type == 3) { // Indexed Geometry
- tetra = new IndexedTriangleArray(4,
- IndexedTriangleArray.COORDINATES|
- IndexedTriangleArray.COLOR_3|
- IndexedTriangleArray.BY_REFERENCE|
- IndexedTriangleArray.USE_NIO_BUFFER,
- //IndexedTriangleStripArray.USE_COORD_INDEX_ONLY,
- 12);
- tetra.setCoordRefBuffer(indexedFloatBufferCoord);
- tetra.setColorRefBuffer(indexedFloatBufferColor);
- ((IndexedTriangleArray)tetra).setCoordinateIndices(0, indices);
- ((IndexedTriangleArray)tetra).setColorIndices(0, indices);
- }
- else if (type == 4) { // Indexed strip geometry
- tetra = new IndexedTriangleStripArray(4,
- IndexedTriangleStripArray.COORDINATES|
- IndexedTriangleStripArray.COLOR_3|
- IndexedTriangleStripArray.BY_REFERENCE|
- IndexedTriangleStripArray.USE_NIO_BUFFER|
- IndexedTriangleStripArray.USE_COORD_INDEX_ONLY,
- 12,
- stripVertexCounts);
- tetra.setCoordRefBuffer(indexedFloatBufferCoord);
- tetra.setColorRefBuffer(indexedFloatBufferColor);
- ((IndexedTriangleStripArray)tetra).setCoordinateIndices(0, indices);
- /*
- // Do not set color indices in UCIO mode
- ((IndexedTriangleStripArray)tetra).setColorIndices(0, indices);
- */
- }
-
- if (tetra != null)
- tetra.setCapability(GeometryArray.ALLOW_REF_DATA_WRITE);
- return tetra;
- }
-
- public void updateData(Geometry geometry) {
- int i;
- float val;
- float val1;
- if (updateIndex == 1) { // geometry
- // Translate the geometry by a small amount in x
- vertexCount++;
- if ((vertexCount &1) == 1)
- val = 0.2f;
- else
- val = -0.2f;
-
- FloatBuffer indexedCoord = (FloatBuffer)indexedFloatBufferCoord.getBuffer();
- indexedCoord.rewind();
- FloatBuffer coord = (FloatBuffer)floatBufferCoord.getBuffer();
- coord.rewind();
-
- if (vertexIndex == 0) {
- // Do Indexed geometry
- for (i = 0; i < indexedCoord.limit(); i+=3) {
- val1 = indexedCoord.get(i);
- indexedCoord.put(i, val1 + val);
- }
- // Do non-indexed float geometry
- for (i = 0; i < coord.limit(); i+=3) {
- val1 = coord.get(i);
- coord.put(i, val1 + val);
- }
- }
- }
- else if (updateIndex == 2) { // colors
- colorCount++;
- if ((colorCount & 1) == 1)
- val = 0.4f;
- else
- val = -0.4f;
-
- FloatBuffer indexedColors = (FloatBuffer)indexedFloatBufferColor.getBuffer();
- indexedColors.rewind();
- FloatBuffer colors = (FloatBuffer)floatBufferColor.getBuffer();
- colors.rewind();
-
- if (colorIndex == 0) {
- // Do Indexed geometry
- for (i = 0; i < indexedColors.limit(); i+=3) {
- indexedColors.put(i, indexedColors.get(i) + val);
- }
- // Do non-indexed float geometry
- for (i = 0; i < colors.limit(); i+=3) {
- colors.put(i, colors.get(i) + val);
- }
- }
-
- }
-
- }
-}
diff --git a/src/GeometryByReference/GeometryByReferenceTest.html b/src/GeometryByReference/GeometryByReferenceTest.html
deleted file mode 100644
index 8bc7c8a..0000000
--- a/src/GeometryByReference/GeometryByReferenceTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>GeometryByReferenceTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="GeometryByReferenceTest.class" width=800 height=800>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/GeometryByReference/GeometryByReferenceTest.java b/src/GeometryByReference/GeometryByReferenceTest.java
deleted file mode 100644
index 430aedb..0000000
--- a/src/GeometryByReference/GeometryByReferenceTest.java
+++ /dev/null
@@ -1,552 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.border.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-
-public class GeometryByReferenceTest extends JApplet implements ActionListener,
-GeometryUpdater {
-
- RenderingAttributes ra;
- ColoringAttributes ca;
- Material mat;
- Appearance app;
- JComboBox geomType;
- JComboBox vertexType;
- JComboBox colorType;
- JCheckBox transparency;
- JComboBox updates;
- Shape3D shape;
- TransparencyAttributes transp;
- int updateIndex = 0;
- int colorCount = 0, vertexCount = 0;
- int vertexIndex = 0, colorIndex = 0;
-
- GeometryArray tetraRegular, tetraStrip, tetraIndexed, tetraIndexedStrip;
- GeometryArray[] geoArrays = new GeometryArray[4];
-
- private static final float sqrt3 = (float) Math.sqrt(3.0);
- private static final float sqrt3_3 = sqrt3 / 3.0f;
- private static final float sqrt24_3 = (float) Math.sqrt(24.0) / 3.0f;
-
- private static final float ycenter = 0.5f * sqrt24_3;
- private static final float zcenter = -sqrt3_3;
-
- private static final Point3f p1 =
- new Point3f(-1.0f, -ycenter, -zcenter);
- private static final Point3f p2 =
- new Point3f(1.0f, -ycenter, -zcenter);
- private static final Point3f p3 =
- new Point3f(0.0f, -ycenter, -sqrt3 - zcenter);
- private static final Point3f p4 =
- new Point3f(0.0f, sqrt24_3 - ycenter, 0.0f);
-
-
- private static final float[] floatVerts = {
- p1.x, p1.y, p1.z, // front face
- p2.x, p2.y, p2.z,
- p4.x, p4.y, p4.z,
-
- p1.x, p1.y, p1.z,// left, back face
- p4.x, p4.y, p4.z,
- p3.x, p3.y, p3.z,
-
- p2.x, p2.y, p2.z,// right, back face
- p3.x, p3.y, p3.z,
- p4.x, p4.y, p4.z,
-
- p1.x, p1.y, p1.z,// bottom face
- p3.x, p3.y, p3.z,
- p2.x, p2.y, p2.z,
- };
-
- private static final Color3f c1 = new Color3f(0.6f, 0.0f, 0.0f);
- private static final Color3f c2 = new Color3f(0.0f, 0.6f, 0.0f);
- private static final Color3f c3 = new Color3f(0.0f, 0.6f, 0.6f);
- private static final Color3f c4 = new Color3f(0.6f, 0.6f, 0.0f);
-
-
- private static final float[] floatClrs = {
- c1.x, c1.y, c1.z, // front face
- c2.x, c2.y, c2.z,
- c4.x, c4.y, c4.z,
-
- c1.x, c1.y, c1.z,// left, back face
- c4.x, c4.y, c4.z,
- c3.x, c3.y, c3.z,
-
- c2.x, c2.y, c2.z,// right, back face
- c3.x, c3.y, c3.z,
- c4.x, c4.y, c4.z,
-
- c1.x, c1.y, c1.z,// bottom face
- c3.x, c3.y, c3.z,
- c2.x, c2.y, c2.z,
- } ;
-
- private static final float[] indexedFloatVerts = {
- p1.x,p1.y,p1.z,
- p2.x,p2.y,p2.z,
- p3.x,p3.y,p3.z,
- p4.x,p4.y,p4.z,
-
- };
- private static final float[] indexedFloatClrs = {
- c1.x,c1.y,c1.z,
- c2.x,c2.y,c2.z,
- c3.x,c3.y,c3.z,
- c4.x,c4.y,c4.z,
- };
- private static final Point3f[] p3fVerts = {
- p1, p2, p4, p1, p4, p3, p2, p3, p4, p1, p3, p2};
-
- private static final Point3f[] indexedP3fVerts = {p1, p2, p3, p4};
-
- private static final Color3f[] c3fClrs = {
- c1, c2, c4, c1, c4, c3, c2, c3, c4, c1, c3, c2};
-
- private static final Color3f[] indexedC3fClrs = {c1, c2, c3, c4};
-
-
- private static final int[] indices = {0,1,3,0,3,2,1,2,3,0,2,1};
- private int[] stripVertexCounts = {3,3,3,3};
-
- private SimpleUniverse u;
-
- BranchGroup createSceneGraph() {
- BranchGroup objRoot = new BranchGroup();
-
- // Set up attributes to render lines
- app = new Appearance();
-
- transp = new TransparencyAttributes();
- transp.setTransparency(0.5f);
- transp.setCapability(TransparencyAttributes.ALLOW_MODE_WRITE);
- transp.setTransparencyMode(TransparencyAttributes.NONE);
- app.setTransparencyAttributes(transp);
-
- tetraRegular = createGeometry(1);
- tetraStrip =createGeometry(2);
- tetraIndexed = createGeometry(3);
- tetraIndexedStrip = createGeometry(4);
-
- geoArrays[0] = tetraRegular;
- geoArrays[1] = tetraStrip;
- geoArrays[2] = tetraIndexed;
- geoArrays[3] = tetraIndexedStrip;
-
- shape = new Shape3D(tetraRegular, app);
- shape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
- shape.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
-
- Transform3D t = new Transform3D();
- // move the object upwards
- t.set(new Vector3f(0.0f, 0.3f, 0.0f));
-
- // rotate the shape
- Transform3D temp = new Transform3D();
- temp.rotX(Math.PI/4.0d);
- t.mul(temp);
- temp.rotY(Math.PI/4.0d);
- t.mul(temp);
-
- // Shrink the object
- t.setScale(0.6);
-
- TransformGroup trans = new TransformGroup(t);
- trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
-
- objRoot.addChild(trans);
- trans.addChild(shape);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the global lights
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
-
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- objRoot.addChild(aLgt);
- objRoot.addChild(lgt1);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- JPanel createGeometryByReferencePanel() {
- JPanel panel = new JPanel();
- panel.setBorder(new TitledBorder("Geometry Type"));
-
- String values[] = {"Array", "Strip", "Indexed", "IndexedStrip"};
- geomType = new JComboBox(values);
- geomType.setLightWeightPopupEnabled(false);
- geomType.addActionListener(this);
- geomType.setSelectedIndex(0);
- panel.add(new JLabel("Geometry Type"));
- panel.add(geomType);
-
-
- String vertex_types[] = { "Float","P3F"};
-
- vertexType = new JComboBox(vertex_types);
- vertexType.setLightWeightPopupEnabled(false);
- vertexType.addActionListener(this);
- vertexType.setSelectedIndex(0);
- panel.add(new JLabel("VertexType"));
- panel.add(vertexType);
-
-
- String color_types[] = { "Float","C3F"};
-
- colorType = new JComboBox(color_types);
- colorType.setLightWeightPopupEnabled(false);
- colorType.addActionListener(this);
- colorType.setSelectedIndex(0);
- panel.add(new JLabel("ColorType"));
- panel.add(colorType);
-
-
-
-
- return panel;
- }
-
- JPanel createUpdatePanel() {
-
- JPanel panel = new JPanel();
- panel.setBorder(new TitledBorder("Other Attributes"));
-
- String updateComp[] = { "None","Geometry", "Color"};
-
- transparency = new JCheckBox("EnableTransparency",
- false);
- transparency.addActionListener(this);
- panel.add(transparency);
-
-
- updates = new JComboBox(updateComp);
- updates.setLightWeightPopupEnabled(false);
- updates.addActionListener(this);
- updates.setSelectedIndex(0);
- panel.add(new JLabel("UpdateData"));
- panel.add(updates);
-
- return panel;
- }
-
-
-
- public GeometryByReferenceTest() {
- }
-
- public void init() {
- Container contentPane = getContentPane();
-
- Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- contentPane.add("Center", c);
-
- BranchGroup scene = createSceneGraph();
- // SimpleUniverse is a Convenience Utility class
- u = new SimpleUniverse(c);
-
- // add mouse behaviors to the viewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
- u.addBranchGraph(scene);
-
- // add Orbit behavior to the ViewingPlatform
- OrbitBehavior orbit = new OrbitBehavior(c, OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- // Create GUI
- JPanel p = new JPanel();
- BoxLayout boxlayout = new BoxLayout(p,
- BoxLayout.Y_AXIS);
- p.add(createGeometryByReferencePanel());
- p.add(createUpdatePanel());
- p.setLayout(boxlayout);
-
- contentPane.add("South", p);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public void actionPerformed(ActionEvent e) {
- Object target = e.getSource();
- GeometryArray geo;
- boolean setColor = false, setVertex = false;
- if (target == geomType) {
- geo = geoArrays[geomType.getSelectedIndex()];
- // Set everything to null, and set it later ..
- geo.setColorRefFloat(null);
- geo.setColorRef3f(null);
- geo.setCoordRefFloat(null);
- geo.setCoordRef3f(null);
- shape.setGeometry(geoArrays[geomType.getSelectedIndex()]);
-
- setColor = true;
- setVertex= true;
-
-
- }
- else if (target == transparency) {
- if (transparency.isSelected()) {
- transp.setTransparencyMode(TransparencyAttributes.BLENDED);
- }
- else {
- transp.setTransparencyMode(TransparencyAttributes.NONE);
- }
-
-
- }
- else if (target == updates) {
- updateIndex = updates.getSelectedIndex();
- if (updateIndex == 1) {
- System.out.println("Doing coordinate update");
- ((GeometryArray)(shape.getGeometry())).updateData(this);
- }
- else if (updateIndex == 2) {
- System.out.println("Doing color update");
- ((GeometryArray)(shape.getGeometry())).updateData(this);
- }
-
- }
- else if (target == vertexType) {
- geo = ((GeometryArray)shape.getGeometry());
- if (vertexIndex == 0) {
- geo.setCoordRefFloat(null);
- }
- else if (vertexIndex == 1) {
- geo.setCoordRef3f(null);
- }
- vertexIndex = vertexType.getSelectedIndex();
- setVertex = true;
- }
- else if (target == colorType) {
- geo = (GeometryArray) shape.getGeometry();
- if (colorIndex == 0) {
- geo.setColorRefFloat(null);
- }
- else if (colorIndex == 1) {
- geo.setColorRef3f(null);
- }
- colorIndex = colorType.getSelectedIndex();
- setColor = true;
- }
-
- if (setVertex) {
- geo = (GeometryArray) shape.getGeometry();
- if (vertexIndex == 0) {
- if (geo instanceof IndexedGeometryArray)
- geo.setCoordRefFloat(indexedFloatVerts);
- else
- geo.setCoordRefFloat(floatVerts);
- }
- else if (vertexIndex == 1) {
- if (geo instanceof IndexedGeometryArray)
- geo.setCoordRef3f(indexedP3fVerts);
- else
- geo.setCoordRef3f(p3fVerts);
- }
-
- }
- if (setColor) {
- geo = (GeometryArray) shape.getGeometry();
- if (colorIndex == 0) {
- if (geo instanceof IndexedGeometryArray)
- geo.setColorRefFloat(indexedFloatClrs);
- else
- geo.setColorRefFloat(floatClrs);
- }
- else if (colorIndex == 1) {
- if (geo instanceof IndexedGeometryArray)
- geo.setColorRef3f(indexedC3fClrs);
- else
- geo.setColorRef3f(c3fClrs);
- }
- }
-
- }
-
-
-
- public static void main(String[] args) {
- Frame frame = new MainFrame(new GeometryByReferenceTest(), 800, 800);
- }
-
- public GeometryArray createGeometry (int type) {
- GeometryArray tetra = null;
- if (type == 1) {
- tetra =new TriangleArray(12,
- TriangleArray.COORDINATES|
- TriangleArray.COLOR_3|
- TriangleArray.BY_REFERENCE);
-
- tetra.setCoordRefFloat(floatVerts);
- tetra.setColorRefFloat(floatClrs);
-
- }
- else if (type == 2) {
- tetra = new TriangleStripArray(12,
- TriangleStripArray.COORDINATES|
- TriangleStripArray.COLOR_3|
- TriangleStripArray.BY_REFERENCE,
- stripVertexCounts);
- tetra.setCoordRefFloat(floatVerts);
- tetra.setColorRefFloat(floatClrs);
-
- }
- else if (type == 3) { // Indexed Geometry
- tetra = new IndexedTriangleArray(4,
- IndexedTriangleArray.COORDINATES|
- IndexedTriangleArray.COLOR_3|
- IndexedTriangleArray.BY_REFERENCE,
- 12);
- tetra.setCoordRefFloat(indexedFloatVerts);
- tetra.setColorRefFloat(indexedFloatClrs);
- ((IndexedTriangleArray)tetra).setCoordinateIndices(0, indices);
- ((IndexedTriangleArray)tetra).setColorIndices(0, indices);
- }
- else if (type == 4) { // Indexed strip geometry
- tetra = new IndexedTriangleStripArray(4,
- IndexedTriangleStripArray.COORDINATES|
- IndexedTriangleStripArray.COLOR_3|
- IndexedTriangleStripArray.BY_REFERENCE,
- 12,
- stripVertexCounts);
- tetra.setCoordRefFloat(indexedFloatVerts);
- tetra.setColorRefFloat(indexedFloatClrs);
- ((IndexedTriangleStripArray)tetra).setCoordinateIndices(0, indices);
- ((IndexedTriangleStripArray)tetra).setColorIndices(0, indices);
- }
-
- if (tetra != null)
- tetra.setCapability(GeometryArray.ALLOW_REF_DATA_WRITE);
- return tetra;
- }
-
- public void updateData(Geometry geometry) {
- int i;
- float val;
-
-
- if (updateIndex == 1) { // geometry
- // Translate the geometry by a small amount in x
- vertexCount++;
- if ((vertexCount &1) == 1)
- val = 0.2f;
- else
- val = -0.2f;
-
- if (vertexIndex == 0) {
- // Do Indexed geometry
- for (i = 0; i < indexedFloatVerts.length; i+=3) {
- indexedFloatVerts[i] += val;
- }
- // Do non-indexed float geometry
- for (i = 0; i < floatVerts.length; i+=3) {
- floatVerts[i] += val;
- }
- }
- else {
- // If p3f do each point only once
- for (i = 0; i < indexedP3fVerts.length; i++) {
- indexedP3fVerts[i].x += val;
- }
- }
-
- }
- else if (updateIndex == 2) { // colors
- colorCount++;
- if ((colorCount & 1) == 1)
- val = 0.4f;
- else
- val = -0.4f;
- if (colorIndex == 0) {
- // Do Indexed geometry
- for (i = 0; i < indexedFloatClrs.length; i+=3) {
- indexedFloatClrs[i] += val;
- }
- // Do non-indexed float geometry
- for (i = 0; i < floatClrs.length; i+=3) {
- floatClrs[i] += val;
- }
- }
- else {
- // If c3f do each point only once
- for (i = 0; i < indexedC3fClrs.length; i++) {
- indexedC3fClrs[i].x += val;
- }
- }
-
- }
-
- }
-}
diff --git a/src/GeometryByReference/GeometryByReferenceTest_plugin.html b/src/GeometryByReference/GeometryByReferenceTest_plugin.html
deleted file mode 100644
index 2e3b979..0000000
--- a/src/GeometryByReference/GeometryByReferenceTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>GeometryByReferenceTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 800 HEIGHT = 800 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "GeometryByReferenceTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "GeometryByReferenceTest.class" WIDTH = 800 HEIGHT = 800 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "GeometryByReferenceTest.class" WIDTH = 800 HEIGHT = 800 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/GeometryByReference/ImageComponentByReferenceTest.html b/src/GeometryByReference/ImageComponentByReferenceTest.html
deleted file mode 100644
index a9b0d60..0000000
--- a/src/GeometryByReference/ImageComponentByReferenceTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ImageComponentByReferenceTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="ImageComponentByReferenceTest.class" width=800 height=800>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/GeometryByReference/ImageComponentByReferenceTest.java b/src/GeometryByReference/ImageComponentByReferenceTest.java
deleted file mode 100644
index 56ba367..0000000
--- a/src/GeometryByReference/ImageComponentByReferenceTest.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.border.*;
-import com.sun.j3d.utils.behaviors.mouse.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.geometry.Box;
-import com.sun.j3d.utils.geometry.ColorCube;
-import java.awt.image.*;
-import java.awt.color.ColorSpace;
-import com.sun.j3d.utils.geometry.*;
-
-public class ImageComponentByReferenceTest extends JApplet implements ActionListener {
-
- Shape3D s1,s2;
- TextureLoader t0, t1, t2;
- int count = 0;
-
- Appearance app = new Appearance();
- BranchGroup objRoot = new BranchGroup();
- TransformGroup objTrans = new TransformGroup();
- BufferedImage bImage1;
- TiledImage checkBoard;
- boolean yUp = false;
- boolean byRef = true;
- JComboBox rasterType, texType;
- ImageComponent2D[] image = new ImageComponent2D[8];
- Appearance dummyApp = new Appearance();
- Texture2D texOne, texCheckBoard;
- javax.media.j3d.Raster raster;
- Box textureCube;
- Shape3D boxShape;
- int w1 = 64, h1 = 32, checkw = 16 , checkh = 16;
-
- private java.net.URL texImage = null;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
- objRoot = new BranchGroup();
-
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(Group.ALLOW_CHILDREN_WRITE);
-
- objRoot.addChild(objTrans);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- app.setCapability(Appearance.ALLOW_TEXTURE_WRITE);
-
-
- textureCube = new Box(0.4f, 0.4f, 0.4f,
- Box.GENERATE_TEXTURE_COORDS|
- Box.GENERATE_NORMALS, app);
- boxShape = textureCube.getShape(Box.FRONT);
- boxShape.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
- objTrans.addChild(textureCube);
-
- checkBoard = new TiledImage();
- TextureLoader texLoader = new TextureLoader( texImage, this);
- ImageComponent2D oneImage = texLoader.getImage();
- bImage1 = oneImage.getImage();
-
- int index = 0;
- image[index++] = new ImageComponent2D(oneImage.getFormat(),
- (RenderedImage)bImage1,
- false,
- true);
-
- image[index++] = new ImageComponent2D(oneImage.getFormat(),
- (RenderedImage)bImage1,
- true,
- true);
-
-
- image[index++] = new ImageComponent2D(oneImage.getFormat(),
- (RenderedImage)bImage1,
- false,
- false);
-
-
- image[index++] = new ImageComponent2D(oneImage.getFormat(),
- (RenderedImage)bImage1,
- true,
- false);
-
- createRaster(objRoot);
-
- image[index++] = new ImageComponent2D(ImageComponent.FORMAT_RGBA,
- checkBoard,
- false,
- true);
-
- image[index++] = new ImageComponent2D(ImageComponent.FORMAT_RGBA,
- checkBoard,
- true,
- true);
-
-
- image[index++] = new ImageComponent2D(ImageComponent.FORMAT_RGBA,
- checkBoard,
- false,
- false);
-
-
- image[index++] = new ImageComponent2D(ImageComponent.FORMAT_RGBA,
- checkBoard,
- true,
- false);
-
-
-
- texOne = new Texture2D(Texture.BASE_LEVEL,
- Texture.RGBA,
- image[2].getWidth(), image[2].getHeight());
-
- texOne.setCapability(Texture.ALLOW_IMAGE_WRITE);
- texOne.setImage(0, image[2]);
-
- app.setTexture(texOne);
-
- texCheckBoard = new Texture2D(Texture.BASE_LEVEL,
- Texture.RGBA,
- image[4].getWidth(), image[4].getHeight());
-
- texCheckBoard.setCapability(Texture.ALLOW_IMAGE_WRITE);
- objRoot.compile();
- return objRoot;
- }
-
- public void actionPerformed(ActionEvent e ) {
- Object target = e.getSource();
-
- if (target == rasterType) {
- if (rasterType.getSelectedIndex() < 4) {
- raster.setSize(w1, h1);
- }
- else {
- raster.setSize(checkw, checkh);
- }
- raster.setImage(image[rasterType.getSelectedIndex()]);
- }
- else if (target == texType) {
- boxShape.setAppearance(dummyApp);
- if (texType.getSelectedIndex() < 4) {
- texOne.setImage(0, image[texType.getSelectedIndex()]);
- app.setTexture(texOne);
- }
- else {
- texCheckBoard.setImage(0, image[texType.getSelectedIndex()]);
- app.setTexture(texCheckBoard);
- }
-
- boxShape.setAppearance(app);
- }
-
-
- }
-
- JPanel createImagePanel() {
- JPanel panel = new JPanel();
- String texVals[] = { "One_Yup_ByCopy",
- "One_Yup_ByReference",
- "One_Ydown_ByCopy",
- "One_Ydown_ByReference",
- "Checkered_Yup_ByCopy",
- "Checkered_Yup_ByReference",
- "Checkered_Ydown_ByCopy",
- "Checkered_Ydown_ByReference"};
-
- rasterType = new JComboBox(texVals);
- rasterType.setLightWeightPopupEnabled(false);
- rasterType.addActionListener(this);
- rasterType.setSelectedIndex(2);
- panel.add(new JLabel("Raster Image"));
- panel.add(rasterType);
-
- texType = new JComboBox(texVals);
- texType.setLightWeightPopupEnabled(false);
- texType.addActionListener(this);
- texType.setSelectedIndex(2);
- panel.add(new JLabel("Texture Image"));
- panel.add(texType);
- return panel;
-
- }
-
-
-
- public ImageComponentByReferenceTest()
- {
- }
-
- public ImageComponentByReferenceTest(java.net.URL url) {
- texImage = url;
- }
-
- public void init() {
- if (texImage == null) {
- // the path to the image for an applet
- try {
- texImage = new java.net.URL(getCodeBase().toString() +
- "../images/one.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- BranchGroup scene = createSceneGraph();u = new SimpleUniverse(c);
- u.getViewingPlatform().setNominalViewingTransform();
- u.addBranchGraph(scene);
- Container contentPane = getContentPane();
- JPanel p = new JPanel();
- BoxLayout boxlayout = new BoxLayout(p,
- BoxLayout.Y_AXIS);
- p.setLayout(boxlayout);
- contentPane.add("Center", c);
-
- contentPane.add("South", p);
-
- p.add(createImagePanel());
-
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public static void main(String[] args) {
- java.net.URL url = null;
- // the path to the image file for an application
- try {
- url = new java.net.URL("file:../images/one.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
-
- new MainFrame(new ImageComponentByReferenceTest(url), 800, 700);
- }
-
- void createRaster( BranchGroup scene) {
-
-
-
- // Create raster geometries and shapes
- Vector3f trans = new Vector3f( );
- Transform3D tr = new Transform3D( );
- TransformGroup tg;
-
- // Left
- raster = new javax.media.j3d.Raster( );
- raster.setCapability(javax.media.j3d.Raster.ALLOW_IMAGE_WRITE);
- raster.setCapability(javax.media.j3d.Raster.ALLOW_SIZE_WRITE);
- raster.setPosition( new Point3f( -0.9f, 0.75f, 0.0f ) );
- raster.setType( javax.media.j3d.Raster.RASTER_COLOR );
- raster.setOffset( 0, 0 );
-
- raster.setSize( image[2].getWidth(), image[2].getHeight() );
- raster.setImage( image[2] );
- Shape3D sh = new Shape3D( raster, new Appearance( ) );
- scene.addChild( sh );
-
-
-
- }
-}
-
-
-
-
diff --git a/src/GeometryByReference/ImageComponentByReferenceTest_plugin.html b/src/GeometryByReference/ImageComponentByReferenceTest_plugin.html
deleted file mode 100644
index 6bf3689..0000000
--- a/src/GeometryByReference/ImageComponentByReferenceTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ImageComponentByReferenceTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 800 HEIGHT = 800 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "ImageComponentByReferenceTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "ImageComponentByReferenceTest.class" WIDTH = 800 HEIGHT = 800 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "ImageComponentByReferenceTest.class" WIDTH = 800 HEIGHT = 800 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/GeometryByReference/InterleavedNIOBuffer.java b/src/GeometryByReference/InterleavedNIOBuffer.java
deleted file mode 100644
index 816f8ae..0000000
--- a/src/GeometryByReference/InterleavedNIOBuffer.java
+++ /dev/null
@@ -1,534 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.border.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-import java.nio.*;
-
-public class InterleavedNIOBuffer extends JApplet implements ActionListener {
-
- RenderingAttributes ra;
- ColoringAttributes ca;
- Material mat;
- Appearance app;
- JComboBox geomType;
- JCheckBox transparency;
- JCheckBox textureBox;
- Shape3D shape;
- TransparencyAttributes transp;
-
- GeometryArray tetraRegular, tetraStrip, tetraIndexed, tetraIndexedStrip;
- GeometryArray[] geoArrays = new GeometryArray[4];
-
- // Globally used colors
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f red = new Color3f(1.0f, 0.0f, 0.0f);
- Color3f green = new Color3f(0.0f, 1.0f, 0.0f);
- Color3f blue = new Color3f(0.0f, 0.0f, 1.0f);
- Color3f[] colors = {white, red, green, blue};
-
- private static final float sqrt3 = (float) Math.sqrt(3.0);
- private static final float sqrt3_3 = sqrt3 / 3.0f;
- private static final float sqrt24_3 = (float) Math.sqrt(24.0) / 3.0f;
-
- private static final float ycenter = 0.5f * sqrt24_3;
- private static final float zcenter = -sqrt3_3;
-
- private static final Point3f p1 =
- new Point3f(-1.0f, -ycenter, -zcenter);
- private static final Point3f p2 =
- new Point3f(1.0f, -ycenter, -zcenter);
- private static final Point3f p3 =
- new Point3f(0.0f, -ycenter, -sqrt3 - zcenter);
- private static final Point3f p4 =
- new Point3f(0.0f, sqrt24_3 - ycenter, 0.0f);
-
- private static final Point2f t1 = new Point2f(0.0f, 0.0f);
- private static final Point2f t2 = new Point2f(0.5f, 1.0f);
- private static final Point2f t3 = new Point2f(1.0f, 0.0f);
- private static final Point2f t4 = new Point2f(1.0f, 1.0f);
-
- private static final Color3f c1 = new Color3f(1.0f, 0.0f, 0.0f);
- private static final Color3f c2 = new Color3f(0.0f, 1.0f, 0.0f);
- private static final Color3f c3 = new Color3f(0.0f, 1.0f, 1.0f);
- private static final Color3f c4 = new Color3f(1.0f, 1.0f, 0.0f);
-
-
- private static final float[] interleaved = {
- t1.x, t1.y,
- t1.x, t1.y,
- c1.x, c1.y, c1.z, // front face
- p1.x, p1.y, p1.z, // front face
- t2.x, t2.y,
- t2.x, t2.y,
- c2.x, c2.y, c2.z,
- p2.x, p2.y, p2.z,
- t4.x, t4.y,
- t4.x, t4.y,
- c4.x, c4.y, c4.z,
- p4.x, p4.y, p4.z,
-
- t1.x, t1.y,
- t1.x, t1.y,
- c1.x, c1.y, c1.z,// left, back face
- p1.x, p1.y, p1.z,// left, back face
- t4.x, t4.y,
- t4.x, t4.y,
- c4.x, c4.y, c4.z,
- p4.x, p4.y, p4.z,
- t3.x, t3.y,
- t3.x, t3.y,
- c3.x, c3.y, c3.z,
- p3.x, p3.y, p3.z,
-
- t2.x, t2.y,
- t2.x, t2.y,
- c2.x, c2.y, c2.z,// right, back face
- p2.x, p2.y, p2.z,// right, back face
- t3.x, t3.y,
- t3.x, t3.y,
- c3.x, c3.y, c3.z,
- p3.x, p3.y, p3.z,
- t4.x, t4.y,
- t4.x, t4.y,
- c4.x, c4.y, c4.z,
- p4.x, p4.y, p4.z,
-
- t1.x, t1.y,
- t1.x, t1.y,
- c1.x, c1.y, c1.z,// bottom face
- p1.x, p1.y, p1.z,// bottom face
- t3.x, t3.y,
- t3.x, t3.y,
- c3.x, c3.y, c3.z,
- p3.x, p3.y, p3.z,
- t2.x, t2.y,
- t2.x, t2.y,
- c2.x, c2.y, c2.z,
- p2.x, p2.y, p2.z,
- };
-
- private static final float[] indexedInterleaved = {
- t1.x,t1.y,
- t1.x,t1.y,
- c1.x,c1.y,c1.z,
- p1.x,p1.y,p1.z,
- t2.x,t2.y,
- t2.x,t2.y,
- c2.x,c2.y,c2.z,
- p2.x,p2.y,p2.z,
- t3.x,t3.y,
- t3.x,t3.y,
- c3.x,c3.y,c3.z,
- p3.x,p3.y,p3.z,
- t4.x,t4.y,
- t4.x,t4.y,
- c4.x,c4.y,c4.z,
- p4.x,p4.y,p4.z,
- };
-
-
- private static final int[] indices = {0,1,3,0,3,2,1,2,3,0,2,1};
- private int[] stripVertexCounts = {3,3,3,3};
-
- TextureUnitState textureUnitState[] = new TextureUnitState[2];
- Texture tex1;
- Texture tex2;
-
- private java.net.URL texImage1 = null;
- private java.net.URL texImage2 = null;
-
- private SimpleUniverse u;
-
- private J3DBuffer interleavedBuffer;
- private J3DBuffer indexedInterleavedBuffer;
-
- void createInterleavedBuffers() {
- int size;
- ByteOrder order = ByteOrder.nativeOrder();
-
- size = (2 + 2 + 3 + 3 ) * 3 * 4;
- FloatBuffer vertex = ByteBuffer.allocateDirect(size * 4).order(order).asFloatBuffer();
- vertex.put(interleaved, 0, size);
- interleavedBuffer = new J3DBuffer(vertex);
-
- size = ( 2 + 2 + 3 + 3) * 4;
- FloatBuffer indexedVertex = ByteBuffer.allocateDirect(size * 4).order(order).asFloatBuffer();
- indexedVertex.put(indexedInterleaved, 0, size);
- indexedInterleavedBuffer = new J3DBuffer(indexedVertex);
- }
-
- BranchGroup createSceneGraph() {
- BranchGroup objRoot = new BranchGroup();
-
- // Set up attributes to render lines
- app = new Appearance();
- app.setCapability(Appearance.ALLOW_TEXTURE_UNIT_STATE_WRITE);
-
- transp = new TransparencyAttributes();
- transp.setTransparency(0.5f);
- transp.setCapability(TransparencyAttributes.ALLOW_MODE_WRITE);
- transp.setTransparencyMode(TransparencyAttributes.NONE);
- app.setTransparencyAttributes(transp);
-
- // load textures
- TextureAttributes texAttr1 = new TextureAttributes();
- texAttr1.setTextureMode(TextureAttributes.DECAL);
- TextureAttributes texAttr2 = new TextureAttributes();
- texAttr2.setTextureMode(TextureAttributes.MODULATE);
-
- TextureLoader tex = new TextureLoader(texImage1, new String("RGB"), this);
- if (tex == null)
- return null;
- tex1 = tex.getTexture();
-
- tex = new TextureLoader(texImage2, new String("RGB"), this);
- if (tex == null)
- return null;
- tex2 = tex.getTexture();
-
- textureUnitState[0] = new TextureUnitState(tex1, texAttr1, null);
- textureUnitState[1] = new TextureUnitState(tex2, texAttr2, null);
-
- createInterleavedBuffers();
-
- tetraRegular = createGeometry(1);
- tetraStrip =createGeometry(2);
- tetraIndexed = createGeometry(3);
- tetraIndexedStrip = createGeometry(4);
-
- geoArrays[0] = tetraRegular;
- geoArrays[1] = tetraStrip;
- geoArrays[2] = tetraIndexed;
- geoArrays[3] = tetraIndexedStrip;
-
- shape = new Shape3D(tetraRegular, app);
- shape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
-
- Transform3D t = new Transform3D();
- // move the object upwards
- t.set(new Vector3f(0.0f, 0.3f, 0.0f));
-
- // rotate the shape
- Transform3D temp = new Transform3D();
- temp.rotX(Math.PI/4.0d);
- t.mul(temp);
- temp.rotY(Math.PI/4.0d);
- t.mul(temp);
-
- // Shrink the object
- t.setScale(0.6);
-
- TransformGroup trans = new TransformGroup(t);
- trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
-
- objRoot.addChild(trans);
- trans.addChild(shape);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the global lights
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
-
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- objRoot.addChild(aLgt);
- objRoot.addChild(lgt1);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- JPanel createGeometryByReferencePanel() {
- JPanel panel = new JPanel();
- panel.setBorder(new TitledBorder("Geometry Type"));
-
- String values[] = {"Array", "Strip", "Indexed", "IndexedStrip"};
- geomType = new JComboBox(values);
- geomType.setLightWeightPopupEnabled(false);
- geomType.addActionListener(this);
- geomType.setSelectedIndex(0);
- panel.add(new JLabel("Geometry Type"));
- panel.add(geomType);
-
- transparency = new JCheckBox("EnableTransparency",
- false);
- transparency.addActionListener(this);
- panel.add(transparency);
-
- textureBox = new JCheckBox("EnableTexture", false);
- textureBox.addActionListener(this);
- panel.add(textureBox);
-
- return panel;
- }
-
- public InterleavedNIOBuffer() {
- }
-
- public InterleavedNIOBuffer(java.net.URL texURL1, java.net.URL texURL2) {
- texImage1 = texURL1;
- texImage2 = texURL2;
- }
-
- public void init() {
-
- // create textures
-
- if (texImage1 == null) {
- // the path to the image for an applet
- try {
- texImage1 = new java.net.URL(getCodeBase().toString() +
- "../images/bg.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- if (texImage2 == null) {
- // the path to the image for an applet
- try {
- texImage2 = new java.net.URL(getCodeBase().toString() +
- "../images/one.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- Container contentPane = getContentPane();
-
- Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- contentPane.add("Center", c);
-
- BranchGroup scene = createSceneGraph();
- // SimpleUniverse is a Convenience Utility class
- u = new SimpleUniverse(c);
-
- // add mouse behaviors to the viewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- // add Orbit behavior to the viewing platform
- OrbitBehavior orbit = new OrbitBehavior(c, OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- u.addBranchGraph(scene);
-
-
- // Create GUI
- JPanel p = new JPanel();
- BoxLayout boxlayout = new BoxLayout(p,
- BoxLayout.Y_AXIS);
- p.add(createGeometryByReferencePanel());
- p.setLayout(boxlayout);
-
- contentPane.add("South", p);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public void actionPerformed(ActionEvent e) {
- Object target = e.getSource();
- if (target == geomType) {
- shape.setGeometry(geoArrays[geomType.getSelectedIndex()]);
-
- }
- else if (target == transparency) {
- if (transparency.isSelected()) {
- transp.setTransparencyMode(TransparencyAttributes.BLENDED);
- }
- else {
- transp.setTransparencyMode(TransparencyAttributes.NONE);
- }
- }
- else if (target == textureBox) {
- if (textureBox.isSelected()) {
- app.setTextureUnitState(textureUnitState);
- }
- else {
- app.setTextureUnitState(null);
- }
- }
- }
-
-
-
- public static void main(String[] args) {
- java.net.URL texURL1 = null;
- java.net.URL texURL2 = null;
- // the path to the image for an application
- try {
- texURL1 = new java.net.URL("file:../images/bg.jpg");
- texURL2 = new java.net.URL("file:../images/one.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
-
- Frame frame = new MainFrame(new InterleavedNIOBuffer(texURL1, texURL2),
- 800, 800);
- }
-
- public GeometryArray createGeometry (int type) {
- GeometryArray tetra = null;
- int texCoordSetMap[] = {0, 0};
-
- if (type == 1) {
- tetra =new TriangleArray(12,
- TriangleArray.COORDINATES|
- TriangleArray.COLOR_3|
- /*
- TriangleArray.NORMAL_3|
- */
- TriangleArray.TEXTURE_COORDINATE_2 |
- TriangleArray.INTERLEAVED|
- TriangleArray.BY_REFERENCE|
- TriangleArray.USE_NIO_BUFFER,
- 2, texCoordSetMap);
-
- tetra.setInterleavedVertexBuffer(interleavedBuffer);
-
- }
- else if (type == 2) {
- tetra = new TriangleStripArray(12,
- TriangleStripArray.COORDINATES|
- TriangleStripArray.COLOR_3|
- /*
- TriangleArray.NORMAL_3|
- */
- TriangleArray.TEXTURE_COORDINATE_2 |
- TriangleStripArray.INTERLEAVED|
- TriangleStripArray.BY_REFERENCE|
- TriangleStripArray.USE_NIO_BUFFER,
- 2, texCoordSetMap,
- stripVertexCounts);
- tetra.setInterleavedVertexBuffer(interleavedBuffer);
-
-
- }
- else if (type == 3) { // Indexed Geometry
- tetra = new IndexedTriangleArray(4,
- IndexedTriangleArray.COORDINATES|
- IndexedTriangleArray.COLOR_3|
- /*
- IndexedTriangleArray.NORMAL_3|
- */
- IndexedTriangleArray.TEXTURE_COORDINATE_2 |
- IndexedTriangleArray.INTERLEAVED|
- IndexedTriangleArray.BY_REFERENCE|
- IndexedTriangleArray.USE_NIO_BUFFER|
- IndexedTriangleArray.USE_COORD_INDEX_ONLY,
- 2, texCoordSetMap,
- 12);
- tetra.setInterleavedVertexBuffer(indexedInterleavedBuffer);
- ((IndexedTriangleArray)tetra).setCoordinateIndices(0, indices);
- /*
- // Do not set color or texcoord indices in UCIO mode
- ((IndexedTriangleArray)tetra).setColorIndices(0, indices);
- ((IndexedTriangleArray)tetra).setTextureCoordinateIndices(
- 0, 0, indices);
- ((IndexedTriangleArray)tetra).setTextureCoordinateIndices(
- 1, 0, indices);
- */
- }
- else if (type == 4) { // Indexed strip geometry
- tetra = new IndexedTriangleStripArray(4,
- IndexedTriangleStripArray.COORDINATES|
- IndexedTriangleStripArray.COLOR_3|
- /*
- IndexedTriangleArray.NORMAL_3|
- */
- IndexedTriangleArray.TEXTURE_COORDINATE_2 |
- IndexedTriangleStripArray.INTERLEAVED|
- IndexedTriangleStripArray.BY_REFERENCE|
- IndexedTriangleStripArray.USE_NIO_BUFFER,
- //IndexedTriangleStripArray.USE_COORD_INDEX_ONLY,
- 2, texCoordSetMap,
- 12,
- stripVertexCounts);
- tetra.setInterleavedVertexBuffer(indexedInterleavedBuffer);
- ((IndexedTriangleStripArray)tetra).setCoordinateIndices(0, indices);
- ((IndexedTriangleStripArray)tetra).setColorIndices(0, indices);
- ((IndexedTriangleStripArray)tetra).setTextureCoordinateIndices(
- 0, 0, indices);
- ((IndexedTriangleStripArray)tetra).setTextureCoordinateIndices(
- 1, 0, indices);
- }
- else if (type == 5) { // Interleaved array
- }
- return tetra;
- }
-}
diff --git a/src/GeometryByReference/InterleavedTest.html b/src/GeometryByReference/InterleavedTest.html
deleted file mode 100644
index 7aa9e10..0000000
--- a/src/GeometryByReference/InterleavedTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>InterleavedTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="InterleavedTest.class" width=800 height=800>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/GeometryByReference/InterleavedTest.java b/src/GeometryByReference/InterleavedTest.java
deleted file mode 100644
index 29ec5ee..0000000
--- a/src/GeometryByReference/InterleavedTest.java
+++ /dev/null
@@ -1,504 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import javax.swing.*;
-import javax.swing.event.*;
-import javax.swing.border.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-
-public class InterleavedTest extends JApplet implements ActionListener {
-
- RenderingAttributes ra;
- ColoringAttributes ca;
- Material mat;
- Appearance app;
- JComboBox geomType;
- JCheckBox transparency;
- JCheckBox textureBox;
- Shape3D shape;
- TransparencyAttributes transp;
-
- GeometryArray tetraRegular, tetraStrip, tetraIndexed, tetraIndexedStrip;
- GeometryArray[] geoArrays = new GeometryArray[4];
-
- // Globally used colors
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f red = new Color3f(1.0f, 0.0f, 0.0f);
- Color3f green = new Color3f(0.0f, 1.0f, 0.0f);
- Color3f blue = new Color3f(0.0f, 0.0f, 1.0f);
- Color3f[] colors = {white, red, green, blue};
-
- private static final float sqrt3 = (float) Math.sqrt(3.0);
- private static final float sqrt3_3 = sqrt3 / 3.0f;
- private static final float sqrt24_3 = (float) Math.sqrt(24.0) / 3.0f;
-
- private static final float ycenter = 0.5f * sqrt24_3;
- private static final float zcenter = -sqrt3_3;
-
- private static final Point3f p1 =
- new Point3f(-1.0f, -ycenter, -zcenter);
- private static final Point3f p2 =
- new Point3f(1.0f, -ycenter, -zcenter);
- private static final Point3f p3 =
- new Point3f(0.0f, -ycenter, -sqrt3 - zcenter);
- private static final Point3f p4 =
- new Point3f(0.0f, sqrt24_3 - ycenter, 0.0f);
-
- private static final Point2f t1 = new Point2f(0.0f, 0.0f);
- private static final Point2f t2 = new Point2f(0.5f, 1.0f);
- private static final Point2f t3 = new Point2f(1.0f, 0.0f);
- private static final Point2f t4 = new Point2f(1.0f, 1.0f);
-
- private static final Color3f c1 = new Color3f(1.0f, 0.0f, 0.0f);
- private static final Color3f c2 = new Color3f(0.0f, 1.0f, 0.0f);
- private static final Color3f c3 = new Color3f(0.0f, 1.0f, 1.0f);
- private static final Color3f c4 = new Color3f(1.0f, 1.0f, 0.0f);
-
-
- private static final float[] interleaved = {
- t1.x, t1.y,
- t1.x, t1.y,
- c1.x, c1.y, c1.z, // front face
- p1.x, p1.y, p1.z, // front face
- t2.x, t2.y,
- t2.x, t2.y,
- c2.x, c2.y, c2.z,
- p2.x, p2.y, p2.z,
- t4.x, t4.y,
- t4.x, t4.y,
- c4.x, c4.y, c4.z,
- p4.x, p4.y, p4.z,
-
- t1.x, t1.y,
- t1.x, t1.y,
- c1.x, c1.y, c1.z,// left, back face
- p1.x, p1.y, p1.z,// left, back face
- t4.x, t4.y,
- t4.x, t4.y,
- c4.x, c4.y, c4.z,
- p4.x, p4.y, p4.z,
- t3.x, t3.y,
- t3.x, t3.y,
- c3.x, c3.y, c3.z,
- p3.x, p3.y, p3.z,
-
- t2.x, t2.y,
- t2.x, t2.y,
- c2.x, c2.y, c2.z,// right, back face
- p2.x, p2.y, p2.z,// right, back face
- t3.x, t3.y,
- t3.x, t3.y,
- c3.x, c3.y, c3.z,
- p3.x, p3.y, p3.z,
- t4.x, t4.y,
- t4.x, t4.y,
- c4.x, c4.y, c4.z,
- p4.x, p4.y, p4.z,
-
- t1.x, t1.y,
- t1.x, t1.y,
- c1.x, c1.y, c1.z,// bottom face
- p1.x, p1.y, p1.z,// bottom face
- t3.x, t3.y,
- t3.x, t3.y,
- c3.x, c3.y, c3.z,
- p3.x, p3.y, p3.z,
- t2.x, t2.y,
- t2.x, t2.y,
- c2.x, c2.y, c2.z,
- p2.x, p2.y, p2.z,
- };
-
- private static final float[] indexedInterleaved = {
- t1.x,t1.y,
- t1.x,t1.y,
- c1.x,c1.y,c1.z,
- p1.x,p1.y,p1.z,
- t2.x,t2.y,
- t2.x,t2.y,
- c2.x,c2.y,c2.z,
- p2.x,p2.y,p2.z,
- t3.x,t3.y,
- t3.x,t3.y,
- c3.x,c3.y,c3.z,
- p3.x,p3.y,p3.z,
- t4.x,t4.y,
- t4.x,t4.y,
- c4.x,c4.y,c4.z,
- p4.x,p4.y,p4.z,
- };
-
-
- private static final int[] indices = {0,1,3,0,3,2,1,2,3,0,2,1};
- private int[] stripVertexCounts = {3,3,3,3};
-
- TextureUnitState textureUnitState[] = new TextureUnitState[2];
- Texture tex1;
- Texture tex2;
-
- private java.net.URL texImage1 = null;
- private java.net.URL texImage2 = null;
-
- private SimpleUniverse u;
-
- BranchGroup createSceneGraph() {
- BranchGroup objRoot = new BranchGroup();
-
- // Set up attributes to render lines
- app = new Appearance();
- app.setCapability(Appearance.ALLOW_TEXTURE_UNIT_STATE_WRITE);
-
- transp = new TransparencyAttributes();
- transp.setTransparency(0.5f);
- transp.setCapability(TransparencyAttributes.ALLOW_MODE_WRITE);
- transp.setTransparencyMode(TransparencyAttributes.NONE);
- app.setTransparencyAttributes(transp);
-
- // load textures
- TextureAttributes texAttr1 = new TextureAttributes();
- texAttr1.setTextureMode(TextureAttributes.DECAL);
- TextureAttributes texAttr2 = new TextureAttributes();
- texAttr2.setTextureMode(TextureAttributes.MODULATE);
-
- TextureLoader tex = new TextureLoader(texImage1, new String("RGB"), this);
- if (tex == null)
- return null;
- tex1 = tex.getTexture();
-
- tex = new TextureLoader(texImage2, new String("RGB"), this);
- if (tex == null)
- return null;
- tex2 = tex.getTexture();
-
- textureUnitState[0] = new TextureUnitState(tex1, texAttr1, null);
- textureUnitState[1] = new TextureUnitState(tex2, texAttr2, null);
-
- tetraRegular = createGeometry(1);
- tetraStrip =createGeometry(2);
- tetraIndexed = createGeometry(3);
- tetraIndexedStrip = createGeometry(4);
-
- geoArrays[0] = tetraRegular;
- geoArrays[1] = tetraStrip;
- geoArrays[2] = tetraIndexed;
- geoArrays[3] = tetraIndexedStrip;
-
- shape = new Shape3D(tetraRegular, app);
- shape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
-
- Transform3D t = new Transform3D();
- // move the object upwards
- t.set(new Vector3f(0.0f, 0.3f, 0.0f));
-
- // rotate the shape
- Transform3D temp = new Transform3D();
- temp.rotX(Math.PI/4.0d);
- t.mul(temp);
- temp.rotY(Math.PI/4.0d);
- t.mul(temp);
-
- // Shrink the object
- t.setScale(0.6);
-
- TransformGroup trans = new TransformGroup(t);
- trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
-
- objRoot.addChild(trans);
- trans.addChild(shape);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the global lights
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
-
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- objRoot.addChild(aLgt);
- objRoot.addChild(lgt1);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- JPanel createGeometryByReferencePanel() {
- JPanel panel = new JPanel();
- panel.setBorder(new TitledBorder("Geometry Type"));
-
- String values[] = {"Array", "Strip", "Indexed", "IndexedStrip"};
- geomType = new JComboBox(values);
- geomType.setLightWeightPopupEnabled(false);
- geomType.addActionListener(this);
- geomType.setSelectedIndex(0);
- panel.add(new JLabel("Geometry Type"));
- panel.add(geomType);
-
- transparency = new JCheckBox("EnableTransparency",
- false);
- transparency.addActionListener(this);
- panel.add(transparency);
-
- textureBox = new JCheckBox("EnableTexture", false);
- textureBox.addActionListener(this);
- panel.add(textureBox);
-
- return panel;
- }
-
- public InterleavedTest() {
- }
-
- public InterleavedTest(java.net.URL texURL1, java.net.URL texURL2) {
- texImage1 = texURL1;
- texImage2 = texURL2;
- }
-
- public void init() {
-
- // create textures
-
- if (texImage1 == null) {
- // the path to the image for an applet
- try {
- texImage1 = new java.net.URL(getCodeBase().toString() +
- "../images/bg.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- if (texImage2 == null) {
- // the path to the image for an applet
- try {
- texImage2 = new java.net.URL(getCodeBase().toString() +
- "../images/one.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- Container contentPane = getContentPane();
-
- Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- contentPane.add("Center", c);
-
- BranchGroup scene = createSceneGraph();
- // SimpleUniverse is a Convenience Utility class
- u = new SimpleUniverse(c);
-
- // add mouse behaviors to the viewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- // add Orbit behavior to the viewing platform
- OrbitBehavior orbit = new OrbitBehavior(c, OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- u.addBranchGraph(scene);
-
-
- // Create GUI
- JPanel p = new JPanel();
- BoxLayout boxlayout = new BoxLayout(p,
- BoxLayout.Y_AXIS);
- p.add(createGeometryByReferencePanel());
- p.setLayout(boxlayout);
-
- contentPane.add("South", p);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public void actionPerformed(ActionEvent e) {
- Object target = e.getSource();
- if (target == geomType) {
- shape.setGeometry(geoArrays[geomType.getSelectedIndex()]);
-
- }
- else if (target == transparency) {
- if (transparency.isSelected()) {
- transp.setTransparencyMode(TransparencyAttributes.BLENDED);
- }
- else {
- transp.setTransparencyMode(TransparencyAttributes.NONE);
- }
- }
- else if (target == textureBox) {
- if (textureBox.isSelected()) {
- app.setTextureUnitState(textureUnitState);
- }
- else {
- app.setTextureUnitState(null);
- }
- }
- }
-
-
-
- public static void main(String[] args) {
- java.net.URL texURL1 = null;
- java.net.URL texURL2 = null;
- // the path to the image for an application
- try {
- texURL1 = new java.net.URL("file:../images/bg.jpg");
- texURL2 = new java.net.URL("file:../images/one.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
-
- Frame frame = new MainFrame(new InterleavedTest(texURL1, texURL2),
- 800, 800);
- }
-
- public GeometryArray createGeometry (int type) {
- GeometryArray tetra = null;
- int texCoordSetMap[] = {0, 0};
-
- if (type == 1) {
- tetra =new TriangleArray(12,
- TriangleArray.COORDINATES|
- TriangleArray.COLOR_3|
- /*
- TriangleArray.NORMAL_3|
- */
- TriangleArray.TEXTURE_COORDINATE_2 |
- TriangleArray.INTERLEAVED|
- TriangleArray.BY_REFERENCE,
- 2, texCoordSetMap);
-
- tetra.setInterleavedVertices(interleaved);
-
- }
- else if (type == 2) {
- tetra = new TriangleStripArray(12,
- TriangleStripArray.COORDINATES|
- TriangleStripArray.COLOR_3|
- /*
- TriangleArray.NORMAL_3|
- */
- TriangleArray.TEXTURE_COORDINATE_2 |
- TriangleStripArray.INTERLEAVED|
- TriangleStripArray.BY_REFERENCE,
- 2, texCoordSetMap,
- stripVertexCounts);
- tetra.setInterleavedVertices(interleaved);
-
-
- }
- else if (type == 3) { // Indexed Geometry
- tetra = new IndexedTriangleArray(4,
- IndexedTriangleArray.COORDINATES|
- IndexedTriangleArray.COLOR_3|
- /*
- IndexedTriangleArray.NORMAL_3|
- */
- IndexedTriangleArray.TEXTURE_COORDINATE_2 |
- IndexedTriangleArray.INTERLEAVED|
- IndexedTriangleArray.BY_REFERENCE,
- 2, texCoordSetMap,
- 12);
- tetra.setInterleavedVertices(indexedInterleaved);
- ((IndexedTriangleArray)tetra).setCoordinateIndices(0, indices);
- ((IndexedTriangleArray)tetra).setColorIndices(0, indices);
- ((IndexedTriangleArray)tetra).setTextureCoordinateIndices(
- 0, 0, indices);
- ((IndexedTriangleArray)tetra).setTextureCoordinateIndices(
- 1, 0, indices);
- }
- else if (type == 4) { // Indexed strip geometry
- tetra = new IndexedTriangleStripArray(4,
- IndexedTriangleStripArray.COORDINATES|
- IndexedTriangleStripArray.COLOR_3|
- /*
- IndexedTriangleArray.NORMAL_3|
- */
- IndexedTriangleArray.TEXTURE_COORDINATE_2 |
- IndexedTriangleStripArray.INTERLEAVED|
- IndexedTriangleStripArray.BY_REFERENCE,
- 2, texCoordSetMap,
- 12,
- stripVertexCounts);
- tetra.setInterleavedVertices(indexedInterleaved);
- ((IndexedTriangleStripArray)tetra).setCoordinateIndices(0, indices);
- ((IndexedTriangleStripArray)tetra).setColorIndices(0, indices);
- ((IndexedTriangleStripArray)tetra).setTextureCoordinateIndices(
- 0, 0, indices);
- ((IndexedTriangleStripArray)tetra).setTextureCoordinateIndices(
- 1, 0, indices);
- }
- else if (type == 5) { // Interleaved array
- }
- return tetra;
- }
-}
diff --git a/src/GeometryByReference/InterleavedTest_plugin.html b/src/GeometryByReference/InterleavedTest_plugin.html
deleted file mode 100644
index 87af1cb..0000000
--- a/src/GeometryByReference/InterleavedTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>InterleavedTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 800 HEIGHT = 800 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "InterleavedTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "InterleavedTest.class" WIDTH = 800 HEIGHT = 800 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "InterleavedTest.class" WIDTH = 800 HEIGHT = 800 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/GeometryByReference/TiledImage.java b/src/GeometryByReference/TiledImage.java
deleted file mode 100644
index 9294997..0000000
--- a/src/GeometryByReference/TiledImage.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-import java.awt.image.*;
-import java.util.Vector;
-import java.awt.color.ColorSpace;
-
-public class TiledImage extends Object implements RenderedImage {
-
-
- WritableRaster[][] tile = new WritableRaster[3][3];
-
- WritableRaster bigTile;
- ComponentColorModel colorModel;
- BufferedImage checkBoard;
- int minX = -2;
- int minY = -1;
-
- TiledImage() {
- ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
- int[] nBits = {8, 8, 8, 8};
- int i, j, k, cc = 255;
- int[] bandOffset = new int[4];
- colorModel =
- new ComponentColorModel(cs, nBits, true, false, Transparency.OPAQUE, 0);
- // Create 9 tiles
- bandOffset[0] = 3;
- bandOffset[1] = 2;
- bandOffset[2] = 1;
- bandOffset[3] = 0;
- for (i = 0; i < 3; i++) {
- for (j = 0; j < 3; j++) {
- tile[i][j] = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, 8, 8 , 32, 4, bandOffset, null);
- }
- }
-
- // tile {-2, -1}
- byte[] byteData = ((DataBufferByte)tile[0][0].getDataBuffer()).getData();
- for (i=4, k = 8 * 4 * 4+4 * 4;i < 8;i++, k+= 16){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)cc;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
-
- // tile {-1, -1}
- byteData = ((DataBufferByte)tile[1][0].getDataBuffer()).getData();
- for (i=4, k = 8 * 4 * 4;i < 8;i++){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)cc;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
-
- // tile {1, -1}
- byteData = ((DataBufferByte)tile[2][0].getDataBuffer()).getData();
- for (i=4, k = 8 * 4 * 4;i < 8;i++, k+= 16){
- for (j=0;j < 4;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
-
- // tile {-2, 0}
- byteData = ((DataBufferByte)tile[0][1].getDataBuffer()).getData();
- for (i=0, k = 16;i < 4;i++, k+=16){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)cc;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
- for (i=4, k = 8*4*4+16;i < 8;i++, k+=16){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)0 ;
- }
- }
- // tile {-1, 0}
- byteData = ((DataBufferByte)tile[1][1].getDataBuffer()).getData();
- for (i=0, k = 0;i < 4;i++){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)cc;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
- for (i=0, k = 8 * 4 * 4;i < 4;i++){
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)0 ;
- }
-
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)cc ;
- }
-
- }
-
-
- // tile {0, 0}
- byteData = ((DataBufferByte)tile[2][1].getDataBuffer()).getData();
- for (i=0, k = 0;i < 4;i++, k+= 16) {
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
- for (i=4, k = 8 * 4* 4;i < 8;i++, k+= 16) {
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)cc ;
- }
- }
-
-
- // tile {-2, 1}
- byteData = ((DataBufferByte)tile[0][2].getDataBuffer()).getData();
- for (i=4, k = 16;i < 8;i++, k+= 16) {
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)0 ;
- }
- }
-
-
- // tile {-1, 1}
- byteData = ((DataBufferByte)tile[1][2].getDataBuffer()).getData();
- for (i=0, k = 0;i < 8;i++) {
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)0 ;
- }
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)cc ;
- }
- }
-
-
-
- // tile {0, 1}
- byteData = ((DataBufferByte)tile[2][2].getDataBuffer()).getData();
- for (i=4, k = 0;i < 8;i++, k+= 16) {
- for (j=4;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)cc ;
- }
- }
-
- bigTile = Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, 16, 16 , 64, 4, bandOffset, null);;
- byteData = ((DataBufferByte)bigTile.getDataBuffer()).getData();
- for (i=0, k = 0;i < 8;i++){
- for (j=0;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)cc;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- for (;j < 16;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)0;
- byteData[k+3] = (byte)cc ;
- }
- }
- for (;i < 16;i++){
- for (j=0;j < 8;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)0;
- }
- for (;j < 16;j++, k+=4){
- byteData[k] = (byte)0;
- byteData[k+1] = (byte)0;
- byteData[k+2] = (byte)cc;
- byteData[k+3] = (byte)cc ;
- }
- }
- checkBoard = new BufferedImage(colorModel, bigTile, false, null);
- }
-
-
-
- // create four tiles {r, g, b, y}
- public WritableRaster copyData(WritableRaster raster) {
- return checkBoard.copyData(raster);
- }
-
- public ColorModel getColorModel() {
- return checkBoard.getColorModel();
- }
-
- public Raster getData() {
- return checkBoard.getData();
- }
-
- public Raster getData(Rectangle rect) {
- return checkBoard.getData(rect);
- }
-
- public int getHeight() {
- return 16;
- }
-
- public int getMinTileX() {
- return minX;
- }
-
- public int getMinTileY() {
- return minY;
- }
-
- public int getMinX () {
- return -8;
- }
-
- public int getMinY () {
- return -8;
- }
-
- public int getNumXTiles() {
- return 3;
- }
-
- public int getNumYTiles() {
- return 3;
- }
-
- public Object getProperty(String name) {
- return checkBoard.getProperty(name);
- }
-
- public String[] getPropertyNames() {
- return checkBoard.getPropertyNames();
- }
-
-
- public SampleModel getSampleModel() {
- return checkBoard.getSampleModel();
- }
-
- public Vector getSources() {
- return null;
- }
-
- public Raster getTile(int tileX, int tileY) {
- return tile[tileX- minX][tileY - minY];
- }
-
- public int getTileGridXOffset() {
- return 4;
- }
-
- public int getTileGridYOffset() {
- return -4;
- }
-
-
- public int getTileHeight() {
- return 8;
- }
-
-
- public int getTileWidth() {
- return 8;
- }
-
- public int getWidth() {
- return 16;
- }
-}
-
-
diff --git a/src/GeometryByReference/build.xml b/src/GeometryByReference/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/GeometryByReference/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/GeometryCompression/ObjectFileCompressor.html b/src/GeometryCompression/ObjectFileCompressor.html
deleted file mode 100644
index 7540a8f..0000000
--- a/src/GeometryCompression/ObjectFileCompressor.html
+++ /dev/null
@@ -1,437 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Sat May 22 22:02:52 PDT 1999 -->
-<TITLE>
-: Class ObjectFileCompressor
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
- <TR ALIGN="center" VALIGN="top">
- <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
- </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
- <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
-&nbsp;<A HREF="ObjectFileCompressor.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
- SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_com.sun.j3d.loaders.objectfile.ObjectFile">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-Class ObjectFileCompressor</H2>
-<PRE>
-java.lang.Object
- |
- +--com.sun.j3d.loaders.objectfile.ObjectFile
- |
- +--<B>ObjectFileCompressor</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>ObjectFileCompressor</B><DT>extends com.sun.j3d.loaders.objectfile.ObjectFile</DL>
-
-<P>
-This extension of ObjectFile provides the methods setQuantization() and
- compress() to compress Wavefront .obj files into the format described by
- appendix B of the Java 3D specification.
-<P>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="fields_inherited_from_class_com.sun.j3d.loaders.objectfile.ObjectFile"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TD><B>Fields inherited from class com.sun.j3d.loaders.objectfile.ObjectFile</B></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>RESIZE,
-REVERSE,
-STRIPIFY,
-TRIANGULATE</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#ObjectFileCompressor()">ObjectFileCompressor</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#ObjectFileCompressor(int)">ObjectFileCompressor</A></B>(int&nbsp;flags)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#ObjectFileCompressor(int, float)">ObjectFileCompressor</A></B>(int&nbsp;flags,
- float&nbsp;radians)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;javax.media.j3d.CompressedGeometry</CODE></FONT></TD>
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#compress(java.io.Reader)">compress</A></B>(java.io.Reader&nbsp;reader)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compress the specified .obj file into a CompressedGeometry node
- component.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#compress(java.io.Reader, com.sun.j3d.utils.compression.CompressedGeometryFile)">compress</A></B>(java.io.Reader&nbsp;reader,
- com.sun.j3d.utils.compression.CompressedGeometryFile&nbsp;file)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compress the specified .obj file and add it to the end of an open
- compressed geometry file.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;javax.media.j3d.CompressedGeometry</CODE></FONT></TD>
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#compress(java.lang.String)">compress</A></B>(java.lang.String&nbsp;objFileName)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compress the specified .obj file into a CompressedGeometry node
- component.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#compress(java.lang.String, com.sun.j3d.utils.compression.CompressedGeometryFile)">compress</A></B>(java.lang.String&nbsp;objFileName,
- com.sun.j3d.utils.compression.CompressedGeometryFile&nbsp;file)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compress the specified .obj file and add it to the end of an open
- compressed geometry file.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;javax.media.j3d.CompressedGeometry</CODE></FONT></TD>
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#compress(java.net.URL)">compress</A></B>(java.net.URL&nbsp;url)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compress the specified .obj file into a CompressedGeometry node
- component.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#compress(java.net.URL, com.sun.j3d.utils.compression.CompressedGeometryFile)">compress</A></B>(java.net.URL&nbsp;url,
- com.sun.j3d.utils.compression.CompressedGeometryFile&nbsp;file)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compress the specified .obj file and add it to the end of an open
- compressed geometry file.</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#setFlags(int)">setFlags</A></B>(int&nbsp;flags)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="ObjectFileCompressor.html#setQuantization(int, int, int)">setQuantization</A></B>(int&nbsp;positionQuant,
- int&nbsp;colorQuant,
- int&nbsp;normalQuant)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the position, normal, and color quantization values for compression.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_com.sun.j3d.loaders.objectfile.ObjectFile"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TD><B>Methods inherited from class com.sun.j3d.loaders.objectfile.ObjectFile</B></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>getBasePath,
-getBaseUrl,
-getFlags,
-load,
-load,
-load,
-setBasePath,
-setBaseUrl</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" CLASS="TableRowColor">
-<TD><CODE>clone,
-equals,
-finalize,
-getClass,
-hashCode,
-notify,
-notifyAll,
-toString,
-wait,
-wait,
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="ObjectFileCompressor()"><!-- --></A><H3>
-ObjectFileCompressor</H3>
-<PRE>
-public <B>ObjectFileCompressor</B>()</PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="ObjectFileCompressor(int)"><!-- --></A><H3>
-ObjectFileCompressor</H3>
-<PRE>
-public <B>ObjectFileCompressor</B>(int&nbsp;flags)</PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="ObjectFileCompressor(int, float)"><!-- --></A><H3>
-ObjectFileCompressor</H3>
-<PRE>
-public <B>ObjectFileCompressor</B>(int&nbsp;flags,
- float&nbsp;radians)</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="setFlags(int)"><!-- --></A><H3>
-setFlags</H3>
-<PRE>
-public void <B>setFlags</B>(int&nbsp;flags)</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD>setFlags in class com.sun.j3d.loaders.objectfile.ObjectFile</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setQuantization(int, int, int)"><!-- --></A><H3>
-setQuantization</H3>
-<PRE>
-public void <B>setQuantization</B>(int&nbsp;positionQuant,
- int&nbsp;colorQuant,
- int&nbsp;normalQuant)</PRE>
-<DL>
-<DD>Set the position, normal, and color quantization values for compression.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>positionQuant</CODE> - number of bits to quantize each position's X, Y,
- and Z components, ranging from 1 to 16 with a default of 10<DD><CODE>colorQuant</CODE> - number of bits to quantize each color's R, G, B, and
- alpha components, ranging from 2 to 16 with a default of 8<DD><CODE>normalQuant</CODE> - number of bits for quantizing each normal's U and V
- components, ranging from 0 to 6 with a default of 3</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="compress(java.lang.String)"><!-- --></A><H3>
-compress</H3>
-<PRE>
-public javax.media.j3d.CompressedGeometry <B>compress</B>(java.lang.String&nbsp;objFileName)</PRE>
-<DL>
-<DD>Compress the specified .obj file into a CompressedGeometry node
- component.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>objFileName</CODE> - String object representing the path to a .obj file<DT><B>Returns:</B><DD>a CompressedGeometry node component</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="compress(java.lang.String, com.sun.j3d.utils.compression.CompressedGeometryFile)"><!-- --></A><H3>
-compress</H3>
-<PRE>
-public void <B>compress</B>(java.lang.String&nbsp;objFileName,
- com.sun.j3d.utils.compression.CompressedGeometryFile&nbsp;file)
- throws java.io.IOException</PRE>
-<DL>
-<DD>Compress the specified .obj file and add it to the end of an open
- compressed geometry file.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>objFileName</CODE> - String object representing the path to a .obj file<DD><CODE>file</CODE> - a currently open CompressedGeometryFile object<DT><B>Throws:</B><DD>java.io.IOException - - if write fails</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="compress(java.io.Reader)"><!-- --></A><H3>
-compress</H3>
-<PRE>
-public javax.media.j3d.CompressedGeometry <B>compress</B>(java.io.Reader&nbsp;reader)</PRE>
-<DL>
-<DD>Compress the specified .obj file into a CompressedGeometry node
- component.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>reader</CODE> - an open .obj file<DT><B>Returns:</B><DD>a CompressedGeometry node component</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="compress(java.io.Reader, com.sun.j3d.utils.compression.CompressedGeometryFile)"><!-- --></A><H3>
-compress</H3>
-<PRE>
-public void <B>compress</B>(java.io.Reader&nbsp;reader,
- com.sun.j3d.utils.compression.CompressedGeometryFile&nbsp;file)
- throws java.io.IOException</PRE>
-<DL>
-<DD>Compress the specified .obj file and add it to the end of an open
- compressed geometry file.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>reader</CODE> - an open .obj file<DD><CODE>file</CODE> - an open CompressedGeometryFile object<DT><B>Throws:</B><DD>java.io.IOException - - if write fails</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="compress(java.net.URL)"><!-- --></A><H3>
-compress</H3>
-<PRE>
-public javax.media.j3d.CompressedGeometry <B>compress</B>(java.net.URL&nbsp;url)</PRE>
-<DL>
-<DD>Compress the specified .obj file into a CompressedGeometry node
- component.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>url</CODE> - Uniform Resource Locator for the .obj file<DT><B>Returns:</B><DD>a CompressedGeometry node component</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="compress(java.net.URL, com.sun.j3d.utils.compression.CompressedGeometryFile)"><!-- --></A><H3>
-compress</H3>
-<PRE>
-public void <B>compress</B>(java.net.URL&nbsp;url,
- com.sun.j3d.utils.compression.CompressedGeometryFile&nbsp;file)
- throws java.io.IOException</PRE>
-<DL>
-<DD>Compress the specified .obj file and add it to the end of an open
- compressed geometry file.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>url</CODE> - Uniform Resource Locator for the .obj file<DD><CODE>file</CODE> - a currently open CompressedGeometryFile object<DT><B>Throws:</B><DD>java.io.IOException - - if write fails</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
- <TR ALIGN="center" VALIGN="top">
- <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
- <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
- </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
- <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
-&nbsp;<A HREF="ObjectFileCompressor.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
- SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_com.sun.j3d.loaders.objectfile.ObjectFile">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/src/GeometryCompression/ObjectFileCompressor.java b/src/GeometryCompression/ObjectFileCompressor.java
deleted file mode 100644
index 9b99d24..0000000
--- a/src/GeometryCompression/ObjectFileCompressor.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.compression.* ;
-import com.sun.j3d.loaders.objectfile.ObjectFile ;
-import com.sun.j3d.loaders.ParsingErrorException ;
-import com.sun.j3d.loaders.IncorrectFormatException ;
-import com.sun.j3d.loaders.Scene ;
-import javax.media.j3d.* ;
-import java.util.* ;
-import java.net.* ;
-import java.io.* ;
-
-/**
- * This extension of ObjectFile provides the methods setQuantization() and
- * compress() to compress Wavefront .obj files into the format described by
- * appendix B of the Java 3D specification.
- */
-public class ObjectFileCompressor extends ObjectFile {
- private GeometryCompressor compressor = null ;
-
- public ObjectFileCompressor() {
- super(STRIPIFY | TRIANGULATE) ;
- compressor = new GeometryCompressor() ;
- }
-
- public ObjectFileCompressor(int flags) {
- super(flags | STRIPIFY | TRIANGULATE) ;
- compressor = new GeometryCompressor() ;
- }
-
- public ObjectFileCompressor(int flags, float radians) {
- super(flags | STRIPIFY | TRIANGULATE, radians) ;
- compressor = new GeometryCompressor() ;
- }
-
- public void setFlags(int flags) {
- super.setFlags(flags | STRIPIFY | TRIANGULATE) ;
- }
-
- private int positionQuant = 10 ;
- private int colorQuant = 8 ;
- private int normalQuant = 3 ;
-
- /**
- * Set the position, normal, and color quantization values for compression.
- * @param positionQuant number of bits to quantize each position's X, Y,
- * and Z components, ranging from 1 to 16 with a default of 10
- * @param colorQuant number of bits to quantize each color's R, G, B, and
- * alpha components, ranging from 2 to 16 with a default of 8
- * @param normalQuant number of bits for quantizing each normal's U and V
- * components, ranging from 0 to 6 with a default of 3
- */
- public void setQuantization(int positionQuant,
- int colorQuant,
- int normalQuant) {
-
- this.positionQuant = positionQuant ;
- this.colorQuant = colorQuant ;
- this.normalQuant = normalQuant ;
- }
-
- /**
- * Compress the specified .obj file into a CompressedGeometry node
- * component.
- * @param objFileName String object representing the path to a .obj file
- * @return a CompressedGeometry node component
- */
- public CompressedGeometry compress(String objFileName) {
- return compressScene(getScene(objFileName)) ;
- }
-
- /**
- * Compress the specified .obj file and add it to the end of an open
- * compressed geometry file.
- * @param objFileName String object representing the path to a .obj file
- * @param file a currently open CompressedGeometryFile object
- * @exception IOException - if write fails
- */
- public void compress(String objFileName, CompressedGeometryFile file)
- throws IOException {
- compressScene(getScene(objFileName), file) ;
- }
-
- /**
- * Compress the specified .obj file into a CompressedGeometry node
- * component.
- * @param reader an open .obj file
- * @return a CompressedGeometry node component
- */
- public CompressedGeometry compress(Reader reader) {
- return compressScene(getScene(reader)) ;
- }
-
- /**
- * Compress the specified .obj file and add it to the end of an open
- * compressed geometry file.
- * @param reader an open .obj file
- * @param file an open CompressedGeometryFile object
- * @exception IOException - if write fails
- */
- public void compress(Reader reader, CompressedGeometryFile file)
- throws IOException {
- compressScene(getScene(reader), file) ;
- }
-
- /**
- * Compress the specified .obj file into a CompressedGeometry node
- * component.
- * @param url Uniform Resource Locator for the .obj file
- * @return a CompressedGeometry node component
- */
- public CompressedGeometry compress(URL url) {
- return compressScene(getScene(url)) ;
- }
-
- /**
- * Compress the specified .obj file and add it to the end of an open
- * compressed geometry file.
- * @param url Uniform Resource Locator for the .obj file
- * @param file a currently open CompressedGeometryFile object
- * @exception IOException - if write fails
- */
- public void compress(URL url, CompressedGeometryFile file)
- throws IOException {
- compressScene(getScene(url), file) ;
- }
-
- private CompressedGeometry compressScene(Scene scene) {
- return compressor.compress(getStream(scene)) ;
- }
-
- private void compressScene(Scene scene, CompressedGeometryFile file)
- throws IOException {
- compressor.compress(getStream(scene), file) ;
- }
-
- private CompressionStream getStream(Scene scene) {
- Hashtable objs = scene.getNamedObjects() ;
- Shape3D shapes[] = new Shape3D[objs.size()] ;
-
- objs.values().toArray(shapes) ;
- return new CompressionStream(positionQuant, colorQuant, normalQuant,
- shapes) ;
- }
-
- private Scene getScene(String objFileName) {
- Scene scene = null ;
- try {
- scene = load(objFileName) ;
- }
- catch (FileNotFoundException e) {
- System.err.println(e) ;
- System.exit(1) ;
- }
- catch (ParsingErrorException e) {
- System.err.println(e) ;
- System.exit(1) ;
- }
- catch (IncorrectFormatException e) {
- System.err.println(e) ;
- System.exit(1) ;
- }
- return scene ;
- }
-
- private Scene getScene(Reader reader) {
- Scene scene = null ;
- try {
- scene = load(reader) ;
- }
- catch (FileNotFoundException e) {
- System.err.println(e) ;
- System.exit(1) ;
- }
- catch (ParsingErrorException e) {
- System.err.println(e) ;
- System.exit(1) ;
- }
- catch (IncorrectFormatException e) {
- System.err.println(e) ;
- System.exit(1) ;
- }
- return scene ;
- }
-
- private Scene getScene(URL url) {
- Scene scene = null ;
- try {
- scene = load(url) ;
- }
- catch (FileNotFoundException e) {
- System.err.println(e) ;
- System.exit(1) ;
- }
- catch (ParsingErrorException e) {
- System.err.println(e) ;
- System.exit(1) ;
- }
- catch (IncorrectFormatException e) {
- System.err.println(e) ;
- System.exit(1) ;
- }
- return scene ;
- }
-}
diff --git a/src/GeometryCompression/README b/src/GeometryCompression/README
deleted file mode 100644
index 45a20c6..0000000
--- a/src/GeometryCompression/README
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-This directory contains example code for using compressed geometry in
-Java 3D through the com.sun.j3d.utils.compression package.
-
-Applications:
-
- obj2cg -- takes the names of .obj files to compress followed by the name
- of a .cg compressed geometry resource file. If the .cg file
- doesn't exist, then an attempt is made to create it; otherwise,
- new compressed geometry objects are appended to the end.
-
- The .obj files are compressed and stored into the .cg file in
- the order in which they appear in the command line, and can be
- accessed through indices [0 .. fileCount-1]
-
- cgview -- takes the name of a .cg file and the index of the object to
- display, which can range from [0 .. objectCount-1]. The object
- may rotated, scaled, and translated in response to mouse drags.
-
-
-Utility classes:
-
- ObjectFileCompressor.java --
- Extends ObjectFile with compression methods.
diff --git a/src/GeometryCompression/build.xml b/src/GeometryCompression/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/GeometryCompression/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/GeometryCompression/cgview.java b/src/GeometryCompression/cgview.java
deleted file mode 100644
index b3840a8..0000000
--- a/src/GeometryCompression/cgview.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.compression.* ;
-import com.sun.j3d.utils.behaviors.vp.* ;
-import com.sun.j3d.utils.applet.MainFrame ;
-import com.sun.j3d.utils.universe.* ;
-import javax.media.j3d.* ;
-import javax.vecmath.* ;
-import java.applet.Applet ;
-import java.awt.BorderLayout ;
-import java.awt.event.* ;
-import java.io.* ;
-
-public class cgview extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(CompressedGeometry cg) {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup() ;
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup() ;
- Transform3D t3d = new Transform3D() ;
- t3d.setScale(0.7) ;
- objScale.setTransform(t3d) ;
- objRoot.addChild(objScale) ;
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup() ;
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE) ;
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ) ;
- objScale.addChild(objTrans) ;
-
- // Add compressed geometry to the scene graph.
- CompressedGeometryHeader hdr = new CompressedGeometryHeader() ;
- cg.getCompressedGeometryHeader(hdr) ;
-
- // There isn't really enough information in the compressed geometry
- // header to unamiguously determine the proper rendering attributes.
- // The bufferDataPresent field specifies whether or not normals are
- // bundled with vertices, but the compressed buffer can still contain
- // normals that should be lit. Assume that any surface geometry
- // should be lit and that lines and points should not unless the
- // header contains the NORMAL_IN_BUFFER bit.
- Material m = new Material() ;
- if ((hdr.bufferType == hdr.TRIANGLE_BUFFER) ||
- ((hdr.bufferDataPresent & hdr.NORMAL_IN_BUFFER) == 1))
- m.setLightingEnable(true) ;
- else
- m.setLightingEnable(false) ;
-
- Appearance a = new Appearance() ;
- a.setMaterial(m) ;
-
- objTrans.addChild(new Shape3D(cg, a)) ;
-
- // Create mouse behavior scheduling bounds.
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0) ;
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
- Background bgNode = new Background(bgColor) ;
- bgNode.setApplicationBounds(bounds) ;
- objRoot.addChild(bgNode) ;
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f) ;
- AmbientLight ambientLightNode = new AmbientLight(ambientColor) ;
- ambientLightNode.setInfluencingBounds(bounds) ;
- objRoot.addChild(ambientLightNode) ;
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f) ;
- Vector3f light1Direction = new Vector3f(1.0f, 1.0f, 1.0f) ;
- Color3f light2Color = new Color3f(1.0f, 1.0f, 0.9f) ;
- Vector3f light2Direction = new Vector3f(-1.0f, -1.0f, -0.9f) ;
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction) ;
- light1.setInfluencingBounds(bounds) ;
- objRoot.addChild(light1) ;
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction) ;
- light2.setInfluencingBounds(bounds) ;
- objRoot.addChild(light2) ;
-
- return objRoot ;
- }
-
- private void usage() {
- System.out.println("Usage: cgview <.cg file> <object index>") ;
- System.exit(0) ;
- }
-
- public cgview(String args[]) {
- if (args.length < 1)
- usage() ;
-
- int index ;
- if (args.length < 2)
- index = 0 ;
- else
- index = Integer.parseInt(args[1]) ;
-
- String filename = args[0] ;
- if (filename == null)
- usage() ;
-
- // Read the compressed geometry.
- CompressedGeometry cg = null ;
- try {
- CompressedGeometryFile cgf ;
- cgf = new CompressedGeometryFile(filename, false) ;
-
- if (cgf.getObjectCount() == 0) {
- System.out.println("no objects were found in " + filename) ;
- System.exit(0) ;
- }
-
- cg = cgf.read(index) ;
- cgf.close() ;
-
- } catch (IOException e) {
- System.out.println(e) ;
- System.exit(0) ;
- }
-
- setLayout(new BorderLayout()) ;
- Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- add("Center", c) ;
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph(cg) ;
- u = new SimpleUniverse(c) ;
-
- // add mouse behaviors to the ViewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- OrbitBehavior orbit = new OrbitBehavior(c, OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- u.addBranchGraph(scene) ;
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows cgview to be run as an application
- // as well as an applet.
- //
- public static void main(String[] args) {
- new MainFrame(new cgview(args), 700, 700) ;
- }
-}
diff --git a/src/GeometryCompression/obj2cg.java b/src/GeometryCompression/obj2cg.java
deleted file mode 100644
index 45ab1c6..0000000
--- a/src/GeometryCompression/obj2cg.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.compression.* ;
-import javax.media.j3d.* ;
-import java.io.* ;
-
-class obj2cg {
-
- public static void main(String args[]) throws IOException {
- if (args.length < 2) {
- System.out.println
- ("obj2cg wants the names of .obj files to compress,\n" +
- "followed by the name of a .cg file to create or to\n" +
- "which to append.") ;
- System.exit(0) ;
- }
-
- CompressedGeometryFile file ;
- file = new CompressedGeometryFile(args[args.length-1], true) ;
-
- ObjectFileCompressor compressor ;
- compressor = new ObjectFileCompressor() ;
-
- for (int i = 0 ; i < args.length-1 ; i++)
- compressor.compress(args[i], file) ;
-
- file.close() ;
- }
-}
diff --git a/src/HelloUniverse/HelloUniverse.form b/src/HelloUniverse/HelloUniverse.form
deleted file mode 100644
index 48fadea..0000000
--- a/src/HelloUniverse/HelloUniverse.form
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <Properties>
- <Property name="defaultCloseOperation" type="int" value="3"/>
- <Property name="title" type="java.lang.String" value="HelloUniverse"/>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
- </SyntheticProperties>
- <AuxValues>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
- </AuxValues>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="drawingPanel">
- <Properties>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[250, 250]"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
- <BorderConstraints direction="Center"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
- </Container>
- </SubComponents>
-</Form>
diff --git a/src/HelloUniverse/HelloUniverse.java b/src/HelloUniverse/HelloUniverse.java
deleted file mode 100644
index de8f783..0000000
--- a/src/HelloUniverse/HelloUniverse.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.geometry.ColorCube;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.awt.GraphicsConfiguration;
-
-/**
- * Simple Java 3D example program to display a spinning cube.
- */
-public class HelloUniverse extends javax.swing.JFrame {
-
- private SimpleUniverse univ = null;
- private BranchGroup scene = null;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create the TransformGroup node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at run time. Add it to
- // the root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
-
- // Create a simple Shape3D node; add it to the scene graph.
- objTrans.addChild(new ColorCube(0.4));
-
- // Create a new Behavior object that will perform the
- // desired operation on the specified transform and add
- // it into the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, 4000);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator.setSchedulingBounds(bounds);
- objRoot.addChild(rotator);
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- private Canvas3D createUniverse() {
- // Get the preferred graphics configuration for the default screen
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- // Create a Canvas3D using the preferred configuration
- Canvas3D c = new Canvas3D(config);
-
- // Create simple universe with view branch
- univ = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- univ.getViewingPlatform().setNominalViewingTransform();
-
- // Ensure at least 5 msec per frame (i.e., < 200Hz)
- univ.getViewer().getView().setMinimumFrameCycleTime(5);
-
- return c;
- }
-
- /**
- * Creates new form HelloUniverse
- */
- public HelloUniverse() {
- // Initialize the GUI components
- initComponents();
-
- // Create Canvas3D and SimpleUniverse; add canvas to drawing panel
- Canvas3D c = createUniverse();
- drawingPanel.add(c, java.awt.BorderLayout.CENTER);
-
- // Create the content branch and add it to the universe
- scene = createSceneGraph();
- univ.addBranchGraph(scene);
- }
-
- // ----------------------------------------------------------------
-
- /** This method is called from within the constructor to
- * initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents() {
- drawingPanel = new javax.swing.JPanel();
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("HelloUniverse");
- drawingPanel.setLayout(new java.awt.BorderLayout());
-
- drawingPanel.setPreferredSize(new java.awt.Dimension(250, 250));
- getContentPane().add(drawingPanel, java.awt.BorderLayout.CENTER);
-
- pack();
- }// </editor-fold>//GEN-END:initComponents
-
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- new HelloUniverse().setVisible(true);
- }
- });
- }
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JPanel drawingPanel;
- // End of variables declaration//GEN-END:variables
-
-}
diff --git a/src/HelloUniverse/build.xml b/src/HelloUniverse/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/HelloUniverse/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/LOD/LOD.html b/src/LOD/LOD.html
deleted file mode 100644
index 91fc95b..0000000
--- a/src/LOD/LOD.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>LOD</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="LOD.class" width=512 height=512>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/LOD/LOD.java b/src/LOD/LOD.java
deleted file mode 100644
index dcceac4..0000000
--- a/src/LOD/LOD.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class LOD extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- createLights(objRoot);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objRoot.addChild(objTrans);
-
- // Create a switch to hold the different levels of detail
- Switch sw = new Switch(0);
- sw.setCapability(javax.media.j3d.Switch.ALLOW_SWITCH_READ);
- sw.setCapability(javax.media.j3d.Switch.ALLOW_SWITCH_WRITE);
-
-
- // Create several levels for the switch, with less detailed
- // spheres for the ones which will be used when the sphere is
- // further away
- sw.addChild(new Sphere(0.4f, Sphere.GENERATE_NORMALS, 40));
- sw.addChild(new Sphere(0.4f, Sphere.GENERATE_NORMALS, 20));
- sw.addChild(new Sphere(0.4f, Sphere.GENERATE_NORMALS, 10));
- sw.addChild(new Sphere(0.4f, Sphere.GENERATE_NORMALS, 3));
-
- // Add the switch to the main group
- objTrans.addChild(sw);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // set up the DistanceLOD behavior
- float[] distances = new float[3];
- distances[0] = 5.0f;
- distances[1] = 10.0f;
- distances[2] = 25.0f;
- DistanceLOD lod = new DistanceLOD(distances);
- lod.addSwitch(sw);
- lod.setSchedulingBounds(bounds);
- objTrans.addChild(lod);
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- private void createLights(BranchGroup graphRoot) {
-
- // Create a bounds for the light source influence
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the global, ambient light
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- graphRoot.addChild(aLgt);
-
- // Set up the directional (infinite) light source
- Color3f lColor1 = new Color3f(0.9f, 0.9f, 0.9f);
- Vector3f lDir1 = new Vector3f(1.0f, 1.0f, -1.0f);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- graphRoot.addChild(lgt1);
- }
-
-
- public LOD() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // only add zoom mouse behavior to viewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- // add orbit behavior to the ViewingPlatform, but disable rotate
- // and translate
- OrbitBehavior orbit = new OrbitBehavior(c,
- OrbitBehavior.REVERSE_ZOOM |
- OrbitBehavior.DISABLE_ROTATE |
- OrbitBehavior.DISABLE_TRANSLATE);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows LOD to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new LOD(), 512, 512);
- }
-}
diff --git a/src/LOD/LOD_plugin.html b/src/LOD/LOD_plugin.html
deleted file mode 100644
index b286450..0000000
--- a/src/LOD/LOD_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>LOD</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 512 HEIGHT = 512 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "LOD.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "LOD.class" WIDTH = 512 HEIGHT = 512 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "LOD.class" WIDTH = 512 HEIGHT = 512 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/LOD/build.xml b/src/LOD/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/LOD/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Lightwave/README.txt b/src/Lightwave/README.txt
deleted file mode 100644
index c37f4d9..0000000
--- a/src/Lightwave/README.txt
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
- Release Notes for the Lightwave 3D Java3D Loader
- ------------------------------------------------
- Updated May 13, 1998
-
-
-
-These release notes are intended to document the known working and
-non-working features of the loader. This is important because the loader
-implements an important subset of Lightwave functionality, but it definitely
-skips many major features of Lightwave files. Please read these notes
-to make sure that the features you need are actually implemented. Or
-if you see differences between Lightwave display of your file and
-the Java3D version of that file, take a look at these notes to see
-what might not be working properly.
-
-
-Testing the Loader
-------------------
-The application in this directory (Viewer) is intended to be a very
-basic test application for loading/viewing Lightwave 3D models. To
-use the program, type:
- java Viewer <filename>
-where <filename> is the name of a valid Lightwave 3D scene file that is
-reachable from the current directory. There is a very basic test file
-included in this directory called ballcone.lws. To load/view that file,
-type:
- java Viewer ballcone.lws
-Note that Lightwave scene files (*.lws) embed the pathnames to object
-files (*.lwo) within them, and that object files have pathnames
-to image files (for textures) embedded in them. Whatever those
-pathnames are in those files must be valid for the directory in which
-you are running the application that loads the scene file. For example,
-if I was loading in a scene file that referred to an object file
-called "data/object.lwo", then the file "object.lwo" should be located in
-a subdirectory of this current directory called "data".
-
-
-Summary of Loader
------------------
-The Lw3d loader was intended to implement a major subset of the features in
-Lightwave 3D that would be used for realtime 3D animations. That is, any
-features (such as Bones and other high-end rendering
-options) which would require significant rendering time were simply
-not doable. These more advanced features are intended to be rendered
-off-line, saving each frame separately and later compositing them
-together into an animation. But Java3D is a realtime 3D rendering
-system, so these type of animations just do not map into a Java3D viewer
-very well.
-
-Another category of non-implemented items are those that we simply have not
-yet gotten to. There are a few known features of Lightwave files that
-would work well through Java3D but just haven't been implemented in the
-loader yet.
-
-Although there are a lot of features that are not yet implemented,
-the basics of Lightwave 3D functionality (scene creation, animating
-objects/lights/cameras, different surface properties) all work pretty
-much as expected. So try it out and let us know non-documented items
-that didn't work properly.
-
-
-Details of Non-Implemented Features
------------------------------------
-This list is probably not comprehensive, but hopefully points out most of
-the features or areas where the implementation is incomplete (or not
-there at all).
-
-
-Limitations of Scene Files (*.lws)
-----------------------------------
-1) Bones/Skeleton
-Bones functionality is not implemented at all. Unfortunately, this
-great feature of Lightwave 3D is not currently implementable in the
-loader because the processing time that it would take to compute
-frames based on Bones data would be far more than a real-time rendering
-system can afford.
-
-The loader may, at some future point, provide a mechanism to read
-in frames of geometry that were saved from Lightwave Bones descriptions.
-That is, there are plug-ins available for Lightwave 3D that allow you
-to save out files with Bones information as a series of files with
-pre-calculated geometry for each frame; eventually we would like the
-Lightwave 3D loader to support those files.
-
-Workaround: None; the best and only workaround is to find a different
-method of animating your objects.
-
-
-2) Spline paths
-Spline paths will be interpreted as linear piecewise paths instead,
-traveling between each control point specified for the spline.
-
-Workaround: Specify linear paths. If your path looks too hard-jointed
-through the loader, specify more keyframes for the path to smooth it out.
-
-
-3) Object Scaling
-Scaling objects in the scene (versus the object files) is currently
-ignored.
-
-Workaround: scale the objects in their individual object files.
-
-
-4) Shadows
-Shadows options are ignored in the loader.
-
-Workaround: None.
-
-
-5) Envelopes
-Most envelopes are ignored. There are a couple of exceptions to this,
-such as light intensity envelopes, but even those features have not been
-completely implemented and tested.
-
-Workaround: None.
-
-
-6) Camera effects
-All advanced-rendering camera effects are ignored in the loader. This
-includes the following items in Lightwave 3D files:
- - Lens Flare
- - F-stop
- - Focal Distance
- - Blur Length
- - Dissolves
- - Glow
- - Zoom
- - Intensity Falloff
- - Antialiasing
-
-Workaround: None.
-
-
-7) Inverse Kinematics
-IK options such as Goal Objects and Anchors are ignored.
-
-Workaround: Animate objects directly instead of indirectly via IK.
-
-
-8) Morphs
-All morph options are ignored.
-
-Workaround: None.
-
-
-9) Display properties
-Lightwave allows you to specify surface properties for different rendering
-modes (e.g., wireframe color). All of these parameters are ignored and
-the full properties of any item are used at all times.
-
-Workaround: None.
-
-
-10) Various Surface Properties
-Various minor surface properties are currently ignored, including:
- - Polygon size
- - Dissolves
- - Clip map
- - Unaffected by fog
- - Edge parameters
-
-Workaround: None.
-
-
-11) Lights
-The following items are currently ignored for Light objects:
- - Target objects
- - Flare parameters
- - Shadow options
-
-Workaround: None for flares or shadows. For targeting problems, animate the
-light directly (versus indirectly through using Target).
-
-
-12) Camera Targeting
-The Target option for Camera objects is currently ignored by the loader.
-
-Workaround: Animate the camera directly (versus indirectly through using
-Target).
-
-
-13) Effects
-Most effects (from the Effects dialog box in the layout program) are
-ignored, save for fog (which should accept all parameters) and
-backdrop colors (solid backdrops only - gradient backdrops are
-ignored).
-
-Workaround: None.
-
-
-14) Render Options
-Most options from the Render dialog box are ignored - most of these pertain
-to saving the animation in any case (something that doesn't happen through
-the Loader).
-
-Workaround: None.
-
-
-
-Limitations of Object Files (*.lwo)
------------------------------------
-1) MetaNURBS
-Geometry stored in MetaNURBS format will be ignored by the loader.
-
-Workaround: pre-tessellate your MetaNURBS surfaces and save your
-geometry (object) files in that format.
-
-
-2) Layered Object Files
-There is currently no support for the "Layered Object File Format"
-of Lightwave 3D.
-
-Workaround: None.
-
-
-3) Reflectivity
-There is no way to reproduce the reflective properties of surfaces
-through Java3D, so any reflectivity settings in Lightwave object files
-will be ignored.
-
-Workaround: None.
-
-
-4) Refraction
-Refractive properties of surfaces are ignored.
-
-Workaround: None.
-
-
-5) Edge Transparency
-Edge transparency properties are ignored.
-
-Workaround. None.
-
-
-6) Texture types
-Texture mapping is currently somewhat limited in the loader. The following
-types of texture mapping effects should work:
- - Diffuse (the texture modifies the Diffuse aspects of the surface)
- - Color (the texture modifies the Color properties of the surface).
-Textures that attempt to modify other parameters of the surface will
-be ignored.
-
-Also, the following texture types should work:
- - Planar Image Map
- - Spherical Image Map
- - Cylindrical Image Map
-Other kinds of mappings will not work (including Marble, Grid, Dots, etc.)
-
-Some Texture parameters will not work. The following should work correctly:
- - size
- - center
-Advanced texture parameters such as falloff and velocity will be ignored.
-
-Summary: There are so many texture mapping parameters in Lightwave 3D that
-it's difficult to produce a list of all of the items that won't work
-properly. In a nutshell, basic decal-type (color modifying) or brightness
-(diffuse modifying) textures that are mapped as planes, spheres, or
-cylinders should work correctly. Anything else will probably not work.
-
-Workaround: Use the basics.
-
-
-7) Plug-ins
-There is currently no support for any plug-in capabilities. For example,
-if there are plug-in shaders specified for your file, those shaders will be
-ignored.
-
-Workaround: None.
-
-
-8) Image Sequences
-There is no support for image sequences - textures must be static files.
-
-Workaround: None.
-
-
diff --git a/src/Lightwave/Viewer.html b/src/Lightwave/Viewer.html
deleted file mode 100644
index 27b6d1e..0000000
--- a/src/Lightwave/Viewer.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Lightwave Viewer Demo</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="Viewer.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Lightwave/Viewer.java b/src/Lightwave/Viewer.java
deleted file mode 100644
index 25a6c56..0000000
--- a/src/Lightwave/Viewer.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-
-import javax.media.j3d.BranchGroup;
-import javax.media.j3d.Canvas3D;
-import javax.media.j3d.Transform3D;
-import javax.media.j3d.TransformGroup;
-import javax.media.j3d.View;
-import javax.vecmath.Matrix4d;
-
-import com.sun.j3d.loaders.lw3d.Lw3dLoader;
-import com.sun.j3d.loaders.Loader;
-import com.sun.j3d.loaders.Scene;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.SimpleUniverse;
-
-
-/**
- * This class loads in a Lightwave3D file and displays it in an applet
- * window. The application is fairly basic; a more complete version
- * of a Lightwave 3D loader might incorporate features such as
- * settable clip plane distances and animated views (these are both
- * possible with the current Lightwave 3D loader, they just need to
- * be implemented in the application).
- */
-public class Viewer extends Applet {
-
- private java.net.URL filename;
- private SimpleUniverse u;
-
- public Viewer(java.net.URL url) {
- filename = url;
- }
-
- public Viewer() {}
-
- public void init() {
- if (filename == null) {
- // the path to the file for an applet
- try {
- java.net.URL path = getCodeBase();
- filename = new java.net.URL(path.toString() +
- "./ballcone.lws");
- }
- catch (java.net.MalformedURLException ex) {
- System.err.println(ex.getMessage());
- ex.printStackTrace();
- System.exit(1);
- }
- }
-
- // Construct the Lw3d loader and load the file
- Loader lw3dLoader = new Lw3dLoader(Loader.LOAD_ALL);
- Scene loaderScene = null;
- try {
- loaderScene = lw3dLoader.load(filename);
- }
- catch (Exception e) {
- e.printStackTrace();
- System.exit(1);
- }
-
- // Construct the applet canvas
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a basic universe setup and the root of our scene
- u = new SimpleUniverse(c);
- BranchGroup sceneRoot = new BranchGroup();
-
- // Change the back clip distance; the default is small for
- // some lw3d worlds
- View theView = u.getViewer().getView();
- theView.setBackClipDistance(50000f);
-
- // Now add the scene graph defined in the lw3d file
- if (loaderScene.getSceneGroup() != null) {
- // Instead of using the default view location (which may be
- // completely bogus for the particular file you're loading),
- // let's use the initial view from the file. We can get
- // this by getting the view groups from the scene (there's
- // only one for Lightwave 3D), then using the inverse of the
- // transform on that view as the transform for the entire scene.
-
- // First, get the view groups (shouldn't be null unless there
- // was something wrong in the load
- TransformGroup viewGroups[] = loaderScene.getViewGroups();
-
- // Get the Transform3D from the view and invert it
- Transform3D t = new Transform3D();
- viewGroups[0].getTransform(t);
- Matrix4d m = new Matrix4d();
- t.get(m);
- m.invert();
- t.set(m);
-
- // Now we've got the transform we want. Create an
- // appropriate TransformGroup and parent the scene to it.
- // Then insert the new group into the main BranchGroup.
- TransformGroup sceneTransform = new TransformGroup(t);
- sceneTransform.addChild(loaderScene.getSceneGroup());
- sceneRoot.addChild(sceneTransform);
- }
-
- // Make the scene graph live by inserting the root into the universe
- u.addBranchGraph(sceneRoot);
- }
-
-
- public void destroy() {
- u.cleanup();
- }
-
- /**
- * The main method of the application takes one argument in the
- * args array; the filname that you want to load. Note that the
- * file must be reachable from the directory in which you're running
- * this application.
- */
- public static void main(String args[]) {
- java.net.URL url = null;
- java.net.URL pathUrl = null;
- if (args.length > 0) {
- try {
- if ((args[0].indexOf("file:") == 0) ||
- (args[0].indexOf("http") == 0)) {
- url = new java.net.URL(args[0]);
- }
- else if (args[0].charAt(0) != '/') {
- url = new java.net.URL("file:./" + args[0]);
- }
- else {
- url = new java.net.URL("file:" + args[0]);
- }
- }
- catch (java.net.MalformedURLException ex) {
- System.err.println(ex.getMessage());
- ex.printStackTrace();
- System.exit(1);
- }
- }
- else {
- // the path to the image for an application
- try {
- url = new java.net.URL("file:./ballcone.lws");
- }
- catch (java.net.MalformedURLException ex) {
- System.err.println(ex.getMessage());
- ex.printStackTrace();
- System.exit(1);
- }
- }
- new MainFrame(new Viewer(url), 500, 500);
- }
-}
-
-
-
-
diff --git a/src/Lightwave/Viewer_plugin.html b/src/Lightwave/Viewer_plugin.html
deleted file mode 100644
index c26ff14..0000000
--- a/src/Lightwave/Viewer_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Lightwave Viewer Demo</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "Viewer.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "Viewer.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "Viewer.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Lightwave/ballcone.lws b/src/Lightwave/ballcone.lws
deleted file mode 100644
index 43979d0..0000000
--- a/src/Lightwave/ballcone.lws
+++ /dev/null
@@ -1,102 +0,0 @@
-LWSC
-1
-
-FirstFrame 1
-LastFrame 60
-FrameStep 1
-PreviewFirstFrame 1
-PreviewLastFrame 60
-PreviewFrameStep 1
-FramesPerSecond 30.000000
-
-LoadObject greenball.lwo
-ShowObject 8 7
-ObjectMotion (unnamed)
- 9
- 1
- 0 0 0 -0 -0 -0 1 1 1
- 0 0 0 0 0
-EndBehavior 1
-ShadowOptions 7
-
-LoadObject redcone.lwo
-ShowObject 8 7
-ObjectMotion (unnamed)
- 9
- 3
- 87.0955 0 16.23071 -0 -0 -0 1 1 1
- 0 0 0 0 0
- 18.11593 72.5 15.02915 -8.899995 78.10001 -52.8 1 1 1
- 30 0 0 0 0
- -95.00599 33 20.31446 5.900002 34.99998 9.699986 1 1 1
- 59 0 0 0 0
-EndBehavior 1
-ShadowOptions 7
-
-AmbientColor 255 255 255
-AmbIntensity 0.250000
-
-AddLight
-LightName Light
-ShowLight 1 7
-LightMotion (unnamed)
- 9
- 1
- -163.7345 2 44.50352 45 35 -0 1 1 1
- 0 0 0 0 0
-EndBehavior 1
-LightColor 255 255 255
-LgtIntensity 1.000000
-LightType 0
-ShadowType 1
-
-ShowCamera 1 7
-CameraMotion (unnamed)
- 9
- 3
- -35.53939 20 -285.3626 -0 -0 -0 1 1 1
- 0 0 0 0 0
- 138.9237 20 -218.272 -48 -2.9 -0 1 1 1
- 30 0 0 0 0
- 187.5021 20 -33.65044 -75.70002 -3.4 -0 1 1 1
- 60 0 0 0 0
-EndBehavior 1
-ZoomFactor 3.200000
-Resolution 1
-PixelAspectRatio -1
-CustomPixelRatio 1.000000
-SegmentMemory 2200000
-Antialiasing 0
-AdaptiveSampling 1
-AdaptiveThreshold 16
-FilmSize 2
-FieldRendering 0
-MotionBlur 0
-DepthOfField 0
-
-SolidBackdrop 1
-BackdropColor 0 0 0
-ZenithColor 0 40 80
-SkyColor 120 180 240
-GroundColor 50 40 30
-NadirColor 100 80 60
-FogType 0
-DitherIntensity 1
-AnimatedDither 0
-
-RenderMode 2
-RayTraceEffects 0
-DataOverlayLabel
-
-ViewMode 5
-ViewAimpoint 0.000000 0.000000 0.000000
-ViewDirection 0.300197 -0.314159 0.000000
-ViewZoomFactor 4.000000
-GridNumber 40
-GridSize 50.000000
-ShowMotionPath 1
-ShowBGImage 0
-ShowFogRadius 0
-ShowRedraw 0
-ShowSafeAreas 0
-ShowFieldChart 0
diff --git a/src/Lightwave/build.xml b/src/Lightwave/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/Lightwave/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Lightwave/greenball.lwo b/src/Lightwave/greenball.lwo
deleted file mode 100644
index 62cd08d..0000000
--- a/src/Lightwave/greenball.lwo
+++ /dev/null
Binary files differ
diff --git a/src/Lightwave/redcone.lwo b/src/Lightwave/redcone.lwo
deleted file mode 100644
index 214a15d..0000000
--- a/src/Lightwave/redcone.lwo
+++ /dev/null
Binary files differ
diff --git a/src/ModelClip/ModelClipTest.html b/src/ModelClip/ModelClipTest.html
deleted file mode 100644
index 0fa3b78..0000000
--- a/src/ModelClip/ModelClipTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ModelClipTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="ModelClipTest.class" width=500 height=500>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/ModelClip/ModelClipTest.java b/src/ModelClip/ModelClipTest.java
deleted file mode 100644
index fda0380..0000000
--- a/src/ModelClip/ModelClipTest.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.behaviors.mouse.*;
-import com.sun.j3d.utils.geometry.Cylinder;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-/**
- * ModelClipTest draws a cylinder and creates two clip planes
- * to see the interior of the cylinder.
- */
-public class ModelClipTest extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph()
- {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // This Transformgroup is used by the mouse manipulators to
- // move the CYlinder.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objScale.addChild(objTrans);
-
- //Create Model Clip
- ModelClip mc = new ModelClip();
- boolean enables[] = {false, false, false, false, false, false};
- Vector4d eqn1 = new Vector4d(0.0, 1.0, 0.0, 0.0);
- Vector4d eqn2 = new Vector4d(1.0, 1.0, 0.0, 0.0);
- mc.setEnables(enables);
- mc.setPlane(1, eqn1);
- mc.setPlane(2, eqn2);
- mc.setEnable(1, true);
- mc.setEnable(2, true);
- mc.setInfluencingBounds(bounds);
- objTrans.addChild(mc);
-
- //Create a cylinder
- PolygonAttributes attr = new PolygonAttributes();
- attr.setCullFace(PolygonAttributes.CULL_NONE);
- Appearance ap = new Appearance();
- Material mat = new Material();
- mat.setLightingEnable(true);
- ap.setMaterial(mat);
- ap.setPolygonAttributes(attr);
-
- Cylinder CylinderObj = new Cylinder(1.0f, 2.0f, ap);
- objTrans.addChild(CylinderObj);
-
- // Create the rotate behavior node
- MouseRotate behavior = new MouseRotate(objTrans);
- objTrans.addChild(behavior);
- behavior.setSchedulingBounds(bounds);
-
- // Create the zoom behavior node
- MouseZoom behavior2 = new MouseZoom(objTrans);
- objTrans.addChild(behavior2);
- behavior2.setSchedulingBounds(bounds);
-
- //Shine it with two colored lights.
- Color3f lColor1 = new Color3f(0.5f, 0.0f, 0.5f);
- Color3f lColor2 = new Color3f(0.7f, 0.7f, 0.0f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, 1.0f);
- Vector3f lDir2 = new Vector3f(0.0f, 0.0f, -1.0f);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- DirectionalLight lgt2 = new DirectionalLight(lColor2, lDir2);
- lgt1.setInfluencingBounds(bounds);
- lgt2.setInfluencingBounds(bounds);
- objScale.addChild(lgt1);
- objScale.addChild(lgt2);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public ModelClipTest (){
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
-
- public static void main(String argv[])
- {
-
- BranchGroup group;
-
- new MainFrame(new ModelClipTest(), 500, 500);
- }
-}
-
diff --git a/src/ModelClip/ModelClipTest2.html b/src/ModelClip/ModelClipTest2.html
deleted file mode 100644
index 1c4f676..0000000
--- a/src/ModelClip/ModelClipTest2.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ModelClipTest2</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="ModelClipTest2.class" width=500 height=500>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/ModelClip/ModelClipTest2.java b/src/ModelClip/ModelClipTest2.java
deleted file mode 100644
index 7ba177f..0000000
--- a/src/ModelClip/ModelClipTest2.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.behaviors.mouse.*;
-import com.sun.j3d.utils.geometry.Cylinder;
-import com.sun.j3d.utils.geometry.Box;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-/**
- * ModelClipTest2 draws a cylinder and creates two clip planes
- * to see the interior of the cylinder. It also has a behavior to
- * move the clip planes.
- */
-public class ModelClipTest2 extends Applet {
-
- private SimpleUniverse u;
-
- public BranchGroup createSceneGraph()
- {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- //Shine it with two colored lights.
- Color3f lColor0 = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f lColor1 = new Color3f(0.5f, 0.0f, 0.5f);
- Color3f lColor2 = new Color3f(0.7f, 0.7f, 0.0f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, 1.0f);
- Vector3f lDir2 = new Vector3f(0.0f, 0.0f, -1.0f);
-
- AmbientLight lgt0 = new AmbientLight(true, lColor2);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- DirectionalLight lgt2 = new DirectionalLight(lColor2, lDir2);
- lgt0.setInfluencingBounds(bounds);
- lgt1.setInfluencingBounds(bounds);
- lgt2.setInfluencingBounds(bounds);
- objScale.addChild(lgt0);
- objScale.addChild(lgt1);
- objScale.addChild(lgt2);
-
- // Create a Transformgroup for the geometry
- TransformGroup objRot = new TransformGroup();
- Transform3D t3d1 = new Transform3D();
- AxisAngle4f rot1 = new AxisAngle4f(0.0f, 1.0f, 0.0f, 45.0f);
- t3d1.setRotation(rot1);
- objRot.setTransform(t3d1);
- objScale.addChild(objRot);
-
-
- //Create a cylinder
- PolygonAttributes attr = new PolygonAttributes();
- attr.setCullFace(PolygonAttributes.CULL_NONE);
- Appearance ap = new Appearance();
- Material mat = new Material();
- mat.setLightingEnable(true);
- ap.setMaterial(mat);
- ap.setPolygonAttributes(attr);
-
- Cylinder CylinderObj = new Cylinder(0.5f, 2.2f, ap);
- objRot.addChild(CylinderObj);
-
- //Create a box
- Box BoxObj = new Box(0.8f, 0.8f, 0.8f, ap);
- objRot.addChild(BoxObj);
-
-
- // This Transformgroup is used by the mouse manipulators to
- // move the model clip planes.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objRot.addChild(objTrans);
-
- // Create the rotate behavior node
- MouseRotate behavior = new MouseRotate(objTrans);
- objTrans.addChild(behavior);
- behavior.setSchedulingBounds(bounds);
-
- // Create the zoom behavior node
- MouseZoom behavior2 = new MouseZoom(objTrans);
- objTrans.addChild(behavior2);
- behavior2.setSchedulingBounds(bounds);
-
- //Create Model Clip
- ModelClip mc = new ModelClip();
- boolean enables[] = {false, false, false, false, false, false};
- Vector4d eqn = new Vector4d(0.0, 1.0, 1.0, 0.0);
- mc.setEnables(enables);
- mc.setPlane(1, eqn);
- mc.setEnable(1, true);
- mc.setInfluencingBounds(bounds);
- objTrans.addChild(mc);
-
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public ModelClipTest2 (){
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
-
-
- public static void main(String argv[])
- {
-
- BranchGroup group;
-
- new MainFrame(new ModelClipTest2(), 500, 500);
- }
-}
-
diff --git a/src/ModelClip/ModelClipTest2_plugin.html b/src/ModelClip/ModelClipTest2_plugin.html
deleted file mode 100644
index c0a4e55..0000000
--- a/src/ModelClip/ModelClipTest2_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ModelClipTest2</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 500 HEIGHT = 500 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "ModelClipTest2.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "ModelClipTest2.class" WIDTH = 500 HEIGHT = 500 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "ModelClipTest2.class" WIDTH = 500 HEIGHT = 500 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/ModelClip/ModelClipTest_plugin.html b/src/ModelClip/ModelClipTest_plugin.html
deleted file mode 100644
index b67c83e..0000000
--- a/src/ModelClip/ModelClipTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ModelClipTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 500 HEIGHT = 500 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "ModelClipTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "ModelClipTest.class" WIDTH = 500 HEIGHT = 500 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "ModelClipTest.class" WIDTH = 500 HEIGHT = 500 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/ModelClip/build.xml b/src/ModelClip/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/ModelClip/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Morphing/ColorCube.java b/src/Morphing/ColorCube.java
deleted file mode 100644
index ff52c48..0000000
--- a/src/Morphing/ColorCube.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class ColorCube extends QuadArray {
- private static final float[] verts = {
- // front face
- 1.0f, -1.0f, 1.0f,
- 1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, 1.0f,
- -1.0f, -1.0f, 1.0f,
- // back face
- -1.0f, -1.0f, -1.0f,
- -1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, -1.0f,
- 1.0f, -1.0f, -1.0f,
- // right face
- 1.0f, -1.0f, -1.0f,
- 1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, 1.0f,
- 1.0f, -1.0f, 1.0f,
- // left face
- -1.0f, -1.0f, 1.0f,
- -1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, -1.0f,
- -1.0f, -1.0f, -1.0f,
- // top face
- 1.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, 1.0f,
- // bottom face
- -1.0f, -1.0f, 1.0f,
- -1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, 1.0f,
- };
-
- private static final float[] colors = {
- // front face (red)
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- // back face (green)
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- // right face (blue)
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- // left face (yellow)
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- // top face (magenta)
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- // bottom face (cyan)
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- };
-
- ColorCube() {
- super(24, QuadArray.COORDINATES | QuadArray.COLOR_3);
-
- setCoordinates(0, verts);
- setColors(0, colors);
- }
-}
diff --git a/src/Morphing/ColorPyramidDown.java b/src/Morphing/ColorPyramidDown.java
deleted file mode 100644
index 80a572d..0000000
--- a/src/Morphing/ColorPyramidDown.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class ColorPyramidDown extends QuadArray {
- private static final float[] verts = {
- // front face
- 0.0f, -1.0f, 0.0f,
- 1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, 1.0f,
- 0.0f, -1.0f, 0.0f,
- // back face
- 0.0f, -1.0f, 0.0f,
- -1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, -1.0f,
- 0.0f, -1.0f, 0.0f,
- // right face
- 0.0f, -1.0f, 0.0f,
- 1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, 1.0f,
- 0.0f, -1.0f, 0.0f,
- // left face
- 0.0f, -1.0f, 0.0f,
- -1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, -1.0f,
- 0.0f, -1.0f, 0.0f,
- // top face
- 1.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, 1.0f,
- // bottom face
- 0.0f, -1.0f, 0.0f,
- 0.0f, -1.0f, 0.0f,
- 0.0f, -1.0f, 0.0f,
- 0.0f, -1.0f, 0.0f,
- };
-
- private static final float[] colors = {
- // front face (green)
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- // back face (red)
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- // right face (yellow)
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- // left face (magenta)
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- // top face (blue)
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- // bottom face (cyan)
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- };
-
- ColorPyramidDown() {
- super(24, QuadArray.COORDINATES | QuadArray.COLOR_3);
-
- setCoordinates(0, verts);
- setColors(0, colors);
- }
-}
diff --git a/src/Morphing/ColorPyramidUp.java b/src/Morphing/ColorPyramidUp.java
deleted file mode 100644
index e952fe2..0000000
--- a/src/Morphing/ColorPyramidUp.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class ColorPyramidUp extends QuadArray {
- private static final float[] verts = {
- // front face
- 1.0f, -1.0f, 1.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- -1.0f, -1.0f, 1.0f,
- // back face
- -1.0f, -1.0f, -1.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 1.0f, -1.0f, -1.0f,
- // right face
- 1.0f, -1.0f, -1.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 1.0f, -1.0f, 1.0f,
- // left face
- -1.0f, -1.0f, 1.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- -1.0f, -1.0f, -1.0f,
- // top face
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- // bottom face
- -1.0f, -1.0f, 1.0f,
- -1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, 1.0f,
- };
-
- private static final float[] colors = {
-
- // front face (cyan)
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- // back face (magenta)
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- // right face (yellow)
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- // left face (blue)
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- // top face (green)
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- // bottom face (red)
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
-
- };
-
- ColorPyramidUp() {
- super(24, QuadArray.COORDINATES | QuadArray.COLOR_3);
-
- setCoordinates(0, verts);
- setColors(0, colors);
- }
-}
diff --git a/src/Morphing/Morphing.html b/src/Morphing/Morphing.html
deleted file mode 100644
index 1d17203..0000000
--- a/src/Morphing/Morphing.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Morphing</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="Morphing.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Morphing/Morphing.java b/src/Morphing/Morphing.java
deleted file mode 100644
index 3811b07..0000000
--- a/src/Morphing/Morphing.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.io.*;
-import com.sun.j3d.loaders.objectfile.ObjectFile;
-import com.sun.j3d.loaders.Scene;
-import com.sun.j3d.loaders.ParsingErrorException;
-import com.sun.j3d.loaders.IncorrectFormatException;
-
-public class Morphing extends Applet {
-
- private java.net.URL[] objFiles = null;
-
- private SimpleUniverse u = null;
-
- private BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objScale.addChild(bg);
-
- // Set up the global lights
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
-
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- objScale.addChild(aLgt);
- objScale.addChild(lgt1);
-
- //
- // Create the transform group nodes for the 3 original objects
- // and the morphed object. Add them to the root of the
- // branch graph.
- //
- TransformGroup objTrans[] = new TransformGroup[4];
-
- for(int i=0; i<4; i++) {
- objTrans[i] = new TransformGroup();
- objScale.addChild(objTrans[i]);
- }
-
- Transform3D tr = new Transform3D();
- Transform3D rotX90 = new Transform3D();
- rotX90.rotX(90.0 * Math.PI / 180.0);
-
- objTrans[0].getTransform(tr);
- tr.setTranslation(new Vector3d(-2.0, 1.5, -2.0));
- tr.mul(rotX90);
- objTrans[0].setTransform(tr);
-
- objTrans[1].getTransform(tr);
- tr.setTranslation(new Vector3d(0.0, 1.5, -2.0));
- tr.mul(rotX90);
- objTrans[1].setTransform(tr);
-
- objTrans[2].getTransform(tr);
- tr.setTranslation(new Vector3d(2.0, 1.5, -2.0));
- tr.mul(rotX90);
- objTrans[2].setTransform(tr);
-
- objTrans[3].getTransform(tr);
- tr.setTranslation(new Vector3d(0.0, -2.0, -2.0));
- tr.mul(rotX90);
- objTrans[3].setTransform(tr);
-
-
- // Now load the object files
- Scene s[] = new Scene[3];
- GeometryArray g[] = new GeometryArray[3];
- Shape3D shape[] = new Shape3D[3];
- ObjectFile loader = new ObjectFile(ObjectFile.RESIZE);
- for(int i=0; i<3; i++) {
- s[i] = null;
- g[i] = null;
- shape[i] = null;
- }
-
- for(int i=0; i<3;i++) {
- try {
- s[i] = loader.load(objFiles[i]);
- }
- catch (FileNotFoundException e) {
- System.err.println(e);
- System.exit(1);
- }
- catch (ParsingErrorException e) {
- System.err.println(e);
- System.exit(1);
- }
- catch (IncorrectFormatException e) {
- System.err.println(e);
- System.exit(1);
- }
-
- BranchGroup b = s[i].getSceneGroup();
- shape[i] = (Shape3D) b.getChild(0);
- g[i] = (GeometryArray) shape[i].getGeometry();
-
- shape[i].setGeometry(g[i]);
- objTrans[i].addChild(b);
- }
-
- //
- // Create a Morph node, and set the appearance and input geometry
- // arrays. Set the Morph node's capability bits to allow the weights
- // to be modified at runtime.
- //
- Appearance app = new Appearance();
- Color3f objColor = new Color3f(1.0f, 0.7f, 0.8f);
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor, black, 80.0f));
- Morph morph = new Morph(g, app);
- morph.setCapability(Morph.ALLOW_WEIGHTS_READ);
- morph.setCapability(Morph.ALLOW_WEIGHTS_WRITE);
-
- objTrans[3].addChild(morph);
-
- // Now create the Alpha object that controls the speed of the
- // morphing operation.
- Alpha morphAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE |
- Alpha.DECREASING_ENABLE,
- 0, 0,
- 2000, 1000, 200,
- 2000, 1000, 200);
-
- // Finally, create the morphing behavior
- MorphingBehavior mBeh = new MorphingBehavior(morphAlpha, morph);
- mBeh.setSchedulingBounds(bounds);
- objScale.addChild(mBeh);
-
- return objRoot;
- }
-
- public Morphing() {}
-
- public Morphing(java.net.URL[] urls) {
- objFiles = urls;
- }
-
- public void init() {
- if (objFiles == null) {
- objFiles = new java.net.URL[3];
- // the path to the image for an applet
- String path = getCodeBase().toString();
- try {
- objFiles[0] = new java.net.URL(path + "hand1.obj");
- objFiles[1] = new java.net.URL(path + "hand2.obj");
- objFiles[2] = new java.net.URL(path + "hand3.obj");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public static void main(String[] args) {
- java.net.URL[] urls = new java.net.URL[3];
- // the path to the image file for an application
- try {
- urls[0] = new java.net.URL("file:./hand1.obj");
- urls[1] = new java.net.URL("file:./hand2.obj");
- urls[2] = new java.net.URL("file:./hand3.obj");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- new MainFrame(new Morphing(urls), 700, 700);
- }
-}
diff --git a/src/Morphing/MorphingBehavior.java b/src/Morphing/MorphingBehavior.java
deleted file mode 100644
index 5da6eeb..0000000
--- a/src/Morphing/MorphingBehavior.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.util.Enumeration;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-// User-defined morphing behavior class
-public class MorphingBehavior extends Behavior {
-
- Alpha alpha;
- Morph morph;
- double weights[];
-
- WakeupOnElapsedFrames w = new WakeupOnElapsedFrames(0);
-
- // Override Behavior's initialize method to setup wakeup criteria
- public void initialize() {
- alpha.setStartTime(System.currentTimeMillis());
-
- // Establish initial wakeup criteria
- wakeupOn(w);
- }
-
- // Override Behavior's stimulus method to handle the event
- public void processStimulus(Enumeration criteria) {
-
- // NOTE: This assumes 3 objects. It should be generalized to
- // "n" objects.
-
- double val = alpha.value();
- if (val < 0.5) {
- double a = val * 2.0;
- weights[0] = 1.0 - a;
- weights[1] = a;
- weights[2] = 0.0;
- }
- else {
- double a = (val - 0.5) * 2.0;
- weights[0] = 0.0;
- weights[1] = 1.0f - a;
- weights[2] = a;
- }
-
- morph.setWeights(weights);
-
- // Set wakeup criteria for next time
- wakeupOn(w);
- }
-
- public MorphingBehavior(Alpha a, Morph m) {
- alpha = a;
- morph = m;
- weights = morph.getWeights();
- }
-}
diff --git a/src/Morphing/Morphing_plugin.html b/src/Morphing/Morphing_plugin.html
deleted file mode 100644
index 59c370a..0000000
--- a/src/Morphing/Morphing_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Morphing</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "Morphing.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "Morphing.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "Morphing.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Morphing/Pyramid2Cube.html b/src/Morphing/Pyramid2Cube.html
deleted file mode 100644
index 1a83e9f..0000000
--- a/src/Morphing/Pyramid2Cube.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Pyramid2Cube</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="Pyramid2Cube.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Morphing/Pyramid2Cube.java b/src/Morphing/Pyramid2Cube.java
deleted file mode 100644
index 904d1dd..0000000
--- a/src/Morphing/Pyramid2Cube.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Pyramid2Cube extends Applet {
-
- private SimpleUniverse u = null;
-
- private BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
-
- // Create a bounds for the background and behavior
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objScale.addChild(bg);
-
- //
- // Create the transform group nodes for the 3 original objects
- // and the morphed object. Add them to the root of the
- // branch graph.
- //
- TransformGroup objTrans[] = new TransformGroup[4];
-
- for(int i=0; i<4; i++) {
- objTrans[i] = new TransformGroup();
- objScale.addChild(objTrans[i]);
- }
-
- Transform3D tr = new Transform3D();
- Transform3D rotY15 = new Transform3D();
- rotY15.rotY(15.0 * Math.PI / 180.0);
-
- objTrans[0].getTransform(tr);
- tr.setTranslation(new Vector3d(-3.0, 1.5, -6.5));
- tr.mul(rotY15);
- objTrans[0].setTransform(tr);
-
- objTrans[1].getTransform(tr);
- tr.setTranslation(new Vector3d(0.0, 1.5, -6.5));
- tr.mul(rotY15);
- objTrans[1].setTransform(tr);
-
- objTrans[2].getTransform(tr);
- tr.setTranslation(new Vector3d(3.0, 1.5, -6.5));
- tr.mul(rotY15);
- objTrans[2].setTransform(tr);
-
- objTrans[3].getTransform(tr);
- tr.setTranslation(new Vector3d(0.0, -2.0, -5.0));
- tr.mul(rotY15);
- objTrans[3].setTransform(tr);
-
- // Now create simple geometries.
-
- QuadArray g[] = new QuadArray[3];
- Shape3D shape[] = new Shape3D[3];
- for(int i=0; i<3; i++) {
- g[i] = null;
- shape[i] = null;
- }
-
- g[0] = new ColorPyramidUp();
- g[1] = new ColorCube();
- g[2] = new ColorPyramidDown();
-
- Appearance a = new Appearance();
-
- for(int i=0; i<3;i++) {
- shape[i] = new Shape3D(g[i],a);
- objTrans[i].addChild(shape[i]);
- }
-
- //
- // Create a Morph node, and set the appearance and input geometry
- // arrays. Set the Morph node's capability bits to allow the weights
- // to be modified at runtime.
- //
- Morph morph = new Morph((GeometryArray[]) g, a);
- morph.setCapability(Morph.ALLOW_WEIGHTS_READ);
- morph.setCapability(Morph.ALLOW_WEIGHTS_WRITE);
-
- objTrans[3].addChild(morph);
-
- // Now create the Alpha object that controls the speed of the
- // morphing operation.
- Alpha morphAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE |
- Alpha.DECREASING_ENABLE,
- 0, 0,
- 4000, 1000, 500,
- 4000, 1000, 500);
-
- // Finally, create the morphing behavior
- MorphingBehavior mBeh = new MorphingBehavior(morphAlpha, morph);
- mBeh.setSchedulingBounds(bounds);
- objScale.addChild(mBeh);
-
- return objRoot;
- }
-
- public Pyramid2Cube() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public static void main(String[] args) {
- new MainFrame(new Pyramid2Cube(), 700, 700);
- }
-}
diff --git a/src/Morphing/Pyramid2Cube_plugin.html b/src/Morphing/Pyramid2Cube_plugin.html
deleted file mode 100644
index 10cab7b..0000000
--- a/src/Morphing/Pyramid2Cube_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Pyramid2Cube</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "Pyramid2Cube.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "Pyramid2Cube.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "Pyramid2Cube.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Morphing/build.xml b/src/Morphing/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/Morphing/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Morphing/hand1.obj b/src/Morphing/hand1.obj
deleted file mode 100644
index 3cfcd5c..0000000
--- a/src/Morphing/hand1.obj
+++ /dev/null
@@ -1,846 +0,0 @@
-# Mon Jun 02 17:09:33 1997
-#
-#
-
-g hand1
-v -0.551223 0.307562 -3.946050
-v -0.215465 0.030475 -3.703516
-v -0.059140 0.068255 -1.551531
-v -0.487235 0.455792 -4.006029
-v -0.168743 0.090975 -3.755638
-v -0.338689 0.569450 -4.244848
-v -0.639211 0.502297 -4.165243
-v -0.760687 0.647871 -4.482797
-v -0.529792 0.073768 -3.945949
-v -0.707612 0.258064 -4.192451
-v -0.866004 0.446161 -4.511733
-v -0.367733 -0.147323 -4.191223
-v -0.717413 0.071719 -4.433171
-v -0.893823 0.253971 -4.589350
-v -0.172976 -0.188212 -3.754734
-v -0.089148 -0.103984 -1.450071
-v -0.234491 -0.100206 -3.756646
-v -0.131305 -0.032994 -1.531782
-v -0.589492 0.641054 -4.376035
-v -0.050594 -0.257375 -4.417058
-v 0.208857 -0.205637 -4.768191
-v 0.007882 -0.231806 -4.028160
-v 0.230232 -0.186379 -4.335583
-v 0.390435 -0.043258 -4.060836
-v 0.002626 -0.129308 -1.430840
-v -0.058465 -0.217994 -3.717670
-v 0.087189 -0.100005 -1.425612
-v 0.044163 -0.171797 -3.707954
-v 0.044240 0.657156 -4.536777
-v -0.137070 0.604272 -4.344090
-v 0.041139 0.604901 -4.118776
-v -0.080844 0.531805 -3.993031
-v 0.165095 0.484110 -3.906230
-v -0.081629 0.087632 -3.782753
-v -0.013872 0.088823 -1.554481
-v 0.008630 0.041677 -3.708195
-v 0.070162 0.059225 -1.467241
-v 0.349126 0.784380 -4.327246
-v 0.192656 0.707311 -4.316467
-v 0.240026 0.669896 -4.092967
-v 0.614077 0.770599 -4.245997
-v 0.448901 0.789330 -4.242595
-v 0.390683 0.635870 -4.050064
-v 0.823568 1.030378 -5.230011
-v 0.583262 0.935220 -4.789198
-v 0.936485 1.075914 -5.144932
-v 0.708930 0.972489 -4.713959
-v 1.079595 1.050653 -5.079602
-v 0.863290 0.942616 -4.657226
-v 0.731356 0.950572 -5.335061
-v 0.698927 0.816156 -5.569689
-v 0.452954 0.862935 -4.860037
-v 0.354245 0.777679 -5.103039
-v 0.109515 -0.020305 -1.439012
-v 0.321579 0.190660 -3.847763
-v 0.056950 -0.068344 -3.678991
-v 0.551677 0.397382 -4.027330
-v 0.748943 0.261978 -4.201552
-v 0.797463 0.611225 -4.241810
-v 0.934536 0.472987 -4.298673
-v 0.919641 0.370477 -5.597496
-v 1.079582 0.375487 -5.341094
-v 1.225601 0.456396 -5.207421
-v 0.593068 0.043314 -5.202118
-v 0.711852 0.101000 -4.865152
-v 0.871615 0.211454 -4.690717
-v 1.063296 0.399320 -4.647913
-v 1.342637 0.585582 -5.122607
-v 1.150690 0.608137 -4.641154
-v 1.366648 0.748651 -5.071675
-v 0.745367 0.246406 -5.988852
-v 0.494019 -0.022198 -5.740361
-v 0.141480 -0.193021 -5.470416
-v 0.693354 0.148862 -6.455598
-v 0.458179 -0.058425 -6.342125
-v 0.092861 -0.121753 -6.334044
-v 0.001903 0.615014 -5.359071
-v 0.310613 0.694999 -5.659912
-v 0.602326 0.700149 -5.960638
-v 0.014377 0.478587 -6.304075
-v 0.335968 0.619833 -6.312831
-v 0.600780 0.612337 -6.446789
-v -0.303419 0.594566 -6.098518
-v -0.599974 0.655996 -6.132385
-v -0.241202 0.626083 -5.200386
-v -0.457099 0.677790 -5.161324
-v -0.259616 -0.163854 -6.116562
-v -0.183392 -0.223625 -5.241480
-v -0.635209 0.061396 -6.121774
-v -0.504788 -0.103060 -5.122423
-v -0.950019 0.234128 -5.837874
-v -0.810067 0.092804 -5.080121
-v -1.144829 0.478824 -5.746136
-v -0.998398 0.334709 -5.084644
-v -0.994164 0.856674 -5.773610
-v -0.863354 0.756330 -5.102725
-v -0.801998 0.842826 -5.870856
-v -0.671650 0.764754 -5.123487
-v 1.045049 0.802118 -4.632644
-v 1.252493 0.924338 -5.055513
-v -0.995449 0.583125 -5.083862
-v -1.137996 0.713069 -5.735577
-v 1.598002 0.816988 -5.564189
-v 1.599381 0.700758 -5.624741
-v 1.532017 0.614642 -5.716787
-v 1.715526 0.933794 -5.717422
-v 1.699604 0.816034 -5.787023
-v 1.629737 0.731598 -5.898082
-v 1.883043 1.059492 -5.899169
-v 1.855109 0.932664 -5.998640
-v 1.774384 0.842472 -6.140775
-v 1.424351 0.559021 -5.523375
-v 1.505227 0.658051 -5.434678
-v 1.502338 0.787710 -5.373565
-v 1.297397 0.577850 -5.903827
-v 1.425129 0.560695 -5.822476
-v 1.155962 0.509306 -5.718982
-v 1.300644 0.494656 -5.623770
-v 1.509245 0.835318 -6.384689
-v 1.646807 0.801147 -6.286009
-v 1.406474 0.713747 -6.133959
-v 1.525574 0.687385 -6.031679
-v 1.380351 1.065119 -5.565239
-v 1.564172 1.172023 -5.714888
-v 1.780605 1.304970 -5.893034
-v 1.255719 1.087198 -5.619839
-v 1.438416 1.182678 -5.766468
-v 1.652418 1.312790 -5.952035
-v 1.154437 1.043031 -5.702960
-v 1.320461 1.134701 -5.855917
-v 1.512782 1.262635 -6.051604
-v 1.003945 1.036752 -5.521133
-v 1.104476 1.081637 -5.435655
-v 1.236055 1.056913 -5.374795
-v 1.089111 0.843044 -5.888583
-v 1.089661 0.962064 -5.803318
-v 1.230625 0.966122 -6.097103
-v 1.242952 1.066407 -5.981094
-v 1.362597 1.098246 -6.323909
-v 1.405432 1.196541 -6.191591
-v 0.929064 0.824679 -5.709339
-v 0.934340 0.953520 -5.615597
-v 1.859089 1.203879 -5.868989
-v 1.664971 1.072200 -5.695913
-v 1.510868 0.957577 -5.544997
-v 1.391678 0.940769 -5.352942
-v 1.170557 0.692380 -5.926214
-v 1.027666 0.653090 -5.757548
-v 0.869972 0.619560 -5.748698
-v 1.295478 0.827279 -6.155195
-v 1.403801 0.956111 -6.395917
-v 1.981874 0.878914 -6.465936
-v 1.802272 0.826665 -6.577847
-v 1.615752 0.851027 -6.620514
-v 2.128560 0.944598 -6.721747
-v 1.907593 0.869058 -6.790360
-v 1.708489 0.849226 -6.769275
-v 2.238363 1.116521 -6.349912
-v 2.094190 1.105140 -6.141595
-v 2.237261 1.035889 -6.535950
-v 2.075505 0.976585 -6.291769
-v 1.727506 1.346013 -6.328338
-v 1.936762 1.311864 -6.600124
-v 1.576315 1.256378 -6.447272
-v 1.741231 1.205721 -6.680005
-v 1.483882 1.132384 -6.546886
-v 1.595348 1.106596 -6.700094
-v 2.143625 1.363027 -6.343407
-v 2.083770 1.364678 -6.472173
-v 1.997907 1.370713 -6.136065
-v 1.880283 1.392692 -6.219747
-v 2.220069 1.245977 -6.358671
-v 2.223785 1.204368 -6.587201
-v 2.097329 1.131385 -6.757537
-v 1.644286 0.966614 -6.763514
-v 1.867680 1.032451 -6.812611
-v 0.883363 0.124343 -7.228944
-v 0.646839 -0.024425 -7.259110
-v 0.390212 -0.005959 -7.292361
-v 1.070393 0.135169 -7.703971
-v 0.802047 0.006235 -7.763816
-v 0.511476 0.026061 -7.813804
-v 1.163011 0.161832 -8.064369
-v 0.918797 0.093289 -8.161346
-v 0.636154 0.076768 -8.160398
-v 0.269275 -0.049054 -6.787587
-v 0.524823 -0.050661 -6.806285
-v 0.744409 0.117607 -6.839493
-v 0.827585 0.571806 -7.238711
-v 1.016438 0.562215 -7.711038
-v 1.115469 0.520019 -8.067395
-v 0.573132 0.588769 -7.270417
-v 0.731449 0.578986 -7.772986
-v 0.865027 0.502425 -8.164807
-v 0.338782 0.438496 -7.299040
-v 0.460865 0.446711 -7.820236
-v 0.590458 0.430524 -8.163703
-v 0.208617 0.434283 -6.784674
-v 0.437333 0.591011 -6.807528
-v 0.678646 0.577267 -6.844694
-v 0.947532 0.372788 -7.222228
-v 0.797216 0.376391 -6.856188
-v 0.734974 0.417910 -6.504792
-v 1.142651 0.368565 -7.694477
-v 1.195867 0.347815 -8.107895
-v 0.272439 0.191555 -7.307303
-v 0.163854 0.163934 -6.807784
-v 0.050485 0.143298 -6.551455
-v 0.390845 0.216656 -7.842326
-v 0.587957 0.247899 -8.218260
-v -0.187159 -0.021301 -8.489817
-v -0.144520 -0.066015 -8.115219
-v -0.135056 -0.086523 -7.519433
-v -0.455856 -0.036286 -8.505733
-v -0.424768 -0.127085 -8.081474
-v -0.379623 -0.149656 -7.480232
-v -0.721089 0.002465 -8.418228
-v -0.711949 -0.032964 -8.033904
-v -0.633023 -0.036474 -7.439595
-v -0.083764 -0.101907 -6.888419
-v -0.321252 -0.155635 -6.827525
-v -0.570598 -0.013135 -6.792706
-v -0.205536 0.346922 -8.488331
-v -0.478068 0.389386 -8.503635
-v -0.741261 0.375015 -8.416031
-v -0.166164 0.372104 -8.112885
-v -0.454556 0.470532 -8.077909
-v -0.734413 0.413380 -8.030973
-v -0.161420 0.377122 -7.515023
-v -0.412007 0.496828 -7.474960
-v -0.653762 0.440220 -7.436335
-v -0.124968 0.400042 -6.878002
-v -0.359615 0.536135 -6.818819
-v -0.582637 0.502600 -6.791322
-v -0.736234 0.212481 -7.423101
-v -0.655151 0.259193 -6.812274
-v -0.663333 0.364684 -6.389957
-v -0.775997 0.191334 -8.463245
-v -0.822719 0.196893 -8.024588
-v -0.031942 0.130966 -6.924860
-v -0.055396 0.134692 -7.532089
-v -0.056604 0.146553 -8.134798
-v -0.157928 0.161766 -8.546125
-v -1.836226 1.016590 -7.410828
-v -1.627684 0.872918 -7.538481
-v -1.370280 0.758218 -7.595252
-v -1.747767 0.932613 -7.142950
-v -1.528535 0.732919 -7.246038
-v -1.256016 0.658972 -7.340291
-v -1.538345 0.794709 -6.746178
-v -1.346968 0.594312 -6.836720
-v -1.106538 0.540492 -6.926594
-v -1.327304 0.638226 -6.296957
-v -1.144801 0.423090 -6.386161
-v -0.907648 0.349198 -6.500935
-v -1.381548 1.162123 -6.749738
-v -1.167106 1.131764 -6.834267
-v -1.001718 0.954827 -6.919466
-v -1.579033 1.276060 -7.151250
-v -1.336962 1.223187 -7.246882
-v -1.140912 1.040889 -7.333368
-v -1.682336 1.295016 -7.423892
-v -1.479018 1.212733 -7.544489
-v -1.266431 1.072053 -7.592119
-v -1.173291 1.003628 -6.309747
-v -0.980917 0.984092 -6.395974
-v -0.826961 0.810684 -6.501183
-v -0.978037 0.704393 -6.955856
-v -1.119137 0.806439 -7.374477
-v -1.298471 0.903687 -7.643332
-v -0.811802 0.542748 -6.562383
-v -1.320080 0.864534 -6.271852
-v -1.536038 1.021683 -6.715133
-v -1.746360 1.149667 -7.118443
-v -1.808232 1.181964 -7.439637
-v 2.071132 1.255908 -6.105393
-v 1.505985 0.975476 -6.611821
-v 0.931009 0.299286 -8.285854
-v -0.474965 0.178488 -8.633644
-v -1.589683 1.061216 -7.631387
-v 0.763920 0.520049 -6.078023
-# 281 vertices
-
-# 0 texture vertices
-
-# 0 normals
-
-usemtl hand
-f 2 4 1
-f 5 4 2
-f 3 5 2
-f 5 6 4
-f 1 10 9
-f 1 7 10
-f 7 11 10
-f 7 8 11
-f 10 12 9
-f 12 10 13
-f 10 14 13
-f 10 11 14
-f 12 17 9
-f 12 15 17
-f 18 15 16
-f 15 18 17
-f 9 2 1
-f 9 17 2
-f 18 2 17
-f 2 18 3
-f 19 4 6
-f 7 4 19
-f 8 7 19
-f 7 1 4
-f 20 22 12
-f 23 22 20
-f 21 23 20
-f 23 24 22
-f 16 26 25
-f 16 15 26
-f 15 22 26
-f 15 12 22
-f 25 28 27
-f 25 26 28
-f 22 28 26
-f 28 22 24
-f 30 31 29
-f 32 31 30
-f 6 32 30
-f 32 33 31
-f 5 32 6
-f 32 5 34
-f 5 35 34
-f 5 3 35
-f 34 33 32
-f 33 34 36
-f 35 36 34
-f 36 35 37
-f 39 40 38
-f 31 40 39
-f 29 31 39
-f 31 33 40
-f 42 43 41
-f 40 43 42
-f 38 40 42
-f 40 33 43
-f 45 46 44
-f 46 45 47
-f 38 47 45
-f 47 38 42
-f 46 49 48
-f 46 47 49
-f 47 41 49
-f 47 42 41
-f 44 52 45
-f 44 50 52
-f 50 53 52
-f 50 51 53
-f 52 38 45
-f 38 52 39
-f 52 29 39
-f 52 53 29
-f 36 55 33
-f 55 36 56
-f 37 56 36
-f 56 37 54
-f 56 24 55
-f 24 56 28
-f 27 56 54
-f 56 27 28
-f 33 57 43
-f 33 55 57
-f 55 58 57
-f 55 24 58
-f 57 41 43
-f 41 57 59
-f 58 59 57
-f 59 58 60
-f 62 64 61
-f 64 62 65
-f 63 65 62
-f 65 63 66
-f 65 21 64
-f 21 65 23
-f 66 23 65
-f 23 66 24
-f 66 58 24
-f 58 66 67
-f 63 67 66
-f 67 63 68
-f 67 60 58
-f 60 67 69
-f 68 69 67
-f 69 68 70
-f 61 72 71
-f 61 64 72
-f 64 73 72
-f 64 21 73
-f 71 75 74
-f 71 72 75
-f 72 76 75
-f 72 73 76
-f 53 77 29
-f 77 53 78
-f 51 78 53
-f 78 51 79
-f 78 80 77
-f 80 78 81
-f 79 81 78
-f 81 79 82
-f 83 77 80
-f 77 83 85
-f 83 86 85
-f 83 84 86
-f 85 29 77
-f 29 85 30
-f 86 30 85
-f 30 86 6
-f 73 87 76
-f 87 73 88
-f 21 88 73
-f 88 21 20
-f 88 89 87
-f 89 88 90
-f 20 90 88
-f 90 20 12
-f 90 91 89
-f 91 90 92
-f 90 13 92
-f 90 12 13
-f 91 94 93
-f 91 92 94
-f 92 14 94
-f 92 13 14
-f 95 98 97
-f 95 96 98
-f 8 98 96
-f 98 8 19
-f 97 86 84
-f 97 98 86
-f 19 86 98
-f 86 19 6
-f 59 49 41
-f 49 59 99
-f 59 69 99
-f 59 60 69
-f 99 48 49
-f 48 99 100
-f 99 70 100
-f 99 69 70
-f 8 101 11
-f 8 96 101
-f 96 102 101
-f 96 95 102
-f 101 14 11
-f 14 101 94
-f 101 93 94
-f 101 102 93
-f 103 107 106
-f 103 104 107
-f 105 107 104
-f 107 105 108
-f 107 109 106
-f 109 107 110
-f 108 110 107
-f 110 108 111
-f 63 113 68
-f 63 112 113
-f 112 104 113
-f 112 105 104
-f 68 114 70
-f 68 113 114
-f 113 103 114
-f 113 104 103
-f 115 118 117
-f 115 116 118
-f 105 118 116
-f 118 105 112
-f 117 62 61
-f 117 118 62
-f 112 62 118
-f 62 112 63
-f 120 121 119
-f 121 120 122
-f 111 122 120
-f 122 111 108
-f 122 115 121
-f 115 122 116
-f 108 116 122
-f 116 108 105
-f 123 127 126
-f 123 124 127
-f 124 128 127
-f 124 125 128
-f 126 130 129
-f 126 127 130
-f 127 131 130
-f 127 128 131
-f 44 133 132
-f 44 46 133
-f 48 133 46
-f 133 48 134
-f 132 126 129
-f 132 133 126
-f 134 126 133
-f 126 134 123
-f 135 138 137
-f 135 136 138
-f 136 130 138
-f 136 129 130
-f 137 140 139
-f 137 138 140
-f 138 131 140
-f 138 130 131
-f 51 142 141
-f 51 50 142
-f 50 132 142
-f 50 44 132
-f 141 136 135
-f 141 142 136
-f 142 129 136
-f 142 132 129
-f 109 144 106
-f 109 143 144
-f 125 144 143
-f 144 125 124
-f 106 145 103
-f 106 144 145
-f 124 145 144
-f 145 124 123
-f 100 134 48
-f 134 100 146
-f 70 146 100
-f 146 70 114
-f 146 123 134
-f 123 146 145
-f 114 145 146
-f 145 114 103
-f 135 148 141
-f 135 147 148
-f 147 117 148
-f 147 115 117
-f 141 149 51
-f 141 148 149
-f 148 61 149
-f 148 117 61
-f 115 150 121
-f 115 147 150
-f 135 150 147
-f 150 135 137
-f 121 151 119
-f 121 150 151
-f 137 151 150
-f 151 137 139
-f 120 152 111
-f 152 120 153
-f 119 153 120
-f 153 119 154
-f 152 156 155
-f 152 153 156
-f 153 157 156
-f 153 154 157
-f 158 161 160
-f 158 159 161
-f 159 110 161
-f 159 109 110
-f 160 152 155
-f 160 161 152
-f 161 111 152
-f 161 110 111
-f 162 140 131
-f 140 162 164
-f 162 165 164
-f 162 163 165
-f 164 139 140
-f 139 164 166
-f 164 167 166
-f 164 165 167
-f 168 171 170
-f 168 169 171
-f 163 171 169
-f 171 163 162
-f 171 125 170
-f 125 171 128
-f 162 128 171
-f 128 162 131
-f 172 169 168
-f 169 172 173
-f 158 173 172
-f 173 158 160
-f 169 174 163
-f 169 173 174
-f 160 174 173
-f 174 160 155
-f 157 176 156
-f 157 175 176
-f 167 176 175
-f 176 167 165
-f 176 155 156
-f 155 176 174
-f 176 163 174
-f 176 165 163
-f 177 181 180
-f 177 178 181
-f 178 182 181
-f 178 179 182
-f 181 183 180
-f 183 181 184
-f 181 185 184
-f 181 182 185
-f 186 75 76
-f 75 186 187
-f 179 187 186
-f 187 179 178
-f 187 74 75
-f 74 187 188
-f 178 188 187
-f 188 178 177
-f 189 193 192
-f 189 190 193
-f 191 193 190
-f 193 191 194
-f 192 196 195
-f 192 193 196
-f 193 197 196
-f 193 194 197
-f 81 198 80
-f 198 81 199
-f 82 199 81
-f 199 82 200
-f 199 195 198
-f 195 199 192
-f 200 192 199
-f 192 200 189
-f 200 201 189
-f 201 200 202
-f 200 203 202
-f 200 82 203
-f 202 177 201
-f 177 202 188
-f 202 74 188
-f 202 203 74
-f 177 204 201
-f 177 180 204
-f 183 204 180
-f 204 183 205
-f 204 189 201
-f 189 204 190
-f 204 191 190
-f 204 205 191
-f 195 207 198
-f 195 206 207
-f 179 207 206
-f 207 179 186
-f 198 208 80
-f 198 207 208
-f 186 208 207
-f 208 186 76
-f 206 182 179
-f 182 206 209
-f 206 196 209
-f 206 195 196
-f 209 185 182
-f 185 209 210
-f 209 197 210
-f 209 196 197
-f 211 215 214
-f 211 212 215
-f 213 215 212
-f 215 213 216
-f 215 217 214
-f 217 215 218
-f 216 218 215
-f 218 216 219
-f 220 216 213
-f 216 220 221
-f 76 221 220
-f 221 76 87
-f 221 219 216
-f 219 221 222
-f 87 222 221
-f 222 87 89
-f 223 227 226
-f 223 224 227
-f 225 227 224
-f 227 225 228
-f 227 229 226
-f 229 227 230
-f 228 230 227
-f 230 228 231
-f 230 232 229
-f 232 230 233
-f 231 233 230
-f 233 231 234
-f 233 80 232
-f 80 233 83
-f 233 84 83
-f 233 234 84
-f 222 235 219
-f 235 222 236
-f 222 237 236
-f 222 89 237
-f 236 231 235
-f 231 236 234
-f 237 234 236
-f 234 237 84
-f 217 239 238
-f 217 218 239
-f 219 239 218
-f 239 219 235
-f 239 225 238
-f 225 239 228
-f 239 231 228
-f 239 235 231
-f 220 208 76
-f 208 220 240
-f 213 240 220
-f 240 213 241
-f 208 232 80
-f 208 240 232
-f 240 229 232
-f 240 241 229
-f 241 226 229
-f 226 241 242
-f 241 212 242
-f 241 213 212
-f 242 223 226
-f 223 242 243
-f 242 211 243
-f 242 212 211
-f 244 248 247
-f 244 245 248
-f 246 248 245
-f 248 246 249
-f 248 250 247
-f 250 248 251
-f 249 251 248
-f 251 249 252
-f 250 254 253
-f 250 251 254
-f 252 254 251
-f 254 252 255
-f 253 91 93
-f 253 254 91
-f 254 89 91
-f 254 255 89
-f 256 260 259
-f 256 257 260
-f 258 260 257
-f 260 258 261
-f 260 262 259
-f 262 260 263
-f 260 264 263
-f 260 261 264
-f 97 265 95
-f 265 97 266
-f 84 266 97
-f 266 84 267
-f 265 257 256
-f 265 266 257
-f 267 257 266
-f 257 267 258
-f 249 268 252
-f 268 249 269
-f 249 270 269
-f 249 246 270
-f 269 258 268
-f 258 269 261
-f 269 264 261
-f 269 270 264
-f 255 237 89
-f 237 255 271
-f 252 271 255
-f 271 252 268
-f 271 84 237
-f 84 271 267
-f 268 267 271
-f 267 268 258
-f 102 253 93
-f 253 102 272
-f 102 265 272
-f 102 95 265
-f 272 250 253
-f 250 272 273
-f 272 256 273
-f 272 265 256
-f 259 273 256
-f 273 259 274
-f 262 274 259
-f 274 262 275
-f 273 247 250
-f 273 274 247
-f 274 244 247
-f 274 275 244
-f 172 159 158
-f 159 172 276
-f 172 170 276
-f 172 168 170
-f 276 109 159
-f 109 276 143
-f 170 143 276
-f 143 170 125
-f 151 154 119
-f 154 151 277
-f 151 166 277
-f 151 139 166
-f 154 175 157
-f 154 277 175
-f 277 167 175
-f 277 166 167
-f 197 278 210
-f 197 194 278
-f 191 278 194
-f 278 191 205
-f 278 185 210
-f 185 278 184
-f 278 183 184
-f 278 205 183
-f 223 279 224
-f 223 243 279
-f 211 279 243
-f 279 211 214
-f 279 225 224
-f 225 279 238
-f 279 217 238
-f 279 214 217
-f 262 280 275
-f 262 263 280
-f 264 280 263
-f 280 264 270
-f 280 244 275
-f 244 280 245
-f 270 245 280
-f 245 270 246
-f 74 281 71
-f 74 203 281
-f 82 281 203
-f 281 82 79
-f 71 149 61
-f 71 281 149
-f 79 149 281
-f 149 79 51
-# 552 elements
diff --git a/src/Morphing/hand2.obj b/src/Morphing/hand2.obj
deleted file mode 100644
index e7321c1..0000000
--- a/src/Morphing/hand2.obj
+++ /dev/null
@@ -1,846 +0,0 @@
-# Mon Jun 02 17:09:49 1997
-#
-#
-
-g hand2
-v -0.545629 0.226597 -3.972744
-v -0.215053 0.028788 -3.704237
-v -0.048631 -0.141870 -1.731539
-v -0.486661 0.360120 -4.035744
-v -0.168475 0.089529 -3.756256
-v -0.340613 0.471505 -4.270064
-v -0.635471 0.403031 -4.188368
-v -0.756139 0.537011 -4.495984
-v -0.519863 0.020651 -3.964786
-v -0.700655 0.190824 -4.211964
-v -0.861473 0.372102 -4.526962
-v -0.356499 -0.174538 -4.199869
-v -0.714045 0.044261 -4.445632
-v -0.890476 0.203518 -4.607591
-v -0.170313 -0.192685 -3.756315
-v -0.069766 -0.312358 -1.638721
-v -0.232940 -0.103910 -3.758020
-v -0.115092 -0.245076 -1.715384
-v -0.586581 0.541254 -4.390105
-v -0.035952 -0.274007 -4.418982
-v 0.255124 -0.249237 -4.776807
-v 0.018833 -0.240104 -4.027362
-v 0.284973 -0.207728 -4.316310
-v 0.434752 -0.000032 -4.022241
-v 0.022704 -0.329702 -1.621020
-v -0.055377 -0.221593 -3.718934
-v 0.105371 -0.295391 -1.615597
-v 0.046896 -0.174033 -3.708722
-v 0.033445 0.525248 -4.572588
-v -0.146022 0.491685 -4.378734
-v -0.008484 0.509017 -4.183765
-v -0.109786 0.450335 -4.040698
-v 0.106167 0.452120 -3.961211
-v -0.081537 0.087205 -3.782939
-v -0.004783 -0.118520 -1.734107
-v 0.008732 0.041375 -3.708363
-v 0.080374 -0.144013 -1.651651
-v 0.267743 0.688582 -4.403843
-v 0.134602 0.595547 -4.385927
-v 0.155445 0.603098 -4.172839
-v 0.510348 0.750695 -4.322186
-v 0.351763 0.725704 -4.323452
-v 0.293357 0.616488 -4.126201
-v 0.644985 0.911535 -5.278749
-v 0.476753 0.808807 -4.843080
-v 0.729327 1.001220 -5.209341
-v 0.576282 0.887766 -4.779078
-v 0.861206 1.041806 -5.155231
-v 0.720826 0.920527 -4.727794
-v 0.591358 0.800004 -5.365947
-v 0.601106 0.662395 -5.579942
-v 0.385222 0.705498 -4.899085
-v 0.327338 0.605102 -5.113508
-v 0.123562 -0.217362 -1.626587
-v 0.301415 0.221510 -3.856624
-v 0.057648 -0.069121 -3.679395
-v 0.481419 0.465636 -4.058800
-v 0.733329 0.364516 -4.192796
-v 0.715407 0.668961 -4.293678
-v 0.891503 0.576285 -4.325380
-v 0.925616 0.325221 -5.607038
-v 1.087404 0.428685 -5.355153
-v 1.192964 0.581656 -5.247297
-v 0.655301 -0.002104 -5.205223
-v 0.826001 0.093037 -4.822896
-v 0.936937 0.282795 -4.650935
-v 1.071822 0.521897 -4.652002
-v 1.253768 0.746632 -5.184807
-v 1.087957 0.735338 -4.683784
-v 1.216838 0.899384 -5.149589
-v 0.711147 0.230918 -6.030735
-v 0.476647 -0.030016 -5.767413
-v 0.142223 -0.215576 -5.512595
-v 0.589280 0.158661 -6.504986
-v 0.382367 -0.041679 -6.374435
-v 0.052545 -0.020831 -6.416378
-v 0.004866 0.539221 -5.338164
-v 0.294897 0.599163 -5.651150
-v 0.547241 0.615171 -5.966590
-v -0.001080 0.527218 -6.226285
-v 0.274900 0.607360 -6.287489
-v 0.507029 0.599694 -6.459079
-v -0.304989 0.605648 -6.026434
-v -0.588412 0.775369 -6.061018
-v -0.235417 0.550011 -5.181865
-v -0.450388 0.614566 -5.143874
-v -0.283040 -0.067515 -6.255307
-v -0.179973 -0.263960 -5.306118
-v -0.665295 0.178195 -6.225147
-v -0.506975 -0.143513 -5.176296
-v -0.975091 0.334957 -5.897993
-v -0.814140 0.069075 -5.111338
-v -1.151849 0.543036 -5.754441
-v -1.001447 0.285489 -5.111672
-v -0.965973 0.855410 -5.679462
-v -0.853225 0.658026 -5.081767
-v -0.768725 0.885422 -5.758699
-v -0.661677 0.680318 -5.098948
-v 0.926772 0.868255 -4.695576
-v 1.052723 1.006416 -5.135924
-v -0.991553 0.504328 -5.086818
-v -1.125149 0.731518 -5.686989
-v 1.303689 1.033657 -5.689645
-v 1.349170 0.926230 -5.744081
-v 1.316995 0.810848 -5.819848
-v 1.335402 1.170071 -5.865595
-v 1.362673 1.055005 -5.926610
-v 1.324385 0.938256 -6.020778
-v 1.410471 1.327249 -6.076220
-v 1.420585 1.201262 -6.166119
-v 1.368728 1.073079 -6.289456
-v 1.275447 0.732420 -5.607525
-v 1.315548 0.861839 -5.536830
-v 1.265631 0.978431 -5.481887
-v 1.109960 0.647515 -5.964428
-v 1.236318 0.701507 -5.903873
-v 1.045745 0.541486 -5.756546
-v 1.185145 0.607547 -5.683672
-v 1.126042 0.911004 -6.484125
-v 1.260541 0.959921 -6.409129
-v 1.116033 0.789199 -6.215408
-v 1.238526 0.835123 -6.132965
-v 1.008562 1.150313 -5.667244
-v 1.106643 1.305370 -5.848235
-v 1.233100 1.484675 -6.059801
-v 0.888559 1.106689 -5.702088
-v 0.985226 1.254602 -5.879530
-v 1.105698 1.433834 -6.098895
-v 0.812199 1.014149 -5.765767
-v 0.891119 1.151850 -5.946655
-v 0.987588 1.322413 -6.173646
-v 0.736157 0.957482 -5.567209
-v 0.810319 1.047137 -5.499653
-v 0.932046 1.090406 -5.456793
-v 0.822744 0.790022 -5.929116
-v 0.782579 0.903754 -5.850531
-v 0.867396 0.936043 -6.161350
-v 0.843523 1.042929 -6.053780
-v 0.911772 1.081739 -6.408180
-v 0.912443 1.201594 -6.290159
-v 0.737027 0.724935 -5.731150
-v 0.703318 0.847734 -5.646091
-v 1.341226 1.437246 -6.046185
-v 1.236369 1.267617 -5.841922
-v 1.167446 1.119645 -5.663458
-v 1.107867 1.064412 -5.452231
-v 0.948806 0.689125 -5.971970
-v 0.872849 0.609231 -5.783209
-v 0.781035 0.526092 -5.762100
-v 0.973032 0.836092 -6.223403
-v 0.994805 0.967427 -6.481477
-v 1.495197 1.158527 -6.645423
-v 1.354724 1.014236 -6.722411
-v 1.195778 0.940855 -6.732456
-v 1.565488 1.249424 -6.923759
-v 1.406339 1.071370 -6.949717
-v 1.265445 0.960990 -6.892314
-v 1.638914 1.485047 -6.580676
-v 1.546930 1.431636 -6.350698
-v 1.642671 1.399706 -6.762676
-v 1.557898 1.303849 -6.492972
-v 1.099399 1.460928 -6.484489
-v 1.242754 1.502103 -6.790419
-v 0.999544 1.301628 -6.571692
-v 1.118751 1.308856 -6.829766
-v 0.979609 1.139385 -6.646541
-v 1.060424 1.149347 -6.815580
-v 1.455248 1.654590 -6.566786
-v 1.372638 1.624035 -6.688066
-v 1.365156 1.609915 -6.335397
-v 1.234614 1.575107 -6.401853
-v 1.565822 1.588197 -6.591331
-v 1.547752 1.535880 -6.818796
-v 1.445347 1.397323 -6.963596
-v 1.158417 1.039164 -6.880589
-v 1.288292 1.198123 -6.973975
-v 0.664087 0.148083 -7.294943
-v 0.435748 0.025040 -7.292446
-v 0.212877 0.160088 -7.281471
-v 0.785373 0.173634 -7.783887
-v 0.518575 0.067897 -7.800985
-v 0.271345 0.242325 -7.758057
-v 0.826827 0.208746 -8.147941
-v 0.572939 0.148727 -8.206624
-v 0.325508 0.231584 -8.119010
-v 0.164075 0.075407 -6.818721
-v 0.380953 -0.013843 -6.839242
-v 0.580180 0.132467 -6.892866
-v 0.608535 0.593486 -7.282530
-v 0.726502 0.591761 -7.775616
-v 0.772896 0.554086 -8.142780
-v 0.360286 0.622050 -7.265000
-v 0.437249 0.612740 -7.792085
-v 0.509853 0.535394 -8.204787
-v 0.160224 0.549868 -7.218602
-v 0.209808 0.590107 -7.721076
-v 0.267898 0.534017 -8.108936
-v 0.111090 0.516500 -6.720913
-v 0.298230 0.611278 -6.790854
-v 0.518079 0.589180 -6.874673
-v 0.726888 0.393165 -7.292970
-v 0.628159 0.389210 -6.913399
-v 0.624790 0.421710 -6.550771
-v 0.855781 0.401525 -7.780616
-v 0.850483 0.389631 -8.193182
-v 0.126257 0.432018 -7.223687
-v 0.081097 0.333542 -6.781929
-v 0.024773 0.331692 -6.543201
-v 0.179967 0.513803 -7.691848
-v 0.270466 0.398086 -8.149796
-v -0.085803 2.071088 -7.365792
-v -0.089283 1.657050 -7.409026
-v -0.132752 1.024134 -7.355868
-v -0.339231 2.178852 -7.313980
-v -0.362585 1.717826 -7.403921
-v -0.376816 1.020220 -7.374946
-v -0.609086 2.098261 -7.268658
-v -0.644951 1.683101 -7.308946
-v -0.620699 1.049622 -7.252518
-v -0.115696 0.389618 -6.975528
-v -0.348229 0.364394 -6.960135
-v -0.589678 0.477314 -6.850625
-v -0.063362 2.126922 -6.994926
-v -0.317776 2.207434 -6.893541
-v -0.592443 2.122036 -6.922650
-v -0.060384 1.753711 -6.967503
-v -0.330655 1.784850 -6.821116
-v -0.622382 1.744780 -6.913632
-v -0.111831 1.216582 -6.951138
-v -0.351669 1.253255 -6.832911
-v -0.599234 1.235825 -6.874247
-v -0.113630 0.786347 -6.638087
-v -0.343041 0.846074 -6.551879
-v -0.571143 0.863954 -6.597034
-v -0.702952 1.143454 -7.043127
-v -0.659979 0.708124 -6.719869
-v -0.688492 0.602267 -6.399982
-v -0.640513 2.158446 -7.091597
-v -0.733751 1.708568 -7.108687
-v -0.042639 0.608451 -6.846946
-v -0.033981 1.117844 -7.181334
-v 0.014576 1.681971 -7.232140
-v -0.034099 2.140646 -7.197904
-v -1.427884 2.125531 -6.104109
-v -1.232856 2.217431 -6.261067
-v -1.030471 2.172613 -6.454438
-v -1.433002 1.846260 -6.128913
-v -1.256178 1.899456 -6.333560
-v -1.021006 1.878065 -6.513752
-v -1.382181 1.396092 -6.219269
-v -1.241525 1.399828 -6.428739
-v -1.025330 1.377688 -6.574033
-v -1.304705 0.946481 -6.184714
-v -1.170819 0.841650 -6.394479
-v -0.946587 0.786927 -6.537124
-v -1.133362 1.480745 -5.995321
-v -0.908216 1.491027 -6.055746
-v -0.781984 1.482366 -6.234836
-v -1.166789 1.889461 -5.900780
-v -0.912111 1.929120 -5.973505
-v -0.773154 1.928164 -6.197147
-v -1.192128 2.159473 -5.918907
-v -0.979939 2.235226 -6.018824
-v -0.820842 2.203268 -6.203417
-v -1.073035 1.127979 -6.002315
-v -0.883316 1.138491 -6.095742
-v -0.766101 1.081268 -6.289536
-v -0.842475 1.437964 -6.469625
-v -0.835837 1.902370 -6.431089
-v -0.901630 2.225091 -6.358479
-v -0.809658 0.951527 -6.487935
-v -1.248762 1.053319 -6.037439
-v -1.326974 1.438433 -6.057952
-v -1.378537 1.859137 -5.972835
-v -1.347264 2.171041 -5.994931
-v 1.476370 1.548335 -6.314360
-v 1.060616 1.003273 -6.708851
-v 0.566455 0.353316 -8.324208
-v -0.326088 2.309241 -7.118046
-v -1.118212 2.311149 -6.146525
-v 0.706268 0.472086 -6.106736
-# 281 vertices
-
-# 0 texture vertices
-
-# 0 normals
-
-usemtl hand
-f 2 4 1
-f 5 4 2
-f 3 5 2
-f 5 6 4
-f 1 10 9
-f 1 7 10
-f 7 11 10
-f 7 8 11
-f 10 12 9
-f 12 10 13
-f 10 14 13
-f 10 11 14
-f 12 17 9
-f 12 15 17
-f 18 15 16
-f 15 18 17
-f 9 2 1
-f 9 17 2
-f 18 2 17
-f 2 18 3
-f 19 4 6
-f 7 4 19
-f 8 7 19
-f 7 1 4
-f 20 22 12
-f 23 22 20
-f 21 23 20
-f 23 24 22
-f 16 26 25
-f 16 15 26
-f 15 22 26
-f 15 12 22
-f 25 28 27
-f 25 26 28
-f 22 28 26
-f 28 22 24
-f 30 31 29
-f 32 31 30
-f 6 32 30
-f 32 33 31
-f 5 32 6
-f 32 5 34
-f 5 35 34
-f 5 3 35
-f 34 33 32
-f 33 34 36
-f 35 36 34
-f 36 35 37
-f 39 40 38
-f 31 40 39
-f 29 31 39
-f 31 33 40
-f 42 43 41
-f 40 43 42
-f 38 40 42
-f 40 33 43
-f 45 46 44
-f 46 45 47
-f 38 47 45
-f 47 38 42
-f 46 49 48
-f 46 47 49
-f 47 41 49
-f 47 42 41
-f 44 52 45
-f 44 50 52
-f 50 53 52
-f 50 51 53
-f 52 38 45
-f 38 52 39
-f 52 29 39
-f 52 53 29
-f 36 55 33
-f 55 36 56
-f 37 56 36
-f 56 37 54
-f 56 24 55
-f 24 56 28
-f 27 56 54
-f 56 27 28
-f 33 57 43
-f 33 55 57
-f 55 58 57
-f 55 24 58
-f 57 41 43
-f 41 57 59
-f 58 59 57
-f 59 58 60
-f 62 64 61
-f 64 62 65
-f 63 65 62
-f 65 63 66
-f 65 21 64
-f 21 65 23
-f 66 23 65
-f 23 66 24
-f 66 58 24
-f 58 66 67
-f 63 67 66
-f 67 63 68
-f 67 60 58
-f 60 67 69
-f 68 69 67
-f 69 68 70
-f 61 72 71
-f 61 64 72
-f 64 73 72
-f 64 21 73
-f 71 75 74
-f 71 72 75
-f 72 76 75
-f 72 73 76
-f 53 77 29
-f 77 53 78
-f 51 78 53
-f 78 51 79
-f 78 80 77
-f 80 78 81
-f 79 81 78
-f 81 79 82
-f 83 77 80
-f 77 83 85
-f 83 86 85
-f 83 84 86
-f 85 29 77
-f 29 85 30
-f 86 30 85
-f 30 86 6
-f 73 87 76
-f 87 73 88
-f 21 88 73
-f 88 21 20
-f 88 89 87
-f 89 88 90
-f 20 90 88
-f 90 20 12
-f 90 91 89
-f 91 90 92
-f 90 13 92
-f 90 12 13
-f 91 94 93
-f 91 92 94
-f 92 14 94
-f 92 13 14
-f 95 98 97
-f 95 96 98
-f 8 98 96
-f 98 8 19
-f 97 86 84
-f 97 98 86
-f 19 86 98
-f 86 19 6
-f 59 49 41
-f 49 59 99
-f 59 69 99
-f 59 60 69
-f 99 48 49
-f 48 99 100
-f 99 70 100
-f 99 69 70
-f 8 101 11
-f 8 96 101
-f 96 102 101
-f 96 95 102
-f 101 14 11
-f 14 101 94
-f 101 93 94
-f 101 102 93
-f 103 107 106
-f 103 104 107
-f 105 107 104
-f 107 105 108
-f 107 109 106
-f 109 107 110
-f 108 110 107
-f 110 108 111
-f 63 113 68
-f 63 112 113
-f 112 104 113
-f 112 105 104
-f 68 114 70
-f 68 113 114
-f 113 103 114
-f 113 104 103
-f 115 118 117
-f 115 116 118
-f 105 118 116
-f 118 105 112
-f 117 62 61
-f 117 118 62
-f 112 62 118
-f 62 112 63
-f 120 121 119
-f 121 120 122
-f 111 122 120
-f 122 111 108
-f 122 115 121
-f 115 122 116
-f 108 116 122
-f 116 108 105
-f 123 127 126
-f 123 124 127
-f 124 128 127
-f 124 125 128
-f 126 130 129
-f 126 127 130
-f 127 131 130
-f 127 128 131
-f 44 133 132
-f 44 46 133
-f 48 133 46
-f 133 48 134
-f 132 126 129
-f 132 133 126
-f 134 126 133
-f 126 134 123
-f 135 138 137
-f 135 136 138
-f 136 130 138
-f 136 129 130
-f 137 140 139
-f 137 138 140
-f 138 131 140
-f 138 130 131
-f 51 142 141
-f 51 50 142
-f 50 132 142
-f 50 44 132
-f 141 136 135
-f 141 142 136
-f 142 129 136
-f 142 132 129
-f 109 144 106
-f 109 143 144
-f 125 144 143
-f 144 125 124
-f 106 145 103
-f 106 144 145
-f 124 145 144
-f 145 124 123
-f 100 134 48
-f 134 100 146
-f 70 146 100
-f 146 70 114
-f 146 123 134
-f 123 146 145
-f 114 145 146
-f 145 114 103
-f 135 148 141
-f 135 147 148
-f 147 117 148
-f 147 115 117
-f 141 149 51
-f 141 148 149
-f 148 61 149
-f 148 117 61
-f 115 150 121
-f 115 147 150
-f 135 150 147
-f 150 135 137
-f 121 151 119
-f 121 150 151
-f 137 151 150
-f 151 137 139
-f 120 152 111
-f 152 120 153
-f 119 153 120
-f 153 119 154
-f 152 156 155
-f 152 153 156
-f 153 157 156
-f 153 154 157
-f 158 161 160
-f 158 159 161
-f 159 110 161
-f 159 109 110
-f 160 152 155
-f 160 161 152
-f 161 111 152
-f 161 110 111
-f 162 140 131
-f 140 162 164
-f 162 165 164
-f 162 163 165
-f 164 139 140
-f 139 164 166
-f 164 167 166
-f 164 165 167
-f 168 171 170
-f 168 169 171
-f 163 171 169
-f 171 163 162
-f 171 125 170
-f 125 171 128
-f 162 128 171
-f 128 162 131
-f 172 169 168
-f 169 172 173
-f 158 173 172
-f 173 158 160
-f 169 174 163
-f 169 173 174
-f 160 174 173
-f 174 160 155
-f 157 176 156
-f 157 175 176
-f 167 176 175
-f 176 167 165
-f 176 155 156
-f 155 176 174
-f 176 163 174
-f 176 165 163
-f 177 181 180
-f 177 178 181
-f 178 182 181
-f 178 179 182
-f 181 183 180
-f 183 181 184
-f 181 185 184
-f 181 182 185
-f 186 75 76
-f 75 186 187
-f 179 187 186
-f 187 179 178
-f 187 74 75
-f 74 187 188
-f 178 188 187
-f 188 178 177
-f 189 193 192
-f 189 190 193
-f 191 193 190
-f 193 191 194
-f 192 196 195
-f 192 193 196
-f 193 197 196
-f 193 194 197
-f 81 198 80
-f 198 81 199
-f 82 199 81
-f 199 82 200
-f 199 195 198
-f 195 199 192
-f 200 192 199
-f 192 200 189
-f 200 201 189
-f 201 200 202
-f 200 203 202
-f 200 82 203
-f 202 177 201
-f 177 202 188
-f 202 74 188
-f 202 203 74
-f 177 204 201
-f 177 180 204
-f 183 204 180
-f 204 183 205
-f 204 189 201
-f 189 204 190
-f 204 191 190
-f 204 205 191
-f 195 207 198
-f 195 206 207
-f 179 207 206
-f 207 179 186
-f 198 208 80
-f 198 207 208
-f 186 208 207
-f 208 186 76
-f 206 182 179
-f 182 206 209
-f 206 196 209
-f 206 195 196
-f 209 185 182
-f 185 209 210
-f 209 197 210
-f 209 196 197
-f 211 215 214
-f 211 212 215
-f 213 215 212
-f 215 213 216
-f 215 217 214
-f 217 215 218
-f 216 218 215
-f 218 216 219
-f 220 216 213
-f 216 220 221
-f 76 221 220
-f 221 76 87
-f 221 219 216
-f 219 221 222
-f 87 222 221
-f 222 87 89
-f 223 227 226
-f 223 224 227
-f 225 227 224
-f 227 225 228
-f 227 229 226
-f 229 227 230
-f 228 230 227
-f 230 228 231
-f 230 232 229
-f 232 230 233
-f 231 233 230
-f 233 231 234
-f 233 80 232
-f 80 233 83
-f 233 84 83
-f 233 234 84
-f 222 235 219
-f 235 222 236
-f 222 237 236
-f 222 89 237
-f 236 231 235
-f 231 236 234
-f 237 234 236
-f 234 237 84
-f 217 239 238
-f 217 218 239
-f 219 239 218
-f 239 219 235
-f 239 225 238
-f 225 239 228
-f 239 231 228
-f 239 235 231
-f 220 208 76
-f 208 220 240
-f 213 240 220
-f 240 213 241
-f 208 232 80
-f 208 240 232
-f 240 229 232
-f 240 241 229
-f 241 226 229
-f 226 241 242
-f 241 212 242
-f 241 213 212
-f 242 223 226
-f 223 242 243
-f 242 211 243
-f 242 212 211
-f 244 248 247
-f 244 245 248
-f 246 248 245
-f 248 246 249
-f 248 250 247
-f 250 248 251
-f 249 251 248
-f 251 249 252
-f 250 254 253
-f 250 251 254
-f 252 254 251
-f 254 252 255
-f 253 91 93
-f 253 254 91
-f 254 89 91
-f 254 255 89
-f 256 260 259
-f 256 257 260
-f 258 260 257
-f 260 258 261
-f 260 262 259
-f 262 260 263
-f 260 264 263
-f 260 261 264
-f 97 265 95
-f 265 97 266
-f 84 266 97
-f 266 84 267
-f 265 257 256
-f 265 266 257
-f 267 257 266
-f 257 267 258
-f 249 268 252
-f 268 249 269
-f 249 270 269
-f 249 246 270
-f 269 258 268
-f 258 269 261
-f 269 264 261
-f 269 270 264
-f 255 237 89
-f 237 255 271
-f 252 271 255
-f 271 252 268
-f 271 84 237
-f 84 271 267
-f 268 267 271
-f 267 268 258
-f 102 253 93
-f 253 102 272
-f 102 265 272
-f 102 95 265
-f 272 250 253
-f 250 272 273
-f 272 256 273
-f 272 265 256
-f 259 273 256
-f 273 259 274
-f 262 274 259
-f 274 262 275
-f 273 247 250
-f 273 274 247
-f 274 244 247
-f 274 275 244
-f 172 159 158
-f 159 172 276
-f 172 170 276
-f 172 168 170
-f 276 109 159
-f 109 276 143
-f 170 143 276
-f 143 170 125
-f 151 154 119
-f 154 151 277
-f 151 166 277
-f 151 139 166
-f 154 175 157
-f 154 277 175
-f 277 167 175
-f 277 166 167
-f 197 278 210
-f 197 194 278
-f 191 278 194
-f 278 191 205
-f 278 185 210
-f 185 278 184
-f 278 183 184
-f 278 205 183
-f 223 279 224
-f 223 243 279
-f 211 279 243
-f 279 211 214
-f 279 225 224
-f 225 279 238
-f 279 217 238
-f 279 214 217
-f 262 280 275
-f 262 263 280
-f 264 280 263
-f 280 264 270
-f 280 244 275
-f 244 280 245
-f 270 245 280
-f 245 270 246
-f 74 281 71
-f 74 203 281
-f 82 281 203
-f 281 82 79
-f 71 149 61
-f 71 281 149
-f 79 149 281
-f 149 79 51
-# 552 elements
diff --git a/src/Morphing/hand3.obj b/src/Morphing/hand3.obj
deleted file mode 100644
index 865b440..0000000
--- a/src/Morphing/hand3.obj
+++ /dev/null
@@ -1,846 +0,0 @@
-# Mon Jun 02 17:10:02 1997
-#
-#
-
-g hand3
-v -0.532397 0.197223 -3.999972
-v -0.214601 0.028608 -3.704992
-v -0.062767 -0.039672 -1.969593
-v -0.474970 0.318713 -4.067389
-v -0.168129 0.089251 -3.756891
-v -0.328587 0.420355 -4.296443
-v -0.623073 0.363357 -4.216684
-v -0.746171 0.497060 -4.524076
-v -0.506368 0.006295 -3.982003
-v -0.689049 0.168417 -4.231982
-v -0.853662 0.351475 -4.548802
-v -0.344509 -0.179734 -4.206146
-v -0.709169 0.037344 -4.456913
-v -0.884746 0.194925 -4.627260
-v -0.168024 -0.191951 -3.757912
-v -0.076841 -0.196481 -1.877360
-v -0.231457 -0.103955 -3.759368
-v -0.123436 -0.138285 -1.951048
-v -0.575776 0.499057 -4.413718
-v -0.022556 -0.274054 -4.419171
-v 0.295391 -0.244860 -4.781412
-v 0.027764 -0.237028 -4.026483
-v 0.328292 -0.191608 -4.297441
-v 0.452126 0.065151 -3.999771
-v 0.014266 -0.206977 -1.861471
-v -0.053052 -0.219763 -3.720458
-v 0.093672 -0.170271 -1.858756
-v 0.048687 -0.171678 -3.710009
-v 0.050155 0.444476 -4.604692
-v -0.133492 0.423989 -4.410464
-v -0.027107 0.434472 -4.242275
-v -0.117598 0.396084 -4.085021
-v 0.065233 0.421440 -4.017992
-v -0.081428 0.087141 -3.783137
-v -0.020959 -0.015459 -1.973519
-v 0.008804 0.041460 -3.708582
-v 0.062893 -0.032292 -1.896764
-v 0.225177 0.615409 -4.482480
-v 0.113530 0.511149 -4.450598
-v 0.102865 0.542478 -4.253375
-v 0.431656 0.735739 -4.416512
-v 0.288424 0.675882 -4.413925
-v 0.218974 0.589731 -4.211629
-v 0.541405 0.777453 -5.314148
-v 0.432074 0.710021 -4.892318
-v 0.593949 0.890727 -5.268293
-v 0.501790 0.814034 -4.847951
-v 0.700343 0.972337 -5.234181
-v 0.623032 0.889368 -4.811626
-v 0.521872 0.654464 -5.378404
-v 0.555062 0.525950 -5.571719
-v 0.375075 0.594255 -4.928543
-v 0.345045 0.495994 -5.115907
-v 0.108176 -0.097133 -1.871658
-v 0.273705 0.252739 -3.878058
-v 0.058055 -0.068344 -3.680041
-v 0.405284 0.512264 -4.112417
-v 0.687825 0.464139 -4.216795
-v 0.632930 0.719769 -4.375288
-v 0.825419 0.677113 -4.390901
-v 0.917800 0.280915 -5.602854
-v 1.056579 0.438767 -5.371966
-v 1.116715 0.631123 -5.302998
-v 0.705199 0.003471 -5.203117
-v 0.907904 0.141760 -4.788020
-v 0.962510 0.376613 -4.635034
-v 1.041596 0.636992 -4.691114
-v 1.130266 0.811997 -5.270994
-v 1.005013 0.831826 -4.762492
-v 1.055534 0.946727 -5.251543
-v 0.677585 0.233496 -6.061008
-v 0.460633 -0.018720 -5.787735
-v 0.144938 -0.190839 -5.542907
-v 0.494372 0.173628 -6.534559
-v 0.317081 -0.008497 -6.384122
-v 0.027201 0.131783 -6.428380
-v 0.013685 0.508910 -5.331713
-v 0.293216 0.555930 -5.655271
-v 0.510499 0.560260 -5.972243
-v -0.013202 0.565924 -6.175734
-v 0.224494 0.612542 -6.271984
-v 0.426059 0.599110 -6.464377
-v -0.306255 0.646060 -5.996577
-v -0.569808 0.913747 -5.981158
-v -0.228316 0.516391 -5.181461
-v -0.445620 0.586733 -5.146332
-v -0.293245 0.113327 -6.323775
-v -0.173597 -0.243629 -5.356423
-v -0.670974 0.376359 -6.246881
-v -0.505876 -0.129238 -5.220592
-v -0.981059 0.486591 -5.904088
-v -0.816316 0.081391 -5.139109
-v -1.148463 0.669179 -5.736072
-v -1.003358 0.292548 -5.142035
-v -0.951535 0.915719 -5.633423
-v -0.848045 0.626223 -5.094282
-v -0.743315 0.948671 -5.677959
-v -0.655824 0.645151 -5.103795
-v 0.822461 0.905362 -4.784215
-v 0.878885 0.998810 -5.230596
-v -0.989810 0.492494 -5.109306
-v -1.116492 0.823014 -5.656571
-v 0.996042 1.008486 -5.820419
-v 1.064506 0.912915 -5.870014
-v 1.060480 0.782157 -5.923663
-v 0.953680 1.113737 -6.014114
-v 1.005018 1.004616 -6.065710
-v 0.992276 0.867260 -6.135736
-v 0.944026 1.244268 -6.251624
-v 0.973965 1.115774 -6.327374
-v 0.945827 0.958451 -6.421946
-v 1.083427 0.733990 -5.698505
-v 1.090716 0.878610 -5.652200
-v 1.016854 0.980850 -5.602205
-v 0.904979 0.542860 -6.003450
-v 1.010214 0.640802 -5.976042
-v 0.918015 0.464134 -5.777233
-v 1.030665 0.577144 -5.740035
-v 0.758712 0.703562 -6.541620
-v 0.866703 0.798472 -6.502394
-v 0.825719 0.632441 -6.264884
-v 0.930940 0.724822 -6.214890
-v 0.693610 1.030609 -5.753376
-v 0.707614 1.171851 -5.966817
-v 0.745009 1.336440 -6.216925
-v 0.595931 0.948287 -5.758795
-v 0.607525 1.083062 -5.967039
-v 0.635682 1.245807 -6.223903
-v 0.548429 0.829721 -5.795010
-v 0.543563 0.948272 -6.001235
-v 0.548405 1.095687 -6.260015
-v 0.548777 0.793549 -5.588580
-v 0.593876 0.906330 -5.546043
-v 0.689842 0.988075 -5.529473
-v 0.608749 0.600589 -5.930038
-v 0.547295 0.706322 -5.859049
-v 0.567538 0.708497 -6.180083
-v 0.523106 0.816241 -6.083089
-v 0.535313 0.817538 -6.443928
-v 0.506392 0.943775 -6.343649
-v 0.600681 0.560351 -5.721073
-v 0.545933 0.674730 -5.647308
-v 0.856788 1.328405 -6.220259
-v 0.836996 1.177698 -5.982326
-v 0.846715 1.051347 -5.777648
-v 0.851110 1.017751 -5.553206
-v 0.745225 0.534151 -5.983995
-v 0.739831 0.476319 -5.779583
-v 0.715754 0.412378 -5.751285
-v 0.683826 0.635181 -6.249702
-v 0.633316 0.723667 -6.518804
-v 0.980715 1.013307 -6.803527
-v 0.892386 0.823377 -6.831568
-v 0.786718 0.714033 -6.798828
-v 0.975463 1.069959 -7.098132
-v 0.890573 0.852994 -7.068334
-v 0.825719 0.727882 -6.968780
-v 1.025155 1.371318 -6.805808
-v 0.995242 1.333836 -6.557353
-v 1.022430 1.262102 -6.975050
-v 1.017056 1.195056 -6.684767
-v 0.555587 1.202589 -6.599424
-v 0.612038 1.229948 -6.932652
-v 0.508225 1.012148 -6.644658
-v 0.562058 1.006498 -6.921506
-v 0.546766 0.850772 -6.693409
-v 0.585298 0.851819 -6.874451
-v 0.808246 1.473531 -6.773156
-v 0.714197 1.400582 -6.872624
-v 0.784961 1.443287 -6.523914
-v 0.661185 1.361980 -6.558956
-v 0.923633 1.442370 -6.812841
-v 0.880870 1.349604 -7.026019
-v 0.806732 1.163577 -7.130162
-v 0.703304 0.769882 -6.944597
-v 0.730493 0.929054 -7.083601
-v 0.467013 0.166173 -7.322286
-v 0.252376 0.062331 -7.273434
-v 0.071629 0.273589 -7.155980
-v 0.529329 0.193273 -7.810286
-v 0.270539 0.096977 -7.776154
-v 0.075855 0.318280 -7.578300
-v 0.525577 0.226801 -8.169828
-v 0.268313 0.167598 -8.189743
-v 0.062406 0.262263 -7.985266
-v 0.085250 0.215999 -6.753068
-v 0.257265 0.029724 -6.830193
-v 0.432281 0.147121 -6.919346
-v 0.412813 0.603853 -7.296127
-v 0.466553 0.601779 -7.797064
-v 0.466023 0.565097 -8.166368
-v 0.174599 0.635304 -7.236838
-v 0.178594 0.622429 -7.773725
-v 0.196329 0.546003 -8.196803
-v 0.010991 0.597067 -7.106261
-v -0.002380 0.607430 -7.576752
-v -0.009555 0.537996 -8.004534
-v 0.032977 0.584260 -6.637498
-v 0.178619 0.629919 -6.764370
-v 0.375331 0.599437 -6.884651
-v 0.527273 0.406770 -7.327760
-v 0.475094 0.400761 -6.944777
-v 0.524815 0.430983 -6.577858
-v 0.596379 0.415394 -7.817393
-v 0.540282 0.403398 -8.220389
-v 0.014701 0.567519 -7.027500
-v 0.022146 0.486002 -6.671004
-v 0.012141 0.498590 -6.467365
-v 0.012762 0.578347 -7.426854
-v 0.000619 0.410973 -8.007980
-v 0.092196 1.869408 -5.545787
-v 0.047882 1.788186 -5.963855
-v -0.060104 1.571916 -6.553101
-v -0.143875 1.937950 -5.383014
-v -0.207255 1.899992 -5.860848
-v -0.295062 1.638036 -6.546325
-v -0.421009 1.885218 -5.447442
-v -0.494485 1.814856 -5.875438
-v -0.539028 1.586470 -6.471877
-v -0.106805 0.842813 -6.743448
-v -0.330308 0.861681 -6.742823
-v -0.563357 0.915028 -6.614289
-v 0.092672 1.563475 -5.409472
-v -0.152484 1.549881 -5.266574
-v -0.427491 1.564068 -5.366186
-v 0.055291 1.459964 -5.769153
-v -0.213200 1.392345 -5.673015
-v -0.489819 1.484210 -5.757663
-v -0.047655 1.402047 -6.272863
-v -0.286444 1.362850 -6.194754
-v -0.519624 1.405953 -6.217000
-v -0.089194 0.975227 -6.316360
-v -0.314427 0.991839 -6.268511
-v -0.524734 1.082759 -6.324799
-v -0.620360 1.490346 -6.331055
-v -0.618762 1.036157 -6.434135
-v -0.671873 0.861513 -6.294051
-v -0.458822 1.733320 -5.357014
-v -0.588193 1.649792 -5.825307
-v -0.026324 0.948276 -6.554249
-v 0.032057 1.491511 -6.432297
-v 0.133877 1.609963 -5.922091
-v 0.135806 1.725175 -5.451552
-v -1.006792 1.503643 -5.022816
-v -0.746747 1.667615 -5.005004
-v -0.544041 1.766946 -5.171136
-v -1.101978 1.447230 -5.268406
-v -0.865298 1.642242 -5.298347
-v -0.629541 1.716881 -5.454040
-v -1.200089 1.376122 -5.716522
-v -1.019358 1.528275 -5.796288
-v -0.804275 1.567503 -5.929291
-v -1.252437 1.200355 -6.000518
-v -1.113296 1.218534 -6.177490
-v -0.889340 1.184153 -6.312213
-v -0.996484 1.194600 -5.651621
-v -0.760670 1.184919 -5.687916
-v -0.601537 1.292810 -5.762637
-v -0.889795 1.206167 -5.227293
-v -0.606970 1.236079 -5.234110
-v -0.434302 1.401078 -5.343227
-v -0.814929 1.299698 -4.991332
-v -0.554814 1.384489 -4.970828
-v -0.382345 1.502313 -5.098981
-v -1.034163 1.181285 -5.881442
-v -0.840806 1.210840 -5.961395
-v -0.711468 1.257639 -6.107090
-v -0.631209 1.479578 -5.875779
-v -0.464679 1.605436 -5.447018
-v -0.423460 1.665314 -5.121157
-v -0.743932 1.268292 -6.251357
-v -1.204943 1.178799 -5.894271
-v -1.175692 1.262678 -5.660164
-v -1.087312 1.296968 -5.240851
-v -0.942971 1.397147 -4.977907
-v 0.905754 1.424581 -6.519624
-v 0.658060 0.741935 -6.754919
-v 0.245147 0.365997 -8.304296
-v -0.134337 1.769119 -5.224316
-v -0.634812 1.552140 -4.922270
-v 0.657481 0.439112 -6.123274
-# 281 vertices
-
-# 0 texture vertices
-
-# 0 normals
-
-usemtl hand
-f 2 4 1
-f 5 4 2
-f 3 5 2
-f 5 6 4
-f 1 10 9
-f 1 7 10
-f 7 11 10
-f 7 8 11
-f 10 12 9
-f 12 10 13
-f 10 14 13
-f 10 11 14
-f 12 17 9
-f 12 15 17
-f 18 15 16
-f 15 18 17
-f 9 2 1
-f 9 17 2
-f 18 2 17
-f 2 18 3
-f 19 4 6
-f 7 4 19
-f 8 7 19
-f 7 1 4
-f 20 22 12
-f 23 22 20
-f 21 23 20
-f 23 24 22
-f 16 26 25
-f 16 15 26
-f 15 22 26
-f 15 12 22
-f 25 28 27
-f 25 26 28
-f 22 28 26
-f 28 22 24
-f 30 31 29
-f 32 31 30
-f 6 32 30
-f 32 33 31
-f 5 32 6
-f 32 5 34
-f 5 35 34
-f 5 3 35
-f 34 33 32
-f 33 34 36
-f 35 36 34
-f 36 35 37
-f 39 40 38
-f 31 40 39
-f 29 31 39
-f 31 33 40
-f 42 43 41
-f 40 43 42
-f 38 40 42
-f 40 33 43
-f 45 46 44
-f 46 45 47
-f 38 47 45
-f 47 38 42
-f 46 49 48
-f 46 47 49
-f 47 41 49
-f 47 42 41
-f 44 52 45
-f 44 50 52
-f 50 53 52
-f 50 51 53
-f 52 38 45
-f 38 52 39
-f 52 29 39
-f 52 53 29
-f 36 55 33
-f 55 36 56
-f 37 56 36
-f 56 37 54
-f 56 24 55
-f 24 56 28
-f 27 56 54
-f 56 27 28
-f 33 57 43
-f 33 55 57
-f 55 58 57
-f 55 24 58
-f 57 41 43
-f 41 57 59
-f 58 59 57
-f 59 58 60
-f 62 64 61
-f 64 62 65
-f 63 65 62
-f 65 63 66
-f 65 21 64
-f 21 65 23
-f 66 23 65
-f 23 66 24
-f 66 58 24
-f 58 66 67
-f 63 67 66
-f 67 63 68
-f 67 60 58
-f 60 67 69
-f 68 69 67
-f 69 68 70
-f 61 72 71
-f 61 64 72
-f 64 73 72
-f 64 21 73
-f 71 75 74
-f 71 72 75
-f 72 76 75
-f 72 73 76
-f 53 77 29
-f 77 53 78
-f 51 78 53
-f 78 51 79
-f 78 80 77
-f 80 78 81
-f 79 81 78
-f 81 79 82
-f 83 77 80
-f 77 83 85
-f 83 86 85
-f 83 84 86
-f 85 29 77
-f 29 85 30
-f 86 30 85
-f 30 86 6
-f 73 87 76
-f 87 73 88
-f 21 88 73
-f 88 21 20
-f 88 89 87
-f 89 88 90
-f 20 90 88
-f 90 20 12
-f 90 91 89
-f 91 90 92
-f 90 13 92
-f 90 12 13
-f 91 94 93
-f 91 92 94
-f 92 14 94
-f 92 13 14
-f 95 98 97
-f 95 96 98
-f 8 98 96
-f 98 8 19
-f 97 86 84
-f 97 98 86
-f 19 86 98
-f 86 19 6
-f 59 49 41
-f 49 59 99
-f 59 69 99
-f 59 60 69
-f 99 48 49
-f 48 99 100
-f 99 70 100
-f 99 69 70
-f 8 101 11
-f 8 96 101
-f 96 102 101
-f 96 95 102
-f 101 14 11
-f 14 101 94
-f 101 93 94
-f 101 102 93
-f 103 107 106
-f 103 104 107
-f 105 107 104
-f 107 105 108
-f 107 109 106
-f 109 107 110
-f 108 110 107
-f 110 108 111
-f 63 113 68
-f 63 112 113
-f 112 104 113
-f 112 105 104
-f 68 114 70
-f 68 113 114
-f 113 103 114
-f 113 104 103
-f 115 118 117
-f 115 116 118
-f 105 118 116
-f 118 105 112
-f 117 62 61
-f 117 118 62
-f 112 62 118
-f 62 112 63
-f 120 121 119
-f 121 120 122
-f 111 122 120
-f 122 111 108
-f 122 115 121
-f 115 122 116
-f 108 116 122
-f 116 108 105
-f 123 127 126
-f 123 124 127
-f 124 128 127
-f 124 125 128
-f 126 130 129
-f 126 127 130
-f 127 131 130
-f 127 128 131
-f 44 133 132
-f 44 46 133
-f 48 133 46
-f 133 48 134
-f 132 126 129
-f 132 133 126
-f 134 126 133
-f 126 134 123
-f 135 138 137
-f 135 136 138
-f 136 130 138
-f 136 129 130
-f 137 140 139
-f 137 138 140
-f 138 131 140
-f 138 130 131
-f 51 142 141
-f 51 50 142
-f 50 132 142
-f 50 44 132
-f 141 136 135
-f 141 142 136
-f 142 129 136
-f 142 132 129
-f 109 144 106
-f 109 143 144
-f 125 144 143
-f 144 125 124
-f 106 145 103
-f 106 144 145
-f 124 145 144
-f 145 124 123
-f 100 134 48
-f 134 100 146
-f 70 146 100
-f 146 70 114
-f 146 123 134
-f 123 146 145
-f 114 145 146
-f 145 114 103
-f 135 148 141
-f 135 147 148
-f 147 117 148
-f 147 115 117
-f 141 149 51
-f 141 148 149
-f 148 61 149
-f 148 117 61
-f 115 150 121
-f 115 147 150
-f 135 150 147
-f 150 135 137
-f 121 151 119
-f 121 150 151
-f 137 151 150
-f 151 137 139
-f 120 152 111
-f 152 120 153
-f 119 153 120
-f 153 119 154
-f 152 156 155
-f 152 153 156
-f 153 157 156
-f 153 154 157
-f 158 161 160
-f 158 159 161
-f 159 110 161
-f 159 109 110
-f 160 152 155
-f 160 161 152
-f 161 111 152
-f 161 110 111
-f 162 140 131
-f 140 162 164
-f 162 165 164
-f 162 163 165
-f 164 139 140
-f 139 164 166
-f 164 167 166
-f 164 165 167
-f 168 171 170
-f 168 169 171
-f 163 171 169
-f 171 163 162
-f 171 125 170
-f 125 171 128
-f 162 128 171
-f 128 162 131
-f 172 169 168
-f 169 172 173
-f 158 173 172
-f 173 158 160
-f 169 174 163
-f 169 173 174
-f 160 174 173
-f 174 160 155
-f 157 176 156
-f 157 175 176
-f 167 176 175
-f 176 167 165
-f 176 155 156
-f 155 176 174
-f 176 163 174
-f 176 165 163
-f 177 181 180
-f 177 178 181
-f 178 182 181
-f 178 179 182
-f 181 183 180
-f 183 181 184
-f 181 185 184
-f 181 182 185
-f 186 75 76
-f 75 186 187
-f 179 187 186
-f 187 179 178
-f 187 74 75
-f 74 187 188
-f 178 188 187
-f 188 178 177
-f 189 193 192
-f 189 190 193
-f 191 193 190
-f 193 191 194
-f 192 196 195
-f 192 193 196
-f 193 197 196
-f 193 194 197
-f 81 198 80
-f 198 81 199
-f 82 199 81
-f 199 82 200
-f 199 195 198
-f 195 199 192
-f 200 192 199
-f 192 200 189
-f 200 201 189
-f 201 200 202
-f 200 203 202
-f 200 82 203
-f 202 177 201
-f 177 202 188
-f 202 74 188
-f 202 203 74
-f 177 204 201
-f 177 180 204
-f 183 204 180
-f 204 183 205
-f 204 189 201
-f 189 204 190
-f 204 191 190
-f 204 205 191
-f 195 207 198
-f 195 206 207
-f 179 207 206
-f 207 179 186
-f 198 208 80
-f 198 207 208
-f 186 208 207
-f 208 186 76
-f 206 182 179
-f 182 206 209
-f 206 196 209
-f 206 195 196
-f 209 185 182
-f 185 209 210
-f 209 197 210
-f 209 196 197
-f 211 215 214
-f 211 212 215
-f 213 215 212
-f 215 213 216
-f 215 217 214
-f 217 215 218
-f 216 218 215
-f 218 216 219
-f 220 216 213
-f 216 220 221
-f 76 221 220
-f 221 76 87
-f 221 219 216
-f 219 221 222
-f 87 222 221
-f 222 87 89
-f 223 227 226
-f 223 224 227
-f 225 227 224
-f 227 225 228
-f 227 229 226
-f 229 227 230
-f 228 230 227
-f 230 228 231
-f 230 232 229
-f 232 230 233
-f 231 233 230
-f 233 231 234
-f 233 80 232
-f 80 233 83
-f 233 84 83
-f 233 234 84
-f 222 235 219
-f 235 222 236
-f 222 237 236
-f 222 89 237
-f 236 231 235
-f 231 236 234
-f 237 234 236
-f 234 237 84
-f 217 239 238
-f 217 218 239
-f 219 239 218
-f 239 219 235
-f 239 225 238
-f 225 239 228
-f 239 231 228
-f 239 235 231
-f 220 208 76
-f 208 220 240
-f 213 240 220
-f 240 213 241
-f 208 232 80
-f 208 240 232
-f 240 229 232
-f 240 241 229
-f 241 226 229
-f 226 241 242
-f 241 212 242
-f 241 213 212
-f 242 223 226
-f 223 242 243
-f 242 211 243
-f 242 212 211
-f 244 248 247
-f 244 245 248
-f 246 248 245
-f 248 246 249
-f 248 250 247
-f 250 248 251
-f 249 251 248
-f 251 249 252
-f 250 254 253
-f 250 251 254
-f 252 254 251
-f 254 252 255
-f 253 91 93
-f 253 254 91
-f 254 89 91
-f 254 255 89
-f 256 260 259
-f 256 257 260
-f 258 260 257
-f 260 258 261
-f 260 262 259
-f 262 260 263
-f 260 264 263
-f 260 261 264
-f 97 265 95
-f 265 97 266
-f 84 266 97
-f 266 84 267
-f 265 257 256
-f 265 266 257
-f 267 257 266
-f 257 267 258
-f 249 268 252
-f 268 249 269
-f 249 270 269
-f 249 246 270
-f 269 258 268
-f 258 269 261
-f 269 264 261
-f 269 270 264
-f 255 237 89
-f 237 255 271
-f 252 271 255
-f 271 252 268
-f 271 84 237
-f 84 271 267
-f 268 267 271
-f 267 268 258
-f 102 253 93
-f 253 102 272
-f 102 265 272
-f 102 95 265
-f 272 250 253
-f 250 272 273
-f 272 256 273
-f 272 265 256
-f 259 273 256
-f 273 259 274
-f 262 274 259
-f 274 262 275
-f 273 247 250
-f 273 274 247
-f 274 244 247
-f 274 275 244
-f 172 159 158
-f 159 172 276
-f 172 170 276
-f 172 168 170
-f 276 109 159
-f 109 276 143
-f 170 143 276
-f 143 170 125
-f 151 154 119
-f 154 151 277
-f 151 166 277
-f 151 139 166
-f 154 175 157
-f 154 277 175
-f 277 167 175
-f 277 166 167
-f 197 278 210
-f 197 194 278
-f 191 278 194
-f 278 191 205
-f 278 185 210
-f 185 278 184
-f 278 183 184
-f 278 205 183
-f 223 279 224
-f 223 243 279
-f 211 279 243
-f 279 211 214
-f 279 225 224
-f 225 279 238
-f 279 217 238
-f 279 214 217
-f 262 280 275
-f 262 263 280
-f 264 280 263
-f 280 264 270
-f 280 244 275
-f 244 280 245
-f 270 245 280
-f 245 270 246
-f 74 281 71
-f 74 203 281
-f 82 281 203
-f 281 82 79
-f 71 149 61
-f 71 281 149
-f 79 149 281
-f 149 79 51
-# 552 elements
diff --git a/src/ObjLoad/ObjLoad.html b/src/ObjLoad/ObjLoad.html
deleted file mode 100644
index 09978f5..0000000
--- a/src/ObjLoad/ObjLoad.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Hello, Universe!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="ObjLoad.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/ObjLoad/ObjLoad.java b/src/ObjLoad/ObjLoad.java
deleted file mode 100644
index 3619be5..0000000
--- a/src/ObjLoad/ObjLoad.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.loaders.objectfile.ObjectFile;
-import com.sun.j3d.loaders.ParsingErrorException;
-import com.sun.j3d.loaders.IncorrectFormatException;
-import com.sun.j3d.loaders.Scene;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.io.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-import java.net.URL;
-import java.net.MalformedURLException;
-
-public class ObjLoad extends Applet {
-
- private boolean spin = false;
- private boolean noTriangulate = false;
- private boolean noStripify = false;
- private double creaseAngle = 60.0;
- private URL filename = null;
- private SimpleUniverse u;
- private BoundingSphere bounds;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.7);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objScale.addChild(objTrans);
-
- int flags = ObjectFile.RESIZE;
- if (!noTriangulate) flags |= ObjectFile.TRIANGULATE;
- if (!noStripify) flags |= ObjectFile.STRIPIFY;
- ObjectFile f = new ObjectFile(flags,
- (float)(creaseAngle * Math.PI / 180.0));
- Scene s = null;
- try {
- s = f.load(filename);
- }
- catch (FileNotFoundException e) {
- System.err.println(e);
- System.exit(1);
- }
- catch (ParsingErrorException e) {
- System.err.println(e);
- System.exit(1);
- }
- catch (IncorrectFormatException e) {
- System.err.println(e);
- System.exit(1);
- }
-
- objTrans.addChild(s.getSceneGroup());
-
- bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- if (spin) {
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
- }
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
- Background bgNode = new Background(bgColor);
- bgNode.setApplicationBounds(bounds);
- objRoot.addChild(bgNode);
-
- return objRoot;
- }
-
- private void usage()
- {
- System.out.println(
- "Usage: java ObjLoad [-s] [-n] [-t] [-c degrees] <.obj file>");
- System.out.println(" -s Spin (no user interaction)");
- System.out.println(" -n No triangulation");
- System.out.println(" -t No stripification");
- System.out.println(
- " -c Set crease angle for normal generation (default is 60 without");
- System.out.println(
- " smoothing group info, otherwise 180 within smoothing groups)");
- System.exit(0);
- } // End of usage
-
-
-
- public void init() {
- if (filename == null) {
- // Applet
- try {
- URL path = getCodeBase();
- filename = new URL(path.toString() + "./galleon.obj");
- }
- catch (MalformedURLException e) {
- System.err.println(e);
- System.exit(1);
- }
- }
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // add mouse behaviors to the ViewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- PlatformGeometry pg = new PlatformGeometry();
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- pg.addChild(ambientLightNode);
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light1Direction = new Vector3f(1.0f, 1.0f, 1.0f);
- Color3f light2Color = new Color3f(1.0f, 1.0f, 1.0f);
- Vector3f light2Direction = new Vector3f(-1.0f, -1.0f, -1.0f);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- pg.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- pg.addChild(light2);
-
- viewingPlatform.setPlatformGeometry( pg );
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- if (!spin) {
- OrbitBehavior orbit = new OrbitBehavior(c,
- OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
- }
-
- u.addBranchGraph(scene);
- }
-
- // Caled if running as a program
- public ObjLoad(String[] args) {
- if (args.length != 0) {
- for (int i = 0 ; i < args.length ; i++) {
- if (args[i].startsWith("-")) {
- if (args[i].equals("-s")) {
- spin = true;
- } else if (args[i].equals("-n")) {
- noTriangulate = true;
- } else if (args[i].equals("-t")) {
- noStripify = true;
- } else if (args[i].equals("-c")) {
- if (i < args.length - 1) {
- creaseAngle = (new Double(args[++i])).doubleValue();
- } else usage();
- } else {
- usage();
- }
- } else {
- try {
- if ((args[i].indexOf("file:") == 0) ||
- (args[i].indexOf("http") == 0)) {
- filename = new URL(args[i]);
- }
- else if (args[i].charAt(0) != '/') {
- filename = new URL("file:./" + args[i]);
- }
- else {
- filename = new URL("file:" + args[i]);
- }
- }
- catch (MalformedURLException e) {
- System.err.println(e);
- System.exit(1);
- }
- }
- }
- }
- }
-
-
-
- // Running as an applet
- public ObjLoad() {
- }
-
- public void destroy() {
- u.cleanup();
- }
-
-
-
- //
- // The following allows ObjLoad to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new ObjLoad(args), 700, 700);
- }
-}
diff --git a/src/ObjLoad/ObjLoad_plugin.html b/src/ObjLoad/ObjLoad_plugin.html
deleted file mode 100644
index 8ec013f..0000000
--- a/src/ObjLoad/ObjLoad_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Hello, Universe!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "ObjLoad.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "ObjLoad.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "ObjLoad.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/ObjLoad/build.xml b/src/ObjLoad/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/ObjLoad/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/ObjLoad/galleon.obj b/src/ObjLoad/galleon.obj
deleted file mode 100644
index 0ed58af..0000000
--- a/src/ObjLoad/galleon.obj
+++ /dev/null
@@ -1,8901 +0,0 @@
-# Tue Oct 27 19:26:52 1992
-#
-# Spanish Galleon
-#
-# Courtesy of:
-#
-# Viewpoint Animation Engineering
-# 870 West Center
-# Orem, Utah 84057
-# (801)224-2222
-# 1-800-DATASET
-#
-# (c) Copyright 1992 Viewpoint Animation Engineering Inc.
-# Sun Microsystems has been authorized to freely distribute
-# these Datasets. They are provided for unlimited use in
-# existing or modified form. The actual Dataset (ie, geometry)
-# may not, however, be resold in existing or modified form.
-#
-
-g
-v -0.471519 0.607158 0.742476
-v -0.471519 2.835144 0.742476
-v 0.235709 2.835144 1.035419
-v 0.235709 3.340722 1.035419
-v -1.250291 3.340722 0.419898
-v -1.435455 28.440485 0.343200
-v -0.525114 29.392422 0.720276
-v -0.339949 31.134907 0.796974
-v -0.009594 31.301920 0.933812
-v -0.009594 31.705118 0.933812
-v -0.813112 31.538105 0.600984
-v -0.998277 30.035196 0.524286
-v -1.638847 30.068596 0.258952
-v -1.981079 54.333931 0.117197
-v -0.471518 0.607158 -0.742476
-v -0.471518 2.835144 -0.742476
-v 0.235709 2.835144 -1.035419
-v 0.235709 3.340722 -1.035419
-v -1.250291 3.340722 -0.419898
-v -1.435455 28.440485 -0.343200
-v -0.525114 29.392422 -0.720276
-v -0.339949 31.134907 -0.796974
-v -0.009594 31.301920 -0.933812
-v -0.009594 31.705118 -0.933812
-v -0.813112 31.538105 -0.600984
-v -0.998277 30.035196 -0.524286
-v -1.638847 30.068596 -0.258952
-v -1.981079 54.333931 -0.117197
-v -1.521538 0.607158 -1.792495
-v -2.146818 54.333931 -0.282936
-v -3.006491 0.607158 -1.792497
-v -2.381211 54.333931 -0.282936
-v -4.056510 0.607158 -0.742476
-v -4.056510 2.835144 -0.742476
-v -4.763738 2.835144 -1.035419
-v -4.763738 3.340722 -1.035419
-v -3.277740 3.340722 -0.419898
-v -3.092574 28.440485 -0.343200
-v -4.002915 29.392422 -0.720276
-v -4.188079 31.134907 -0.796974
-v -4.518436 31.301920 -0.933812
-v -4.518436 31.705118 -0.933812
-v -3.714916 31.538105 -0.600984
-v -3.529752 30.035196 -0.524286
-v -2.889182 30.068596 -0.258952
-v -2.546952 54.333931 -0.117197
-v -4.056511 0.607158 0.742476
-v -4.056511 2.835144 0.742476
-v -4.763738 2.835144 1.035419
-v -4.763738 3.340722 1.035419
-v -3.277740 3.340722 0.419898
-v -3.092574 28.440485 0.343200
-v -4.002915 29.392422 0.720276
-v -4.188079 31.134907 0.796974
-v -4.518435 31.301920 0.933812
-v -4.518435 31.705118 0.933812
-v -3.714916 31.538105 0.600984
-v -3.529752 30.035196 0.524286
-v -2.889182 30.068596 0.258952
-v -2.546952 54.333931 0.117197
-v -3.006491 0.607158 1.792495
-v -3.006491 2.835144 1.792495
-v -3.299435 2.835144 2.499723
-v -3.299435 3.340722 2.499723
-v -2.683913 3.340722 1.013724
-v -2.607214 28.440485 0.828560
-v -2.984291 29.392422 1.738900
-v -3.060988 31.134907 1.924065
-v -3.197826 31.301920 2.254421
-v -3.197826 31.705118 2.254421
-v -2.864999 31.538105 1.450902
-v -2.788301 30.035196 1.265738
-v -2.522967 30.068596 0.625167
-v -2.381211 54.333931 0.282936
-v -1.521538 0.607158 1.792497
-v -1.521538 2.835144 1.792497
-v -1.228595 2.835144 2.499723
-v -1.228595 3.340722 2.499723
-v -1.844116 3.340722 1.013724
-v -1.920815 28.440485 0.828560
-v -1.543738 29.392422 1.738900
-v -1.467041 31.134907 1.924065
-v -1.330203 31.301920 2.254421
-v -1.330203 31.705118 2.254421
-v -1.663031 31.538105 1.450902
-v -1.739728 30.035196 1.265738
-v -2.005062 30.068596 0.625167
-v -2.146818 54.333931 0.282936
-v -1.732276 28.916454 1.283730
-v -2.795753 28.916454 1.283730
-v -2.378415 28.440485 0.828560
-v -2.149614 28.440485 0.828560
-v -2.086768 28.916454 1.283730
-v -2.441260 28.916454 1.283730
-v -10.859753 1.409189 15.317495
-v -10.505260 1.409189 15.317495
-v -10.442413 0.933218 14.862325
-v -10.671214 0.933218 14.862325
-v -3.396813 0.933175 14.862257
-v -3.625614 0.933175 14.862261
-v -3.562768 1.409142 15.317429
-v -3.208276 1.409142 15.317429
-v -7.081613 0.933123 14.862221
-v -7.310413 0.933123 14.862221
-v -7.373259 1.409093 15.317392
-v -7.018765 1.409093 15.317392
-v -32.243050 -19.185102 0.000000
-v -38.131035 -19.181059 0.000000
-v -38.073593 -19.202291 1.238075
-v -32.189545 -19.209759 1.238075
-v -24.875282 -19.207870 1.238075
-v -24.875282 -19.187256 0.000000
-v -21.158424 -19.201153 1.238075
-v -21.158424 -19.188753 0.000000
-v -17.426210 -19.199236 1.238075
-v -17.426210 -19.186226 0.000000
-v -10.703051 -19.188595 1.238075
-v -10.703051 -19.187540 0.000000
-v -6.862593 -19.192287 1.238075
-v -6.862593 -19.191231 0.000000
-v -2.943282 -19.197210 1.238075
-v -2.943282 -19.188084 0.000000
-v 2.420745 -19.188913 1.238075
-v 2.420745 -19.183977 0.000000
-v 7.603565 -19.183283 0.000000
-v 7.603565 -19.195683 1.238075
-v 12.967180 -18.306032 1.259959
-v 12.980299 -18.290831 0.000000
-v 16.730053 -16.014843 1.259959
-v 16.797665 -16.055038 0.000000
-v 19.381454 -13.269838 1.259959
-v 19.872108 -13.242973 0.000000
-v 22.486511 -8.349066 1.259959
-v 22.851847 -8.316385 0.000000
-v 24.247856 -5.150546 1.259967
-v 24.431244 -5.094540 0.000000
-v 26.552673 -2.858097 1.259976
-v 26.431309 -2.898813 0.000000
-v 29.468712 -0.579000 1.259978
-v 29.475975 -0.580864 0.000000
-v 30.889355 1.488847 1.259971
-v 30.886574 1.483778 0.000000
-v 30.887581 4.224448 1.259971
-v 30.886909 4.257463 0.000000
-v 29.521240 5.140058 1.259971
-v 29.460693 5.099638 0.000000
-v 27.605324 4.464114 1.605842
-v 27.489288 4.497021 0.000000
-v 27.217043 2.526036 1.605860
-v 27.104233 2.554623 0.000000
-v -32.122738 -17.475546 1.238075
-v -24.875282 -17.469940 1.238075
-v -21.158424 -17.471130 1.238075
-v -17.426210 -17.464722 1.238075
-v -10.703051 -17.446625 1.238075
-v -6.862593 -17.454201 1.238075
-v -2.943282 -17.458817 1.238075
-v 2.420745 -17.454708 1.238075
-v 7.603565 -17.449827 1.238075
-v 12.879044 -16.473442 1.238075
-v 16.405544 -14.094017 1.238075
-v 18.244587 -11.779632 1.238075
-v 20.710901 -7.529170 1.281522
-v 22.502172 -2.387520 1.780734
-v 26.162926 -1.127839 1.911312
-v 28.999243 0.125412 1.881888
-v -32.122726 -16.693306 4.355949
-v -24.875282 -16.438957 5.023836
-v -21.158424 -16.432545 5.456006
-v -17.426210 -16.414181 5.591547
-v -10.703051 -16.404001 5.960669
-v -6.862593 -16.404274 6.041844
-v -2.943282 -16.405006 6.357064
-v 2.420745 -16.404470 6.357064
-v 7.603565 -16.380497 6.357064
-v 12.832268 -15.500710 6.259944
-v 16.321648 -13.597433 5.927067
-v 18.157881 -11.652975 5.318019
-v 20.729614 -7.361181 4.084560
-v -32.122711 -15.201252 8.479453
-v -24.875282 -15.191301 8.889921
-v -21.158424 -15.188612 9.238050
-v -17.426210 -15.185617 9.648746
-v -10.703051 -15.151535 9.959948
-v -6.862593 -15.148084 10.122597
-v -2.943282 -15.161076 10.404315
-v 2.420745 -15.136637 10.490346
-v 7.603565 -15.139988 10.384273
-v 12.742552 -13.635256 10.271313
-v 16.052504 -12.004322 9.672956
-v 17.738865 -10.274949 8.849628
-v 20.423779 -6.674508 7.563237
-v 22.927841 -2.079975 5.293032
-v -32.122692 -13.101498 12.252906
-v -24.875282 -13.559512 12.869038
-v -21.158424 -13.563975 12.793823
-v -17.426210 -13.564394 13.015837
-v -10.703051 -13.542574 13.359402
-v -6.862593 -13.538811 13.468325
-v -2.943282 -13.548689 13.506525
-v 2.420745 -13.559494 13.319569
-v 7.603565 -13.121067 12.955379
-v 12.651917 -11.750661 12.163342
-v 15.776398 -10.370003 11.428668
-v 17.823387 -8.626553 10.201316
-v 20.243277 -5.812185 8.599287
-v 22.642578 -2.021900 6.338686
-v -32.122688 -10.525450 13.978191
-v -24.875282 -10.610699 14.971485
-v -21.158424 -10.603826 15.170494
-v -17.426210 -10.616206 15.433119
-v -10.703051 -10.590498 15.556311
-v -6.862593 -10.586885 15.660851
-v -2.943282 -10.611682 15.249158
-v 2.420745 -10.615954 14.819395
-v 7.603565 -10.423251 14.270162
-v 12.555428 -9.744363 13.830376
-v 15.481684 -8.625530 13.248377
-v 17.762831 -6.967863 11.940372
-v 19.731392 -4.773400 10.782165
-v 22.192654 -1.778881 8.919837
-v -38.881935 -16.109306 1.238075
-v -38.942127 -13.100367 1.238075
-v -32.122734 -13.101784 1.238075
-v -38.612694 -10.520290 1.238075
-v -32.122734 -10.529110 1.238075
-v -35.691887 -7.364658 1.238075
-v -32.122734 -7.294571 1.238075
-v -34.094254 -2.453040 1.238075
-v -32.122734 -2.380687 1.238075
-v -32.122818 3.000987 1.238075
-v -32.122829 0.590391 1.238075
-v -32.122726 -13.101580 3.815750
-v -32.122711 -13.101223 8.479156
-v -32.122711 -10.525373 8.478323
-v -32.122726 -10.527499 3.815633
-v -32.122726 -7.294347 3.815463
-v -32.122707 -7.294013 8.480250
-v -32.122684 -7.293530 14.206009
-v -32.122730 -2.380611 2.860078
-v -32.122726 -2.380491 4.517693
-v -32.122711 -3.604395 7.527471
-v -32.122704 -3.604366 9.285585
-v -32.122688 -3.604459 12.926102
-v -34.151215 -2.453028 0.000000
-v -35.631935 -7.364541 0.000000
-v -38.571144 -10.520123 0.000000
-v -38.914642 -13.100622 0.000000
-v -38.943748 -16.087477 0.000000
-v 26.141859 -0.943860 5.148655
-v 29.132690 0.554667 5.435258
-v 26.222294 -0.414192 7.186513
-v 23.797483 -0.793227 9.466203
-v 21.442825 -1.464471 9.712464
-v 22.778015 -0.755679 10.499197
-v 29.379856 3.334527 1.774282
-v 28.136330 2.362632 4.761501
-v 26.016197 1.315401 7.589925
-v 24.328785 1.265883 9.340617
-v 20.806227 -0.763545 10.438858
-v 21.705126 -0.275237 11.014637
-v 20.500061 0.752725 10.784106
-v 21.436293 0.883347 11.366537
-v 21.135654 1.550061 10.690931
-v 22.121262 1.561577 11.206270
-v 21.007219 3.249419 9.869397
-v 23.650299 1.840257 8.010921
-v 25.636337 1.698787 6.579282
-v 27.706768 2.015127 4.583124
-v 17.983040 6.662837 11.152293
-v 17.005033 6.662837 9.681633
-v 20.477345 3.637633 7.988389
-v 22.595039 2.320421 6.663224
-v 24.421982 1.686574 5.242180
-v 26.100426 1.864140 3.405339
-v 28.646168 2.885117 3.198632
-v 27.660387 1.772689 0.000000
-v 27.427397 1.142091 0.000000
-v 26.333582 1.027800 1.582581
-v 25.659239 1.174690 0.000000
-v 23.720354 0.966969 4.569222
-v 23.102367 0.608405 0.000000
-v 21.179319 1.176081 0.000000
-v 21.278627 1.400611 1.803334
-v 16.906103 5.316076 1.586848
-v 16.906103 5.316102 0.000000
-v 18.888571 1.302237 1.623599
-v 21.060875 1.981712 6.729387
-v 19.376360 2.471233 7.869488
-v 16.906103 5.316122 8.994491
-v 6.683901 5.316105 9.844049
-v 6.683901 5.315889 1.586848
-v 6.675109 5.316054 0.000000
-v 19.400375 -3.691560 11.374310
-v 18.681934 -1.983630 11.338428
-v 17.373505 -5.228647 12.646860
-v 16.633705 -3.074314 12.192126
-v 15.075657 -6.222204 13.865580
-v 14.621896 -3.523885 13.566364
-v 12.255808 -3.514410 13.771845
-v 12.411800 -6.757924 14.212804
-v 7.603565 -7.188782 14.846800
-v 7.603565 -3.490891 14.606509
-v 2.420745 -7.173941 15.276383
-v 2.420745 -3.480093 14.919241
-v -2.943282 -7.166555 15.589163
-v -2.961988 -3.473636 15.106121
-v -4.439586 -3.475051 15.065130
-v -6.862593 -7.149532 15.766785
-v -6.464514 -3.472743 15.131924
-v -8.018665 -3.474161 15.090826
-v -10.703051 -7.164166 15.766442
-v -9.989845 -3.475893 15.040714
-v -11.494260 -3.481347 14.882881
-v -17.426210 -7.163010 15.619746
-v -17.426210 -3.476307 15.028784
-v -21.158424 -7.158087 15.411015
-v -21.158424 -3.491715 14.582708
-v -24.875282 -7.172729 15.149325
-v -24.875282 -3.502623 14.266861
-v 18.104813 -0.132791 11.438385
-v 17.807384 1.818409 11.514686
-v 16.016308 -0.209789 12.214762
-v 15.502045 1.959264 11.977353
-v 15.252133 4.364689 12.089524
-v 17.344368 4.240352 11.840204
-v 13.062292 4.818222 12.265154
-v 13.673447 2.077692 12.471821
-v 14.041731 -0.091286 13.220635
-v 11.917332 -0.092658 13.622351
-v 11.917332 3.738120 12.682102
-v 13.062292 3.738120 12.646502
-v 13.062292 3.738120 13.693560
-v 13.062292 4.882016 13.297487
-v 6.935244 4.838787 12.860477
-v 6.935244 4.877757 13.657490
-v 11.917332 3.738120 13.693560
-v 10.851164 3.738120 13.693560
-v 9.059711 3.738120 13.693560
-v 7.942212 3.738120 13.693560
-v 6.935244 3.738120 13.693585
-v 10.851164 -0.092025 13.680202
-v 10.851164 3.738120 13.099374
-v 9.059711 -0.082416 13.958302
-v 9.059711 3.738120 13.247311
-v 7.942212 -0.088027 13.795906
-v 7.942212 3.738120 12.994835
-v 6.935244 3.738120 12.932455
-v 2.420745 -0.081102 13.996309
-v 2.420745 1.569107 13.480452
-v 2.420745 3.221424 12.616695
-v -1.886394 3.221424 12.694532
-v -1.898796 1.579293 13.775311
-v -1.898796 -0.093726 14.123177
-v -2.961988 -0.093726 14.123177
-v -2.961988 -0.093726 15.846119
-v -4.439586 -0.093726 15.846119
-v -6.464514 -0.093726 15.846119
-v -8.018665 -0.093726 15.846119
-v -9.989845 -0.093726 15.846119
-v -11.494260 -0.093726 15.846119
-v -6.464514 -0.093726 14.123177
-v -4.439586 -0.093726 14.123177
-v -9.989845 -0.093726 14.123177
-v -8.018665 -0.093726 14.123177
-v -12.515305 -0.093726 14.123177
-v -11.494260 -0.093726 14.123177
-v -12.515305 1.643136 15.278696
-v -1.898796 1.623528 15.278696
-v -1.898796 -0.093726 15.846119
-v -12.515305 -0.093726 15.846119
-v -12.515305 1.580878 13.821227
-v -8.522958 3.221424 12.703880
-v -10.136595 4.386232 12.483255
-v -12.771408 4.612774 12.141369
-v -13.215079 9.087099 12.333536
-v -17.426210 -0.085238 13.876673
-v -17.327192 1.568238 13.455286
-v -18.602346 1.558287 13.167220
-v -21.158424 -0.093337 13.642082
-v -20.301380 1.560132 13.220694
-v -21.564625 1.545988 12.811226
-v -24.875282 -0.115279 13.006975
-v -24.875282 1.535080 12.495492
-v -18.602346 5.420457 13.195373
-v -17.327192 5.420457 13.195373
-v -20.301380 5.420457 13.195373
-v -21.564625 5.420457 13.195373
-v -22.943232 5.420457 13.195373
-v -22.943232 6.953562 13.019781
-v -16.144386 6.964816 13.345592
-v -16.144386 5.420457 13.195373
-v -17.327192 5.420457 11.781666
-v -16.144386 5.420457 11.781666
-v -16.144386 6.916856 11.957180
-v -20.301380 5.420457 11.781666
-v -18.602346 5.420457 11.781666
-v -22.943232 6.914290 11.882894
-v -19.419006 9.058252 11.675020
-v -20.785156 10.432585 11.266025
-v -22.943232 5.420457 11.781666
-v -21.564625 5.420457 11.781666
-v -24.875282 11.097299 11.310978
-v -22.073826 12.809116 11.031629
-v -30.663502 11.097299 10.697601
-v -30.324631 13.255548 10.468728
-v -30.036606 14.678006 10.958575
-v -22.617615 13.859209 11.521384
-v -32.024277 15.183992 8.240927
-v -22.549631 13.892679 9.395622
-v -33.987694 15.764829 10.182573
-v -33.718784 15.003299 10.658934
-v -33.772961 13.609431 10.011785
-v -33.887344 11.097299 10.130578
-v -34.301479 16.149021 7.782318
-v -32.866196 16.196304 7.754097
-v -35.090012 19.437290 4.864941
-v -33.522549 19.528704 4.747104
-v -35.784195 21.577259 2.965577
-v -34.027481 21.557823 2.963631
-v -36.012775 22.438992 1.238075
-v -34.225647 22.404272 1.238075
-v -36.034115 22.694397 0.000000
-v -34.290081 22.667803 0.000000
-v -35.982044 20.292164 0.000000
-v -35.525314 19.202272 2.929065
-v -35.834301 18.574884 0.000000
-v -34.960712 15.855540 2.964757
-v -35.472115 15.759262 0.000000
-v -35.266460 13.591896 0.000000
-v -34.620663 13.597372 2.965675
-v -34.500881 12.321301 2.967943
-v -35.115417 12.681304 0.000000
-v -33.745373 13.603200 7.767865
-v -33.643600 11.097299 7.760621
-v -29.725348 1.534853 12.693987
-v -29.951672 -0.553082 12.838999
-v -29.089066 -2.256183 13.223326
-v -29.440445 -3.531864 13.420376
-v -26.469778 9.078413 12.638399
-v -30.376698 9.078413 12.195282
-v -34.513470 9.078413 11.671916
-v -35.326443 9.078413 8.519265
-v -36.337158 10.302411 4.204359
-v -32.288364 14.311578 0.000000
-v -38.840782 8.738811 0.000000
-v -36.824764 10.662413 0.000000
-v -38.226944 8.378810 4.931240
-v -37.265987 7.154811 10.030826
-v -36.054546 7.154811 15.249533
-v -31.044762 7.154811 15.397676
-v -28.175797 7.154811 15.624508
-v -26.515152 1.792719 14.466270
-v -28.182747 3.357670 15.498522
-v -30.193434 1.779966 14.420488
-v -31.038305 3.357670 15.387860
-v -35.530365 3.357670 15.019470
-v -36.705807 3.357670 10.029904
-v -37.666824 4.581672 4.931256
-v -38.222157 4.941670 0.000000
-v -36.700283 3.003968 2.860110
-v -37.202202 3.363967 0.000000
-v -36.408623 3.003968 4.518372
-v -35.959934 1.779966 7.527570
-v -35.191723 1.779966 9.285604
-v -34.204334 1.779966 14.226349
-v -30.329147 -0.633617 13.908249
-v -32.748100 -0.633628 13.436047
-v -29.538437 -2.280977 14.046997
-v -29.785950 -3.192493 13.980194
-v -30.527657 -3.185613 13.899263
-v -32.122818 1.776985 9.285594
-v -32.122818 1.776985 11.058003
-v -32.122688 -0.633649 11.458102
-v -32.122746 -0.633664 9.285579
-v -34.194592 -0.633673 9.285544
-v -34.248096 -0.633676 7.527580
-v -32.122818 3.000987 4.518517
-v -32.122818 1.776985 7.526671
-v -32.122761 -0.633678 7.527228
-v -32.122795 0.590334 4.518468
-v -33.900768 0.590325 4.518118
-v -34.417446 0.590306 2.860096
-v -34.639442 1.779966 11.836490
-v -33.089638 -0.885639 12.303194
-v -33.722881 3.003968 0.000000
-v -32.122818 3.000965 2.859260
-v -32.122826 0.590387 2.859397
-v -33.910358 21.114786 0.000000
-v -33.503494 19.450775 0.000000
-v -32.879219 16.897564 0.000000
-v -32.471931 15.231831 0.000000
-v -31.481258 12.189013 0.000000
-v -31.478973 12.189011 7.300096
-v -23.230810 12.189157 8.507561
-v -23.230810 12.188995 0.000000
-v -23.230810 12.189054 5.906754
-v -19.385841 7.391382 6.580861
-v -19.385841 7.391684 8.968118
-v -21.167429 7.390899 6.153070
-v -21.167429 7.390496 0.000000
-v -13.892597 7.391925 9.847868
-v -14.133162 7.391512 7.171891
-v -14.133162 7.391360 0.000000
-v -21.997017 12.885773 9.282518
-v -20.622669 10.264604 9.549243
-v -19.292164 9.097214 9.702837
-v -13.192261 9.087229 10.726978
-v -10.064362 4.446222 10.991236
-v -8.351521 3.221424 11.058840
-v -1.598226 3.221424 11.134462
-v 2.452951 3.221424 10.998412
-v 4.365315 4.001073 10.953445
-v 4.422665 4.063653 12.498808
-v 5.530656 6.149844 10.682220
-v 5.533552 6.171984 12.384296
-v 7.360672 6.662837 12.189878
-v 7.977384 6.662837 10.348160
-v 15.594139 6.662837 11.461397
-v 12.972380 6.662837 11.684002
-v -9.777788 1.447089 10.415768
-v -9.777788 1.447089 7.505733
-v -12.005382 1.447089 7.353243
-v -12.005382 1.447089 0.000000
-v -9.777788 1.447089 0.000000
-v -1.954006 1.447089 0.000000
-v -1.881737 1.447089 10.419345
-v 3.275857 1.447089 0.000000
-v 3.275857 1.447089 1.586848
-v 3.275857 1.447089 10.142793
-v 5.568399 1.447089 1.586848
-v 5.568399 1.447089 10.053401
-v 21.363655 1.139118 5.173973
-v -33.722420 3.002194 1.266791
-v -30.977203 -3.573457 13.137188
-v 21.934351 1.656698 10.462739
-v 24.074268 1.416270 8.771894
-v 25.925503 1.399094 7.091439
-v -8.976471 1.636600 15.278696
-v -5.437628 1.630064 15.278696
-v 15.260481 3.703158 0.742476
-v 15.260481 5.931142 0.742476
-v 15.967709 5.931142 1.035419
-v 15.967709 6.436721 1.035419
-v 14.481710 6.436721 0.419898
-v 14.296546 24.624481 0.343200
-v 15.206884 25.576418 0.720276
-v 15.392049 27.318907 0.796974
-v 15.722405 27.485916 0.933812
-v 15.722405 27.889114 0.933812
-v 14.918887 27.722105 0.600984
-v 14.733723 26.219193 0.524286
-v 14.093153 26.252592 0.258952
-v 13.750921 46.881989 0.117197
-v 15.260481 3.703158 -0.742476
-v 15.260481 5.931142 -0.742476
-v 15.967709 5.931142 -1.035419
-v 15.967709 6.436721 -1.035419
-v 14.481710 6.436721 -0.419898
-v 14.296546 24.624481 -0.343200
-v 15.206884 25.576418 -0.720276
-v 15.392050 27.318907 -0.796974
-v 15.722405 27.485916 -0.933812
-v 15.722405 27.889114 -0.933812
-v 14.918887 27.722105 -0.600984
-v 14.733723 26.219193 -0.524286
-v 14.093153 26.252592 -0.258952
-v 13.750921 46.881989 -0.117197
-v 14.210463 3.703158 -1.792495
-v 13.585180 46.881989 -0.282936
-v 12.725510 3.703158 -1.792497
-v 13.350788 46.881989 -0.282936
-v 11.675488 3.703158 -0.742476
-v 11.675488 5.931142 -0.742476
-v 10.968261 5.931142 -1.035419
-v 10.968261 6.436721 -1.035419
-v 12.454259 6.436721 -0.419898
-v 12.639424 24.624481 -0.343200
-v 11.729083 25.576418 -0.720276
-v 11.543920 27.318907 -0.796974
-v 11.213565 27.485916 -0.933812
-v 11.213565 27.889114 -0.933812
-v 12.017083 27.722105 -0.600984
-v 12.202246 26.219193 -0.524286
-v 12.842817 26.252592 -0.258952
-v 13.185047 46.881989 -0.117197
-v 11.675488 3.703158 0.742476
-v 11.675488 5.931142 0.742476
-v 10.968261 5.931142 1.035419
-v 10.968261 6.436721 1.035419
-v 12.454259 6.436721 0.419898
-v 12.639424 24.624481 0.343200
-v 11.729083 25.576418 0.720276
-v 11.543920 27.318907 0.796974
-v 11.213565 27.485916 0.933812
-v 11.213565 27.889114 0.933812
-v 12.017083 27.722105 0.600984
-v 12.202246 26.219193 0.524286
-v 12.842817 26.252592 0.258952
-v 13.185047 46.881989 0.117197
-v 12.725510 3.703158 1.792495
-v 12.725510 5.931142 1.792495
-v 12.432567 5.931142 2.499723
-v 12.432567 6.436721 2.499723
-v 13.048086 6.436721 1.013724
-v 13.124784 24.624481 0.828560
-v 12.747708 25.576418 1.738900
-v 12.671010 27.318907 1.924065
-v 12.534173 27.485916 2.254421
-v 12.534173 27.889114 2.254421
-v 12.867002 27.722105 1.450902
-v 12.943699 26.219193 1.265738
-v 13.209031 26.252592 0.625167
-v 13.350788 46.881989 0.282936
-v 14.210463 3.703158 1.792497
-v 14.210463 5.931142 1.792497
-v 14.503405 5.931142 2.499723
-v 14.503405 6.436721 2.499723
-v 13.887884 6.436721 1.013724
-v 13.811186 24.624481 0.828560
-v 14.188262 25.576418 1.738900
-v 14.264960 27.318907 1.924065
-v 14.401797 27.485916 2.254421
-v 14.401797 27.889114 2.254421
-v 14.068970 27.722105 1.450902
-v 13.992271 26.219193 1.265738
-v 13.726938 26.252592 0.625167
-v 13.585180 46.881989 0.282936
-v 13.999723 25.100452 1.283730
-v 12.936247 25.100452 1.283730
-v 13.467985 25.100452 1.283730
-v 13.467985 24.624481 0.828560
-v 11.795187 4.078778 12.650445
-v 11.451985 4.078778 12.650445
-v 11.451985 4.554746 13.105617
-v 11.983724 4.554746 13.105617
-v 8.480783 4.078758 12.650431
-v 8.292243 4.554726 13.105604
-v 8.823982 4.554726 13.105604
-v 8.823982 4.078758 12.650431
-v -16.707516 6.115158 0.742476
-v -16.707516 8.343143 0.742476
-v -16.000288 8.343143 1.035419
-v -16.000288 8.848721 1.035419
-v -17.486286 8.848721 0.419898
-v -17.671450 27.036480 0.343200
-v -16.761112 27.988419 0.720276
-v -16.575949 29.730904 0.796974
-v -16.245590 29.897915 0.933812
-v -16.245590 30.301113 0.933812
-v -17.049109 30.134102 0.600984
-v -17.234274 28.631191 0.524286
-v -17.874844 28.664593 0.258952
-v -18.217075 49.293991 0.117197
-v -16.707516 6.115158 -0.742476
-v -16.707516 8.343143 -0.742476
-v -16.000288 8.343143 -1.035419
-v -16.000288 8.848721 -1.035419
-v -17.486286 8.848721 -0.419898
-v -17.671450 27.036480 -0.343200
-v -16.761112 27.988419 -0.720276
-v -16.575947 29.730904 -0.796974
-v -16.245590 29.897915 -0.933812
-v -16.245590 30.301113 -0.933812
-v -17.049109 30.134102 -0.600984
-v -17.234274 28.631191 -0.524286
-v -17.874844 28.664593 -0.258952
-v -18.217075 49.293991 -0.117197
-v -17.757534 6.115158 -1.792495
-v -18.382814 49.293991 -0.282936
-v -19.242489 6.115158 -1.792497
-v -18.617208 49.293991 -0.282936
-v -20.292507 6.115158 -0.742476
-v -20.292507 8.343143 -0.742476
-v -20.999735 8.343143 -1.035419
-v -20.999735 8.848721 -1.035419
-v -19.513737 8.848721 -0.419898
-v -19.328571 27.036480 -0.343200
-v -20.238913 27.988419 -0.720276
-v -20.424078 29.730904 -0.796974
-v -20.754433 29.897915 -0.933812
-v -20.754433 30.301113 -0.933812
-v -19.950914 30.134102 -0.600984
-v -19.765751 28.631191 -0.524286
-v -19.125179 28.664593 -0.258952
-v -18.782949 49.293991 -0.117197
-v -20.292509 6.115158 0.742476
-v -20.292509 8.343143 0.742476
-v -20.999735 8.343143 1.035419
-v -20.999735 8.848721 1.035419
-v -19.513737 8.848721 0.419898
-v -19.328571 27.036480 0.343200
-v -20.238913 27.988419 0.720276
-v -20.424078 29.730904 0.796974
-v -20.754433 29.897915 0.933812
-v -20.754433 30.301113 0.933812
-v -19.950914 30.134102 0.600984
-v -19.765751 28.631191 0.524286
-v -19.125179 28.664593 0.258952
-v -18.782949 49.293991 0.117197
-v -19.242489 6.115158 1.792495
-v -19.242489 8.343143 1.792495
-v -19.535431 8.343143 2.499723
-v -19.535431 8.848721 2.499723
-v -18.919910 8.848721 1.013724
-v -18.843212 27.036480 0.828560
-v -19.220287 27.988419 1.738900
-v -19.296986 29.730904 1.924065
-v -19.433825 29.897915 2.254421
-v -19.433825 30.301113 2.254421
-v -19.100996 30.134102 1.450902
-v -19.024298 28.631191 1.265738
-v -18.758965 28.664593 0.625167
-v -18.617208 49.293991 0.282936
-v -17.757534 6.115158 1.792497
-v -17.757534 8.343143 1.792497
-v -17.464592 8.343143 2.499723
-v -17.464592 8.848721 2.499723
-v -18.080112 8.848721 1.013724
-v -18.156811 27.036480 0.828560
-v -17.779734 27.988419 1.738900
-v -17.703035 29.730904 1.924065
-v -17.566198 29.897915 2.254421
-v -17.566198 30.301113 2.254421
-v -17.899027 30.134102 1.450902
-v -17.975723 28.631191 1.265738
-v -18.241058 28.664593 0.625167
-v -18.382814 49.293991 0.282936
-v -17.968273 27.512449 1.283730
-v -19.031750 27.512449 1.283730
-v -18.500011 27.512449 1.283730
-v -18.500011 27.036480 0.828560
-v -17.796808 6.058776 12.650445
-v -18.140011 6.058776 12.650445
-v -18.140011 6.534745 13.105617
-v -17.608273 6.534745 13.105617
-v -21.111214 6.058758 12.650431
-v -21.299751 6.534726 13.105604
-v -20.768013 6.534726 13.105604
-v -20.768013 6.058758 12.650431
-v -35.773300 31.489208 0.000000
-v -34.736378 21.021118 0.000000
-v -34.903202 23.332542 0.000000
-v -34.561050 23.357229 0.000000
-v -34.583500 23.668274 0.000000
-v -34.171692 24.893951 0.000000
-v -33.985054 24.907419 0.000000
-v -34.005249 25.187370 0.000000
-v -35.056408 25.455433 0.000000
-v -34.738964 25.822281 0.000000
-v -35.099068 26.046429 0.000000
-v -34.818378 21.015203 -0.198465
-v -34.985210 23.326622 -0.198465
-v -34.743275 23.344069 -0.441034
-v -34.765717 23.655121 -0.441034
-v -34.499660 24.870266 -0.793862
-v -34.367695 24.879795 -0.926172
-v -34.387901 25.159744 -0.926172
-v -35.138412 25.449520 -0.198465
-v -34.921173 25.809122 -0.441034
-v -35.181068 26.040510 -0.198465
-v -35.016331 21.000908 -0.280672
-v -35.183147 23.312332 -0.280672
-v -35.183147 23.312332 -0.623716
-v -35.205605 23.623371 -0.623716
-v -35.291466 24.813129 -1.122690
-v -35.291466 24.813129 -1.309804
-v -35.311668 25.093071 -1.309804
-v -35.336365 25.435234 -0.280672
-v -35.361061 25.777367 -0.623716
-v -35.379028 26.026230 -0.280672
-v -35.214291 20.986626 -0.198465
-v -35.381107 23.298044 -0.198465
-v -35.623047 23.280582 -0.441034
-v -35.645496 23.591629 -0.441034
-v -36.083260 24.755985 -0.793862
-v -36.215240 24.746449 -0.926172
-v -36.235443 25.026409 -0.926172
-v -35.534321 25.420948 -0.198465
-v -35.800957 25.745636 -0.441034
-v -35.576973 26.011936 -0.198465
-v -35.296280 20.980709 0.000000
-v -35.463108 23.292116 0.000000
-v -35.805252 23.267427 0.000000
-v -35.827702 23.578472 0.000000
-v -36.411251 24.732311 0.000000
-v -36.597878 24.718842 0.000000
-v -36.618084 24.998800 0.000000
-v -35.616310 25.415024 0.000000
-v -35.983170 25.732475 0.000000
-v -35.658962 26.006020 0.000000
-v -35.214291 20.986626 0.198465
-v -35.381107 23.298044 0.198465
-v -35.623047 23.280582 0.441034
-v -35.645496 23.591629 0.441034
-v -36.083260 24.755985 0.793862
-v -36.215240 24.746449 0.926172
-v -36.235443 25.026409 0.926172
-v -35.534321 25.420948 0.198465
-v -35.800957 25.745636 0.441034
-v -35.576973 26.011936 0.198465
-v -35.016331 21.000908 0.280672
-v -35.183147 23.312332 0.280672
-v -35.183147 23.312332 0.623716
-v -35.205605 23.623371 0.623716
-v -35.291466 24.813129 1.122690
-v -35.291466 24.813129 1.309804
-v -35.311668 25.093071 1.309804
-v -35.336365 25.435234 0.280672
-v -35.361061 25.777367 0.623716
-v -35.379028 26.026230 0.280672
-v -34.818378 21.015203 0.198465
-v -34.985210 23.326622 0.198465
-v -34.743275 23.344069 0.441034
-v -34.765717 23.655121 0.441034
-v -34.499660 24.870266 0.793862
-v -34.367695 24.879795 0.926172
-v -34.387901 25.159744 0.926172
-v -35.138412 25.449520 0.198465
-v -34.921173 25.809122 0.441034
-v -35.181068 26.040510 0.198465
-v 41.515854 14.389792 0.409083
-v 19.986862 -0.162336 0.821899
-v 41.677841 14.150139 0.289265
-v 20.312319 -0.643831 0.581170
-v 41.744942 14.050873 0.000000
-v 20.447128 -0.843273 0.000000
-v 41.677841 14.150139 -0.289265
-v 20.312319 -0.643831 -0.581170
-v 41.515854 14.389792 -0.409081
-v 19.986862 -0.162336 -0.821899
-v 41.353859 14.629446 -0.289265
-v 19.661402 0.319160 -0.581170
-v 41.286762 14.728712 0.000000
-v 19.526598 0.518598 0.000000
-v 41.353859 14.629446 0.289265
-v 19.661402 0.319160 0.581170
-v -32.189545 -19.209759 -1.238075
-v -38.073593 -19.202291 -1.238075
-v -24.875282 -19.207870 -1.238075
-v -21.158424 -19.201153 -1.238075
-v -17.426210 -19.199236 -1.238075
-v -10.703051 -19.188595 -1.238075
-v -6.862593 -19.192287 -1.238075
-v -2.943282 -19.197210 -1.238075
-v 2.420745 -19.188913 -1.238075
-v 12.967180 -18.306032 -1.259959
-v 7.603565 -19.195683 -1.238075
-v 16.730053 -16.014843 -1.259959
-v 19.381454 -13.269838 -1.259959
-v 22.486511 -8.349066 -1.259959
-v 24.247856 -5.150546 -1.259967
-v 26.552673 -2.858097 -1.259976
-v 29.468712 -0.579000 -1.259978
-v 30.889355 1.488847 -1.259971
-v 30.887581 4.224448 -1.259971
-v 29.521240 5.140058 -1.259971
-v 27.605324 4.464114 -1.605842
-v 27.217043 2.526036 -1.605860
-v -32.122738 -17.475546 -1.238075
-v -24.875282 -17.469940 -1.238075
-v -21.158424 -17.471130 -1.238075
-v -17.426210 -17.464722 -1.238075
-v -10.703051 -17.446625 -1.238075
-v -6.862593 -17.454201 -1.238075
-v -2.943282 -17.458817 -1.238075
-v 2.420745 -17.454708 -1.238075
-v 7.603565 -17.449827 -1.238075
-v 12.879044 -16.473442 -1.238075
-v 16.405544 -14.094017 -1.238075
-v 18.244587 -11.779632 -1.238075
-v 20.710901 -7.529170 -1.281522
-v 22.502172 -2.387520 -1.780734
-v 26.162926 -1.127839 -1.911312
-v 28.999243 0.125412 -1.881888
-v -38.881935 -16.109306 -1.238075
-v -32.122734 -13.101784 -1.238075
-v -38.942127 -13.100367 -1.238075
-v -32.122734 -10.529110 -1.238075
-v -38.612694 -10.520290 -1.238075
-v -32.122734 -7.294571 -1.238075
-v -35.691887 -7.364658 -1.238075
-v -32.122734 -2.380687 -1.238075
-v -34.094254 -2.453040 -1.238075
-v -33.722420 3.002194 -1.266791
-v -32.122829 0.590391 -1.238075
-v -32.122818 3.000987 -1.238075
-v -32.122726 -16.693306 -4.355949
-v -32.122726 -13.101580 -3.815750
-v -32.122711 -15.201252 -8.479453
-v -32.122711 -13.101223 -8.479156
-v -32.122692 -13.101498 -12.252906
-v -32.122688 -10.525450 -13.978191
-v -32.122711 -10.525373 -8.478323
-v -32.122726 -10.527499 -3.815633
-v -32.122726 -7.294347 -3.815463
-v -32.122707 -7.294013 -8.480250
-v -32.122684 -7.293530 -14.206009
-v -32.122730 -2.380611 -2.860078
-v -32.122726 -2.380491 -4.517693
-v -32.122711 -3.604395 -7.527471
-v -32.122704 -3.604366 -9.285585
-v -32.122688 -3.604459 -12.926102
-v 22.927841 -2.079975 -5.293032
-v 26.141859 -0.943860 -5.148655
-v 29.132690 0.554667 -5.435258
-v 26.222294 -0.414192 -7.186513
-v 22.642578 -2.021900 -6.338686
-v 22.192654 -1.778881 -8.919837
-v 23.797483 -0.793227 -9.466203
-v 22.778015 -0.755679 -10.499197
-v 21.442825 -1.464471 -9.712464
-v 29.379856 3.334527 -1.774282
-v 28.136330 2.362632 -4.761501
-v 26.016197 1.315401 -7.589925
-v 24.328785 1.265883 -9.340617
-v 21.705126 -0.275237 -11.014637
-v 20.806227 -0.763545 -10.438858
-v 21.436293 0.883347 -11.366537
-v 20.500061 0.752725 -10.784106
-v 22.121262 1.561577 -11.206270
-v 21.135654 1.550061 -10.690931
-v 21.934351 1.656698 -10.462739
-v 24.074268 1.416270 -8.771894
-v 25.925503 1.399094 -7.091439
-v 17.005033 6.662837 -9.681633
-v 17.983040 6.662837 -11.152293
-v 21.007219 3.249419 -9.869397
-v 20.477345 3.637633 -7.988389
-v 23.650299 1.840257 -8.010921
-v 22.595039 2.320421 -6.663224
-v 25.636337 1.698787 -6.579282
-v 24.421982 1.686574 -5.242180
-v 27.706768 2.015127 -4.583124
-v 26.100426 1.864140 -3.405339
-v 28.646168 2.885117 -3.198632
-v 26.333582 1.027800 -1.582581
-v 23.720354 0.966969 -4.569222
-v 21.278627 1.400611 -1.803334
-v 16.906103 5.316076 -1.586848
-v 18.888571 1.302237 -1.623599
-v 19.376360 2.471233 -7.869488
-v 21.060875 1.981712 -6.729387
-v 16.906103 5.316122 -8.994491
-v 6.683901 5.316105 -9.844049
-v 6.683901 5.315889 -1.586848
-v 18.681934 -1.983630 -11.338428
-v 19.400375 -3.691560 -11.374310
-v 16.633705 -3.074314 -12.192126
-v 17.373505 -5.228647 -12.646860
-v 14.621896 -3.523885 -13.566364
-v 15.075657 -6.222204 -13.865580
-v 12.411800 -6.757924 -14.212804
-v 12.255808 -3.514410 -13.771845
-v 7.603565 -3.490891 -14.606509
-v 7.603565 -7.188782 -14.846800
-v 2.420745 -3.480093 -14.919241
-v 2.420745 -7.173941 -15.276383
-v -2.961988 -3.473636 -15.106121
-v -2.943282 -7.166555 -15.589163
-v -4.439586 -3.475051 -15.065130
-v -6.464514 -3.472743 -15.131924
-v -6.862593 -7.149532 -15.766785
-v -8.018665 -3.474161 -15.090826
-v -9.989845 -3.475893 -15.040714
-v -10.703051 -7.164166 -15.766442
-v -11.494260 -3.481347 -14.882881
-v -17.426210 -3.476307 -15.028784
-v -17.426210 -7.163010 -15.619746
-v -21.158424 -3.491715 -14.582708
-v -21.158424 -7.158087 -15.411015
-v -24.875282 -3.502623 -14.266861
-v -24.875282 -7.172729 -15.149325
-v 18.104813 -0.132791 -11.438385
-v 17.807384 1.818409 -11.514686
-v 16.016308 -0.209789 -12.214762
-v 15.502045 1.959264 -11.977353
-v 17.344368 4.240352 -11.840204
-v 15.252133 4.364689 -12.089524
-v 13.673447 2.077692 -12.471821
-v 14.041731 -0.091286 -13.220635
-v 11.917332 -0.092658 -13.622351
-v 11.917332 3.738120 -12.682102
-v 13.062292 3.738120 -12.646502
-v 13.062292 4.818222 -12.265154
-v 13.062292 4.882016 -13.297487
-v 13.062292 3.738120 -13.693560
-v 6.935244 4.838787 -12.860477
-v 6.935244 4.877757 -13.657490
-v 11.917332 3.738120 -13.693560
-v 10.851164 3.738120 -13.693560
-v 10.851164 -0.092025 -13.680202
-v 10.851164 3.738120 -13.099374
-v 9.059711 3.738120 -13.247311
-v 9.059711 -0.082416 -13.958302
-v 9.059711 3.738120 -13.693560
-v 7.942212 -0.088027 -13.795906
-v 7.942212 3.738120 -13.693560
-v 7.942212 3.738120 -12.994835
-v 6.935244 3.738120 -12.932455
-v 6.935244 3.738120 -13.693585
-v 2.420745 1.569107 -13.480452
-v 2.420745 -0.081102 -13.996309
-v 2.420745 3.221424 -12.616695
-v -1.886394 3.221424 -12.694532
-v -1.898796 1.579293 -13.775311
-v -1.898796 -0.093726 -14.123177
-v -2.961988 -0.093726 -14.123177
-v -2.961988 -0.093726 -15.846119
-v -4.439586 -0.093726 -15.846119
-v -6.464514 -0.093726 -15.846119
-v -8.018665 -0.093726 -15.846119
-v -9.989845 -0.093726 -15.846119
-v -11.494260 -0.093726 -15.846119
-v -6.464514 -0.093726 -14.123177
-v -4.439586 -0.093726 -14.123177
-v -8.018665 -0.093726 -14.123177
-v -9.989845 -0.093726 -14.123177
-v -11.494260 -0.093726 -14.123177
-v -12.515305 -0.093726 -14.123177
-v -12.515305 1.643136 -15.278696
-v -12.515305 -0.093726 -15.846119
-v -8.522958 3.221424 -12.703880
-v -12.515305 1.580878 -13.821227
-v -10.136595 4.386232 -12.483255
-v -12.771408 4.612774 -12.141369
-v -13.215079 9.087099 -12.333536
-v -1.898796 1.623528 -15.278696
-v -1.898796 -0.093726 -15.846119
-v -8.976471 1.636600 -15.278696
-v -5.437628 1.630064 -15.278696
-v -17.426210 -0.085238 -13.876673
-v -17.327192 1.568238 -13.455286
-v -18.602346 1.558287 -13.167220
-v -20.301380 1.560132 -13.220694
-v -21.158424 -0.093337 -13.642082
-v -21.564625 1.545988 -12.811226
-v -24.875282 1.535080 -12.495492
-v -24.875282 -0.115279 -13.006975
-v -17.327192 5.420457 -13.195373
-v -18.602346 5.420457 -13.195373
-v -16.144386 5.420457 -13.195373
-v -16.144386 6.964816 -13.345592
-v -20.301380 5.420457 -13.195373
-v -21.564625 5.420457 -13.195373
-v -16.144386 5.420457 -11.781666
-v -17.327192 5.420457 -11.781666
-v -16.144386 6.916856 -11.957180
-v -18.602346 5.420457 -11.781666
-v -20.301380 5.420457 -11.781666
-v -19.419006 9.058252 -11.675020
-v -22.943232 6.914290 -11.882894
-v -20.785156 10.432585 -11.266025
-v -22.943232 6.953562 -13.019781
-v -22.943232 5.420457 -11.781666
-v -22.943232 5.420457 -13.195373
-v -21.564625 5.420457 -11.781666
-v -24.875282 11.097299 -11.310978
-v -22.073826 12.809116 -11.031629
-v -30.324631 13.255548 -10.468728
-v -30.663502 11.097299 -10.697601
-v -22.617615 13.859209 -11.521384
-v -30.036606 14.678006 -10.958575
-v -22.549631 13.892679 -9.395622
-v -32.024277 15.183992 -8.240927
-v -33.987694 15.764829 -10.182573
-v -33.718784 15.003299 -10.658934
-v -33.772961 13.609431 -10.011785
-v -33.887344 11.097299 -10.130578
-v -32.866196 16.196304 -7.754097
-v -34.301479 16.149021 -7.782318
-v -33.522549 19.528704 -4.747104
-v -35.090012 19.437290 -4.864941
-v -34.027481 21.557823 -2.963631
-v -35.784195 21.577259 -2.965577
-v -34.225647 22.404272 -1.238075
-v -36.012775 22.438992 -1.238075
-v -35.525314 19.202272 -2.929065
-v -34.960712 15.855540 -2.964757
-v -34.620663 13.597372 -2.965675
-v -34.500881 12.321301 -2.967943
-v -33.643600 11.097299 -7.760621
-v -33.745373 13.603200 -7.767865
-v -29.725348 1.534853 -12.693987
-v -29.951672 -0.553082 -12.838999
-v -29.089066 -2.256183 -13.223326
-v -29.440445 -3.531864 -13.420376
-v -30.977203 -3.573457 -13.137188
-v -26.469778 9.078413 -12.638399
-v -30.376698 9.078413 -12.195282
-v -34.513470 9.078413 -11.671916
-v -35.326443 9.078413 -8.519265
-v -36.337158 10.302411 -4.204359
-v -38.226944 8.378810 -4.931240
-v -37.265987 7.154811 -10.030826
-v -36.054546 7.154811 -15.249533
-v -31.044762 7.154811 -15.397676
-v -28.175797 7.154811 -15.624508
-v -28.182747 3.357670 -15.498522
-v -26.515152 1.792719 -14.466270
-v -30.193434 1.779966 -14.420488
-v -31.038305 3.357670 -15.387860
-v -35.530365 3.357670 -15.019470
-v -36.705807 3.357670 -10.029904
-v -37.666824 4.581672 -4.931256
-v -36.700283 3.003968 -2.860110
-v -36.408623 3.003968 -4.518372
-v -35.959934 1.779966 -7.527570
-v -35.191723 1.779966 -9.285604
-v -34.204334 1.779966 -14.226349
-v -30.329147 -0.633617 -13.908249
-v -32.748100 -0.633628 -13.436047
-v -29.538437 -2.280977 -14.046997
-v -30.527657 -3.185613 -13.899263
-v -29.785950 -3.192493 -13.980194
-v -33.089638 -0.885639 -12.303194
-v -32.122818 1.776985 -11.058003
-v -32.122818 1.776985 -9.285594
-v -32.122746 -0.633664 -9.285579
-v -32.122688 -0.633649 -11.458102
-v -34.248096 -0.633676 -7.527580
-v -34.194592 -0.633673 -9.285544
-v -32.122818 1.776985 -7.526671
-v -32.122818 3.000987 -4.518517
-v -32.122795 0.590334 -4.518468
-v -32.122761 -0.633678 -7.527228
-v -34.417446 0.590306 -2.860096
-v -33.900768 0.590325 -4.518118
-v -34.639442 1.779966 -11.836490
-v -32.122818 3.000965 -2.859260
-v -32.122826 0.590387 -2.859397
-v -31.478973 12.189011 -7.300096
-v -23.230810 12.189157 -8.507561
-v -23.230810 12.189054 -5.906754
-v -19.385841 7.391684 -8.968118
-v -19.385841 7.391382 -6.580861
-v -21.167429 7.390899 -6.153070
-v -13.892597 7.391925 -9.847868
-v -14.133162 7.391512 -7.171891
-v -21.997017 12.885773 -9.282518
-v -20.622669 10.264604 -9.549243
-v -19.292164 9.097214 -9.702837
-v -13.192261 9.087229 -10.726978
-v -10.064362 4.446222 -10.991236
-v -8.351521 3.221424 -11.058840
-v -1.598226 3.221424 -11.134462
-v 2.452951 3.221424 -10.998412
-v 4.422665 4.063653 -12.498808
-v 4.365315 4.001073 -10.953445
-v 5.533552 6.171984 -12.384296
-v 5.530656 6.149844 -10.682220
-v 7.977384 6.662837 -10.348160
-v 7.360672 6.662837 -12.189878
-v 12.972380 6.662837 -11.684002
-v 15.594139 6.662837 -11.461397
-v -9.777788 1.447089 -10.415768
-v -9.777788 1.447089 -7.505733
-v -12.005382 1.447089 -7.353243
-v -1.881737 1.447089 -10.419345
-v 3.275857 1.447089 -10.142793
-v 3.275857 1.447089 -1.586848
-v 5.568399 1.447089 -10.053401
-v 5.568399 1.447089 -1.586848
-v 21.363655 1.139118 -5.173973
-v -24.875282 -16.438957 -5.023836
-v -21.158424 -16.432545 -5.456006
-v -17.426210 -16.414181 -5.591547
-v -10.703051 -16.404001 -5.960669
-v -6.862593 -16.404274 -6.041844
-v -2.943282 -16.405006 -6.357064
-v 2.420745 -16.404470 -6.357064
-v 7.603565 -16.380497 -6.357064
-v 12.832268 -15.500710 -6.259944
-v 16.321648 -13.597433 -5.927067
-v 18.157881 -11.652975 -5.318019
-v 20.729614 -7.361181 -4.084560
-v -24.875282 -15.191301 -8.889921
-v -21.158424 -15.188612 -9.238050
-v -17.426210 -15.185617 -9.648746
-v -10.703051 -15.151535 -9.959948
-v -6.862593 -15.148084 -10.122597
-v -2.943282 -15.161076 -10.404315
-v 2.420745 -15.136637 -10.490346
-v 7.603565 -15.139988 -10.384273
-v 12.742552 -13.635256 -10.271313
-v 16.052504 -12.004322 -9.672956
-v 17.738865 -10.274949 -8.849628
-v 20.423779 -6.674508 -7.563237
-v -24.875282 -13.559512 -12.869038
-v -21.158424 -13.563975 -12.793823
-v -17.426210 -13.564394 -13.015837
-v -10.703051 -13.542574 -13.359402
-v -6.862593 -13.538811 -13.468325
-v -2.943282 -13.548689 -13.506525
-v 2.420745 -13.559494 -13.319569
-v 7.603565 -13.121067 -12.955379
-v 12.651917 -11.750661 -12.163342
-v 15.776398 -10.370003 -11.428668
-v 17.823387 -8.626553 -10.201316
-v 20.243277 -5.812185 -8.599287
-v -24.875282 -10.610699 -14.971485
-v -21.158424 -10.603826 -15.170494
-v -17.426210 -10.616206 -15.433119
-v -10.703051 -10.590498 -15.556311
-v -6.862593 -10.586885 -15.660851
-v -2.943282 -10.611682 -15.249158
-v 2.420745 -10.615954 -14.819395
-v 7.603565 -10.423251 -14.270162
-v 12.555428 -9.744363 -13.830376
-v 15.481684 -8.625530 -13.248377
-v 17.762831 -6.967863 -11.940372
-v 19.731392 -4.773400 -10.782165
-v -0.566015 27.749599 22.499998
-v -0.341015 27.749599 18.749996
-v 0.033985 27.749599 0.000000
-v -0.609948 27.840916 22.499998
-v -0.450849 27.977892 18.749996
-v -0.185685 28.206188 0.000000
-v -0.716015 27.878740 22.499998
-v -0.716015 28.072454 18.749996
-v -0.716015 28.395309 0.000000
-v -0.822080 27.840916 22.499998
-v -0.981179 27.977892 18.749996
-v -1.246344 28.206188 0.000000
-v -0.866014 27.749599 22.499998
-v -1.091015 27.749599 18.749996
-v -1.466015 27.749599 0.000000
-v -0.822080 27.658281 22.499998
-v -0.981179 27.521307 18.749996
-v -1.246344 27.293011 0.000000
-v -0.716015 27.620457 22.499998
-v -0.716015 27.426743 18.749996
-v -0.629040 27.103886 0.000000
-v -0.609948 27.658281 22.499998
-v -0.450849 27.521307 18.749996
-v -0.185685 27.293011 0.000000
-v -0.028515 27.749599 3.124998
-v -0.091014 27.749599 6.249998
-v -0.153515 27.749599 9.374997
-v -0.216015 27.749599 12.499996
-v -0.278514 27.749599 15.624996
-v -0.229878 27.331060 3.124998
-v -0.274072 27.369110 6.249998
-v -0.318267 27.407154 9.374997
-v -0.362462 27.445206 12.499996
-v -0.406654 27.483257 15.624996
-v 0.774985 25.158726 18.494785
-v 2.349486 25.376209 15.522077
-v 2.411985 25.523190 12.499996
-v 2.474485 25.523190 9.374997
-v 2.536986 25.523190 6.249998
-v 2.599485 25.523190 3.124998
-v 2.661985 25.523190 0.000000
-v 4.919668 22.289122 12.150613
-v 4.982167 22.515976 9.184464
-v 5.044668 22.800421 6.258644
-v 5.107168 22.800417 3.133644
-v 5.169741 22.800392 0.000000
-v 6.853204 19.809378 6.116760
-v 7.224073 20.021494 3.140291
-v 7.286703 20.021448 0.000000
-v 1.446666 21.829916 18.079060
-v 3.021168 22.067556 15.120463
-v 1.779205 18.367237 17.606915
-v 4.073708 18.633253 14.668193
-v 5.324208 18.882090 11.717439
-v 6.173600 19.237459 8.841279
-v 1.779205 14.151859 16.952080
-v 4.073708 14.472324 14.051481
-v 6.008208 14.914806 11.236322
-v 7.006708 15.599648 8.590876
-v 7.753209 16.206085 5.890527
-v 8.093493 16.741280 3.140291
-v 7.878340 16.741234 0.000000
-v 0.519207 9.711632 16.052975
-v 2.813706 9.944913 13.395174
-v 4.532208 11.295698 10.912201
-v 5.638709 12.572056 8.312004
-v 5.953207 13.221888 5.642037
-v 6.293493 13.555683 2.924403
-v 6.510341 13.584993 0.000000
-v -1.712795 4.539915 14.229296
-v 0.005706 6.721300 12.935635
-v 1.796206 8.238514 10.569201
-v 3.514707 9.596653 8.026267
-v 4.153206 10.297425 5.391975
-v 4.215707 10.666860 2.699292
-v 4.278336 10.920532 -0.034037
-v 4.317936 22.048738 12.150613
-v 4.380435 22.275593 9.184464
-v 1.810253 25.282806 12.499996
-v 4.442935 22.560038 6.258644
-v 1.935254 25.282806 6.249998
-v 1.872753 25.282806 9.374997
-v 4.505436 22.560034 3.133644
-v 1.997753 25.282806 3.124998
-v 4.568008 22.560009 0.000000
-v 2.060253 25.282806 0.000000
-v 6.251471 19.568995 6.116760
-v 6.622341 19.781109 3.140291
-v 6.684969 19.781065 0.000000
-v 1.747754 25.135826 15.522077
-v 2.419436 21.827173 15.120463
-v 3.471975 18.392870 14.668193
-v 4.722476 18.641706 11.717439
-v 5.571867 18.997076 8.841279
-v 3.471975 14.231941 14.051481
-v 5.406476 14.674421 11.236322
-v 6.404974 15.359264 8.590876
-v 7.151477 15.965701 5.890527
-v 7.491759 16.500896 3.140291
-v 7.276607 16.500849 0.000000
-v 2.211973 9.704529 13.395174
-v 3.930475 11.055314 10.912201
-v 5.036976 12.331673 8.312004
-v 5.351475 12.981504 5.642037
-v 5.691761 13.315300 2.924403
-v 5.908608 13.344610 0.000000
-v -0.450849 27.977892 -18.749996
-v -0.609948 27.840916 -22.499998
-v -0.566015 27.749599 -22.499998
-v -0.341015 27.749599 -18.749996
-v -0.216015 27.749599 -12.499996
-v -0.153515 27.749599 -9.374997
-v -0.091014 27.749599 -6.249998
-v -0.028515 27.749599 -3.124998
-v -0.278514 27.749599 -15.624996
-v -0.716015 28.072454 -18.749996
-v -0.716015 27.878740 -22.499998
-v -0.981179 27.977892 -18.749996
-v -0.822080 27.840916 -22.499998
-v -1.091015 27.749599 -18.749996
-v -0.866014 27.749599 -22.499998
-v -0.981179 27.521307 -18.749996
-v -0.822080 27.658281 -22.499998
-v -0.716015 27.426743 -18.749996
-v -0.716015 27.620457 -22.499998
-v -0.450849 27.521307 -18.749996
-v -0.609948 27.658281 -22.499998
-v -0.229878 27.331060 -3.124998
-v -0.274072 27.369110 -6.249998
-v -0.318267 27.407154 -9.374997
-v -0.362462 27.445206 -12.499996
-v -0.406654 27.483257 -15.624996
-v 2.349486 25.376209 -15.522077
-v 2.411985 25.523190 -12.499996
-v 2.474485 25.523190 -9.374997
-v 2.536986 25.523190 -6.249998
-v 2.599485 25.523190 -3.124998
-v 4.919668 22.289122 -12.150613
-v 4.982167 22.515976 -9.184464
-v 5.044668 22.800421 -6.258644
-v 5.107168 22.800417 -3.133644
-v 6.853204 19.809378 -6.116760
-v 7.224073 20.021494 -3.140291
-v 0.774985 25.158726 -18.494785
-v 1.446666 21.829916 -18.079060
-v 3.021168 22.067556 -15.120463
-v 1.779205 18.367237 -17.606915
-v 4.073708 18.633253 -14.668193
-v 5.324208 18.882090 -11.717439
-v 6.173600 19.237459 -8.841279
-v 1.779205 14.151859 -16.952080
-v 4.073708 14.472324 -14.051481
-v 6.008208 14.914806 -11.236322
-v 7.006708 15.599648 -8.590876
-v 7.753209 16.206085 -5.890527
-v 8.093493 16.741280 -3.140291
-v 0.519207 9.711632 -16.052975
-v 2.813706 9.944913 -13.395174
-v 4.532208 11.295698 -10.912201
-v 5.638709 12.572056 -8.312004
-v 5.953207 13.221888 -5.642037
-v 6.293493 13.555683 -2.924403
-v -1.712795 4.539915 -14.229296
-v 0.005706 6.721300 -12.935635
-v 1.796206 8.238514 -10.569201
-v 3.514707 9.596653 -8.026267
-v 4.153206 10.297425 -5.391975
-v 4.215707 10.666860 -2.699292
-v 1.810253 25.282806 -12.499996
-v 4.380435 22.275593 -9.184464
-v 4.317936 22.048738 -12.150613
-v 1.872753 25.282806 -9.374997
-v 1.935254 25.282806 -6.249998
-v 4.442935 22.560038 -6.258644
-v 1.997753 25.282806 -3.124998
-v 4.505436 22.560034 -3.133644
-v 6.622341 19.781109 -3.140291
-v 6.251471 19.568995 -6.116760
-v 1.747754 25.135826 -15.522077
-v 2.419436 21.827173 -15.120463
-v 3.471975 18.392870 -14.668193
-v 4.722476 18.641706 -11.717439
-v 5.571867 18.997076 -8.841279
-v 3.471975 14.231941 -14.051481
-v 5.406476 14.674421 -11.236322
-v 6.404974 15.359264 -8.590876
-v 7.151477 15.965701 -5.890527
-v 7.491759 16.500896 -3.140291
-v 2.211973 9.704529 -13.395174
-v 3.930475 11.055314 -10.912201
-v 5.036976 12.331673 -8.312004
-v 5.351475 12.981504 -5.642037
-v 5.691761 13.315300 -2.924403
-v -0.441215 47.520119 0.000000
-v -0.816215 47.520119 -14.015965
-v -1.041214 47.520119 -16.818804
-v -0.660885 47.900337 0.000000
-v -0.926051 47.710224 -14.015965
-v -1.085148 47.596161 -16.818804
-v -1.191215 48.057846 0.000000
-v -1.191215 47.788982 -14.015965
-v -1.191215 47.627666 -16.818804
-v -1.721544 47.900337 0.000000
-v -1.456378 47.710224 -14.015965
-v -1.297281 47.596161 -16.818804
-v -1.941214 47.520119 0.000000
-v -1.566214 47.520119 -14.015965
-v -1.341214 47.520119 -16.818804
-v -1.721544 47.139870 0.000000
-v -1.456378 47.330002 -14.015965
-v -1.297281 47.444061 -16.818804
-v -1.147212 46.982380 0.000000
-v -1.147212 47.251244 -14.015965
-v -1.191215 47.412563 -16.818804
-v -0.660885 47.139870 0.000000
-v -0.926051 47.330002 -14.015965
-v -1.085148 47.444061 -16.818804
-v -0.881855 47.298306 -11.680260
-v -0.837662 47.266632 -9.344559
-v -0.793467 47.234909 -7.008858
-v -0.749272 47.203262 -4.673156
-v -0.705079 47.171555 -2.337453
-v -0.753716 47.520119 -11.680260
-v -0.691215 47.520119 -9.344559
-v -0.628715 47.520119 -7.008858
-v -0.566216 47.520119 -4.673156
-v -0.503715 47.520119 -2.337453
-v 2.186784 45.666019 0.000000
-v 2.124283 45.666019 -2.337453
-v 2.061785 45.666019 -4.673156
-v 1.999284 45.666019 -7.008858
-v 1.936783 45.666019 -9.344559
-v 1.874285 45.580280 -11.580549
-v 0.299784 45.386532 -13.903419
-v 4.694541 43.398529 0.000000
-v 4.631968 43.398544 -2.343915
-v 4.569468 43.403488 -4.796154
-v 4.506968 43.190250 -7.144563
-v 3.544468 42.994743 -9.666407
-v 2.545968 42.799408 -11.660814
-v 0.971465 42.588673 -13.968838
-v 6.503135 41.087234 0.000000
-v 6.440504 41.095375 -2.609166
-v 6.378005 40.956799 -5.189175
-v 5.650746 40.443047 -7.502493
-v 4.926439 40.128944 -9.945014
-v 3.598507 39.908993 -11.913838
-v 1.304004 39.676033 -14.292400
-v 7.403139 38.374527 0.000000
-v 7.340509 38.387520 -3.171366
-v 7.278009 37.949181 -5.513334
-v 6.531507 37.409622 -7.948401
-v 5.533008 36.794739 -10.264465
-v 3.598507 36.403469 -12.462982
-v 1.304004 36.126175 -14.981808
-v 6.035139 35.763321 0.000000
-v 5.972509 35.771698 -3.283163
-v 5.910010 35.459286 -5.936440
-v 5.847510 34.875942 -8.256088
-v 4.057008 33.780102 -10.944506
-v 2.338505 32.605881 -13.808851
-v 0.044005 32.376560 -16.380838
-v 3.803136 33.562889 0.000000
-v 3.740506 33.359436 -3.333341
-v 3.678006 33.020260 -6.361779
-v 3.039505 32.401882 -8.960025
-v 1.321005 31.238838 -11.792484
-v -0.181494 29.931759 -14.732271
-v -2.187994 28.006685 -18.449085
-v 4.086603 43.218376 0.000000
-v 4.024032 43.218391 -2.343915
-v 1.516346 45.485867 -2.337453
-v 1.578847 45.485867 0.000000
-v 3.961532 43.223335 -4.796154
-v 1.453848 45.485867 -4.673156
-v 3.899031 43.010098 -7.144563
-v 1.391347 45.485867 -7.008858
-v 1.328846 45.485867 -9.344559
-v 2.936531 42.814590 -9.666407
-v 1.266348 45.400127 -11.580549
-v 1.938032 42.619255 -11.660814
-v 5.895196 40.907082 0.000000
-v 5.832567 40.915222 -2.609166
-v 5.770068 40.776646 -5.189175
-v 5.042808 40.262894 -7.502493
-v 4.318501 39.948792 -9.945014
-v 2.990570 39.728840 -11.913838
-v 6.795203 38.194374 0.000000
-v 6.732572 38.207367 -3.171366
-v 6.670071 37.769028 -5.513334
-v 5.923571 37.229469 -7.948401
-v 4.925072 36.614586 -10.264465
-v 2.990570 36.223316 -12.462982
-v 5.427201 35.583168 0.000000
-v 5.364572 35.591545 -3.283163
-v 5.302073 35.279133 -5.936440
-v 5.239572 34.695789 -8.256088
-v 3.449071 33.599949 -10.944506
-v 1.730568 32.425728 -13.808851
-v -0.566216 47.520119 4.673156
-v -0.628715 47.520119 7.008858
-v -0.691215 47.520119 9.344559
-v -0.753716 47.520119 11.680260
-v -0.816215 47.520119 14.015965
-v -0.926051 47.710224 14.015965
-v -0.503715 47.520119 2.337453
-v -1.085148 47.596161 16.818804
-v -1.041214 47.520119 16.818804
-v -1.191215 47.788982 14.015965
-v -1.191215 47.627666 16.818804
-v -1.456378 47.710224 14.015965
-v -1.297281 47.596161 16.818804
-v -1.566214 47.520119 14.015965
-v -1.341214 47.520119 16.818804
-v -1.456378 47.330002 14.015965
-v -1.297281 47.444061 16.818804
-v -1.147212 47.251244 14.015965
-v -1.191215 47.412563 16.818804
-v -0.926051 47.330002 14.015965
-v -0.881855 47.298306 11.680260
-v -0.837662 47.266632 9.344559
-v -0.793467 47.234909 7.008858
-v -0.749272 47.203262 4.673156
-v -0.705079 47.171555 2.337453
-v -1.085148 47.444061 16.818804
-v 2.124283 45.666019 2.337453
-v 2.061785 45.666019 4.673156
-v 1.999284 45.666019 7.008858
-v 1.936783 45.666019 9.344559
-v 1.874285 45.580280 11.580549
-v 0.299784 45.386532 13.903419
-v 4.631968 43.398544 2.343915
-v 4.569468 43.403488 4.796154
-v 4.506968 43.190250 7.144563
-v 3.544468 42.994743 9.666407
-v 2.545968 42.799408 11.660814
-v 0.971465 42.588673 13.968838
-v 6.440504 41.095375 2.609166
-v 6.378005 40.956799 5.189175
-v 5.650746 40.443047 7.502493
-v 4.926439 40.128944 9.945014
-v 3.598507 39.908993 11.913838
-v 1.304004 39.676033 14.292400
-v 7.340509 38.387520 3.171366
-v 7.278009 37.949181 5.513334
-v 6.531507 37.409622 7.948401
-v 5.533008 36.794739 10.264465
-v 3.598507 36.403469 12.462982
-v 1.304004 36.126175 14.981808
-v 5.972509 35.771698 3.283163
-v 5.910010 35.459286 5.936440
-v 5.847510 34.875942 8.256088
-v 4.057008 33.780102 10.944506
-v 2.338505 32.605881 13.808851
-v 0.044005 32.376560 16.380838
-v 3.740506 33.359436 3.333341
-v 3.678006 33.020260 6.361779
-v 3.039505 32.401882 8.960025
-v 1.321005 31.238838 11.792484
-v -0.181494 29.931759 14.732271
-v -2.187994 28.006685 18.449085
-v 1.516346 45.485867 2.337453
-v 4.024032 43.218391 2.343915
-v 1.453848 45.485867 4.673156
-v 3.961532 43.223335 4.796154
-v 1.391347 45.485867 7.008858
-v 3.899031 43.010098 7.144563
-v 1.328846 45.485867 9.344559
-v 1.266348 45.400127 11.580549
-v 2.936531 42.814590 9.666407
-v 1.938032 42.619255 11.660814
-v 5.832567 40.915222 2.609166
-v 5.770068 40.776646 5.189175
-v 5.042808 40.262894 7.502493
-v 2.990570 39.728840 11.913838
-v 4.318501 39.948792 9.945014
-v 6.732572 38.207367 3.171366
-v 6.670071 37.769028 5.513334
-v 5.923571 37.229469 7.948401
-v 4.925072 36.614586 10.264465
-v 2.990570 36.223316 12.462982
-v 5.364572 35.591545 3.283163
-v 5.302073 35.279133 5.936440
-v 5.239572 34.695789 8.256088
-v 3.449071 33.599949 10.944506
-v 1.730568 32.425728 13.808851
-v 15.199894 24.244293 20.208620
-v 15.396472 24.244293 16.840515
-v 15.724104 24.244293 0.000000
-v 15.161510 24.324074 20.208620
-v 15.300512 24.443750 16.840515
-v 15.532181 24.643208 0.000000
-v 15.068842 24.357121 20.208620
-v 15.068842 24.526367 16.840515
-v 15.068842 24.808439 0.000000
-v 14.976175 24.324074 20.208620
-v 14.837173 24.443750 16.840515
-v 14.605503 24.643208 0.000000
-v 14.937790 24.244293 20.208620
-v 14.741212 24.244293 16.840515
-v 14.413582 24.244293 0.000000
-v 14.976175 24.164513 20.208620
-v 14.837173 24.044842 16.840515
-v 14.605503 23.845383 0.000000
-v 15.068842 24.131464 20.208620
-v 15.068842 23.962219 16.840515
-v 15.144831 23.680147 0.000000
-v 15.161510 24.164513 20.208620
-v 15.300512 24.044842 16.840515
-v 15.532181 23.845383 0.000000
-v 15.669498 24.244293 2.806750
-v 15.614893 24.244293 5.613504
-v 15.560287 24.244293 8.420256
-v 15.505682 24.244293 11.227010
-v 15.451077 24.244293 14.033761
-v 15.493570 23.878626 2.806750
-v 15.454958 23.911867 5.613504
-v 15.416346 23.945107 8.420256
-v 15.377735 23.978352 11.227010
-v 15.339125 24.011599 14.033761
-v 16.371500 21.980698 16.611292
-v 17.747112 22.170710 13.941322
-v 17.801716 22.299122 11.227010
-v 17.856321 22.299122 8.420256
-v 17.910927 22.299122 5.613504
-v 17.965530 22.299122 2.806750
-v 18.020136 22.299122 0.000000
-v 19.992630 19.473579 10.913207
-v 20.047235 19.671778 8.249126
-v 20.101841 19.920292 5.621270
-v 20.156446 19.920288 2.814516
-v 20.211115 19.920267 0.000000
-v 21.681923 17.307076 5.493834
-v 22.005945 17.492397 2.820486
-v 22.060665 17.492359 0.000000
-v 16.958334 19.072380 16.237904
-v 18.333946 19.280003 13.580609
-v 17.248869 16.047104 15.813843
-v 19.253532 16.279516 13.174398
-v 20.346069 16.496920 10.524145
-v 21.088167 16.807402 7.940892
-v 17.248869 12.364210 15.225695
-v 19.253532 12.644194 12.620491
-v 20.943666 13.030781 10.092027
-v 21.816038 13.629114 7.715988
-v 22.468241 14.158947 5.290641
-v 22.765541 14.626535 2.820486
-v 22.577564 14.626495 0.000000
-v 16.148031 8.484867 14.418156
-v 18.152691 8.688681 12.031022
-v 19.654114 9.868836 9.800913
-v 20.620842 10.983964 7.465518
-v 20.895615 11.551710 5.067457
-v 21.192915 11.843342 2.626584
-v 21.382370 11.868950 0.000000
-v 14.197975 3.966436 12.780198
-v 15.699396 5.872272 11.618281
-v 17.263721 7.197832 9.492843
-v 18.765144 8.384414 7.208880
-v 19.322987 8.996664 4.842861
-v 19.377592 9.319432 2.424399
-v 19.432312 9.541060 -0.030570
-v 19.466908 19.263561 10.913207
-v 19.521511 19.461760 8.249126
-v 17.275993 22.089104 11.227010
-v 19.576118 19.710272 5.621270
-v 17.385204 22.089104 5.613504
-v 17.330599 22.089104 8.420256
-v 19.630722 19.710270 2.814516
-v 17.439808 22.089104 2.806750
-v 19.685390 19.710247 0.000000
-v 17.494415 22.089104 0.000000
-v 21.156200 17.097057 5.493834
-v 21.480223 17.282379 2.820486
-v 21.534941 17.282339 0.000000
-v 17.221392 21.960691 13.941322
-v 17.808226 19.069984 13.580609
-v 18.727808 16.069500 13.174398
-v 19.820347 16.286903 10.524145
-v 20.562443 16.597382 7.940892
-v 18.727808 12.434175 12.620491
-v 20.417946 12.820762 10.092027
-v 21.290312 13.419096 7.715988
-v 21.942516 13.948927 5.290641
-v 22.239817 14.416519 2.820486
-v 22.051842 14.416475 0.000000
-v 17.626970 8.478662 12.031022
-v 19.128391 9.658816 9.800913
-v 20.095119 10.773947 7.465518
-v 20.369892 11.341692 5.067457
-v 20.667192 11.633322 2.626584
-v 20.856647 11.658932 0.000000
-v 15.300512 24.443750 -16.840515
-v 15.161510 24.324074 -20.208620
-v 15.199894 24.244293 -20.208620
-v 15.396472 24.244293 -16.840515
-v 15.505682 24.244293 -11.227010
-v 15.560287 24.244293 -8.420256
-v 15.614893 24.244293 -5.613504
-v 15.669498 24.244293 -2.806750
-v 15.451077 24.244293 -14.033761
-v 15.068842 24.526367 -16.840515
-v 15.068842 24.357121 -20.208620
-v 14.837173 24.443750 -16.840515
-v 14.976175 24.324074 -20.208620
-v 14.741212 24.244293 -16.840515
-v 14.937790 24.244293 -20.208620
-v 14.837173 24.044842 -16.840515
-v 14.976175 24.164513 -20.208620
-v 15.068842 23.962219 -16.840515
-v 15.068842 24.131464 -20.208620
-v 15.300512 24.044842 -16.840515
-v 15.161510 24.164513 -20.208620
-v 15.493570 23.878626 -2.806750
-v 15.454958 23.911867 -5.613504
-v 15.416346 23.945107 -8.420256
-v 15.377735 23.978352 -11.227010
-v 15.339125 24.011599 -14.033761
-v 17.747112 22.170710 -13.941322
-v 17.801716 22.299122 -11.227010
-v 17.856321 22.299122 -8.420256
-v 17.910927 22.299122 -5.613504
-v 17.965530 22.299122 -2.806750
-v 19.992630 19.473579 -10.913207
-v 20.047235 19.671778 -8.249126
-v 20.101841 19.920292 -5.621270
-v 20.156446 19.920288 -2.814516
-v 21.681923 17.307076 -5.493834
-v 22.005945 17.492397 -2.820486
-v 16.371500 21.980698 -16.611292
-v 16.958334 19.072380 -16.237904
-v 18.333946 19.280003 -13.580609
-v 17.248869 16.047104 -15.813843
-v 19.253532 16.279516 -13.174398
-v 20.346069 16.496920 -10.524145
-v 21.088167 16.807402 -7.940892
-v 17.248869 12.364210 -15.225695
-v 19.253532 12.644194 -12.620491
-v 20.943666 13.030781 -10.092027
-v 21.816038 13.629114 -7.715988
-v 22.468241 14.158947 -5.290641
-v 22.765541 14.626535 -2.820486
-v 16.148031 8.484867 -14.418156
-v 18.152691 8.688681 -12.031022
-v 19.654114 9.868836 -9.800913
-v 20.620842 10.983964 -7.465518
-v 20.895615 11.551710 -5.067457
-v 21.192915 11.843342 -2.626584
-v 14.197975 3.966436 -12.780198
-v 15.699396 5.872272 -11.618281
-v 17.263721 7.197832 -9.492843
-v 18.765144 8.384414 -7.208880
-v 19.322987 8.996664 -4.842861
-v 19.377592 9.319432 -2.424399
-v 17.275993 22.089104 -11.227010
-v 19.521511 19.461760 -8.249126
-v 19.466908 19.263561 -10.913207
-v 17.330599 22.089104 -8.420256
-v 17.385204 22.089104 -5.613504
-v 19.576118 19.710272 -5.621270
-v 17.439808 22.089104 -2.806750
-v 19.630722 19.710270 -2.814516
-v 21.480223 17.282379 -2.820486
-v 21.156200 17.097057 -5.493834
-v 17.221392 21.960691 -13.941322
-v 17.808226 19.069984 -13.580609
-v 18.727808 16.069500 -13.174398
-v 19.820347 16.286903 -10.524145
-v 20.562443 16.597382 -7.940892
-v 18.727808 12.434175 -12.620491
-v 20.417946 12.820762 -10.092027
-v 21.290312 13.419096 -7.715988
-v 21.942516 13.948927 -5.290641
-v 22.239817 14.416519 -2.820486
-v 17.626970 8.478662 -12.031022
-v 19.128391 9.658816 -9.800913
-v 20.095119 10.773947 -7.465518
-v 20.369892 11.341692 -5.067457
-v 20.667192 11.633322 -2.626584
-v 15.308929 41.517422 0.000000
-v 14.981298 41.517422 -12.588591
-v 14.784721 41.517422 -15.105992
-v 15.117007 41.849609 0.000000
-v 14.885338 41.683510 -12.588591
-v 14.746338 41.583855 -15.105992
-v 14.653669 41.987221 0.000000
-v 14.653669 41.752319 -12.588591
-v 14.653669 41.611382 -15.105992
-v 14.190331 41.849609 0.000000
-v 14.422001 41.683510 -12.588591
-v 14.561001 41.583855 -15.105992
-v 13.998409 41.517422 0.000000
-v 14.326038 41.517422 -12.588591
-v 14.522617 41.517422 -15.105992
-v 14.190331 41.185200 0.000000
-v 14.422001 41.351318 -12.588591
-v 14.561001 41.450974 -15.105992
-v 14.692114 41.047607 0.000000
-v 14.692114 41.282509 -12.588591
-v 14.653669 41.423450 -15.105992
-v 15.117007 41.185200 0.000000
-v 14.885338 41.351318 -12.588591
-v 14.746338 41.450974 -15.105992
-v 14.923951 41.323624 -10.490752
-v 14.962563 41.295952 -8.392917
-v 15.001173 41.268238 -6.295083
-v 15.039785 41.240585 -4.197246
-v 15.078396 41.212887 -2.099409
-v 15.035903 41.517422 -10.490752
-v 15.090508 41.517422 -8.392917
-v 15.145114 41.517422 -6.295083
-v 15.199718 41.517422 -4.197246
-v 15.254324 41.517422 -2.099409
-v 17.604961 39.897530 0.000000
-v 17.550356 39.897530 -2.099409
-v 17.495752 39.897530 -4.197246
-v 17.441147 39.897530 -6.295083
-v 17.386541 39.897530 -8.392917
-v 17.331936 39.822620 -10.401196
-v 15.956326 39.653347 -12.487507
-v 19.795940 37.916466 0.000000
-v 19.741272 37.916477 -2.105213
-v 19.686668 37.920795 -4.307718
-v 19.632061 37.734497 -6.416967
-v 18.791145 37.563686 -8.681988
-v 17.918774 37.393028 -10.473288
-v 16.543159 37.208908 -12.546264
-v 21.376074 35.897133 0.000000
-v 21.321356 35.904243 -2.343451
-v 21.266750 35.783173 -4.660714
-v 20.631359 35.334316 -6.738446
-v 19.998547 35.059895 -8.932222
-v 18.838356 34.867725 -10.700544
-v 16.833694 34.664192 -12.836876
-v 22.162392 33.527092 0.000000
-v 22.107674 33.538445 -2.848397
-v 22.053068 33.155472 -4.951861
-v 21.400864 32.684071 -7.138943
-v 20.528494 32.146858 -9.219141
-v 18.838356 31.805016 -11.193764
-v 16.833694 31.562752 -13.456076
-v 20.967196 31.245729 0.000000
-v 20.912479 31.253052 -2.948808
-v 20.857872 30.980101 -5.331879
-v 20.803268 30.470444 -7.415297
-v 19.238941 29.513027 -9.829927
-v 17.737516 28.487133 -12.402572
-v 15.732857 28.286781 -14.712629
-v 19.017138 29.323254 0.000000
-v 18.962420 29.145500 -2.993877
-v 18.907814 28.849167 -5.713902
-v 18.349968 28.308907 -8.047544
-v 16.848547 27.292774 -10.591549
-v 15.535843 26.150806 -13.231953
-v 13.782801 24.468904 -16.570248
-v 19.264797 37.759071 0.000000
-v 19.210129 37.759079 -2.105213
-v 17.019213 39.740131 -2.099409
-v 17.073820 39.740131 0.000000
-v 19.155525 37.763401 -4.307718
-v 16.964611 39.740131 -4.197246
-v 19.100918 37.577103 -6.416967
-v 16.910004 39.740131 -6.295083
-v 16.855398 39.740131 -8.392917
-v 18.260002 37.406288 -8.681988
-v 16.800793 39.665226 -10.401196
-v 17.387630 37.235630 -10.473288
-v 20.844931 35.739735 0.000000
-v 20.790213 35.746845 -2.343451
-v 20.735609 35.625778 -4.660714
-v 20.100216 35.176926 -6.738446
-v 19.467403 34.902496 -8.932222
-v 18.307213 34.710327 -10.700544
-v 21.631248 33.369698 0.000000
-v 21.576529 33.381050 -2.848397
-v 21.521923 32.998077 -4.951861
-v 20.869720 32.526680 -7.138943
-v 19.997353 31.989464 -9.219141
-v 18.307213 31.647621 -11.193764
-v 20.436052 31.088337 0.000000
-v 20.381334 31.095654 -2.948808
-v 20.326729 30.822704 -5.331879
-v 20.272125 30.313047 -7.415297
-v 18.707798 29.355633 -9.829927
-v 17.206375 28.329739 -12.402572
-v 15.199718 41.517422 4.197246
-v 15.145114 41.517422 6.295083
-v 15.090508 41.517422 8.392917
-v 15.035903 41.517422 10.490752
-v 14.981298 41.517422 12.588591
-v 14.885338 41.683510 12.588591
-v 15.254324 41.517422 2.099409
-v 14.746338 41.583855 15.105992
-v 14.784721 41.517422 15.105992
-v 14.653669 41.752319 12.588591
-v 14.653669 41.611382 15.105992
-v 14.422001 41.683510 12.588591
-v 14.561001 41.583855 15.105992
-v 14.326038 41.517422 12.588591
-v 14.522617 41.517422 15.105992
-v 14.422001 41.351318 12.588591
-v 14.561001 41.450974 15.105992
-v 14.692114 41.282509 12.588591
-v 14.653669 41.423450 15.105992
-v 14.885338 41.351318 12.588591
-v 14.923951 41.323624 10.490752
-v 14.962563 41.295952 8.392917
-v 15.001173 41.268238 6.295083
-v 15.039785 41.240585 4.197246
-v 15.078396 41.212887 2.099409
-v 14.746338 41.450974 15.105992
-v 17.550356 39.897530 2.099409
-v 17.495752 39.897530 4.197246
-v 17.441147 39.897530 6.295083
-v 17.386541 39.897530 8.392917
-v 17.331936 39.822620 10.401196
-v 15.956326 39.653347 12.487507
-v 19.741272 37.916477 2.105213
-v 19.686668 37.920795 4.307718
-v 19.632061 37.734497 6.416967
-v 18.791145 37.563686 8.681988
-v 17.918774 37.393028 10.473288
-v 16.543159 37.208908 12.546264
-v 21.321356 35.904243 2.343451
-v 21.266750 35.783173 4.660714
-v 20.631359 35.334316 6.738446
-v 19.998547 35.059895 8.932222
-v 18.838356 34.867725 10.700544
-v 16.833694 34.664192 12.836876
-v 22.107674 33.538445 2.848397
-v 22.053068 33.155472 4.951861
-v 21.400864 32.684071 7.138943
-v 20.528494 32.146858 9.219141
-v 18.838356 31.805016 11.193764
-v 16.833694 31.562752 13.456076
-v 20.912479 31.253052 2.948808
-v 20.857872 30.980101 5.331879
-v 20.803268 30.470444 7.415297
-v 19.238941 29.513027 9.829927
-v 17.737516 28.487133 12.402572
-v 15.732857 28.286781 14.712629
-v 18.962420 29.145500 2.993877
-v 18.907814 28.849167 5.713902
-v 18.349968 28.308907 8.047544
-v 16.848547 27.292774 10.591549
-v 15.535843 26.150806 13.231953
-v 13.782801 24.468904 16.570248
-v 17.019213 39.740131 2.099409
-v 19.210129 37.759079 2.105213
-v 16.964611 39.740131 4.197246
-v 19.155525 37.763401 4.307718
-v 16.910004 39.740131 6.295083
-v 19.100918 37.577103 6.416967
-v 16.855398 39.740131 8.392917
-v 16.800793 39.665226 10.401196
-v 18.260002 37.406288 8.681988
-v 17.387630 37.235630 10.473288
-v 20.790213 35.746845 2.343451
-v 20.735609 35.625778 4.660714
-v 20.100216 35.176926 6.738446
-v 18.307213 34.710327 10.700544
-v 19.467403 34.902496 8.932222
-v 21.576529 33.381050 2.848397
-v 21.521923 32.998077 4.951861
-v 20.869720 32.526680 7.138943
-v 19.997353 31.989464 9.219141
-v 18.307213 31.647621 11.193764
-v 20.381334 31.095654 2.948808
-v 20.326729 30.822704 5.331879
-v 20.272125 30.313047 7.415297
-v 18.707798 29.355633 9.829927
-v 17.206375 28.329739 12.402572
-v 37.183197 9.436539 12.125172
-v 36.948586 9.445372 14.550205
-v 36.915100 9.337111 14.550205
-v 37.099464 9.165879 12.125172
-v 37.201889 9.070754 8.083447
-v 37.253113 9.023188 6.062584
-v 37.304321 8.975623 4.041723
-v 37.355537 8.928061 2.020860
-v 37.406761 8.880497 0.000000
-v 37.574219 9.421815 0.000000
-v 37.150681 9.118316 10.104307
-v 37.037880 9.715820 12.125172
-v 36.890457 9.557086 14.550205
-v 37.283577 9.980377 0.000000
-v 36.748634 9.840131 12.125172
-v 36.774757 9.606809 14.550205
-v 36.705086 10.229001 0.000000
-v 36.484894 9.736646 12.125172
-v 36.669266 9.565416 14.550205
-v 36.177612 10.022031 0.000000
-v 36.401161 9.465988 12.125172
-v 36.635773 9.457152 14.550205
-v 36.010139 9.480717 0.000000
-v 36.546486 9.186706 12.125172
-v 36.693893 9.345439 14.550205
-v 36.372047 8.855958 0.000000
-v 36.835732 9.062397 12.125172
-v 36.809601 9.295714 14.550205
-v 36.879280 8.673531 0.000000
-v 36.872025 8.738340 2.020860
-v 36.864754 8.803152 4.041723
-v 36.857498 8.867962 6.062584
-v 36.850243 8.932775 8.083447
-v 36.842987 8.997587 10.104307
-v 37.233280 7.108510 10.037751
-v 37.335197 7.154058 8.083447
-v 37.367207 7.124331 6.062584
-v 37.399216 7.094601 4.041723
-v 37.431225 7.064876 2.020860
-v 37.463234 7.035147 0.000000
-v 37.081245 4.304998 7.857507
-v 37.221157 4.391452 5.939371
-v 37.388454 4.507402 4.047314
-v 37.420464 4.477671 2.026452
-v 37.452499 4.447899 0.000000
-v 36.892029 2.115348 3.955562
-v 37.182858 2.047582 2.030749
-v 37.214912 2.017770 0.000000
-v 36.323467 7.746022 11.960131
-v 35.084148 5.721714 11.691292
-v 36.003555 5.094525 9.778038
-v 33.607471 3.790157 11.385965
-v 34.909115 2.835039 9.485566
-v 35.667908 2.367693 7.577384
-v 36.271950 2.145690 5.717442
-v 31.602478 1.631277 10.962500
-v 32.930016 0.704046 9.086754
-v 34.131218 0.010538 7.266258
-v 34.968334 -0.113652 5.555511
-v 35.639095 -0.158133 3.809260
-v 36.067928 -0.045890 2.030749
-v 35.957718 0.056421 0.000000
-v 28.845230 -0.043453 10.381071
-v 30.131302 -1.015334 8.662334
-v 31.653908 -1.140924 7.056657
-v 32.827682 -1.013539 5.375172
-v 33.297836 -0.830322 3.648569
-v 33.630875 -0.821223 1.891142
-v 33.755875 -0.909353 0.000000
-v 25.242256 -1.630489 9.201742
-v 27.159927 -1.330692 8.365163
-v 28.798569 -1.405293 6.834847
-v 30.324669 -1.527117 5.190393
-v 30.984987 -1.471915 3.486860
-v 31.192715 -1.312438 1.745566
-v 31.345444 -1.212310 -0.022011
-v 36.912689 7.317153 8.083447
-v 36.798645 4.554550 5.939371
-v 36.658737 4.468093 7.857507
-v 36.944698 7.287426 6.062584
-v 36.976711 7.257699 4.041723
-v 36.965946 4.670499 4.047314
-v 37.008717 7.227970 2.020860
-v 36.997955 4.640769 2.026452
-v 37.040730 7.198245 0.000000
-v 37.029991 4.610995 0.000000
-v 36.760353 2.210679 2.030749
-v 36.469521 2.278445 3.955562
-v 36.792404 2.180868 0.000000
-v 36.810776 7.271606 10.037751
-v 35.581047 5.257621 9.778038
-v 34.486607 2.998137 9.485566
-v 35.245403 2.530790 7.577384
-v 35.849438 2.308786 5.717442
-v 32.507507 0.867143 9.086754
-v 33.708714 0.173633 7.266258
-v 34.545826 0.049446 5.555511
-v 35.216587 0.004963 3.809260
-v 35.645420 0.117208 2.030749
-v 35.535206 0.219519 0.000000
-v 29.708790 -0.852237 8.662334
-v 31.231400 -0.977827 7.056657
-v 32.405174 -0.850443 5.375172
-v 32.875324 -0.667224 3.648569
-v 33.208366 -0.658127 1.891142
-v 33.333366 -0.746256 0.000000
-v 37.099464 9.165879 -12.125172
-v 36.915100 9.337111 -14.550205
-v 36.948586 9.445372 -14.550205
-v 37.183197 9.436539 -12.125172
-v 37.150681 9.118316 -10.104307
-v 37.355537 8.928061 -2.020860
-v 37.304321 8.975623 -4.041723
-v 37.253113 9.023188 -6.062584
-v 37.201889 9.070754 -8.083447
-v 36.890457 9.557086 -14.550205
-v 37.037880 9.715820 -12.125172
-v 36.774757 9.606809 -14.550205
-v 36.748634 9.840131 -12.125172
-v 36.669266 9.565416 -14.550205
-v 36.484894 9.736646 -12.125172
-v 36.635773 9.457152 -14.550205
-v 36.401161 9.465988 -12.125172
-v 36.693893 9.345439 -14.550205
-v 36.546486 9.186706 -12.125172
-v 36.809601 9.295714 -14.550205
-v 36.835732 9.062397 -12.125172
-v 36.842987 8.997587 -10.104307
-v 36.850243 8.932775 -8.083447
-v 36.857498 8.867962 -6.062584
-v 36.864754 8.803152 -4.041723
-v 36.872025 8.738340 -2.020860
-v 37.233280 7.108510 -10.037751
-v 37.335197 7.154058 -8.083447
-v 37.367207 7.124331 -6.062584
-v 37.399216 7.094601 -4.041723
-v 37.431225 7.064876 -2.020860
-v 37.221157 4.391452 -5.939371
-v 37.081245 4.304998 -7.857507
-v 37.388454 4.507402 -4.047314
-v 37.420464 4.477671 -2.026452
-v 37.182858 2.047582 -2.030749
-v 36.892029 2.115348 -3.955562
-v 36.323467 7.746022 -11.960131
-v 36.003555 5.094525 -9.778038
-v 35.084148 5.721714 -11.691292
-v 34.909115 2.835039 -9.485566
-v 33.607471 3.790157 -11.385965
-v 35.667908 2.367693 -7.577384
-v 36.271950 2.145690 -5.717442
-v 32.930016 0.704046 -9.086754
-v 31.602478 1.631277 -10.962500
-v 34.131218 0.010538 -7.266258
-v 34.968334 -0.113652 -5.555511
-v 35.639095 -0.158133 -3.809260
-v 36.067928 -0.045890 -2.030749
-v 30.131302 -1.015334 -8.662334
-v 28.845230 -0.043453 -10.381071
-v 31.653908 -1.140924 -7.056657
-v 32.827682 -1.013539 -5.375172
-v 33.297836 -0.830322 -3.648569
-v 33.630875 -0.821223 -1.891142
-v 27.159927 -1.330692 -8.365163
-v 25.242256 -1.630489 -9.201742
-v 28.798569 -1.405293 -6.834847
-v 30.324669 -1.527117 -5.190393
-v 30.984987 -1.471915 -3.486860
-v 31.192715 -1.312438 -1.745566
-v 36.658737 4.468093 -7.857507
-v 36.798645 4.554550 -5.939371
-v 36.912689 7.317153 -8.083447
-v 36.965946 4.670499 -4.047314
-v 36.976711 7.257699 -4.041723
-v 36.944698 7.287426 -6.062584
-v 36.997955 4.640769 -2.026452
-v 37.008717 7.227970 -2.020860
-v 36.469521 2.278445 -3.955562
-v 36.760353 2.210679 -2.030749
-v 36.810776 7.271606 -10.037751
-v 35.581047 5.257621 -9.778038
-v 34.486607 2.998137 -9.485566
-v 35.245403 2.530790 -7.577384
-v 35.849438 2.308786 -5.717442
-v 32.507507 0.867143 -9.086754
-v 33.708714 0.173633 -7.266258
-v 34.545826 0.049446 -5.555511
-v 35.216587 0.004963 -3.809260
-v 35.645420 0.117208 -2.030749
-v 29.708790 -0.852237 -8.662334
-v 31.231400 -0.977827 -7.056657
-v 32.405174 -0.850443 -5.375172
-v 32.875324 -0.667224 -3.648569
-v 33.208366 -0.658127 -1.891142
-v -25.342682 39.050133 12.631252
-v -26.800455 41.402733 15.170297
-v -26.837248 41.324783 15.223574
-v -25.434660 38.855247 12.764452
-v -17.744377 26.753054 0.677289
-v -17.560419 27.142822 0.410891
-v -9.376750 14.896337 -11.201438
-v -9.284773 15.091215 -11.334633
-v -7.530965 12.652036 -13.588774
-v -7.567755 12.574083 -13.535497
-v -25.106192 39.202751 12.637131
-v -26.705860 41.463783 15.172644
-v -17.087444 27.448063 0.422648
-v -9.048284 15.243841 -11.328759
-v -7.436370 12.713083 -13.586423
-v -24.863726 39.223705 12.778642
-v -26.608875 41.472164 15.229251
-v -16.602512 27.489975 0.705667
-v -8.805818 15.264791 -11.187246
-v -7.339383 12.721467 -13.529819
-v -24.757313 39.100723 12.972888
-v -26.566311 41.422974 15.306951
-v -16.389688 27.244003 1.094167
-v -8.699405 15.141807 -10.992999
-v -7.296819 12.672277 -13.452118
-v -24.849295 38.905838 13.106089
-v -26.603102 41.345016 15.360229
-v -16.573647 26.854233 1.360564
-v -8.791386 14.946925 -10.859798
-v -7.333611 12.594320 -13.398837
-v -25.085781 38.753212 13.100214
-v -26.697697 41.283970 15.357880
-v -17.125172 26.520523 1.324638
-v -9.106422 14.765837 -10.889849
-v -7.428205 12.533272 -13.401189
-v -25.328247 38.732258 12.958700
-v -26.794685 41.275585 15.301274
-v -17.531553 26.507080 1.065789
-v -9.270339 14.773350 -11.007191
-v -7.525191 12.524889 -13.457792
-v -14.838583 7.725491 16.392136
-v -13.115796 20.643181 -4.782604
-v -11.111109 17.704510 -7.836226
-v -15.120483 23.581854 -1.728984
-v -21.105474 32.636868 7.212426
-v -19.115322 29.578697 4.268532
-v -23.095627 35.695042 10.156319
-v -17.850927 23.415936 11.145543
-v -15.971910 15.023872 13.064692
-v -20.878242 31.325497 10.889566
-v -22.710337 35.141632 11.368248
-v -19.020594 27.498768 10.741400
-v -16.675705 19.308691 11.771263
-v -15.242205 10.728598 14.661383
-v -11.429826 11.979118 4.484833
-v -12.855085 9.611444 10.086077
-v -10.146607 13.783422 -3.108587
-v -11.113446 17.269522 -0.589503
-v -12.173586 19.546953 1.645432
-v -14.496117 22.736921 3.615596
-v -16.618717 25.814238 5.499027
-v -18.831337 28.858936 7.356281
-v -20.830013 31.984983 9.160530
-v -13.958706 13.246996 10.484770
-v -15.075603 15.880554 10.990260
-v -12.059523 15.670089 5.786165
-v -13.219246 18.188381 6.546744
-v -14.729614 21.266827 7.743087
-v -16.833500 24.401178 9.291769
-v -12.997808 13.246996 10.484770
-v -14.114704 15.880554 10.990260
-v -13.768716 21.266827 7.743087
-v -15.872602 24.401178 9.291769
-v -12.258348 18.188381 6.546744
-v -11.098623 15.670089 5.786165
-v -10.152548 17.269522 -0.589503
-v -11.212686 19.546953 1.645432
-v -13.535219 22.736921 3.615596
-v -15.657820 25.814238 5.499027
-v -19.869114 31.984983 9.160530
-v -17.870438 28.858936 7.356281
-v -3.006491 2.835144 -1.792495
-v -3.299435 2.835144 -2.499723
-v -3.299435 3.340722 -2.499723
-v -2.683913 3.340722 -1.013724
-v -2.607214 28.440485 -0.828560
-v -2.795753 28.916454 -1.283730
-v -2.984291 29.392422 -1.738900
-v -3.060988 31.134907 -1.924065
-v -3.197826 31.301920 -2.254421
-v -3.197826 31.705118 -2.254421
-v -2.864999 31.538105 -1.450902
-v -2.788301 30.035196 -1.265738
-v -2.522967 30.068596 -0.625167
-v -1.521538 2.835144 -1.792497
-v -1.228595 2.835144 -2.499723
-v -1.228595 3.340722 -2.499723
-v -1.844116 3.340722 -1.013724
-v -1.920815 28.440485 -0.828560
-v -2.149614 28.440485 -0.828560
-v -2.378415 28.440485 -0.828560
-v -3.625614 0.933175 -14.862261
-v -3.396813 0.933175 -14.862257
-v -3.208276 1.409142 -15.317429
-v -3.562768 1.409142 -15.317429
-v -1.543738 29.392422 -1.738900
-v -1.467041 31.134907 -1.924065
-v -1.330203 31.301920 -2.254421
-v -1.330203 31.705118 -2.254421
-v -1.663031 31.538105 -1.450902
-v -1.739728 30.035196 -1.265738
-v -2.005062 30.068596 -0.625167
-v -1.732276 28.916454 -1.283730
-v -2.441260 28.916454 -1.283730
-v -2.086768 28.916454 -1.283730
-v -10.505260 1.409189 -15.317495
-v -10.859753 1.409189 -15.317495
-v -10.671214 0.933218 -14.862325
-v -10.442413 0.933218 -14.862325
-v -7.310413 0.933123 -14.862221
-v -7.081613 0.933123 -14.862221
-v -7.018765 1.409093 -15.317392
-v -7.373259 1.409093 -15.317392
-v 12.725510 5.931142 -1.792495
-v 12.432567 5.931142 -2.499723
-v 12.432567 6.436721 -2.499723
-v 13.048086 6.436721 -1.013724
-v 13.124784 24.624481 -0.828560
-v 12.936247 25.100452 -1.283730
-v 12.747708 25.576418 -1.738900
-v 12.671010 27.318907 -1.924065
-v 12.534173 27.485916 -2.254421
-v 12.534173 27.889114 -2.254421
-v 12.867002 27.722105 -1.450902
-v 12.943699 26.219193 -1.265738
-v 13.209031 26.252592 -0.625167
-v 14.210463 5.931142 -1.792497
-v 14.503405 5.931142 -2.499723
-v 14.503405 6.436721 -2.499723
-v 13.887884 6.436721 -1.013724
-v 13.811186 24.624481 -0.828560
-v 13.467985 24.624481 -0.828560
-v 13.999723 25.100452 -1.283730
-v 14.188262 25.576418 -1.738900
-v 13.467985 25.100452 -1.283730
-v 14.264960 27.318907 -1.924065
-v 14.401797 27.485916 -2.254421
-v 14.401797 27.889114 -2.254421
-v 14.068970 27.722105 -1.450902
-v 13.992271 26.219193 -1.265738
-v 13.726938 26.252592 -0.625167
-v 8.292243 4.554726 -13.105604
-v 8.480783 4.078758 -12.650431
-v 8.823982 4.078758 -12.650431
-v 8.823982 4.554726 -13.105604
-v 11.451985 4.078778 -12.650445
-v 11.795187 4.078778 -12.650445
-v 11.983724 4.554746 -13.105617
-v 11.451985 4.554746 -13.105617
-v -19.242489 8.343143 -1.792495
-v -19.535431 8.343143 -2.499723
-v -19.535431 8.848721 -2.499723
-v -18.919910 8.848721 -1.013724
-v -18.843212 27.036480 -0.828560
-v -19.031750 27.512449 -1.283730
-v -19.220287 27.988419 -1.738900
-v -19.296986 29.730904 -1.924065
-v -19.433825 29.897915 -2.254421
-v -19.433825 30.301113 -2.254421
-v -19.100996 30.134102 -1.450902
-v -19.024298 28.631191 -1.265738
-v -18.758965 28.664593 -0.625167
-v -17.757534 8.343143 -1.792497
-v -17.464592 8.343143 -2.499723
-v -17.464592 8.848721 -2.499723
-v -18.080112 8.848721 -1.013724
-v -18.156811 27.036480 -0.828560
-v -18.500011 27.036480 -0.828560
-v -17.968273 27.512449 -1.283730
-v -17.779734 27.988419 -1.738900
-v -18.500011 27.512449 -1.283730
-v -17.703035 29.730904 -1.924065
-v -17.566198 29.897915 -2.254421
-v -17.566198 30.301113 -2.254421
-v -17.899027 30.134102 -1.450902
-v -17.975723 28.631191 -1.265738
-v -18.241058 28.664593 -0.625167
-v -21.299751 6.534726 -13.105604
-v -21.111214 6.058758 -12.650431
-v -20.768013 6.058758 -12.650431
-v -20.768013 6.534726 -13.105604
-v -18.140011 6.058776 -12.650445
-v -17.796808 6.058776 -12.650445
-v -17.608273 6.534745 -13.105617
-v -18.140011 6.534745 -13.105617
-vn 0.000000 -0.691141 0.722719
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -0.691139 0.722722
-vn 0.000000 -0.691141 0.722721
-vn 0.000000 0.454456 0.890769
-vn 0.951234 -0.138151 0.275803
-vn 0.000000 -0.454457 -0.890769
-vn -0.903964 0.048238 -0.424879
-vn 0.000000 -0.454453 -0.890771
-vn -0.995330 0.080548 0.053198
-vn 0.000000 0.454454 0.890770
-vn 0.960300 -0.165937 -0.224251
-vn 0.000000 -0.454452 -0.890771
-vn -0.975849 0.069272 -0.207173
-vn 0.000000 0.454452 0.890771
-vn 0.986498 -0.160658 0.031790
-vn 0.796052 -0.294117 0.528958
-vn -0.073842 -0.027344 0.996895
-vn 1.000000 0.000000 0.000000
-vn -0.003044 0.998421 -0.056087
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000920 0.999353 -0.035944
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000000 0.999404 -0.034523
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -0.000715 -0.926299 -0.376788
-vn 0.780323 0.625377 -0.000051
-vn 0.233171 0.050419 -0.971128
-vn 0.815205 0.578105 -0.035150
-vn 0.068294 -0.005991 -0.997647
-vn 0.000000 0.000000 1.000000
-vn -0.960859 0.277039 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -0.691143 0.722718
-vn 0.000000 -0.691141 0.722720
-vn 0.000000 -0.498728 -0.866759
-vn -0.996095 0.061022 -0.063811
-vn 0.000000 0.498728 0.866759
-vn 0.961371 -0.201950 -0.187033
-vn -0.926465 -0.007117 -0.376314
-vn 0.000000 0.498727 0.866759
-vn 0.979784 -0.138269 0.144587
-vn 0.000000 -0.498727 -0.866759
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -0.691144 0.722717
-vn 0.000000 -0.691141 0.722720
-vn 0.000000 -0.490952 -0.871187
-vn -0.999878 -0.010796 0.011290
-vn 0.000000 0.490953 0.871186
-vn 0.956749 -0.130192 -0.260156
-vn -0.946483 -0.074628 -0.314007
-vn 0.000000 0.490953 0.871186
-vn 0.995191 -0.067699 0.070793
-vn 0.000000 -0.490953 -0.871186
-vn 0.071989 -0.997405 0.000000
-vn 0.828488 0.560007 0.000000
-vn -0.828491 -0.560002 0.000000
-vn 0.796052 -0.294117 -0.528958
-vn -0.073842 -0.027344 -0.996895
-vn 1.000000 0.000000 0.000000
-vn -0.003044 0.998421 0.056087
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000920 0.999353 0.035944
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000000 0.999404 0.034523
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -0.000715 -0.926299 0.376788
-vn 0.780323 0.625377 0.000051
-vn 0.233171 0.050419 0.971128
-vn 0.815205 0.578105 0.035150
-vn 0.068294 -0.005991 0.997647
-vn 0.000000 0.000000 -1.000000
-vn -0.960859 0.277039 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 0.000000 1.000000
-vn 0.107249 -0.051603 0.992892
-vn 0.000000 0.000000 -1.000000
-vn 0.107249 -0.051603 -0.992892
-vn 0.000000 0.000000 -1.000000
-vn 0.047847 -0.027643 -0.998472
-vn 0.000000 0.000000 1.000000
-vn 0.047847 -0.027643 0.998472
-vn 0.000000 0.000000 1.000000
-vn 0.110211 -0.053028 0.992493
-vn 0.000000 0.000000 -1.000000
-vn 0.110211 -0.053028 -0.992493
-vn 0.000000 0.000000 -1.000000
-vn 0.049190 -0.028414 -0.998385
-vn 0.000000 0.000000 1.000000
-vn 0.049190 -0.028414 0.998385
-vn 0.000000 0.000000 1.000000
-vn 0.057338 -0.146135 0.987602
-vn 0.000000 0.000000 -1.000000
-vn 0.057338 -0.146135 -0.987602
-vn -0.428213 0.638920 0.639073
-vn 0.428218 -0.638908 -0.639082
-vn 0.000000 -0.691141 -0.722720
-vn 0.000000 -0.691139 -0.722722
-vn 0.000000 -0.691141 -0.722720
-vn 0.000000 0.454456 -0.890769
-vn 0.951234 -0.138151 -0.275803
-vn 0.000000 -0.454457 0.890769
-vn -0.903964 0.048238 0.424879
-vn 0.000000 -0.454453 0.890770
-vn -0.995330 0.080548 -0.053198
-vn 0.000000 0.454454 -0.890770
-vn 0.960300 -0.165937 0.224251
-vn 0.000000 -0.454452 0.890771
-vn -0.975849 0.069272 0.207173
-vn 0.000000 0.454452 -0.890771
-vn 0.986498 -0.160658 -0.031790
-vn 0.000000 -0.691143 -0.722718
-vn 0.000000 -0.691141 -0.722720
-vn 0.000000 -0.498728 0.866759
-vn -0.996095 0.061022 0.063811
-vn 0.000000 0.498728 -0.866759
-vn 0.961371 -0.201950 0.187033
-vn -0.926465 -0.007117 0.376314
-vn 0.000000 0.498727 -0.866759
-vn 0.979784 -0.138270 -0.144587
-vn 0.000000 -0.498727 0.866759
-vn 0.000000 -0.691144 -0.722717
-vn 0.000000 -0.691141 -0.722720
-vn 0.000000 -0.490952 0.871187
-vn -0.999878 -0.010796 -0.011290
-vn 0.000000 0.490953 -0.871186
-vn 0.956749 -0.130192 0.260156
-vn -0.946483 -0.074629 0.314007
-vn 0.000000 0.490952 -0.871186
-vn 0.995191 -0.067699 -0.070793
-vn 0.000000 -0.490953 0.871186
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.382683 0.000000 -0.923880
-vn -0.382684 0.000000 -0.923879
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923879 0.000000 0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.382683 0.000000 0.923880
-vn -0.382683 0.000000 0.923880
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382683 0.000000 -0.923880
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.923879 0.000000 0.382684
-vn 0.923879 0.000000 0.382684
-vn 0.923879 0.000000 -0.382684
-vn 0.923879 0.000000 -0.382684
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.382684 0.000000 0.923880
-vn -0.382684 0.000000 0.923880
-vn 0.382683 0.000000 0.923880
-vn 0.382683 0.000000 0.923880
-vn -0.382684 0.000000 -0.923880
-vn -0.382684 0.000000 -0.923880
-vn 0.382683 0.000000 -0.923880
-vn 0.382683 0.000000 -0.923880
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.923850 0.007985 0.382671
-vn 0.848857 -0.394732 0.351608
-vn 0.825591 -0.448837 0.341971
-vn 0.917828 -0.114267 0.380177
-vn 0.923850 0.007985 -0.382671
-vn 0.848857 -0.394732 -0.351608
-vn 0.825591 -0.448837 -0.341971
-vn 0.917828 -0.114267 -0.380177
-vn -0.923850 0.007985 -0.382671
-vn -0.848857 -0.394732 -0.351608
-vn -0.825592 -0.448837 -0.341971
-vn -0.917828 -0.114266 -0.380177
-vn -0.923850 0.007985 0.382671
-vn -0.848857 -0.394732 0.351608
-vn -0.825592 -0.448837 0.341971
-vn -0.917828 -0.114266 0.380177
-vn -0.382671 0.007985 0.923850
-vn -0.465039 -0.258222 0.846794
-vn -0.341971 -0.448837 0.825591
-vn -0.380177 -0.114267 0.917828
-vn 0.382671 0.007985 0.923850
-vn 0.465039 -0.258221 0.846794
-vn 0.341971 -0.448837 0.825591
-vn 0.380177 -0.114267 0.917828
-vn 0.265892 -0.719195 0.641920
-vn -0.265892 -0.719195 0.641919
-vn 0.000000 0.007377 0.999973
-vn 0.000000 0.007377 0.999973
-vn 0.000000 -0.691141 0.722720
-vn 0.000000 -0.691141 0.722720
-vn -0.382671 0.007985 -0.923850
-vn -0.465039 -0.258221 -0.846794
-vn -0.265892 -0.719195 -0.641920
-vn -0.341971 -0.448837 -0.825591
-vn -0.380177 -0.114267 -0.917828
-vn 0.382671 0.007985 -0.923850
-vn 0.465039 -0.258221 -0.846794
-vn 0.000000 0.007377 -0.999973
-vn 0.000000 0.007377 -0.999973
-vn 0.341971 -0.448837 -0.825592
-vn 0.380177 -0.114267 -0.917828
-vn 0.265892 -0.719194 -0.641920
-vn 0.000000 -0.691141 -0.722720
-vn 0.000000 -0.691141 -0.722720
-vn 0.390974 -0.906042 0.161947
-vn 0.390974 -0.906042 0.161947
-vn 0.390974 -0.906042 -0.161950
-vn 0.390974 -0.906042 -0.161950
-vn -0.390973 -0.906042 -0.161949
-vn -0.390973 -0.906042 -0.161949
-vn -0.390973 -0.906042 0.161949
-vn -0.390973 -0.906042 0.161949
-vn -0.161946 -0.906042 0.390975
-vn -0.161946 -0.906042 0.390975
-vn 0.161947 -0.906043 0.390973
-vn 0.161947 -0.906043 0.390973
-vn -0.161946 -0.906042 -0.390975
-vn -0.161946 -0.906042 -0.390975
-vn 0.161946 -0.906042 -0.390976
-vn 0.161946 -0.906042 -0.390976
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.382684 0.000000 0.923879
-vn -0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn -0.174230 0.982057 -0.072168
-vn -0.174230 0.982057 -0.072168
-vn -0.174230 0.982057 0.072169
-vn -0.174230 0.982057 0.072169
-vn 0.174230 0.982057 0.072169
-vn 0.174230 0.982057 0.072169
-vn 0.174230 0.982057 -0.072169
-vn 0.174230 0.982057 -0.072169
-vn 0.072168 0.982057 -0.174231
-vn 0.072168 0.982057 -0.174231
-vn -0.072168 0.982057 -0.174229
-vn -0.072168 0.982057 -0.174229
-vn 0.072168 0.982057 0.174231
-vn 0.072168 0.982057 0.174231
-vn -0.072168 0.982057 0.174231
-vn -0.072168 0.982057 0.174231
-vn -0.915772 0.132185 -0.379326
-vn -0.915772 0.132185 -0.379326
-vn -0.915772 0.132185 0.379326
-vn -0.915772 0.132185 0.379326
-vn 0.915773 0.132185 0.379325
-vn 0.915773 0.132185 0.379325
-vn 0.915773 0.132185 -0.379325
-vn 0.915773 0.132185 -0.379325
-vn 0.379326 0.132185 -0.915772
-vn 0.379326 0.132185 -0.915772
-vn -0.379325 0.132185 -0.915773
-vn -0.379325 0.132185 -0.915773
-vn 0.379326 0.132185 0.915772
-vn 0.379326 0.132185 0.915772
-vn -0.379325 0.132185 0.915773
-vn -0.379325 0.132185 0.915773
-vn 0.044453 0.998842 0.018413
-vn 0.044453 0.998842 0.018413
-vn 0.044453 0.998842 -0.018413
-vn 0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 0.018413
-vn -0.044453 0.998842 0.018413
-vn -0.018413 0.998842 0.044452
-vn -0.018413 0.998842 0.044452
-vn 0.018413 0.998842 0.044452
-vn 0.018413 0.998842 0.044452
-vn -0.018413 0.998842 -0.044452
-vn -0.018413 0.998842 -0.044452
-vn 0.018413 0.998842 -0.044452
-vn 0.018413 0.998842 -0.044452
-vn 0.923772 0.015264 0.382639
-vn 0.923772 0.015264 0.382639
-vn 0.923772 0.015264 -0.382639
-vn 0.923772 0.015264 -0.382639
-vn 0.382639 0.015264 -0.923772
-vn -0.382638 0.015264 -0.923772
-vn -0.923772 0.015264 -0.382640
-vn -0.923772 0.015264 -0.382640
-vn -0.923772 0.015264 0.382640
-vn -0.923772 0.015264 0.382640
-vn -0.382638 0.015264 0.923772
-vn -0.382638 0.015264 0.923772
-vn 0.382639 0.015264 0.923772
-vn 0.382639 0.015264 0.923772
-vn -0.382638 0.015264 -0.923772
-vn 0.382639 0.015264 -0.923772
-vn -0.000498 -1.000000 0.000000
-vn -0.000978 -1.000000 0.000000
-vn -0.000978 -0.999829 -0.018484
-vn -0.000498 -0.999831 -0.018381
-vn 0.000342 -0.999875 -0.015805
-vn 0.000342 -1.000000 0.000000
-vn 0.000649 -0.999930 -0.011797
-vn 0.000649 -1.000000 0.000000
-vn 0.000644 -0.999968 -0.007972
-vn 0.000645 -1.000000 0.000000
-vn -0.000134 -0.999995 -0.003267
-vn -0.000134 -1.000000 0.000000
-vn -0.000594 -0.999997 -0.002483
-vn -0.000594 -1.000000 0.000000
-vn 0.000465 -0.999988 -0.004895
-vn 0.000465 -1.000000 0.000000
-vn 0.000285 -0.999980 -0.006340
-vn 0.000285 -1.000000 0.000000
-vn 0.081838 -0.996646 0.000000
-vn 0.081835 -0.996609 -0.008551
-vn 0.344185 -0.938871 0.007579
-vn 0.344195 -0.938898 0.000000
-vn 0.605586 -0.790519 0.091348
-vn 0.608129 -0.793838 0.000000
-vn 0.760646 -0.613146 0.213235
-vn 0.778552 -0.627580 0.000000
-vn 0.848223 -0.481433 0.220772
-vn 0.869682 -0.493613 0.000000
-vn 0.808292 -0.581043 0.095151
-vn 0.811976 -0.583691 0.000000
-vn 0.668057 -0.744110 -0.000355
-vn 0.668057 -0.744110 0.000000
-vn 0.726716 -0.686915 -0.005694
-vn 0.726727 -0.686926 0.000000
-vn 0.955276 -0.295714 0.000866
-vn 0.955276 -0.295714 0.000000
-vn 0.999999 0.000260 -0.001367
-vn 1.000000 0.000260 0.000000
-vn -0.000498 -0.999831 0.018381
-vn -0.000978 -0.999829 0.018484
-vn 0.000342 -0.999875 0.015805
-vn 0.000649 -0.999930 0.011797
-vn 0.000644 -0.999968 0.007972
-vn -0.000134 -0.999995 0.003267
-vn -0.000594 -0.999997 0.002483
-vn 0.000465 -0.999988 0.004895
-vn 0.000285 -0.999980 0.006340
-vn 0.344185 -0.938871 -0.007579
-vn 0.081835 -0.996609 0.008551
-vn 0.605586 -0.790519 -0.091348
-vn 0.760646 -0.613146 -0.213235
-vn 0.848223 -0.481433 -0.220772
-vn 0.808292 -0.581043 -0.095151
-vn 0.668057 -0.744110 0.000355
-vn 0.726716 -0.686915 0.005694
-vn 0.955276 -0.295714 -0.000866
-vn 0.999999 0.000260 0.001367
-vn 0.532643 0.846199 -0.015426
-vn 0.532707 0.846300 0.000000
-vn 0.532643 0.846199 -0.015426
-vn 0.532707 0.846300 0.000000
-vn 0.532643 0.846199 0.015426
-vn 0.532643 0.846199 0.015426
-vn -0.311057 0.950245 0.016675
-vn -0.311100 0.950377 0.000000
-vn -0.311057 0.950245 0.016675
-vn -0.311100 0.950377 0.000000
-vn -0.311057 0.950245 -0.016675
-vn -0.311057 0.950245 -0.016675
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn -0.001558 0.003019 0.999994
-vn -0.005048 0.008466 0.999951
-vn -0.008364 0.009773 0.999917
-vn -0.006180 0.002751 0.999977
-vn 0.031027 -0.045147 0.998498
-vn 0.083067 -0.146694 0.985688
-vn 0.171496 -0.296152 0.939618
-vn 0.379549 -0.370895 0.847573
-vn 0.612488 -0.633300 0.473064
-vn -0.908937 0.181562 0.375326
-vn -0.980714 0.195447 0.000000
-vn -0.926840 0.365132 0.087447
-vn -0.999916 -0.012961 0.000000
-vn 0.001662 -0.284907 0.958554
-vn -0.002601 -0.611459 0.791272
-vn -0.004739 -0.614960 0.788544
-vn -0.001656 -0.620166 0.784469
-vn -0.002364 -0.624637 0.780912
-vn -0.003943 -0.628088 0.778132
-vn -0.002765 -0.630722 0.776004
-vn 0.001016 -0.631656 0.775248
-vn 0.055700 -0.627733 0.776433
-vn 0.226451 -0.593755 0.772124
-vn 0.431596 -0.502047 0.749449
-vn 0.559688 -0.398391 0.726660
-vn 0.640943 -0.317266 0.698952
-vn 0.637526 -0.529415 0.559715
-vn 0.328249 -0.731406 0.597743
-vn 0.503599 -0.691202 0.518294
-vn -0.000622 -0.957209 0.289396
-vn -0.011620 -0.958525 0.284770
-vn -0.016400 -0.961439 0.274527
-vn -0.009060 -0.964396 0.264307
-vn -0.007042 -0.966195 0.257717
-vn -0.011348 -0.967312 0.253337
-vn -0.008201 -0.968389 0.249311
-vn 0.001985 -0.968728 0.248118
-vn 0.099841 -0.959526 0.263329
-vn 0.350932 -0.896456 0.270578
-vn 0.637211 -0.736703 0.226343
-vn 0.810509 -0.563456 0.159977
-vn 0.898578 -0.431621 0.079123
-vn -0.032745 -0.924632 0.379451
-vn -0.027915 -0.929989 0.366525
-vn -0.025304 -0.933217 0.358421
-vn -0.021026 -0.931393 0.363408
-vn -0.013125 -0.931310 0.363990
-vn -0.017126 -0.929639 0.368073
-vn -0.009906 -0.925524 0.378560
-vn 0.017727 -0.913313 0.406872
-vn 0.138306 -0.872253 0.469091
-vn 0.350660 -0.781718 0.515709
-vn 0.604752 -0.636012 0.479337
-vn 0.779066 -0.492478 0.387970
-vn 0.869206 -0.411663 0.273889
-vn 0.682096 -0.710441 0.173255
-vn -0.088118 -0.757908 0.646383
-vn -0.051298 -0.773044 0.632274
-vn -0.029597 -0.786952 0.616304
-vn -0.033228 -0.783410 0.620617
-vn -0.020186 -0.775990 0.630422
-vn -0.005117 -0.761370 0.648297
-vn 0.018569 -0.730812 0.682326
-vn 0.057344 -0.685707 0.725615
-vn 0.162821 -0.645857 0.745894
-vn 0.327546 -0.624718 0.708831
-vn 0.568254 -0.552002 0.610230
-vn 0.745434 -0.452974 0.489023
-vn 0.828394 -0.409274 0.382436
-vn 0.665243 -0.692669 0.278679
-vn -0.126585 -0.324874 0.937248
-vn -0.083031 -0.336373 0.938061
-vn -0.049527 -0.354987 0.933559
-vn -0.041844 -0.357783 0.932867
-vn -0.021024 -0.344348 0.938607
-vn 0.019876 -0.328586 0.944265
-vn 0.058985 -0.312457 0.948099
-vn 0.081012 -0.303002 0.949540
-vn 0.135971 -0.321898 0.936960
-vn 0.243140 -0.369569 0.896829
-vn 0.485396 -0.368969 0.792624
-vn 0.682836 -0.329533 0.652030
-vn 0.768168 -0.313531 0.558226
-vn 0.619534 -0.642008 0.451667
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.004050 -0.001464 0.999991
-vn 0.004050 -0.001464 0.999991
-vn 0.008099 -0.002928 0.999963
-vn 0.008099 -0.002928 0.999963
-vn -0.155548 0.179096 0.971457
-vn -0.182194 0.240699 0.953346
-vn 0.382114 -0.914355 0.133959
-vn 0.484499 -0.866370 0.121091
-vn 0.387995 -0.898366 0.205909
-vn 0.343405 -0.880083 0.327913
-vn 0.423232 -0.483997 0.765912
-vn 0.138085 -0.809093 0.571228
-vn -0.443965 0.883319 0.150473
-vn -0.278326 0.947710 0.156141
-vn -0.028994 0.982343 0.184829
-vn 0.180907 0.973766 0.138031
-vn 0.112474 -0.299001 0.947601
-vn -0.234810 -0.551473 0.800463
-vn 0.058509 -0.134104 0.989239
-vn -0.429138 -0.313067 0.847248
-vn 0.285194 0.197417 0.937918
-vn 0.210505 0.971282 0.110905
-vn 0.554932 0.600983 0.575212
-vn 0.408425 0.890099 0.202271
-vn 0.061938 0.990093 0.126015
-vn -0.268469 0.954312 0.131197
-vn 0.429959 0.714252 0.552250
-vn 0.143742 0.770267 -0.621311
-vn 0.232969 0.763400 -0.602449
-vn 0.061981 0.909120 -0.411898
-vn -0.156425 0.952959 -0.259617
-vn -0.471350 0.868971 -0.150731
-vn -0.576295 0.726086 0.375077
-vn -0.865920 0.500183 0.000000
-vn -0.989994 0.141112 0.000000
-vn -0.460187 0.872346 -0.165047
-vn -0.205437 0.978670 0.000000
-vn -0.138800 0.934428 -0.327991
-vn 0.048613 0.998818 0.000000
-vn 0.467845 0.883810 0.000000
-vn 0.384094 0.920149 -0.076134
-vn 0.551719 0.832347 -0.052967
-vn 0.366455 0.930436 0.000000
-vn 0.428842 0.893311 -0.134496
-vn -0.037439 0.880778 -0.472048
-vn 0.189683 0.750419 -0.633160
-vn 0.214020 0.756073 -0.618506
-vn -0.226937 0.607334 -0.761344
-vn -0.411998 0.911184 0.001160
-vn -0.411998 0.911185 0.000000
-vn 0.556969 -0.013670 0.830421
-vn 0.382048 0.076277 0.920989
-vn 0.500121 0.035416 0.865231
-vn 0.405430 0.172047 0.897790
-vn 0.333241 0.015263 0.942718
-vn 0.297561 0.153827 0.942229
-vn 0.123103 0.109724 0.986309
-vn 0.145216 -0.018635 0.989224
-vn 0.110890 -0.030335 0.993370
-vn 0.095854 0.135837 0.986083
-vn 0.070909 -0.018533 0.997311
-vn 0.049046 0.176580 0.983064
-vn 0.040821 0.045228 0.998142
-vn 0.007370 0.115608 0.993268
-vn 0.004079 0.088693 0.996051
-vn 0.013448 0.082595 0.996492
-vn 0.004596 0.101518 0.994823
-vn -0.015378 0.105704 0.994279
-vn -0.029288 0.098868 0.994669
-vn -0.044604 0.105798 0.993387
-vn -0.032949 0.131347 0.990789
-vn -0.042621 0.067021 0.996841
-vn -0.045682 0.237634 0.970280
-vn -0.072399 0.073942 0.994631
-vn -0.093170 0.254066 0.962689
-vn -0.105730 0.094396 0.989904
-vn -0.125141 0.258127 0.957972
-vn 0.304162 0.023810 0.952323
-vn 0.270011 0.041486 0.961963
-vn 0.374880 0.143776 0.915857
-vn 0.265584 0.072621 0.961349
-vn 0.159298 0.154959 0.974993
-vn 0.298003 0.116049 0.947484
-vn 0.112454 0.305711 0.945460
-vn 0.234602 0.113939 0.965391
-vn 0.320457 0.197980 0.926343
-vn 0.136348 0.119007 0.983487
-vn 0.151168 0.093855 0.984042
-vn 0.146094 0.075611 0.986377
-vn 0.000000 0.327190 0.944959
-vn 0.017516 0.256234 0.966456
-vn -0.027045 0.261613 0.964794
-vn 0.017531 0.108058 0.993990
-vn 0.020891 0.168337 0.985508
-vn 0.031172 0.086795 0.995738
-vn -0.018860 0.116248 0.993041
-vn -0.012559 0.088054 0.996037
-vn 0.000025 0.031657 0.999499
-vn 0.086871 0.090782 0.992075
-vn 0.116889 0.165352 0.979283
-vn 0.053620 0.110638 0.992413
-vn 0.116889 0.165352 0.979283
-vn 0.009729 0.173236 0.984832
-vn -0.060523 0.204549 0.976984
-vn -0.083714 0.255371 0.963212
-vn 0.035971 0.252341 0.966969
-vn -0.002250 0.365469 0.930821
-vn -0.135289 0.847974 0.512481
-vn 0.011574 0.875069 0.483860
-vn 0.029526 0.442508 0.896279
-vn 0.026044 0.265581 0.963737
-vn 0.000000 0.279250 0.960218
-vn -0.006966 0.048920 0.998778
-vn -0.004497 0.140224 0.990110
-vn -0.004148 0.141952 0.989865
-vn -0.004147 0.141439 0.989938
-vn -0.017246 0.127797 0.991650
-vn -0.026184 0.030281 0.999198
-vn 0.016002 0.277204 0.960678
-vn 0.016002 0.277204 0.960678
-vn -0.012361 0.268507 0.963198
-vn -0.012361 0.268507 0.963198
-vn -0.023383 0.234430 0.971852
-vn 0.000000 0.218824 0.975764
-vn 0.000185 0.310974 0.950418
-vn 0.000184 0.313300 0.949654
-vn 0.000000 0.313741 0.949509
-vn 0.000000 0.310542 0.950560
-vn -0.009659 0.410519 0.911801
-vn 0.209958 0.810995 0.546081
-vn 0.345868 0.556792 0.755221
-vn -0.089097 0.206623 0.974355
-vn 0.174510 0.153230 0.972660
-vn -0.081234 0.271336 0.959051
-vn -0.086316 0.271239 0.958634
-vn -0.087111 0.239852 0.966893
-vn -0.132231 0.332916 0.933639
-vn -0.119249 0.254206 0.959770
-vn -0.163495 0.235513 0.958020
-vn -0.088396 0.283924 0.954763
-vn 0.109747 0.210021 0.971518
-vn -0.070976 0.018118 0.997313
-vn -0.047399 -0.020257 0.998671
-vn -0.094775 -0.019741 0.995303
-vn -0.063320 0.024917 0.997682
-vn 0.000000 0.113789 0.993505
-vn -0.014780 0.060170 0.998079
-vn -0.014779 -0.045290 0.998865
-vn 0.000000 -0.096813 0.995303
-vn 0.000000 0.398474 0.917180
-vn -0.047249 0.264787 0.963149
-vn -0.078847 -0.011689 0.996818
-vn 0.014963 0.343466 0.939046
-vn 0.014963 0.343466 0.939046
-vn -0.013305 0.124636 0.992113
-vn -0.065431 0.131200 0.989194
-vn -0.020415 0.177472 0.983914
-vn -0.010960 0.166519 0.985977
-vn -0.065852 0.234307 0.969930
-vn 0.125538 0.244740 0.961428
-vn -0.048087 -0.016246 0.998711
-vn -0.110254 0.380000 0.918392
-vn -0.116765 -0.117675 0.986163
-vn -0.114352 -0.366303 0.923442
-vn -0.096526 -0.375230 0.921892
-vn 0.148874 0.354954 -0.922954
-vn 0.264827 0.332418 -0.905188
-vn -0.984186 -0.159692 0.076660
-vn -0.703782 -0.325892 0.631257
-vn -0.753180 -0.142612 0.642169
-vn -0.694786 0.403993 0.595031
-vn -0.978547 -0.155407 0.135256
-vn -0.972902 -0.116808 0.199544
-vn -0.986642 -0.086804 0.137848
-vn -0.996582 -0.051510 0.064582
-vn -0.998667 -0.051618 0.000000
-vn -0.997128 -0.075732 0.000000
-vn -0.978534 -0.119823 0.167670
-vn -0.992300 -0.123854 0.000000
-vn -0.975218 -0.143091 0.168747
-vn -0.990826 -0.135146 0.000000
-vn -0.992466 -0.122522 0.000000
-vn -0.976178 -0.120030 0.180747
-vn -0.911609 0.334059 0.239530
-vn -0.949057 0.315103 0.000000
-vn -0.991092 -0.100151 0.087782
-vn -0.936786 0.320495 0.140413
-vn -0.004617 0.173236 0.984869
-vn -0.051868 0.232639 0.971179
-vn -0.139632 0.244987 0.959419
-vn -0.169449 0.263015 0.949795
-vn 0.378050 0.488514 0.786404
-vn -0.074203 0.746661 0.661053
-vn -0.456333 0.781419 0.425611
-vn -0.678291 0.700497 0.221868
-vn -0.652774 0.718758 0.239318
-vn -0.688381 0.725349 0.000000
-vn -0.706036 0.708176 0.000000
-vn -0.631292 0.740974 0.228972
-vn -0.601784 0.763373 0.234772
-vn -0.351728 0.872825 0.338325
-vn -0.043159 0.865597 0.498878
-vn 0.426695 0.574370 0.698592
-vn 0.716915 0.112171 0.688078
-vn 0.758164 0.095473 0.645037
-vn -0.183085 0.157225 0.970443
-vn 0.148874 0.354954 -0.922954
-vn 0.359364 0.324809 -0.874846
-vn 0.367321 0.351698 -0.861037
-vn 0.297364 0.317491 -0.900430
-vn 0.458623 0.303871 -0.835061
-vn 0.469618 0.323039 -0.821647
-vn 0.276933 0.372860 -0.885598
-vn 0.559261 0.465460 -0.685984
-vn 0.630410 0.558969 -0.538644
-vn 0.247626 0.765912 -0.593347
-vn -0.010843 0.830001 -0.557657
-vn -0.157013 0.808137 -0.567680
-vn -0.578608 0.580866 -0.572545
-vn -0.499662 0.628040 0.596577
-vn -0.557389 0.636957 -0.532544
-vn -0.433436 0.642411 0.632014
-vn -0.042672 0.818865 0.572398
-vn -0.152161 0.845866 -0.511232
-vn 0.094274 0.616930 0.781351
-vn 0.078118 0.638832 0.765370
-vn 0.186343 0.533377 -0.825097
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn -0.010843 0.830001 -0.557657
-vn -0.411993 0.911187 0.000000
-vn -0.271595 0.962411 0.000765
-vn -0.040347 0.827309 -0.560297
-vn 0.000000 1.000000 0.000000
-vn -0.239914 0.607394 -0.757307
-vn 0.128620 0.967244 -0.218851
-vn 0.008099 -0.002928 0.999963
-vn -0.182194 0.240699 0.953346
-vn 0.357690 0.769708 0.528778
-vn 0.319524 0.907313 0.273288
-vn 0.019270 0.977705 0.209097
-vn 0.000385 0.311767 0.950159
-vn 0.000384 0.312493 0.949920
-vn -0.908937 0.181562 -0.375326
-vn -0.926840 0.365132 -0.087447
-vn 0.343550 0.932835 0.108595
-vn 0.343550 0.932835 0.108595
-vn 0.572438 0.813026 0.106320
-vn 0.572438 0.813026 0.106320
-vn 0.350916 0.936401 0.003314
-vn 0.180208 0.957843 0.223747
-vn 0.054837 0.998292 -0.020148
-vn -0.156425 0.952959 0.259617
-vn -0.223117 0.966373 -0.127839
-vn -0.471350 0.868970 0.150731
-vn -0.627989 0.606445 -0.487703
-vn -0.460187 0.872346 0.165048
-vn -0.138800 0.934428 0.327991
-vn 0.384095 0.920149 0.076134
-vn 0.551719 0.832347 0.052967
-vn 0.428842 0.893311 0.134496
-vn 0.536322 0.831008 0.147594
-vn 0.027253 0.932118 0.361127
-vn 0.471549 0.880758 0.043652
-vn -0.000011 1.000000 0.000000
-vn -0.411998 0.911184 -0.001160
-vn -0.020820 0.226240 -0.973849
-vn -0.060523 0.204549 -0.976984
-vn -0.051837 0.299894 -0.952563
-vn -0.002250 0.365469 -0.930821
-vn 0.033028 0.249392 -0.967839
-vn -0.135289 0.847974 -0.512481
-vn 0.011574 0.875069 -0.483860
-vn 0.029526 0.442508 -0.896279
-vn 0.047123 0.251268 -0.966770
-vn 0.209958 0.810995 -0.546081
-vn 0.003451 0.457095 -0.889411
-vn 0.345868 0.556792 -0.755221
-vn -0.089097 0.206623 -0.974355
-vn 0.174510 0.153230 -0.972660
-vn -0.018298 0.420237 -0.907230
-vn -0.047249 0.264787 -0.963149
-vn 0.000000 0.398474 -0.917180
-vn -0.078847 -0.011689 -0.996818
-vn -0.065431 0.131200 -0.989194
-vn -0.032469 0.133629 -0.990499
-vn -0.020415 0.177472 -0.983914
-vn -0.044526 0.314179 -0.948319
-vn -0.048086 -0.016246 -0.998711
-vn -0.116765 -0.117675 -0.986163
-vn -0.110254 0.380000 -0.918392
-vn -0.096526 -0.375230 -0.921892
-vn -0.114352 -0.366303 -0.923442
-vn -0.984186 -0.159691 -0.076660
-vn -0.703782 -0.325892 -0.631257
-vn -0.753180 -0.142612 -0.642169
-vn -0.694786 0.403993 -0.595031
-vn -0.978547 -0.155406 -0.135256
-vn -0.972902 -0.116808 -0.199544
-vn -0.986642 -0.086804 -0.137848
-vn -0.996582 -0.051510 -0.064582
-vn -0.978534 -0.119823 -0.167670
-vn -0.975218 -0.143091 -0.168747
-vn -0.976178 -0.120030 -0.180747
-vn -0.911609 0.334059 -0.239530
-vn -0.936786 0.320494 -0.140413
-vn -0.991092 -0.100151 -0.087782
-vn -0.070496 0.737933 -0.671182
-vn -0.074203 0.746661 -0.661053
-vn -0.456333 0.781418 -0.425611
-vn -0.678291 0.700497 -0.221868
-vn -0.652774 0.718758 -0.239318
-vn -0.631292 0.740974 -0.228972
-vn -0.601784 0.763373 -0.234772
-vn -0.351728 0.872825 -0.338325
-vn -0.043159 0.865597 -0.498878
-vn -0.050739 0.856785 -0.513172
-vn 0.831646 0.554121 -0.036263
-vn 0.717163 0.695166 -0.049205
-vn 0.303995 0.952143 -0.031778
-vn 0.000000 1.000000 0.000000
-vn -0.195416 0.980690 0.007761
-vn -0.560456 0.746959 -0.357690
-vn -0.671650 0.740845 0.005932
-vn -0.611471 0.790924 0.023310
-vn -0.611471 0.790924 0.023310
-vn -0.117785 0.992762 0.023457
-vn -0.117785 0.992762 0.023457
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn -0.271595 0.962411 -0.000765
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.128620 0.967244 0.218851
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -0.988845 -0.145242 0.033023
-vn -0.988845 -0.145239 0.033023
-vn -0.988761 -0.149470 0.003221
-vn -0.988762 -0.149465 0.003225
-vn -1.000000 0.000000 0.000006
-vn -0.064201 -0.872217 0.484887
-vn -0.988168 -0.153378 0.000000
-vn -0.980657 -0.148457 0.127562
-vn -0.971555 -0.144479 0.187635
-vn -0.963527 -0.144431 0.225290
-vn -0.825920 -0.534641 0.178926
-vn -0.863285 -0.476281 0.167021
-vn -0.904585 -0.416699 0.089932
-vn -0.930451 -0.366417 0.000000
-vn -0.764102 -0.633483 0.121850
-vn -0.827879 -0.560907 0.000000
-vn -0.774383 -0.625081 0.098007
-vn -0.791643 -0.590519 0.156806
-vn -0.586142 -0.792046 0.170589
-vn -0.783917 -0.595080 0.177072
-vn -0.790636 -0.503094 0.348985
-vn -0.064201 -0.872217 0.484887
-vn -0.432186 -0.737990 0.518253
-vn -0.707464 -0.706750 0.000105
-vn -0.707464 -0.706750 0.000105
-vn -1.000000 -0.000020 0.000013
-vn -1.000000 -0.000020 0.000013
-vn -0.840440 -0.531300 0.106684
-vn -0.840440 -0.531300 0.106684
-vn -1.000000 -0.000016 0.000000
-vn -1.000000 -0.000016 0.000000
-vn -1.000000 -0.000018 0.000000
-vn -1.000000 -0.000018 0.000000
-vn -0.761963 -0.630098 0.149627
-vn -0.761963 -0.630098 0.149627
-vn -0.606091 -0.783425 0.137475
-vn -0.790636 -0.503094 0.348985
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -0.432186 -0.737990 0.518253
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -0.988845 -0.145242 -0.033023
-vn -0.988845 -0.145239 -0.033023
-vn -0.988761 -0.149470 -0.003221
-vn -0.988762 -0.149465 -0.003225
-vn -1.000000 0.000000 -0.000006
-vn -0.064201 -0.872217 -0.484887
-vn -0.432186 -0.737989 -0.518254
-vn -0.980657 -0.148457 -0.127562
-vn -0.971555 -0.144479 -0.187635
-vn -0.963527 -0.144431 -0.225290
-vn -0.825920 -0.534641 -0.178926
-vn -0.863285 -0.476281 -0.167021
-vn -0.904585 -0.416699 -0.089932
-vn -0.764102 -0.633483 -0.121850
-vn -0.774383 -0.625081 -0.098007
-vn -0.791643 -0.590519 -0.156806
-vn -0.586142 -0.792046 -0.170589
-vn -0.783917 -0.595079 -0.177072
-vn -0.790636 -0.503094 -0.348985
-vn -0.432186 -0.737989 -0.518254
-vn -0.064201 -0.872217 -0.484887
-vn -0.790636 -0.503094 -0.348985
-vn -0.707464 -0.706750 -0.000105
-vn -0.707464 -0.706750 -0.000105
-vn -1.000000 -0.000020 -0.000013
-vn -1.000000 -0.000020 -0.000013
-vn -0.840440 -0.531300 -0.106684
-vn -0.840440 -0.531300 -0.106684
-vn -1.000000 -0.000016 0.000000
-vn -1.000000 -0.000016 0.000000
-vn -1.000000 -0.000018 0.000000
-vn -1.000000 -0.000018 0.000000
-vn -0.761963 -0.630098 -0.149627
-vn -0.761963 -0.630098 -0.149627
-vn -0.606091 -0.783425 -0.137475
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -0.967343 -0.253471 0.000000
-vn -0.966484 -0.253246 0.042143
-vn -0.991080 -0.130252 0.028205
-vn -0.998040 0.062190 -0.006929
-vn -0.904766 0.424835 -0.030227
-vn -0.864731 0.501983 -0.015936
-vn -0.982241 0.187302 0.010960
-vn -0.982300 0.187313 0.000000
-vn -0.864841 0.502047 0.000000
-vn -0.905179 0.425030 0.000000
-vn -0.998064 0.062191 0.000000
-vn -0.991474 -0.130304 0.000000
-vn -0.997327 0.073072 0.000000
-vn -0.997065 0.073052 0.022909
-vn -0.966484 -0.253246 -0.042143
-vn -0.991080 -0.130252 -0.028205
-vn -0.998040 0.062190 0.006929
-vn -0.904766 0.424835 0.030227
-vn -0.864731 0.501983 0.015936
-vn -0.982241 0.187302 -0.010960
-vn -0.997065 0.073052 -0.022909
-vn 0.578350 0.285793 0.764090
-vn 0.250386 0.130226 0.959348
-vn 0.231372 0.415637 0.879609
-vn 0.282524 0.559971 0.778853
-vn 0.676715 0.399167 0.618646
-vn 0.659150 0.075212 0.748241
-vn 0.647834 -0.110155 0.753775
-vn 0.590692 -0.107892 0.799651
-vn 0.405847 0.360061 0.840026
-vn 0.676715 0.399167 0.618646
-vn 0.659150 0.075212 0.748241
-vn 0.647834 -0.110155 0.753775
-vn 0.590692 -0.107892 0.799651
-vn 0.590692 -0.107892 0.799651
-vn 0.590692 -0.107892 0.799651
-vn 0.282524 0.559971 0.778853
-vn -0.450579 0.527013 0.720580
-vn -0.450579 0.527013 0.720580
-vn -0.295642 0.828243 0.476035
-vn -0.295642 0.828243 0.476035
-vn -0.089100 0.984906 0.148399
-vn 0.097191 0.990632 0.095925
-vn 0.117291 0.991040 0.063893
-vn 0.580264 0.794796 0.177748
-vn 0.117291 0.991040 0.063893
-vn 0.509041 0.750619 0.421246
-vn 0.406328 0.844909 0.347889
-vn 0.169327 0.818091 0.549595
-vn 0.663610 0.680521 0.310666
-vn 0.008975 0.665756 0.746116
-vn 0.642753 0.585407 0.494133
-vn 0.013507 0.795289 0.606080
-vn 0.640657 0.662571 0.388018
-vn 0.015595 0.945301 0.325826
-vn 0.629337 0.749031 0.207091
-vn 0.017361 0.999849 0.000000
-vn 0.630667 0.776053 0.000000
-vn 0.932045 0.362343 0.000000
-vn 0.971533 0.236903 0.000000
-vn 0.971320 0.237777 0.000000
-vn 0.973444 0.228927 0.000000
-vn 0.939724 0.341935 0.000000
-vn 0.965379 0.260852 0.000000
-vn 0.964909 0.260725 -0.031175
-vn 0.117291 0.991040 -0.063893
-vn 0.097191 0.990632 -0.095925
-vn 0.117291 0.991040 -0.063893
-vn 0.580264 0.794795 -0.177748
-vn 0.509041 0.750619 -0.421246
-vn 0.406328 0.844909 -0.347889
-vn 0.663610 0.680520 -0.310666
-vn 0.169328 0.818091 -0.549596
-vn 0.642753 0.585407 -0.494133
-vn 0.008975 0.665756 -0.746116
-vn 0.640658 0.662570 -0.388018
-vn 0.013507 0.795289 -0.606081
-vn 0.629337 0.749031 -0.207092
-vn 0.015595 0.945301 -0.325827
-vn 0.964909 0.260725 0.031175
-vn 0.003960 -0.990569 0.136954
-vn 0.003960 -0.990569 0.136954
-vn -0.054248 -0.035311 0.997903
-vn -0.056548 -0.026579 0.998046
-vn -0.058844 -0.017845 0.998108
-vn -0.008242 -0.844924 0.534823
-vn -0.040494 -0.294223 0.954878
-vn -0.046832 -0.642706 0.764680
-vn -0.048895 -0.289439 0.955947
-vn -0.057227 -0.284663 0.956918
-vn -0.078329 -0.403392 0.911669
-vn -0.139225 -0.140428 0.980253
-vn -0.139225 -0.140428 0.980253
-vn -0.176416 0.006735 0.984293
-vn -0.176416 0.006735 0.984293
-vn -0.176416 0.006735 0.984293
-vn 0.950690 -0.100397 0.293442
-vn 0.917871 0.186096 0.350544
-vn 0.868002 0.138068 0.476981
-vn 0.830271 -0.196277 0.521657
-vn 0.950690 -0.100397 0.293442
-vn 0.917871 0.186096 0.350544
-vn 0.868002 0.138068 0.476981
-vn 0.830271 -0.196277 0.521657
-vn -0.000197 -0.000261 1.000000
-vn -0.000082 -0.000105 1.000000
-vn -0.000082 -0.000105 1.000000
-vn -0.000140 -0.000183 1.000000
-vn -0.000140 -0.000183 1.000000
-vn -0.000166 -0.000082 -1.000000
-vn -0.000210 -0.000192 -1.000000
-vn -0.000188 -0.000137 -1.000000
-vn -0.000210 -0.000192 -1.000000
-vn -0.000188 -0.000137 -1.000000
-vn -0.000017 0.000000 1.000000
-vn 0.000000 -0.000016 1.000000
-vn 0.000000 -0.000016 1.000000
-vn -0.000008 -0.000008 1.000000
-vn -0.000008 -0.000008 1.000000
-vn -0.555518 -0.368362 -0.745459
-vn -0.390893 -0.269628 -0.880059
-vn -0.476491 -0.321209 -0.818402
-vn -0.390893 -0.269628 -0.880059
-vn -0.476491 -0.321209 -0.818402
-vn -0.032244 -0.998929 -0.033195
-vn -0.032244 -0.998929 -0.033195
-vn -0.063905 -0.997956 0.000000
-vn -0.063905 -0.997956 0.000000
-vn -0.000656 -1.000000 -0.000013
-vn -0.063765 -0.995760 -0.066306
-vn -0.063765 -0.995760 0.066306
-vn -0.032244 -0.998929 0.033195
-vn -0.032244 -0.998929 0.033195
-vn -0.000656 -1.000000 0.000013
-vn -0.000305 -0.000229 -1.000000
-vn -0.000225 -0.000132 -1.000000
-vn -0.000265 -0.000181 -1.000000
-vn -0.000225 -0.000132 -1.000000
-vn -0.000265 -0.000181 -1.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 -0.000010
-vn 0.000000 1.000000 -0.000010
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 -0.000010
-vn 0.000000 1.000000 0.000010
-vn 0.000000 1.000000 0.000010
-vn 0.000000 1.000000 0.000010
-vn 0.918662 0.395043 0.000000
-vn 0.918662 0.395043 -0.000015
-vn 0.918662 0.395043 -0.000015
-vn 0.918662 0.395043 0.000000
-vn 0.918662 0.395043 0.000015
-vn 0.918662 0.395043 0.000015
-vn -0.000057 1.000000 -0.000103
-vn -0.000015 1.000000 -0.000141
-vn -0.000098 1.000000 -0.000066
-vn -0.000098 1.000000 0.000000
-vn -0.000015 1.000000 -0.000141
-vn -0.000057 1.000000 -0.000103
-vn -0.000098 1.000000 0.000000
-vn -0.000015 1.000000 0.000141
-vn -0.000057 1.000000 0.000103
-vn -0.000098 1.000000 0.000066
-vn -0.000015 1.000000 0.000141
-vn -0.000057 1.000000 0.000103
-vn -0.003009 0.999937 0.010797
-vn 0.365466 0.930591 0.020860
-vn 0.791482 0.609971 0.038629
-vn 0.883316 0.466393 0.047225
-vn 0.887087 0.459285 0.046201
-vn 0.887087 0.459285 0.046201
-vn 0.883316 0.466393 0.047225
-vn 0.791482 0.609971 0.038629
-vn 0.365466 0.930591 0.020860
-vn -0.003009 0.999937 0.010797
-vn 0.941501 0.337010 0.000000
-vn 0.941501 0.337010 0.000000
-vn 0.941501 0.337010 0.000000
-vn 0.941501 0.337010 0.000000
-vn 0.941501 0.337010 0.000000
-vn 0.941501 0.337010 0.000000
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.382684 0.000000 -0.923879
-vn -0.382683 0.000000 -0.923880
-vn -0.923879 0.000000 -0.382684
-vn -0.923879 0.000000 -0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.382683 0.000000 0.923880
-vn -0.382683 0.000000 0.923880
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382683 0.000000 -0.923880
-vn 0.382684 0.000000 -0.923879
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn -0.923879 0.000000 -0.382684
-vn -0.923879 0.000000 -0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.382683 0.000000 0.923880
-vn -0.382683 0.000000 0.923880
-vn 0.382683 0.000000 0.923880
-vn 0.382683 0.000000 0.923880
-vn -0.382683 0.000000 -0.923880
-vn -0.382683 0.000000 -0.923880
-vn 0.382683 0.000000 -0.923880
-vn 0.382683 0.000000 -0.923880
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.923823 0.011019 0.382660
-vn 0.849397 -0.393369 0.351832
-vn 0.825592 -0.448836 0.341971
-vn 0.917828 -0.114267 0.380176
-vn 0.923823 0.011019 -0.382660
-vn 0.849397 -0.393369 -0.351832
-vn 0.825592 -0.448836 -0.341971
-vn 0.917828 -0.114267 -0.380177
-vn -0.923823 0.011019 -0.382661
-vn -0.849397 -0.393369 -0.351832
-vn -0.825591 -0.448836 -0.341972
-vn -0.917828 -0.114266 -0.380177
-vn -0.923823 0.011019 0.382660
-vn -0.849397 -0.393369 0.351832
-vn -0.825591 -0.448837 0.341972
-vn -0.917828 -0.114266 0.380177
-vn -0.382660 0.011019 0.923824
-vn -0.465296 -0.256226 0.847259
-vn -0.341971 -0.448837 0.825592
-vn -0.380177 -0.114267 0.917828
-vn 0.382660 0.011019 0.923823
-vn 0.465296 -0.256226 0.847259
-vn 0.341971 -0.448837 0.825591
-vn 0.380177 -0.114267 0.917828
-vn 0.265892 -0.719194 0.641920
-vn -0.265891 -0.719194 0.641920
-vn 0.000000 -0.691140 0.722721
-vn 0.000000 0.010180 0.999948
-vn -0.382660 0.011019 -0.923824
-vn -0.465296 -0.256226 -0.847259
-vn -0.265891 -0.719194 -0.641920
-vn -0.341971 -0.448837 -0.825592
-vn -0.380177 -0.114267 -0.917828
-vn 0.382660 0.011019 -0.923823
-vn 0.465296 -0.256226 -0.847259
-vn 0.000000 0.010180 -0.999948
-vn 0.265892 -0.719195 -0.641920
-vn 0.341971 -0.448837 -0.825591
-vn 0.000000 -0.691141 -0.722720
-vn 0.380177 -0.114267 -0.917828
-vn 0.390967 -0.906045 0.161946
-vn 0.390967 -0.906045 0.161946
-vn 0.390967 -0.906046 -0.161945
-vn 0.390967 -0.906046 -0.161945
-vn -0.390967 -0.906045 -0.161946
-vn -0.390967 -0.906045 -0.161946
-vn -0.390967 -0.906045 0.161946
-vn -0.390967 -0.906045 0.161946
-vn -0.161944 -0.906046 0.390967
-vn -0.161944 -0.906046 0.390967
-vn 0.161944 -0.906046 0.390967
-vn 0.161944 -0.906046 0.390967
-vn -0.161944 -0.906046 -0.390967
-vn -0.161944 -0.906046 -0.390967
-vn 0.161944 -0.906046 -0.390966
-vn 0.161944 -0.906046 -0.390966
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.382684 0.000000 0.923879
-vn -0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn -0.174226 0.982058 -0.072168
-vn -0.174226 0.982058 -0.072168
-vn -0.174226 0.982058 0.072166
-vn -0.174226 0.982058 0.072166
-vn 0.174226 0.982058 0.072168
-vn 0.174226 0.982058 0.072168
-vn 0.174226 0.982058 -0.072168
-vn 0.174226 0.982058 -0.072168
-vn 0.072167 0.982058 -0.174226
-vn 0.072167 0.982058 -0.174226
-vn -0.072167 0.982058 -0.174227
-vn -0.072167 0.982058 -0.174227
-vn 0.072167 0.982058 0.174226
-vn 0.072167 0.982058 0.174226
-vn -0.072167 0.982058 0.174225
-vn -0.072167 0.982058 0.174225
-vn -0.915773 0.132185 -0.379325
-vn -0.915773 0.132185 -0.379325
-vn -0.915773 0.132185 0.379325
-vn -0.915773 0.132185 0.379325
-vn 0.915773 0.132184 0.379325
-vn 0.915773 0.132184 0.379325
-vn 0.915773 0.132184 -0.379325
-vn 0.915773 0.132184 -0.379325
-vn 0.379326 0.132184 -0.915773
-vn 0.379326 0.132184 -0.915773
-vn -0.379325 0.132185 -0.915773
-vn -0.379325 0.132185 -0.915773
-vn 0.379326 0.132184 0.915773
-vn 0.379326 0.132184 0.915773
-vn -0.379325 0.132185 0.915773
-vn -0.379325 0.132185 0.915773
-vn 0.044453 0.998842 0.018413
-vn 0.044453 0.998842 0.018413
-vn 0.044453 0.998842 -0.018413
-vn 0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 0.018413
-vn -0.044453 0.998842 0.018413
-vn -0.018413 0.998842 0.044452
-vn -0.018413 0.998842 0.044452
-vn 0.018413 0.998842 0.044452
-vn 0.018413 0.998842 0.044452
-vn -0.018413 0.998842 -0.044452
-vn -0.018413 0.998842 -0.044452
-vn 0.018413 0.998842 -0.044452
-vn 0.018413 0.998842 -0.044452
-vn 0.923730 0.017953 0.382623
-vn 0.923730 0.017953 0.382623
-vn 0.923730 0.017953 -0.382623
-vn 0.923730 0.017953 -0.382623
-vn 0.382621 0.017953 -0.923731
-vn -0.382621 0.017953 -0.923731
-vn -0.923730 0.017953 -0.382622
-vn -0.923730 0.017953 -0.382622
-vn -0.923730 0.017953 0.382622
-vn -0.923730 0.017953 0.382622
-vn -0.382621 0.017953 0.923731
-vn -0.382621 0.017953 0.923731
-vn 0.382621 0.017953 0.923731
-vn 0.382621 0.017953 0.923731
-vn -0.382621 0.017953 -0.923731
-vn 0.382621 0.017953 -0.923731
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.382684 0.000000 -0.923879
-vn -0.382684 0.000000 -0.923879
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923879 0.000000 0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.382683 0.000000 0.923880
-vn -0.382683 0.000000 0.923880
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.382684 0.000000 0.923879
-vn -0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.923823 0.011019 0.382660
-vn 0.849397 -0.393368 0.351832
-vn 0.825592 -0.448836 0.341971
-vn 0.917828 -0.114267 0.380176
-vn 0.923823 0.011019 -0.382660
-vn 0.849397 -0.393368 -0.351832
-vn 0.825592 -0.448835 -0.341971
-vn 0.917828 -0.114267 -0.380176
-vn -0.923823 0.011019 -0.382660
-vn -0.849397 -0.393369 -0.351832
-vn -0.825591 -0.448837 -0.341972
-vn -0.917828 -0.114267 -0.380177
-vn -0.923823 0.011019 0.382660
-vn -0.849397 -0.393368 0.351832
-vn -0.825592 -0.448836 0.341972
-vn -0.917828 -0.114267 0.380177
-vn -0.382660 0.011019 0.923823
-vn -0.465297 -0.256225 0.847259
-vn -0.341971 -0.448836 0.825592
-vn -0.380177 -0.114267 0.917828
-vn 0.382660 0.011019 0.923824
-vn 0.465296 -0.256225 0.847259
-vn 0.341972 -0.448836 0.825592
-vn 0.380178 -0.114267 0.917828
-vn 0.265892 -0.719193 0.641921
-vn -0.265892 -0.719193 0.641921
-vn 0.000000 -0.691139 0.722722
-vn 0.000000 0.010180 0.999948
-vn -0.382660 0.011019 -0.923823
-vn -0.465297 -0.256226 -0.847259
-vn -0.265892 -0.719194 -0.641920
-vn -0.341971 -0.448837 -0.825592
-vn -0.380176 -0.114267 -0.917828
-vn 0.382660 0.011019 -0.923824
-vn 0.465296 -0.256225 -0.847259
-vn 0.000000 0.010180 -0.999948
-vn 0.265892 -0.719194 -0.641920
-vn 0.341972 -0.448837 -0.825591
-vn 0.000000 -0.691141 -0.722720
-vn 0.380178 -0.114267 -0.917828
-vn 0.390970 -0.906045 0.161944
-vn 0.390970 -0.906045 0.161944
-vn 0.390970 -0.906045 -0.161944
-vn 0.390970 -0.906045 -0.161944
-vn -0.390972 -0.906044 -0.161944
-vn -0.390972 -0.906044 -0.161944
-vn -0.390972 -0.906044 0.161944
-vn -0.390972 -0.906044 0.161944
-vn -0.161945 -0.906046 0.390965
-vn -0.161945 -0.906046 0.390965
-vn 0.161945 -0.906046 0.390965
-vn 0.161945 -0.906046 0.390965
-vn -0.161945 -0.906046 -0.390965
-vn -0.161945 -0.906046 -0.390965
-vn 0.161945 -0.906046 -0.390965
-vn 0.161945 -0.906046 -0.390965
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.382684 0.000000 0.923879
-vn -0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn -0.174228 0.982057 -0.072166
-vn -0.174228 0.982057 -0.072166
-vn -0.174228 0.982057 0.072166
-vn -0.174228 0.982057 0.072166
-vn 0.174228 0.982057 0.072166
-vn 0.174228 0.982057 0.072166
-vn 0.174228 0.982057 -0.072166
-vn 0.174228 0.982057 -0.072166
-vn 0.072168 0.982058 -0.174226
-vn 0.072168 0.982058 -0.174226
-vn -0.072168 0.982058 -0.174226
-vn -0.072168 0.982058 -0.174226
-vn 0.072168 0.982058 0.174226
-vn 0.072168 0.982058 0.174226
-vn -0.072168 0.982058 0.174226
-vn -0.072168 0.982058 0.174226
-vn -0.915773 0.132186 -0.379325
-vn -0.915773 0.132186 -0.379325
-vn -0.915773 0.132186 0.379325
-vn -0.915773 0.132186 0.379325
-vn 0.915772 0.132185 0.379326
-vn 0.915772 0.132185 0.379326
-vn 0.915772 0.132185 -0.379326
-vn 0.915772 0.132185 -0.379326
-vn 0.379325 0.132185 -0.915773
-vn 0.379325 0.132185 -0.915773
-vn -0.379326 0.132185 -0.915772
-vn -0.379326 0.132185 -0.915772
-vn 0.379325 0.132185 0.915773
-vn 0.379325 0.132185 0.915773
-vn -0.379326 0.132185 0.915772
-vn -0.379326 0.132185 0.915772
-vn 0.044456 0.998842 0.018415
-vn 0.044456 0.998842 0.018415
-vn 0.044456 0.998842 -0.018415
-vn 0.044456 0.998842 -0.018415
-vn -0.044456 0.998842 -0.018415
-vn -0.044456 0.998842 -0.018415
-vn -0.044456 0.998842 0.018415
-vn -0.044456 0.998842 0.018415
-vn -0.018414 0.998842 0.044456
-vn -0.018414 0.998842 0.044456
-vn 0.018414 0.998842 0.044456
-vn 0.018414 0.998842 0.044456
-vn -0.018414 0.998842 -0.044454
-vn -0.018414 0.998842 -0.044454
-vn 0.018414 0.998842 -0.044454
-vn 0.018414 0.998842 -0.044454
-vn 0.923731 0.017953 0.382622
-vn 0.923731 0.017953 0.382622
-vn 0.923731 0.017953 -0.382622
-vn 0.923731 0.017953 -0.382622
-vn 0.382622 0.017953 -0.923731
-vn -0.382621 0.017953 -0.923731
-vn -0.923730 0.017953 -0.382623
-vn -0.923730 0.017953 -0.382623
-vn -0.923730 0.017953 0.382623
-vn -0.923730 0.017953 0.382623
-vn -0.382621 0.017953 0.923731
-vn -0.382621 0.017953 0.923731
-vn 0.382622 0.017953 0.923731
-vn 0.382622 0.017953 0.923731
-vn -0.382621 0.017953 -0.923731
-vn 0.382622 0.017953 -0.923731
-vn 0.997405 0.071989 0.000000
-vn 0.997405 0.071989 0.000000
-vn 0.705259 0.050902 -0.707120
-vn 0.705259 0.050902 -0.707120
-vn 0.000013 0.000002 -1.000000
-vn 0.000013 0.000002 -1.000000
-vn -0.705264 -0.050900 -0.707115
-vn -0.705264 -0.050900 -0.707115
-vn -0.997406 -0.071986 0.000000
-vn -0.997406 -0.071986 0.000000
-vn -0.705264 -0.050900 0.707115
-vn -0.705264 -0.050900 0.707115
-vn 0.000013 0.000002 1.000000
-vn 0.000013 0.000002 1.000000
-vn 0.705259 0.050902 0.707120
-vn 0.705259 0.050902 0.707120
-vn 0.071959 -0.997408 0.000000
-vn 0.071959 -0.997408 0.000000
-vn 0.071964 -0.997407 0.000019
-vn 0.071964 -0.997407 0.000019
-vn 0.071978 -0.997406 0.000007
-vn 0.071978 -0.997406 0.000007
-vn 0.071987 -0.997406 -0.000012
-vn 0.071987 -0.997406 -0.000012
-vn 0.071987 -0.997406 0.000000
-vn 0.071987 -0.997406 0.000000
-vn 0.071987 -0.997406 0.000012
-vn 0.071987 -0.997406 0.000012
-vn 0.071978 -0.997406 -0.000007
-vn 0.071978 -0.997406 -0.000007
-vn 0.071964 -0.997407 -0.000019
-vn 0.071964 -0.997407 -0.000019
-vn 0.997407 0.071973 0.000000
-vn 0.991926 -0.126817 0.000000
-vn 0.947926 -0.318492 0.000000
-vn 0.705268 0.050894 -0.707112
-vn 0.705568 -0.147480 -0.693126
-vn 0.678421 -0.337945 -0.652333
-vn 0.000007 -0.000003 -1.000000
-vn 0.014247 -0.197373 -0.980225
-vn 0.027776 -0.384902 -0.922539
-vn -0.705273 -0.050905 -0.707106
-vn -0.677081 -0.247265 -0.693125
-vn -0.622862 -0.431854 -0.652338
-vn -0.997406 -0.071987 0.000000
-vn -0.963438 -0.267930 0.000000
-vn -0.892370 -0.451304 0.000000
-vn -0.705273 -0.050905 0.707106
-vn -0.677081 -0.247265 0.693125
-vn -0.622862 -0.431854 0.652338
-vn 0.000008 -0.000003 1.000000
-vn 0.014247 -0.197373 0.980225
-vn 0.027776 -0.384901 0.922540
-vn 0.705269 0.050894 0.707111
-vn 0.705568 -0.147480 0.693125
-vn 0.678421 -0.337945 0.652333
-vn 0.071997 -0.997405 0.000000
-vn 0.071997 -0.997405 0.000000
-vn 0.071990 -0.997405 -0.000006
-vn 0.071990 -0.997405 -0.000006
-vn 0.071993 -0.997405 0.000006
-vn 0.071993 -0.997405 0.000006
-vn 0.072009 -0.997404 0.000018
-vn 0.072009 -0.997404 0.000018
-vn 0.072015 -0.997404 0.000000
-vn 0.072015 -0.997404 0.000000
-vn 0.072009 -0.997404 -0.000018
-vn 0.072009 -0.997404 -0.000018
-vn 0.071993 -0.997405 -0.000006
-vn 0.071993 -0.997405 -0.000006
-vn 0.071990 -0.997405 0.000006
-vn 0.071990 -0.997405 0.000006
-vn 0.997407 0.071963 0.000000
-vn 0.997407 0.071963 0.000000
-vn 0.705270 0.050889 -0.707110
-vn 0.705270 0.050889 -0.707110
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn -0.705272 -0.050902 -0.707107
-vn -0.705272 -0.050902 -0.707107
-vn -0.997405 -0.071990 0.000000
-vn -0.997405 -0.071990 0.000000
-vn -0.705272 -0.050902 0.707107
-vn -0.705272 -0.050902 0.707107
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.705270 0.050889 0.707110
-vn 0.705270 0.050889 0.707110
-vn 0.247111 0.968987 0.000000
-vn 0.247111 0.968987 0.000000
-vn 0.154734 0.962317 -0.223616
-vn 0.154734 0.962317 -0.223616
-vn -0.068287 0.946220 -0.316235
-vn -0.068287 0.946220 -0.316235
-vn -0.291311 0.930127 -0.223610
-vn -0.291311 0.930127 -0.223610
-vn -0.383692 0.923461 0.000000
-vn -0.383692 0.923461 0.000000
-vn -0.291311 0.930128 0.223609
-vn -0.291311 0.930128 0.223609
-vn -0.068287 0.946220 0.316234
-vn -0.068287 0.946220 0.316234
-vn 0.154733 0.962317 0.223616
-vn 0.154733 0.962317 0.223616
-vn 0.756180 -0.654363 0.000000
-vn 0.756180 -0.654363 0.000000
-vn 0.549605 -0.669284 -0.499993
-vn 0.549605 -0.669284 -0.499993
-vn 0.050899 -0.705292 -0.707087
-vn 0.050899 -0.705292 -0.707087
-vn -0.447793 -0.741274 -0.499995
-vn -0.447793 -0.741274 -0.499995
-vn -0.654355 -0.756188 -0.000001
-vn -0.654355 -0.756188 -0.000001
-vn -0.447793 -0.741274 0.499994
-vn -0.447793 -0.741274 0.499994
-vn 0.050899 -0.705292 0.707087
-vn 0.050899 -0.705292 0.707087
-vn 0.549605 -0.669284 0.499994
-vn 0.549605 -0.669284 0.499994
-vn -0.072213 0.997389 0.000000
-vn 0.528444 0.848968 -0.000002
-vn 0.836129 0.548533 0.000000
-vn 0.356614 0.836559 -0.415928
-vn 0.580956 0.530107 -0.617638
-vn -0.058211 0.806620 -0.588197
-vn -0.035055 0.485649 -0.873451
-vn -0.473038 0.776694 -0.415910
-vn -0.651071 0.441199 -0.617616
-vn -0.644864 0.764297 0.000000
-vn -0.906230 0.422786 0.000000
-vn -0.473038 0.776694 0.415910
-vn -0.651071 0.441199 0.617616
-vn -0.058211 0.806620 0.588197
-vn -0.035055 0.485649 0.873451
-vn 0.356614 0.836560 0.415926
-vn 0.580956 0.530107 0.617637
-vn 0.013161 0.008894 0.999874
-vn 0.013161 0.008894 0.999874
-vn 0.409092 -0.576862 0.707017
-vn 0.409092 -0.576862 0.707017
-vn 0.573092 -0.819491 0.000000
-vn 0.573092 -0.819491 0.000000
-vn 0.409092 -0.576862 -0.707018
-vn 0.409092 -0.576862 -0.707018
-vn 0.013161 0.008894 -0.999874
-vn 0.013161 0.008894 -0.999874
-vn -0.382773 0.594654 -0.707016
-vn -0.382773 0.594654 -0.707016
-vn -0.546773 0.837281 0.000000
-vn -0.546773 0.837281 0.000000
-vn -0.382773 0.594654 0.707016
-vn -0.382773 0.594654 0.707016
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn -0.005048 0.008466 -0.999951
-vn -0.001558 0.003019 -0.999994
-vn -0.008365 0.009773 -0.999917
-vn -0.006180 0.002751 -0.999977
-vn 0.031027 -0.045147 -0.998498
-vn 0.083067 -0.146694 -0.985688
-vn 0.171496 -0.296152 -0.939618
-vn 0.379549 -0.370895 -0.847573
-vn 0.612488 -0.633300 -0.473064
-vn 0.001662 -0.284907 -0.958554
-vn -0.002601 -0.611459 -0.791272
-vn -0.004739 -0.614960 -0.788544
-vn -0.001656 -0.620166 -0.784469
-vn -0.002364 -0.624637 -0.780912
-vn -0.003943 -0.628088 -0.778132
-vn -0.002765 -0.630722 -0.776004
-vn 0.001016 -0.631656 -0.775248
-vn 0.055700 -0.627733 -0.776433
-vn 0.226451 -0.593755 -0.772124
-vn 0.431595 -0.502047 -0.749449
-vn 0.559688 -0.398391 -0.726660
-vn 0.640943 -0.317266 -0.698952
-vn 0.637526 -0.529415 -0.559715
-vn 0.328249 -0.731406 -0.597743
-vn 0.503599 -0.691202 -0.518294
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.004050 -0.001464 -0.999991
-vn 0.004050 -0.001464 -0.999991
-vn 0.008099 -0.002928 -0.999963
-vn 0.008099 -0.002928 -0.999963
-vn 0.008099 -0.002928 -0.999963
-vn -0.000622 -0.957209 -0.289396
-vn -0.032745 -0.924632 -0.379451
-vn -0.088118 -0.757908 -0.646383
-vn -0.126585 -0.324875 -0.937248
-vn -0.155548 0.179096 -0.971457
-vn -0.182194 0.240699 -0.953346
-vn 0.682096 -0.710442 -0.173255
-vn 0.382114 -0.914355 -0.133959
-vn 0.484499 -0.866370 -0.121091
-vn 0.387995 -0.898366 -0.205909
-vn 0.665242 -0.692669 -0.278679
-vn 0.619534 -0.642008 -0.451667
-vn 0.343405 -0.880083 -0.327913
-vn 0.138085 -0.809093 -0.571228
-vn 0.423232 -0.483997 -0.765912
-vn -0.443970 0.883317 -0.150474
-vn -0.278328 0.947710 -0.156141
-vn -0.028994 0.982343 -0.184829
-vn 0.180907 0.973766 -0.138031
-vn -0.234810 -0.551473 -0.800463
-vn 0.112474 -0.299001 -0.947601
-vn -0.429138 -0.313068 -0.847248
-vn 0.058509 -0.134104 -0.989239
-vn 0.210505 0.971281 -0.110905
-vn 0.285194 0.197417 -0.937918
-vn 0.357690 0.769708 -0.528778
-vn 0.319524 0.907313 -0.273288
-vn 0.019270 0.977705 -0.209097
-vn -0.085357 0.390766 0.916524
-vn 0.317031 0.181809 -0.930826
-vn 0.436582 0.371589 -0.819340
-vn -0.191248 0.436032 0.879375
-vn 0.446545 0.800932 -0.398881
-vn -0.279063 0.516941 0.809256
-vn 0.068499 0.970003 -0.233244
-vn -0.313107 0.940180 -0.134258
-vn -0.443970 0.883317 -0.150474
-vn -0.191248 0.436032 0.879375
-vn -0.279063 0.516941 0.809256
-vn -0.085357 0.390766 0.916524
-vn -0.265697 0.367191 0.891390
-vn 0.382048 0.076277 -0.920989
-vn 0.556969 -0.013670 -0.830421
-vn 0.405430 0.172048 -0.897790
-vn 0.500121 0.035416 -0.865231
-vn 0.297561 0.153827 -0.942229
-vn 0.333241 0.015263 -0.942718
-vn 0.145215 -0.018635 -0.989225
-vn 0.123103 0.109724 -0.986309
-vn 0.095854 0.135837 -0.986083
-vn 0.110890 -0.030335 -0.993370
-vn 0.049046 0.176580 -0.983064
-vn 0.070909 -0.018533 -0.997311
-vn 0.007370 0.115608 -0.993268
-vn 0.040821 0.045228 -0.998142
-vn 0.004079 0.088693 -0.996051
-vn 0.004596 0.101518 -0.994823
-vn 0.013448 0.082595 -0.996492
-vn -0.015378 0.105704 -0.994279
-vn -0.044604 0.105798 -0.993387
-vn -0.029288 0.098868 -0.994669
-vn -0.032949 0.131347 -0.990789
-vn -0.045682 0.237634 -0.970280
-vn -0.042621 0.067021 -0.996841
-vn -0.093170 0.254066 -0.962689
-vn -0.072399 0.073942 -0.994631
-vn -0.125141 0.258126 -0.957972
-vn -0.105730 0.094396 -0.989904
-vn 0.304162 0.023810 -0.952323
-vn 0.270011 0.041486 -0.961963
-vn 0.374880 0.143776 -0.915857
-vn 0.265584 0.072621 -0.961349
-vn 0.298003 0.116049 -0.947484
-vn 0.159298 0.154959 -0.974993
-vn 0.234602 0.113939 -0.965391
-vn 0.320457 0.197980 -0.926343
-vn 0.136348 0.119007 -0.983487
-vn 0.151169 0.093855 -0.984042
-vn 0.146094 0.075611 -0.986377
-vn 0.112454 0.305711 -0.945460
-vn 0.017516 0.256234 -0.966456
-vn 0.000000 0.327190 -0.944959
-vn -0.027045 0.261613 -0.964794
-vn 0.017531 0.108058 -0.993990
-vn 0.020891 0.168337 -0.985508
-vn 0.031172 0.086795 -0.995738
-vn 0.086871 0.090782 -0.992075
-vn 0.116889 0.165352 -0.979283
-vn 0.116889 0.165352 -0.979283
-vn 0.053620 0.110638 -0.992413
-vn -0.018860 0.116248 -0.993041
-vn 0.030185 0.137334 -0.990065
-vn -0.012559 0.088054 -0.996037
-vn -0.177074 0.118082 -0.977088
-vn 0.000025 0.031657 -0.999499
-vn 0.038914 0.255286 -0.966082
-vn 0.015496 0.272673 -0.961982
-vn 0.000000 0.279250 -0.960218
-vn -0.006966 0.048920 -0.998778
-vn -0.004497 0.140224 -0.990110
-vn -0.004148 0.141952 -0.989865
-vn -0.004147 0.141439 -0.989938
-vn -0.017246 0.127797 -0.991650
-vn -0.026184 0.030281 -0.999198
-vn 0.016002 0.277204 -0.960678
-vn 0.016002 0.277204 -0.960678
-vn -0.012361 0.268507 -0.963198
-vn -0.012361 0.268507 -0.963198
-vn 0.000000 0.218824 -0.975764
-vn -0.023383 0.234430 -0.971852
-vn 0.000185 0.310974 -0.950418
-vn 0.000000 0.310542 -0.950560
-vn -0.061505 0.213730 -0.974955
-vn 0.000184 0.313300 -0.949654
-vn 0.000000 0.313741 -0.949509
-vn 0.000385 0.311767 -0.950159
-vn 0.000384 0.312493 -0.949920
-vn -0.081234 0.271336 -0.959051
-vn -0.130536 0.166777 -0.977316
-vn -0.087111 0.239852 -0.966893
-vn -0.119249 0.254206 -0.959770
-vn -0.132231 0.332916 -0.933639
-vn -0.163495 0.235513 -0.958020
-vn 0.109746 0.210021 -0.971518
-vn -0.088396 0.283924 -0.954763
-vn -0.047399 -0.020257 -0.998671
-vn -0.070976 0.018118 -0.997313
-vn 0.000000 -0.096813 -0.995303
-vn -0.014779 -0.045290 -0.998865
-vn -0.094775 -0.019741 -0.995303
-vn -0.063320 0.024917 -0.997682
-vn 0.014963 0.343466 -0.939046
-vn 0.014963 0.343466 -0.939046
-vn 0.044018 0.097420 -0.994269
-vn -0.014780 0.060170 -0.998079
-vn -0.010960 0.166519 -0.985977
-vn 0.000000 0.113789 -0.993505
-vn -0.065852 0.234308 -0.969930
-vn 0.381431 0.120164 -0.916554
-vn 0.264827 0.332418 0.905188
-vn 0.148874 0.354954 0.922954
-vn -0.004617 0.173236 -0.984869
-vn -0.051868 0.232639 -0.971179
-vn -0.139632 0.244987 -0.959419
-vn -0.169449 0.263015 -0.949795
-vn -0.182194 0.240699 -0.953346
-vn 0.716915 0.112171 -0.688078
-vn 0.758164 0.095473 -0.645037
-vn 0.758164 0.095473 -0.645037
-vn 0.716915 0.112171 -0.688078
-vn -0.183085 0.157225 -0.970443
-vn 0.148874 0.354954 0.922954
-vn 0.359364 0.324809 0.874846
-vn 0.367321 0.351698 0.861037
-vn 0.297364 0.317491 0.900430
-vn 0.458623 0.303871 0.835061
-vn 0.469618 0.323039 0.821647
-vn 0.276933 0.372860 0.885598
-vn 0.297364 0.317491 0.900430
-vn 0.312759 0.218473 0.924365
-vn 0.094421 0.280653 0.955154
-vn -0.018003 0.377460 0.925851
-vn -0.066775 0.368329 0.927294
-vn -0.177074 0.118082 -0.977088
-vn -0.293864 0.230645 0.927603
-vn -0.085639 0.233313 -0.968623
-vn -0.361786 0.326763 0.873119
-vn -0.146949 0.479817 0.864975
-vn 0.048479 0.329208 -0.943012
-vn 0.097063 0.293624 -0.950980
-vn 0.115750 0.257383 -0.959352
-vn 0.212250 0.267783 0.939809
-vn -0.018003 0.377460 0.925851
-vn -0.066775 0.368329 0.927294
-vn -0.293864 0.230645 0.927603
-vn -0.011620 -0.958525 -0.284770
-vn -0.016400 -0.961439 -0.274527
-vn -0.009060 -0.964396 -0.264307
-vn -0.007042 -0.966195 -0.257717
-vn -0.011348 -0.967312 -0.253337
-vn -0.008201 -0.968389 -0.249311
-vn 0.001985 -0.968728 -0.248118
-vn 0.099841 -0.959526 -0.263329
-vn 0.350932 -0.896456 -0.270578
-vn 0.637211 -0.736703 -0.226343
-vn 0.810509 -0.563456 -0.159977
-vn 0.898578 -0.431620 -0.079123
-vn -0.027915 -0.929989 -0.366525
-vn -0.025304 -0.933217 -0.358422
-vn -0.021026 -0.931393 -0.363408
-vn -0.013125 -0.931310 -0.363990
-vn -0.017126 -0.929639 -0.368073
-vn -0.009906 -0.925524 -0.378560
-vn 0.017727 -0.913313 -0.406872
-vn 0.138306 -0.872253 -0.469091
-vn 0.350660 -0.781717 -0.515709
-vn 0.604752 -0.636012 -0.479337
-vn 0.779066 -0.492478 -0.387970
-vn 0.869206 -0.411663 -0.273889
-vn -0.051298 -0.773044 -0.632274
-vn -0.029597 -0.786952 -0.616304
-vn -0.033228 -0.783409 -0.620617
-vn -0.020186 -0.775990 -0.630422
-vn -0.005117 -0.761370 -0.648297
-vn 0.018569 -0.730812 -0.682326
-vn 0.057344 -0.685707 -0.725615
-vn 0.162821 -0.645857 -0.745894
-vn 0.327546 -0.624718 -0.708831
-vn 0.568254 -0.552002 -0.610231
-vn 0.745434 -0.452974 -0.489023
-vn 0.828394 -0.409274 -0.382436
-vn -0.083031 -0.336373 -0.938061
-vn -0.049527 -0.354987 -0.933559
-vn -0.041844 -0.357783 -0.932867
-vn -0.021024 -0.344348 -0.938607
-vn 0.019876 -0.328586 -0.944265
-vn 0.058985 -0.312457 -0.948099
-vn 0.081012 -0.303002 -0.949540
-vn 0.135971 -0.321898 -0.936960
-vn 0.243140 -0.369569 -0.896829
-vn 0.485396 -0.368969 -0.792624
-vn 0.682836 -0.329533 -0.652029
-vn 0.768168 -0.313531 -0.558226
-vn 0.578350 0.285793 -0.764090
-vn 0.250386 0.130226 -0.959348
-vn 0.231372 0.415637 -0.879609
-vn 0.282524 0.559972 -0.778853
-vn 0.676715 0.399167 -0.618646
-vn 0.659150 0.075212 -0.748241
-vn 0.647834 -0.110155 -0.753775
-vn 0.590692 -0.107892 -0.799651
-vn 0.405847 0.360061 -0.840026
-vn 0.676715 0.399167 -0.618646
-vn 0.659150 0.075212 -0.748241
-vn 0.647834 -0.110155 -0.753775
-vn 0.590692 -0.107892 -0.799651
-vn 0.590692 -0.107892 -0.799651
-vn 0.590692 -0.107892 -0.799651
-vn 0.282524 0.559972 -0.778853
-vn -0.450579 0.527013 -0.720580
-vn -0.450579 0.527013 -0.720580
-vn -0.295642 0.828243 -0.476035
-vn -0.295642 0.828243 -0.476035
-vn -0.089100 0.984906 -0.148399
-vn 0.003960 -0.990569 -0.136954
-vn 0.003960 -0.990569 -0.136954
-vn -0.054248 -0.035311 -0.997903
-vn -0.056548 -0.026579 -0.998046
-vn -0.058844 -0.017845 -0.998108
-vn -0.040494 -0.294223 -0.954878
-vn -0.008242 -0.844924 -0.534823
-vn -0.046832 -0.642706 -0.764680
-vn -0.048895 -0.289439 -0.955947
-vn -0.057227 -0.284663 -0.956918
-vn -0.078329 -0.403392 -0.911668
-vn -0.139225 -0.140428 -0.980253
-vn -0.139225 -0.140428 -0.980253
-vn -0.176416 0.006735 -0.984293
-vn -0.176416 0.006735 -0.984293
-vn -0.176416 0.006735 -0.984293
-vn 0.950690 -0.100397 -0.293442
-vn 0.917871 0.186096 -0.350544
-vn 0.868001 0.138068 -0.476981
-vn 0.830271 -0.196277 -0.521657
-vn 0.950690 -0.100397 -0.293442
-vn 0.917871 0.186096 -0.350544
-vn 0.868001 0.138068 -0.476981
-vn 0.830271 -0.196277 -0.521657
-vn -0.000197 -0.000261 -1.000000
-vn -0.000082 -0.000105 -1.000000
-vn -0.000082 -0.000105 -1.000000
-vn -0.000140 -0.000183 -1.000000
-vn -0.000140 -0.000183 -1.000000
-vn -0.000166 -0.000082 1.000000
-vn -0.000210 -0.000192 1.000000
-vn -0.000188 -0.000137 1.000000
-vn -0.000210 -0.000192 1.000000
-vn -0.000188 -0.000137 1.000000
-vn -0.000017 0.000000 -1.000000
-vn 0.000000 -0.000016 -1.000000
-vn 0.000000 -0.000016 -1.000000
-vn -0.000008 -0.000008 -1.000000
-vn -0.000008 -0.000008 -1.000000
-vn -0.555518 -0.368362 0.745459
-vn -0.476491 -0.321209 0.818402
-vn -0.390893 -0.269628 0.880059
-vn -0.476491 -0.321209 0.818402
-vn -0.390893 -0.269628 0.880059
-vn -0.000305 -0.000229 1.000000
-vn -0.000225 -0.000132 1.000000
-vn -0.000265 -0.000181 1.000000
-vn -0.000225 -0.000132 1.000000
-vn -0.000265 -0.000181 1.000000
-vn -0.003009 0.999937 -0.010797
-vn 0.365466 0.930591 -0.020860
-vn 0.791482 0.609971 -0.038629
-vn 0.883316 0.466393 -0.047226
-vn 0.887087 0.459285 -0.046201
-vn 0.887087 0.459285 -0.046201
-vn 0.883316 0.466393 -0.047226
-vn 0.791482 0.609971 -0.038629
-vn 0.365466 0.930591 -0.020860
-vn -0.003009 0.999937 -0.010797
-vn 0.899818 0.432912 0.053989
-vn 0.855654 0.497688 0.141994
-vn 0.791101 0.611685 0.000000
-vn 0.667633 0.742423 0.055444
-vn 0.668223 0.743041 0.036983
-vn 0.668698 0.743534 0.000000
-vn -0.000002 0.998668 0.051588
-vn -0.000001 0.999408 0.034409
-vn 0.000000 1.000000 0.000000
-vn -0.667632 0.742424 0.055444
-vn -0.668222 0.743042 0.036983
-vn -0.668698 0.743534 0.000000
-vn -0.899815 0.432919 0.053989
-vn -0.900545 0.433268 0.036010
-vn -0.901130 0.433548 0.000000
-vn 0.745737 0.666074 0.014915
-vn 0.745737 0.666074 0.014915
-vn 0.745737 0.666074 0.014915
-vn 0.749358 0.661826 0.021169
-vn 0.756453 0.653702 0.021301
-vn 0.855819 0.216306 0.469878
-vn 0.835209 0.472749 0.280953
-vn 0.734879 0.677350 0.033918
-vn 0.705775 0.708095 0.021988
-vn 0.696867 0.716869 0.021803
-vn 0.692228 0.721546 0.013841
-vn 0.692296 0.721613 0.000000
-vn 0.909932 0.326044 0.256358
-vn 0.840054 0.537837 0.070998
-vn 0.808999 0.582269 0.080523
-vn 0.774704 0.631568 0.030906
-vn 0.766343 0.642432 0.000000
-vn 0.916005 0.359898 0.177223
-vn 0.908113 0.414910 0.056399
-vn 0.906833 0.421491 0.000000
-vn 0.852002 0.105637 0.512771
-vn 0.852948 0.109895 0.510297
-vn 0.812134 -0.000004 0.583472
-vn 0.845581 0.033342 0.532805
-vn 0.912297 0.090853 0.399324
-vn 0.942579 0.239933 0.232329
-vn 0.772410 -0.203442 0.601659
-vn 0.820110 -0.184602 0.541610
-vn 0.910916 -0.148014 0.385129
-vn 0.961603 -0.135715 0.238542
-vn 0.979385 -0.142420 0.143254
-vn 0.990364 -0.132350 0.040778
-vn 0.992556 -0.121791 0.000000
-vn 0.747426 -0.435266 0.501894
-vn 0.779154 -0.476694 0.407041
-vn 0.823362 -0.518545 0.230620
-vn 0.850162 -0.517719 0.095870
-vn 0.852938 -0.521533 0.022390
-vn 0.847102 -0.531397 0.005863
-vn 0.846332 -0.532656 -0.000027
-vn 0.730419 -0.548998 0.406312
-vn 0.740092 -0.613764 0.274877
-vn 0.752137 -0.648224 0.118726
-vn 0.802817 -0.593755 0.054228
-vn 0.832290 -0.554339 -0.000851
-vn 0.811583 -0.584236 -0.000878
-vn 0.789837 -0.613316 -0.000054
-vn 0.668223 0.743041 -0.036983
-vn 0.667633 0.742423 -0.055444
-vn 0.899818 0.432912 -0.053989
-vn 0.855654 0.497688 -0.141994
-vn 0.749358 0.661826 -0.021169
-vn 0.745737 0.666074 -0.014915
-vn 0.745737 0.666074 -0.014915
-vn 0.745737 0.666074 -0.014915
-vn 0.756453 0.653702 -0.021301
-vn -0.000001 0.999408 -0.034409
-vn -0.000002 0.998668 -0.051588
-vn -0.668222 0.743042 -0.036983
-vn -0.667632 0.742424 -0.055444
-vn -0.900545 0.433268 -0.036010
-vn -0.899815 0.432919 -0.053989
-vn 0.835209 0.472749 -0.280953
-vn 0.734879 0.677350 -0.033918
-vn 0.705775 0.708095 -0.021988
-vn 0.696867 0.716869 -0.021803
-vn 0.692228 0.721546 -0.013841
-vn 0.909932 0.326044 -0.256358
-vn 0.840054 0.537838 -0.070998
-vn 0.808999 0.582269 -0.080523
-vn 0.774704 0.631568 -0.030906
-vn 0.916005 0.359898 -0.177223
-vn 0.908113 0.414910 -0.056399
-vn 0.855819 0.216306 -0.469878
-vn 0.852002 0.105637 -0.512771
-vn 0.852948 0.109895 -0.510297
-vn 0.812134 -0.000004 -0.583472
-vn 0.845581 0.033342 -0.532805
-vn 0.912297 0.090853 -0.399324
-vn 0.942579 0.239933 -0.232329
-vn 0.772410 -0.203442 -0.601659
-vn 0.820110 -0.184602 -0.541610
-vn 0.910916 -0.148014 -0.385129
-vn 0.961603 -0.135715 -0.238542
-vn 0.979385 -0.142420 -0.143254
-vn 0.990364 -0.132350 -0.040778
-vn 0.747426 -0.435266 -0.501894
-vn 0.779154 -0.476694 -0.407041
-vn 0.823362 -0.518545 -0.230620
-vn 0.850162 -0.517719 -0.095870
-vn 0.852937 -0.521533 -0.022390
-vn 0.847112 -0.531381 -0.005890
-vn 0.730419 -0.548997 -0.406312
-vn 0.740092 -0.613764 -0.274877
-vn 0.752137 -0.648224 -0.118726
-vn 0.802817 -0.593755 -0.054228
-vn 0.832290 -0.554339 0.000851
-vn 0.811606 -0.584205 0.000825
-vn 0.899819 -0.432909 0.053989
-vn 0.899819 -0.432909 0.053989
-vn -0.899816 -0.432916 0.053989
-vn -0.900546 -0.433267 0.036010
-vn -0.901130 -0.433548 0.000000
-vn -0.667634 -0.742422 0.055444
-vn -0.662365 -0.748272 0.036898
-vn -0.656896 -0.753981 0.000000
-vn -0.000002 -0.998668 0.051588
-vn 0.017436 -0.999254 0.034473
-vn 0.034891 -0.999391 0.000000
-vn 0.667636 -0.742420 0.055444
-vn 0.571899 -0.819217 0.042606
-vn 0.371705 -0.928351 0.000000
-vn 0.371651 -0.928215 0.017132
-vn 0.371651 -0.928215 0.017132
-vn 0.371651 -0.928215 0.017132
-vn 0.371651 -0.928215 0.017132
-vn 0.371651 -0.928215 0.017132
-vn 0.899819 -0.432909 -0.053989
-vn 0.899819 -0.432909 -0.053989
-vn -0.900546 -0.433267 -0.036010
-vn -0.899816 -0.432916 -0.053989
-vn -0.662365 -0.748272 -0.036898
-vn -0.667635 -0.742422 -0.055444
-vn 0.017436 -0.999254 -0.034473
-vn -0.000002 -0.998668 -0.051588
-vn 0.571899 -0.819217 -0.042606
-vn 0.667636 -0.742420 -0.055444
-vn 0.371651 -0.928214 -0.017132
-vn 0.371651 -0.928214 -0.017132
-vn 0.371651 -0.928214 -0.017132
-vn 0.371651 -0.928214 -0.017132
-vn 0.371651 -0.928214 -0.017132
-vn -0.810233 -0.571641 -0.129415
-vn -0.671909 -0.740634 0.000000
-vn -0.676821 -0.736114 -0.007072
-vn -0.686546 -0.727050 -0.007295
-vn -0.696069 -0.717935 -0.007512
-vn -0.711305 -0.702696 -0.016204
-vn -0.769136 -0.634378 -0.077422
-vn -0.900372 -0.372538 -0.224823
-vn -0.922923 -0.139675 -0.358754
-vn -0.889126 -0.025617 -0.456944
-vn -0.844278 0.196119 -0.498731
-vn -0.795508 0.420875 -0.435926
-vn -0.766404 0.521943 -0.374433
-vn -0.772261 0.565928 -0.288684
-vn -0.793697 0.580479 -0.181904
-vn -0.856434 0.505553 -0.104576
-vn -0.892435 0.450389 -0.026622
-vn -0.873734 0.486253 -0.012079
-vn -0.852481 0.522757 0.000103
-vn -0.909932 -0.326044 -0.256358
-vn -0.840054 -0.537837 -0.070998
-vn -0.756313 -0.653454 -0.031438
-vn -0.808999 -0.582269 -0.080522
-vn -0.715976 -0.697868 -0.018952
-vn -0.729169 -0.684063 -0.019231
-vn -0.774704 -0.631568 -0.030905
-vn -0.706757 -0.707373 -0.010897
-vn -0.766343 -0.642431 0.000000
-vn -0.704435 -0.709768 0.000000
-vn -0.916005 -0.359898 -0.177223
-vn -0.908113 -0.414910 -0.056398
-vn -0.906833 -0.421491 0.000000
-vn -0.865371 -0.449519 -0.221508
-vn -0.891470 -0.127348 -0.434814
-vn -0.882252 -0.046081 -0.468518
-vn -0.912297 -0.090853 -0.399324
-vn -0.942579 -0.239933 -0.232329
-vn -0.853820 0.180375 -0.488320
-vn -0.910916 0.148014 -0.385129
-vn -0.961603 0.135715 -0.238542
-vn -0.979385 0.142420 -0.143254
-vn -0.990364 0.132350 -0.040778
-vn -0.992556 0.121791 0.000000
-vn -0.805482 0.449555 -0.386134
-vn -0.837657 0.479937 -0.260749
-vn -0.873595 0.471447 -0.120704
-vn -0.882382 0.469145 -0.036116
-vn -0.876455 0.481325 -0.012330
-vn -0.874376 0.485250 0.000052
-vn -0.810233 -0.571641 0.129415
-vn -0.676821 -0.736114 0.007072
-vn -0.686546 -0.727050 0.007295
-vn -0.696069 -0.717935 0.007512
-vn -0.711305 -0.702696 0.016205
-vn -0.769136 -0.634378 0.077422
-vn -0.900372 -0.372538 0.224823
-vn -0.922923 -0.139675 0.358754
-vn -0.889126 -0.025617 0.456944
-vn -0.844278 0.196119 0.498731
-vn -0.795508 0.420875 0.435926
-vn -0.766404 0.521943 0.374433
-vn -0.772261 0.565928 0.288684
-vn -0.793697 0.580480 0.181903
-vn -0.856434 0.505553 0.104576
-vn -0.892435 0.450389 0.026622
-vn -0.873776 0.486176 0.012183
-vn -0.756313 -0.653454 0.031438
-vn -0.840054 -0.537837 0.070998
-vn -0.909932 -0.326044 0.256358
-vn -0.729169 -0.684063 0.019231
-vn -0.715976 -0.697868 0.018952
-vn -0.808999 -0.582269 0.080523
-vn -0.706757 -0.707373 0.010897
-vn -0.774704 -0.631568 0.030905
-vn -0.908113 -0.414910 0.056398
-vn -0.916005 -0.359898 0.177223
-vn -0.865371 -0.449519 0.221508
-vn -0.891470 -0.127348 0.434814
-vn -0.882252 -0.046081 0.468518
-vn -0.912297 -0.090853 0.399324
-vn -0.942579 -0.239933 0.232329
-vn -0.853820 0.180375 0.488320
-vn -0.910916 0.148014 0.385128
-vn -0.961603 0.135715 0.238542
-vn -0.979385 0.142420 0.143254
-vn -0.990364 0.132350 0.040778
-vn -0.805482 0.449555 0.386134
-vn -0.837657 0.479937 0.260749
-vn -0.873595 0.471447 0.120704
-vn -0.882382 0.469145 0.036116
-vn -0.876476 0.481286 0.012381
-vn 0.738347 0.674421 0.000000
-vn 0.805468 0.567633 -0.170335
-vn 0.863787 0.499063 -0.069343
-vn 0.619227 0.785212 0.000000
-vn 0.618558 0.784468 -0.044670
-vn 0.617736 0.783530 -0.066952
-vn 0.000000 1.000000 0.000000
-vn 0.000000 0.999265 -0.038328
-vn 0.000000 0.998348 -0.057460
-vn -0.619247 0.785197 0.000000
-vn -0.618569 0.784460 -0.044669
-vn -0.617738 0.783529 -0.066951
-vn -0.865875 0.500261 0.000000
-vn -0.864947 0.499727 -0.046263
-vn -0.863789 0.499060 -0.069341
-vn 0.695032 0.718582 -0.023876
-vn 0.689708 0.723699 -0.023740
-vn 0.687015 0.726411 -0.018382
-vn 0.687015 0.726411 -0.018382
-vn 0.687015 0.726411 -0.018379
-vn 0.624714 0.780854 0.000000
-vn 0.624466 0.780880 -0.016398
-vn 0.628227 0.777635 -0.024792
-vn 0.636735 0.770667 -0.025327
-vn 0.717441 0.690516 -0.092012
-vn 0.798070 0.525003 -0.295730
-vn 0.780741 0.288022 -0.554514
-vn 0.731224 0.682138 0.000000
-vn 0.732744 0.680135 -0.022425
-vn 0.753104 0.652786 -0.081886
-vn 0.786793 0.583571 -0.201000
-vn 0.843100 0.418041 -0.338267
-vn 0.800048 0.262514 -0.539453
-vn 0.769962 0.223391 -0.597708
-vn 0.880395 0.474241 0.000000
-vn 0.882146 0.469741 -0.034090
-vn 0.882090 0.440111 -0.167985
-vn 0.866349 0.382375 -0.321293
-vn 0.834359 0.308219 -0.456996
-vn 0.757131 0.222409 -0.614237
-vn 0.729457 0.179958 -0.659930
-vn 0.996828 -0.079589 0.000000
-vn 0.996258 -0.085400 -0.013287
-vn 0.991315 -0.062658 -0.115625
-vn 0.949413 -0.021307 -0.313306
-vn 0.866787 -0.010319 -0.498572
-vn 0.771048 0.023567 -0.636341
-vn 0.732066 0.057951 -0.678764
-vn 0.810683 -0.585485 0.000000
-vn 0.811337 -0.584039 0.025115
-vn 0.820110 -0.571400 0.030345
-vn 0.829057 -0.541638 -0.138900
-vn 0.817000 -0.484846 -0.312147
-vn 0.824654 -0.352067 -0.442713
-vn 0.745632 -0.036899 -0.665336
-vn 0.718556 -0.695469 0.000000
-vn 0.725301 -0.687574 0.034360
-vn 0.709476 -0.701217 0.070270
-vn 0.690551 -0.722539 -0.032824
-vn 0.702154 -0.701121 -0.124136
-vn 0.726806 -0.682700 -0.075323
-vn 0.821862 -0.413404 -0.391969
-vn 0.687015 0.726411 0.018382
-vn 0.687015 0.726411 0.018382
-vn 0.689708 0.723699 0.023740
-vn 0.695032 0.718582 0.023876
-vn 0.805468 0.567634 0.170335
-vn 0.618558 0.784468 0.044669
-vn 0.687015 0.726411 0.018379
-vn 0.617736 0.783530 0.066951
-vn 0.863787 0.499063 0.069342
-vn 0.000000 0.999265 0.038328
-vn -0.000001 0.998348 0.057460
-vn -0.618569 0.784460 0.044669
-vn -0.617738 0.783529 0.066950
-vn -0.864947 0.499727 0.046262
-vn -0.863789 0.499060 0.069340
-vn 0.624466 0.780880 0.016398
-vn 0.628227 0.777635 0.024792
-vn 0.636735 0.770667 0.025327
-vn 0.717441 0.690516 0.092012
-vn 0.798070 0.525003 0.295730
-vn 0.780741 0.288022 0.554514
-vn 0.732744 0.680135 0.022425
-vn 0.753104 0.652786 0.081886
-vn 0.786793 0.583571 0.201000
-vn 0.843100 0.418041 0.338267
-vn 0.800048 0.262514 0.539453
-vn 0.769962 0.223391 0.597709
-vn 0.882146 0.469741 0.034090
-vn 0.882090 0.440111 0.167985
-vn 0.866349 0.382375 0.321293
-vn 0.834359 0.308219 0.456996
-vn 0.757131 0.222409 0.614237
-vn 0.729457 0.179958 0.659930
-vn 0.996258 -0.085400 0.013287
-vn 0.991315 -0.062658 0.115625
-vn 0.949413 -0.021307 0.313306
-vn 0.866786 -0.010319 0.498573
-vn 0.771048 0.023567 0.636341
-vn 0.732066 0.057951 0.678764
-vn 0.811337 -0.584039 -0.025115
-vn 0.820110 -0.571400 -0.030345
-vn 0.829057 -0.541638 0.138900
-vn 0.817000 -0.484846 0.312147
-vn 0.824654 -0.352067 0.442713
-vn 0.745632 -0.036899 0.665336
-vn 0.725301 -0.687574 -0.034360
-vn 0.709476 -0.701217 -0.070270
-vn 0.690551 -0.722539 0.032824
-vn 0.702154 -0.701121 0.124137
-vn 0.726806 -0.682700 0.075323
-vn 0.821862 -0.413404 0.391969
-vn 0.863809 -0.499025 -0.069340
-vn 0.863809 -0.499025 -0.069340
-vn -0.865891 -0.500233 0.000000
-vn -0.864965 -0.499694 -0.046264
-vn -0.863810 -0.499022 -0.069341
-vn -0.608435 -0.793604 0.000000
-vn -0.607419 -0.793149 -0.044239
-vn -0.606266 -0.792515 -0.066043
-vn 0.030470 -0.999536 0.000000
-vn 0.031549 -0.998760 -0.038505
-vn 0.032621 -0.997795 -0.057794
-vn 0.316691 -0.948529 0.000000
-vn 0.530133 -0.846344 -0.051588
-vn 0.631845 -0.772102 -0.068051
-vn 0.316637 -0.948366 -0.018523
-vn 0.316637 -0.948366 -0.018523
-vn 0.316637 -0.948366 -0.018523
-vn 0.316637 -0.948366 -0.018523
-vn 0.316637 -0.948366 -0.018523
-vn 0.863809 -0.499025 0.069340
-vn 0.863809 -0.499025 0.069340
-vn -0.864965 -0.499694 0.046264
-vn -0.863810 -0.499022 0.069341
-vn -0.607419 -0.793149 0.044240
-vn -0.606266 -0.792515 0.066044
-vn 0.031549 -0.998760 0.038505
-vn 0.032621 -0.997795 0.057794
-vn 0.530133 -0.846344 0.051587
-vn 0.316637 -0.948366 0.018523
-vn 0.316637 -0.948366 0.018523
-vn 0.316637 -0.948366 0.018523
-vn 0.316637 -0.948366 0.018523
-vn 0.316637 -0.948366 0.018523
-vn 0.631845 -0.772102 0.068051
-vn -0.599290 -0.800532 0.000000
-vn -0.746101 -0.646479 0.159366
-vn -0.701104 -0.707070 0.092223
-vn -0.639524 -0.768591 0.016628
-vn -0.624929 -0.780630 0.008978
-vn -0.614770 -0.788659 0.008694
-vn -0.604469 -0.796585 0.008397
-vn -0.848774 -0.450443 0.276919
-vn -0.871169 -0.237734 0.429590
-vn -0.832683 -0.174623 0.525496
-vn -0.828398 -0.010699 0.560038
-vn -0.829863 0.122709 0.544307
-vn -0.794675 0.607035 0.000000
-vn -0.800988 0.598102 -0.026321
-vn -0.783234 0.619693 -0.050241
-vn -0.761361 0.642562 0.086279
-vn -0.769103 0.605752 0.203825
-vn -0.799205 0.578094 0.164555
-vn -0.852670 0.383166 0.355157
-vn -0.731224 -0.682137 0.000000
-vn -0.732744 -0.680135 0.022424
-vn -0.637954 -0.769966 0.012870
-vn -0.635658 -0.771970 0.000000
-vn -0.753104 -0.652786 0.081886
-vn -0.646651 -0.762486 0.021393
-vn -0.786793 -0.583571 0.201001
-vn -0.659868 -0.751057 0.022055
-vn -0.737981 -0.668945 0.088861
-vn -0.843100 -0.418041 0.338266
-vn -0.839173 -0.496739 0.221446
-vn -0.849263 -0.269218 0.454175
-vn -0.880395 -0.474241 0.000000
-vn -0.882146 -0.469741 0.034089
-vn -0.882090 -0.440111 0.167985
-vn -0.866349 -0.382375 0.321293
-vn -0.834360 -0.308219 0.456996
-vn -0.808351 -0.219583 0.546216
-vn -0.996828 0.079589 0.000000
-vn -0.996258 0.085400 0.013287
-vn -0.991315 0.062658 0.115625
-vn -0.949413 0.021307 0.313306
-vn -0.866786 0.010319 0.498573
-vn -0.817925 0.000263 0.575325
-vn -0.843462 0.537189 0.000000
-vn -0.844250 0.535541 -0.020928
-vn -0.850533 0.525541 -0.019988
-vn -0.854246 0.493154 0.164505
-vn -0.835439 0.426097 0.347106
-vn -0.851671 0.327905 0.408821
-vn -0.746101 -0.646479 -0.159366
-vn -0.701104 -0.707070 -0.092223
-vn -0.639524 -0.768591 -0.016628
-vn -0.624929 -0.780630 -0.008978
-vn -0.614770 -0.788659 -0.008694
-vn -0.604469 -0.796585 -0.008397
-vn -0.848774 -0.450443 -0.276919
-vn -0.871169 -0.237734 -0.429590
-vn -0.832683 -0.174623 -0.525496
-vn -0.828398 -0.010700 -0.560038
-vn -0.829863 0.122709 -0.544306
-vn -0.800988 0.598102 0.026321
-vn -0.783234 0.619693 0.050241
-vn -0.761361 0.642562 -0.086279
-vn -0.769103 0.605752 -0.203824
-vn -0.799205 0.578094 -0.164555
-vn -0.852670 0.383166 -0.355157
-vn -0.637954 -0.769966 -0.012870
-vn -0.732744 -0.680135 -0.022424
-vn -0.646651 -0.762486 -0.021393
-vn -0.753104 -0.652786 -0.081886
-vn -0.659868 -0.751057 -0.022055
-vn -0.786793 -0.583571 -0.201001
-vn -0.737981 -0.668945 -0.088861
-vn -0.839173 -0.496739 -0.221446
-vn -0.843100 -0.418041 -0.338266
-vn -0.849263 -0.269218 -0.454175
-vn -0.882146 -0.469741 -0.034089
-vn -0.882090 -0.440111 -0.167985
-vn -0.866349 -0.382375 -0.321294
-vn -0.808351 -0.219583 -0.546216
-vn -0.834360 -0.308219 -0.456996
-vn -0.996258 0.085400 -0.013287
-vn -0.991315 0.062658 -0.115625
-vn -0.949413 0.021307 -0.313306
-vn -0.866786 0.010319 -0.498573
-vn -0.817925 0.000263 -0.575325
-vn -0.844250 0.535541 0.020928
-vn -0.850533 0.525541 0.019988
-vn -0.854246 0.493154 -0.164505
-vn -0.835439 0.426097 -0.347106
-vn -0.851671 0.327905 -0.408821
-vn 0.899889 0.432945 0.052521
-vn 0.856173 0.497731 0.138680
-vn 0.791103 0.611683 0.000000
-vn 0.667691 0.742482 0.053937
-vn 0.668249 0.743067 0.035977
-vn 0.668699 0.743533 0.000000
-vn -0.000002 0.998740 0.050186
-vn -0.000001 0.999440 0.033472
-vn 0.000000 1.000000 0.000000
-vn -0.667687 0.742485 0.053937
-vn -0.668247 0.743069 0.035977
-vn -0.668699 0.743534 0.000000
-vn -0.899883 0.432957 0.052521
-vn -0.900576 0.433284 0.035030
-vn -0.901132 0.433546 0.000000
-vn 0.745742 0.666076 0.014508
-vn 0.745742 0.666077 0.014508
-vn 0.745742 0.666077 0.014508
-vn 0.749368 0.661834 0.020592
-vn 0.756462 0.653710 0.020721
-vn 0.860948 0.217589 0.459809
-vn 0.837252 0.472812 0.274696
-vn 0.734903 0.677369 0.032995
-vn 0.705784 0.708104 0.021390
-vn 0.696876 0.716878 0.021209
-vn 0.692231 0.721550 0.013464
-vn 0.692296 0.721613 0.000000
-vn 0.911564 0.326059 0.250473
-vn 0.840178 0.537891 0.069091
-vn 0.809162 0.582337 0.078363
-vn 0.774726 0.631582 0.030066
-vn 0.766343 0.642432 0.000000
-vn 0.916801 0.360119 0.172597
-vn 0.908199 0.414926 0.054881
-vn 0.906833 0.421490 0.000000
-vn 0.858065 0.106377 0.502402
-vn 0.858963 0.110660 0.499938
-vn 0.819652 -0.000090 0.572862
-vn 0.852057 0.033503 0.522376
-vn 0.916174 0.091207 0.390264
-vn 0.943951 0.240171 0.226437
-vn 0.780046 -0.205409 0.591045
-vn 0.826581 -0.186060 0.531173
-vn 0.914503 -0.148473 0.376352
-vn 0.963096 -0.135585 0.232514
-vn 0.979949 -0.142243 0.139520
-vn 0.990415 -0.132297 0.039686
-vn 0.992556 -0.121789 0.000000
-vn 0.752566 -0.437952 0.491775
-vn 0.782666 -0.478388 0.398221
-vn 0.824610 -0.519048 0.224962
-vn 0.850384 -0.517822 0.093312
-vn 0.852950 -0.521538 0.021781
-vn 0.847103 -0.531398 0.005703
-vn 0.846332 -0.532656 -0.000026
-vn 0.733683 -0.551450 0.397004
-vn 0.741600 -0.614900 0.268192
-vn 0.752420 -0.648472 0.115536
-vn 0.802876 -0.593807 0.052761
-vn 0.832290 -0.554339 -0.000828
-vn 0.811583 -0.584236 -0.000855
-vn 0.789837 -0.613316 -0.000052
-vn 0.668249 0.743067 -0.035977
-vn 0.667691 0.742482 -0.053937
-vn 0.899889 0.432945 -0.052521
-vn 0.856173 0.497731 -0.138680
-vn 0.749368 0.661834 -0.020592
-vn 0.745742 0.666077 -0.014508
-vn 0.745742 0.666077 -0.014508
-vn 0.745742 0.666076 -0.014508
-vn 0.756462 0.653709 -0.020721
-vn -0.000002 0.999440 -0.033472
-vn -0.000002 0.998740 -0.050186
-vn -0.668247 0.743069 -0.035977
-vn -0.667688 0.742485 -0.053937
-vn -0.900576 0.433284 -0.035030
-vn -0.899883 0.432957 -0.052521
-vn 0.837252 0.472812 -0.274696
-vn 0.734903 0.677369 -0.032995
-vn 0.705784 0.708104 -0.021390
-vn 0.696876 0.716878 -0.021209
-vn 0.692231 0.721550 -0.013464
-vn 0.911564 0.326058 -0.250473
-vn 0.840178 0.537891 -0.069091
-vn 0.809162 0.582337 -0.078363
-vn 0.774726 0.631582 -0.030066
-vn 0.916801 0.360119 -0.172597
-vn 0.908199 0.414926 -0.054881
-vn 0.860948 0.217589 -0.459809
-vn 0.858065 0.106377 -0.502402
-vn 0.858963 0.110660 -0.499938
-vn 0.819652 -0.000090 -0.572862
-vn 0.852057 0.033503 -0.522376
-vn 0.916174 0.091206 -0.390264
-vn 0.943951 0.240171 -0.226436
-vn 0.780046 -0.205409 -0.591045
-vn 0.826581 -0.186060 -0.531173
-vn 0.914503 -0.148473 -0.376352
-vn 0.963096 -0.135585 -0.232514
-vn 0.979949 -0.142243 -0.139521
-vn 0.990415 -0.132297 -0.039686
-vn 0.752566 -0.437952 -0.491775
-vn 0.782666 -0.478388 -0.398221
-vn 0.824610 -0.519048 -0.224962
-vn 0.850384 -0.517822 -0.093312
-vn 0.852950 -0.521538 -0.021781
-vn 0.847113 -0.531381 -0.005729
-vn 0.733683 -0.551450 -0.397004
-vn 0.741600 -0.614900 -0.268192
-vn 0.752420 -0.648472 -0.115536
-vn 0.802876 -0.593807 -0.052761
-vn 0.832290 -0.554339 0.000828
-vn 0.811606 -0.584205 0.000803
-vn 0.899885 -0.432952 0.052522
-vn 0.899885 -0.432952 0.052522
-vn -0.899880 -0.432964 0.052522
-vn -0.900573 -0.433291 0.035031
-vn -0.901129 -0.433551 0.000000
-vn -0.667692 -0.742481 0.053937
-vn -0.662391 -0.748298 0.035894
-vn -0.656897 -0.753980 0.000000
-vn -0.000002 -0.998740 0.050186
-vn 0.017435 -0.999285 0.033535
-vn 0.034891 -0.999391 0.000000
-vn 0.667695 -0.742478 0.053937
-vn 0.571935 -0.819251 0.041448
-vn 0.371709 -0.928349 0.000000
-vn 0.371656 -0.928221 0.016665
-vn 0.371656 -0.928221 0.016665
-vn 0.371656 -0.928221 0.016665
-vn 0.371656 -0.928221 0.016665
-vn 0.371656 -0.928221 0.016665
-vn 0.899886 -0.432952 -0.052522
-vn 0.899886 -0.432952 -0.052522
-vn -0.900573 -0.433291 -0.035030
-vn -0.899880 -0.432964 -0.052521
-vn -0.662391 -0.748298 -0.035894
-vn -0.667692 -0.742481 -0.053937
-vn 0.017436 -0.999285 -0.033535
-vn -0.000002 -0.998740 -0.050186
-vn 0.571936 -0.819251 -0.041448
-vn 0.667696 -0.742478 -0.053937
-vn 0.371658 -0.928220 -0.016666
-vn 0.371658 -0.928220 -0.016666
-vn 0.371658 -0.928220 -0.016666
-vn 0.371658 -0.928220 -0.016666
-vn 0.371658 -0.928220 -0.016666
-vn -0.810598 -0.571899 -0.125946
-vn -0.671909 -0.740634 0.000000
-vn -0.676822 -0.736115 -0.006880
-vn -0.686547 -0.727051 -0.007096
-vn -0.696070 -0.717936 -0.007308
-vn -0.711311 -0.702701 -0.015763
-vn -0.769270 -0.634467 -0.075335
-vn -0.901669 -0.372819 -0.219088
-vn -0.926116 -0.140148 -0.350239
-vn -0.894138 -0.025648 -0.447056
-vn -0.849984 0.197430 -0.488415
-vn -0.799637 0.422898 -0.426307
-vn -0.769309 0.523922 -0.365608
-vn -0.773996 0.567145 -0.281562
-vn -0.794400 0.581001 -0.177106
-vn -0.856674 0.505719 -0.101775
-vn -0.892452 0.450398 -0.025896
-vn -0.873738 0.486256 -0.011750
-vn -0.852481 0.522758 0.000100
-vn -0.911564 -0.326059 -0.250473
-vn -0.840179 -0.537891 -0.069091
-vn -0.756334 -0.653470 -0.030582
-vn -0.809162 -0.582336 -0.078362
-vn -0.715983 -0.697874 -0.018436
-vn -0.729177 -0.684069 -0.018707
-vn -0.774726 -0.631581 -0.030066
-vn -0.706759 -0.707375 -0.010600
-vn -0.766343 -0.642432 0.000000
-vn -0.704436 -0.709768 0.000000
-vn -0.916801 -0.360119 -0.172597
-vn -0.908199 -0.414926 -0.054881
-vn -0.906833 -0.421490 0.000000
-vn -0.866689 -0.449486 -0.216360
-vn -0.895961 -0.127966 -0.425297
-vn -0.887493 -0.046300 -0.458490
-vn -0.916174 -0.091207 -0.390264
-vn -0.943952 -0.240171 -0.226436
-vn -0.859350 0.181510 -0.478092
-vn -0.914503 0.148472 -0.376352
-vn -0.963096 0.135585 -0.232513
-vn -0.979949 0.142243 -0.139521
-vn -0.990415 0.132297 -0.039686
-vn -0.992556 0.121789 0.000000
-vn -0.808768 0.451110 -0.377352
-vn -0.839214 0.480655 -0.254345
-vn -0.873936 0.471628 -0.117490
-vn -0.882413 0.469161 -0.035134
-vn -0.876459 0.481327 -0.011994
-vn -0.874376 0.485250 0.000050
-vn -0.810598 -0.571899 0.125945
-vn -0.676822 -0.736115 0.006880
-vn -0.686547 -0.727051 0.007096
-vn -0.696070 -0.717936 0.007308
-vn -0.711311 -0.702701 0.015763
-vn -0.769270 -0.634467 0.075335
-vn -0.901669 -0.372819 0.219088
-vn -0.926116 -0.140148 0.350239
-vn -0.894138 -0.025648 0.447056
-vn -0.849984 0.197430 0.488415
-vn -0.799637 0.422898 0.426307
-vn -0.769309 0.523922 0.365608
-vn -0.773996 0.567145 0.281563
-vn -0.794400 0.581001 0.177106
-vn -0.856674 0.505720 0.101775
-vn -0.892452 0.450398 0.025897
-vn -0.873779 0.486178 0.011850
-vn -0.756334 -0.653470 0.030582
-vn -0.840179 -0.537891 0.069091
-vn -0.911564 -0.326059 0.250473
-vn -0.729177 -0.684069 0.018707
-vn -0.715983 -0.697874 0.018436
-vn -0.809162 -0.582336 0.078362
-vn -0.706759 -0.707375 0.010600
-vn -0.774726 -0.631581 0.030066
-vn -0.908199 -0.414926 0.054881
-vn -0.916801 -0.360119 0.172597
-vn -0.866689 -0.449486 0.216360
-vn -0.895961 -0.127966 0.425297
-vn -0.887493 -0.046300 0.458490
-vn -0.916174 -0.091207 0.390264
-vn -0.943952 -0.240171 0.226436
-vn -0.859350 0.181510 0.478092
-vn -0.914503 0.148472 0.376352
-vn -0.963096 0.135585 0.232513
-vn -0.979949 0.142243 0.139521
-vn -0.990415 0.132297 0.039686
-vn -0.808768 0.451110 0.377352
-vn -0.839213 0.480655 0.254345
-vn -0.873936 0.471628 0.117490
-vn -0.882413 0.469161 0.035134
-vn -0.876480 0.481288 0.012044
-vn 0.738347 0.674421 0.000000
-vn 0.806153 0.567767 -0.166608
-vn 0.863896 0.499132 -0.067458
-vn 0.619226 0.785213 0.000000
-vn 0.618594 0.784508 -0.043454
-vn 0.617817 0.783620 -0.065133
-vn 0.000000 1.000000 0.000000
-vn 0.000000 0.999305 -0.037285
-vn -0.000001 0.998436 -0.055898
-vn -0.619244 0.785198 0.000000
-vn -0.618602 0.784502 -0.043455
-vn -0.617815 0.783622 -0.065133
-vn -0.865872 0.500266 0.000000
-vn -0.864990 0.499766 -0.045006
-vn -0.863892 0.499140 -0.067459
-vn 0.695043 0.718593 -0.023226
-vn 0.689718 0.723710 -0.023093
-vn 0.687022 0.726417 -0.017881
-vn 0.687022 0.726417 -0.017881
-vn 0.687022 0.726417 -0.017878
-vn 0.624714 0.780853 0.000000
-vn 0.624471 0.780885 -0.015951
-vn 0.628239 0.777647 -0.024117
-vn 0.636747 0.770679 -0.024639
-vn 0.717673 0.690581 -0.089681
-vn 0.800177 0.525367 -0.289320
-vn 0.787284 0.290410 -0.543917
-vn 0.731224 0.682137 0.000000
-vn 0.732755 0.680143 -0.021814
-vn 0.753271 0.652862 -0.079712
-vn 0.787727 0.584035 -0.195933
-vn 0.845671 0.419171 -0.330358
-vn 0.806306 0.264556 -0.529037
-vn 0.777431 0.225586 -0.587122
-vn 0.880395 0.474242 0.000000
-vn 0.882174 0.469754 -0.033162
-vn 0.882771 0.440367 -0.163686
-vn 0.868778 0.383372 -0.313451
-vn 0.838973 0.309714 -0.447438
-vn 0.764875 0.224491 -0.603796
-vn 0.738142 0.182045 -0.649620
-vn 0.996828 -0.079588 0.000000
-vn 0.996263 -0.085397 -0.012925
-vn 0.991668 -0.062376 -0.112711
-vn 0.951868 -0.021112 -0.305780
-vn 0.872481 -0.010318 -0.488540
-vn 0.779498 0.023999 -0.625944
-vn 0.741302 0.058701 -0.668599
-vn 0.810684 -0.585484 0.000000
-vn 0.811350 -0.584049 0.024432
-vn 0.820129 -0.571417 0.029518
-vn 0.829589 -0.541693 -0.135462
-vn 0.819375 -0.485373 -0.305022
-vn 0.829011 -0.352148 -0.434433
-vn 0.754667 -0.037342 -0.655044
-vn 0.718556 -0.695469 0.000000
-vn 0.725325 -0.687595 0.033425
-vn 0.709570 -0.701311 0.068364
-vn 0.690571 -0.722559 -0.031951
-vn 0.702443 -0.701413 -0.120804
-vn 0.726916 -0.682805 -0.073285
-vn 0.825351 -0.413141 -0.384851
-vn 0.687022 0.726417 0.017881
-vn 0.687022 0.726417 0.017881
-vn 0.689718 0.723710 0.023093
-vn 0.695043 0.718593 0.023226
-vn 0.806153 0.567767 0.166608
-vn 0.618594 0.784508 0.043455
-vn 0.687022 0.726417 0.017878
-vn 0.617817 0.783619 0.065133
-vn 0.863896 0.499131 0.067460
-vn 0.000000 0.999305 0.037285
-vn -0.000001 0.998436 0.055898
-vn -0.618602 0.784502 0.043455
-vn -0.617814 0.783622 0.065134
-vn -0.864990 0.499766 0.045007
-vn -0.863891 0.499140 0.067461
-vn 0.624471 0.780885 0.015952
-vn 0.628239 0.777647 0.024117
-vn 0.636747 0.770679 0.024639
-vn 0.717673 0.690581 0.089681
-vn 0.800177 0.525367 0.289320
-vn 0.787284 0.290410 0.543917
-vn 0.732755 0.680143 0.021814
-vn 0.753271 0.652862 0.079712
-vn 0.787727 0.584035 0.195933
-vn 0.845671 0.419171 0.330358
-vn 0.806306 0.264556 0.529037
-vn 0.777431 0.225586 0.587122
-vn 0.882174 0.469754 0.033162
-vn 0.882771 0.440367 0.163686
-vn 0.868778 0.383372 0.313451
-vn 0.838973 0.309714 0.447438
-vn 0.764875 0.224490 0.603796
-vn 0.738142 0.182045 0.649620
-vn 0.996263 -0.085397 0.012925
-vn 0.991668 -0.062376 0.112711
-vn 0.951868 -0.021112 0.305780
-vn 0.872481 -0.010318 0.488540
-vn 0.779498 0.023999 0.625944
-vn 0.741302 0.058701 0.668600
-vn 0.811351 -0.584049 -0.024432
-vn 0.820129 -0.571417 -0.029518
-vn 0.829589 -0.541693 0.135462
-vn 0.819375 -0.485373 0.305022
-vn 0.829011 -0.352148 0.434434
-vn 0.754667 -0.037342 0.655044
-vn 0.725325 -0.687595 -0.033425
-vn 0.709570 -0.701311 -0.068364
-vn 0.690571 -0.722559 0.031951
-vn 0.702443 -0.701413 0.120804
-vn 0.726916 -0.682805 0.073285
-vn 0.825351 -0.413141 0.384851
-vn 0.863925 -0.499082 -0.067460
-vn 0.863925 -0.499082 -0.067460
-vn -0.865893 -0.500229 0.000000
-vn -0.865015 -0.499723 -0.045006
-vn -0.863920 -0.499091 -0.067460
-vn -0.608436 -0.793603 0.000000
-vn -0.607457 -0.793186 -0.043037
-vn -0.606349 -0.792599 -0.064251
-vn 0.030471 -0.999536 0.000000
-vn 0.031551 -0.998800 -0.037458
-vn 0.032627 -0.997885 -0.056223
-vn 0.316688 -0.948530 0.000000
-vn 0.530187 -0.846394 -0.050186
-vn 0.631936 -0.772187 -0.066204
-vn 0.316636 -0.948376 -0.018019
-vn 0.316636 -0.948376 -0.018019
-vn 0.316636 -0.948376 -0.018019
-vn 0.316636 -0.948376 -0.018019
-vn 0.316636 -0.948376 -0.018019
-vn 0.863925 -0.499082 0.067460
-vn 0.863925 -0.499082 0.067460
-vn -0.865015 -0.499723 0.045006
-vn -0.863920 -0.499091 0.067460
-vn -0.607457 -0.793186 0.043037
-vn -0.606349 -0.792599 0.064251
-vn 0.031551 -0.998800 0.037458
-vn 0.032626 -0.997885 0.056224
-vn 0.530187 -0.846394 0.050187
-vn 0.316636 -0.948376 0.018019
-vn 0.316636 -0.948376 0.018019
-vn 0.316636 -0.948376 0.018019
-vn 0.316636 -0.948376 0.018019
-vn 0.316636 -0.948376 0.018019
-vn 0.631936 -0.772187 0.066205
-vn -0.599290 -0.800532 0.000000
-vn -0.746611 -0.646922 0.155129
-vn -0.701281 -0.707213 0.089752
-vn -0.639529 -0.768597 0.016175
-vn -0.624930 -0.780632 0.008733
-vn -0.614771 -0.788661 0.008457
-vn -0.604470 -0.796586 0.008169
-vn -0.850655 -0.451033 0.270102
-vn -0.875490 -0.238936 0.420031
-vn -0.838922 -0.175843 0.515063
-vn -0.835471 -0.010815 0.549428
-vn -0.836553 0.123691 0.533741
-vn -0.794675 0.607035 0.000000
-vn -0.801003 0.598112 -0.025605
-vn -0.783288 0.619735 -0.048875
-vn -0.761511 0.642683 0.084027
-vn -0.769960 0.606434 0.198493
-vn -0.799785 0.578517 0.160191
-vn -0.855618 0.383711 0.347394
-vn -0.731224 -0.682137 0.000000
-vn -0.732754 -0.680143 0.021814
-vn -0.637957 -0.769970 0.012520
-vn -0.635659 -0.771970 0.000000
-vn -0.753271 -0.652862 0.079711
-vn -0.646659 -0.762495 0.020811
-vn -0.787727 -0.584035 0.195932
-vn -0.659878 -0.751067 0.021455
-vn -0.738191 -0.669008 0.086614
-vn -0.845671 -0.419171 0.330358
-vn -0.840448 -0.496941 0.216096
-vn -0.853971 -0.270770 0.444317
-vn -0.880395 -0.474242 0.000000
-vn -0.882174 -0.469754 0.033162
-vn -0.882771 -0.440367 0.163685
-vn -0.868777 -0.383372 0.313452
-vn -0.838973 -0.309714 0.447439
-vn -0.814886 -0.221235 0.535739
-vn -0.996828 0.079588 0.000000
-vn -0.996263 0.085397 0.012925
-vn -0.991668 0.062376 0.112711
-vn -0.951868 0.021111 0.305780
-vn -0.872481 0.010318 0.488540
-vn -0.825279 0.000153 0.564726
-vn -0.843462 0.537189 0.000000
-vn -0.844260 0.535547 -0.020359
-vn -0.850544 0.525544 -0.019441
-vn -0.854915 0.493345 0.160407
-vn -0.838262 0.426955 0.339156
-vn -0.855533 0.328568 0.400132
-vn -0.746611 -0.646922 -0.155129
-vn -0.701281 -0.707213 -0.089752
-vn -0.639529 -0.768597 -0.016175
-vn -0.624930 -0.780632 -0.008733
-vn -0.614771 -0.788661 -0.008457
-vn -0.604470 -0.796586 -0.008169
-vn -0.850655 -0.451033 -0.270102
-vn -0.875490 -0.238936 -0.420031
-vn -0.838922 -0.175843 -0.515063
-vn -0.835471 -0.010815 -0.549428
-vn -0.836553 0.123691 -0.533741
-vn -0.801003 0.598112 0.025605
-vn -0.783288 0.619735 0.048875
-vn -0.761511 0.642683 -0.084027
-vn -0.769960 0.606434 -0.198493
-vn -0.799786 0.578517 -0.160191
-vn -0.855618 0.383711 -0.347394
-vn -0.637957 -0.769970 -0.012520
-vn -0.732754 -0.680143 -0.021814
-vn -0.646659 -0.762495 -0.020811
-vn -0.753271 -0.652862 -0.079711
-vn -0.659878 -0.751067 -0.021455
-vn -0.787727 -0.584035 -0.195932
-vn -0.738191 -0.669008 -0.086614
-vn -0.840448 -0.496941 -0.216096
-vn -0.845671 -0.419171 -0.330358
-vn -0.853971 -0.270770 -0.444317
-vn -0.882174 -0.469754 -0.033162
-vn -0.882771 -0.440367 -0.163685
-vn -0.868777 -0.383372 -0.313452
-vn -0.814886 -0.221235 -0.535739
-vn -0.838973 -0.309714 -0.447439
-vn -0.996263 0.085397 -0.012925
-vn -0.991668 0.062376 -0.112711
-vn -0.951868 0.021111 -0.305780
-vn -0.872481 0.010318 -0.488540
-vn -0.825279 0.000153 -0.564726
-vn -0.844260 0.535547 0.020359
-vn -0.850544 0.525544 0.019441
-vn -0.854915 0.493345 -0.160407
-vn -0.838262 0.426955 -0.339156
-vn -0.855533 0.328568 -0.400132
-vn 0.993924 0.089671 0.063831
-vn 0.991388 0.089520 0.095585
-vn 0.951185 -0.294245 0.093093
-vn 0.949761 -0.263276 0.169235
-vn 0.997765 -0.059685 0.030054
-vn 0.997956 -0.059356 0.023660
-vn 0.997550 -0.065796 0.023773
-vn 0.997092 -0.072360 0.023888
-vn 0.991277 -0.131793 0.000000
-vn 0.995962 0.089777 0.000000
-vn 0.997188 -0.067887 0.031734
-vn 0.679311 0.731442 0.059403
-vn 0.677813 0.729831 0.088978
-vn 0.680514 0.732736 0.000000
-vn 0.016056 0.997832 0.063832
-vn 0.016088 0.995291 0.095587
-vn 0.016015 0.999872 0.000000
-vn -0.364558 0.929104 0.062153
-vn -0.363677 0.926862 0.093094
-vn -0.365266 0.930903 0.000000
-vn 0.917270 -0.258315 0.303131
-vn 0.998959 -0.024410 0.038551
-vn 0.999612 0.008824 0.026436
-vn 0.999517 0.016521 0.026336
-vn 0.999675 0.018217 0.017848
-vn 0.999876 0.015741 0.000000
-vn 0.884956 -0.376979 0.273386
-vn 0.981145 -0.177428 0.076642
-vn 0.988508 -0.123689 0.086911
-vn 0.997365 -0.064404 0.033395
-vn 0.998710 -0.050770 0.000000
-vn 0.913828 -0.358465 0.190845
-vn 0.947530 -0.313813 0.060889
-vn 0.951301 -0.308263 0.000000
-vn 0.720988 -0.478886 0.500845
-vn 0.681368 -0.491661 0.542224
-vn 0.685009 -0.489335 0.539734
-vn 0.578949 -0.537358 0.613241
-vn 0.627789 -0.538212 0.562324
-vn 0.720934 -0.547029 0.425456
-vn 0.850335 -0.463283 0.249600
-vn 0.414986 -0.655129 0.631342
-vn 0.464139 -0.677064 0.571104
-vn 0.559696 -0.719904 0.410461
-vn 0.608602 -0.750976 0.256201
-vn 0.619061 -0.770047 0.154245
-vn 0.635383 -0.770942 0.044007
-vn 0.644398 -0.764690 0.000000
-vn 0.245694 -0.811195 0.530657
-vn 0.242252 -0.868554 0.432352
-vn 0.248688 -0.936525 0.247135
-vn 0.270344 -0.957192 0.103429
-vn 0.270056 -0.962541 0.024195
-vn 0.259082 -0.965835 0.006336
-vn 0.257662 -0.966235 -0.000029
-vn 0.159410 -0.887098 0.433181
-vn 0.123609 -0.947670 0.294352
-vn 0.109876 -0.985648 0.128163
-vn 0.184173 -0.981147 0.058577
-vn 0.232618 -0.972568 -0.000920
-vn 0.197099 -0.980383 -0.000950
-vn 0.161376 -0.986893 -0.000058
-vn 0.949760 -0.263276 -0.169235
-vn 0.951185 -0.294245 -0.093093
-vn 0.991388 0.089520 -0.095585
-vn 0.993924 0.089670 -0.063831
-vn 0.997188 -0.067888 -0.031734
-vn 0.997092 -0.072361 -0.023889
-vn 0.997550 -0.065797 -0.023773
-vn 0.997956 -0.059357 -0.023660
-vn 0.997765 -0.059686 -0.030054
-vn 0.677813 0.729831 -0.088978
-vn 0.679311 0.731442 -0.059403
-vn 0.016088 0.995291 -0.095586
-vn 0.016056 0.997832 -0.063831
-vn -0.363677 0.926862 -0.093094
-vn -0.364558 0.929104 -0.062153
-vn 0.917270 -0.258315 -0.303131
-vn 0.998959 -0.024410 -0.038551
-vn 0.999612 0.008824 -0.026436
-vn 0.999517 0.016521 -0.026336
-vn 0.999675 0.018217 -0.017848
-vn 0.981145 -0.177428 -0.076642
-vn 0.884956 -0.376979 -0.273386
-vn 0.988508 -0.123689 -0.086911
-vn 0.997365 -0.064404 -0.033395
-vn 0.947530 -0.313813 -0.060889
-vn 0.913828 -0.358465 -0.190845
-vn 0.720988 -0.478886 -0.500845
-vn 0.685009 -0.489335 -0.539734
-vn 0.681368 -0.491661 -0.542224
-vn 0.627789 -0.538212 -0.562324
-vn 0.578949 -0.537358 -0.613241
-vn 0.720935 -0.547029 -0.425456
-vn 0.850335 -0.463283 -0.249600
-vn 0.464139 -0.677064 -0.571104
-vn 0.414986 -0.655130 -0.631342
-vn 0.559696 -0.719904 -0.410461
-vn 0.608602 -0.750976 -0.256201
-vn 0.619061 -0.770047 -0.154245
-vn 0.635383 -0.770942 -0.044007
-vn 0.242252 -0.868554 -0.432352
-vn 0.245694 -0.811195 -0.530657
-vn 0.248688 -0.936525 -0.247135
-vn 0.270344 -0.957192 -0.103429
-vn 0.270056 -0.962541 -0.024195
-vn 0.259101 -0.965829 -0.006365
-vn 0.123609 -0.947670 -0.294352
-vn 0.159410 -0.887098 -0.433181
-vn 0.109876 -0.985648 -0.128163
-vn 0.184173 -0.981147 -0.058577
-vn 0.232618 -0.972568 0.000920
-vn 0.197137 -0.980376 0.000892
-vn 0.363681 -0.926860 0.093095
-vn 0.363681 -0.926860 0.093095
-vn -0.953481 0.294977 0.062153
-vn -0.951181 0.294258 0.093095
-vn -0.955326 0.295555 0.000000
-vn -0.993197 -0.097487 0.063683
-vn -0.991388 -0.089513 0.095585
-vn -0.994423 -0.105465 0.000000
-vn -0.666429 -0.743190 0.059512
-vn -0.677811 -0.729833 0.088975
-vn -0.654535 -0.756032 0.000000
-vn -0.138441 -0.987639 0.073510
-vn -0.016083 -0.995291 0.095585
-vn -0.359388 -0.933188 0.000000
-vn -0.359231 -0.932778 0.029619
-vn -0.359231 -0.932778 0.029619
-vn -0.359231 -0.932778 0.029619
-vn -0.359231 -0.932778 0.029619
-vn -0.359231 -0.932778 0.029619
-vn 0.363681 -0.926860 -0.093095
-vn 0.363681 -0.926860 -0.093095
-vn -0.951181 0.294258 -0.093095
-vn -0.953481 0.294977 -0.062153
-vn -0.991388 -0.089513 -0.095585
-vn -0.993197 -0.097487 -0.063683
-vn -0.677811 -0.729833 -0.088975
-vn -0.666428 -0.743190 -0.059512
-vn -0.016083 -0.995291 -0.095586
-vn -0.138440 -0.987639 -0.073511
-vn -0.359230 -0.932779 -0.029618
-vn -0.359230 -0.932779 -0.029618
-vn -0.359230 -0.932779 -0.029618
-vn -0.359230 -0.932779 -0.029618
-vn -0.359230 -0.932779 -0.029618
-vn -0.971639 0.185090 -0.147174
-vn -0.995051 -0.099362 0.000000
-vn -0.995892 -0.090233 -0.007566
-vn -0.997348 -0.072341 -0.007999
-vn -0.998441 -0.055175 -0.008410
-vn -0.999456 -0.027640 -0.018014
-vn -0.992159 0.088881 -0.087872
-vn -0.899393 0.362665 -0.244061
-vn -0.763166 0.520128 -0.383463
-vn -0.657767 0.576066 -0.485274
-vn -0.475302 0.703698 -0.528107
-vn -0.291509 0.836741 -0.463559
-vn -0.203996 0.893520 -0.400009
-vn -0.179387 0.933836 -0.309470
-vn -0.186052 0.962782 -0.196051
-vn -0.283313 0.952364 -0.112859
-vn -0.347407 0.937273 -0.028770
-vn -0.309315 0.950870 -0.013055
-vn -0.268903 0.963167 0.000112
-vn -0.998726 0.037141 -0.034171
-vn -0.981145 0.177428 -0.076642
-vn -0.884956 0.376980 -0.273385
-vn -0.999760 -0.006435 -0.020930
-vn -0.999410 -0.027537 -0.020543
-vn -0.988508 0.123690 -0.086912
-vn -0.999002 -0.043098 -0.011742
-vn -0.997365 0.064404 -0.033395
-vn -0.998863 -0.047679 0.000000
-vn -0.998710 0.050770 0.000000
-vn -0.947530 0.313814 -0.060889
-vn -0.913828 0.358464 -0.190846
-vn -0.951301 0.308264 0.000000
-vn -0.933355 0.268960 -0.237716
-vn -0.728648 0.505474 -0.462134
-vn -0.665783 0.556349 -0.497201
-vn -0.720935 0.547028 -0.425456
-vn -0.850335 0.463283 -0.249599
-vn -0.493020 0.699378 -0.517495
-vn -0.559696 0.719904 -0.410461
-vn -0.608602 0.750976 -0.256200
-vn -0.619061 0.770046 -0.154246
-vn -0.635382 0.770943 -0.044006
-vn -0.644397 0.764691 0.000000
-vn -0.280194 0.867283 -0.411476
-vn -0.285188 0.916831 -0.279443
-vn -0.318897 0.938804 -0.130196
-vn -0.327262 0.944127 -0.039028
-vn -0.314663 0.949110 -0.013326
-vn -0.310471 0.950583 0.000056
-vn -0.971639 0.185090 0.147174
-vn -0.992159 0.088881 0.087872
-vn -0.999456 -0.027640 0.018014
-vn -0.998441 -0.055175 0.008410
-vn -0.997348 -0.072341 0.007999
-vn -0.995892 -0.090233 0.007566
-vn -0.899393 0.362665 0.244061
-vn -0.763166 0.520128 0.383463
-vn -0.657767 0.576065 0.485274
-vn -0.475302 0.703698 0.528107
-vn -0.291509 0.836741 0.463559
-vn -0.179386 0.933836 0.309470
-vn -0.203995 0.893520 0.400009
-vn -0.186052 0.962782 0.196051
-vn -0.283313 0.952364 0.112859
-vn -0.347407 0.937273 0.028770
-vn -0.309398 0.950842 0.013167
-vn -0.884956 0.376980 0.273385
-vn -0.981145 0.177428 0.076642
-vn -0.998726 0.037141 0.034171
-vn -0.988508 0.123690 0.086912
-vn -0.999410 -0.027537 0.020543
-vn -0.999760 -0.006435 0.020930
-vn -0.997365 0.064404 0.033395
-vn -0.999002 -0.043098 0.011742
-vn -0.913828 0.358464 0.190846
-vn -0.947530 0.313814 0.060889
-vn -0.933355 0.268960 0.237715
-vn -0.728648 0.505474 0.462134
-vn -0.665783 0.556349 0.497201
-vn -0.720935 0.547028 0.425456
-vn -0.850335 0.463283 0.249599
-vn -0.493020 0.699378 0.517495
-vn -0.559696 0.719904 0.410461
-vn -0.608602 0.750976 0.256200
-vn -0.619061 0.770046 0.154246
-vn -0.635382 0.770943 0.044006
-vn -0.280194 0.867283 0.411476
-vn -0.285188 0.916831 0.279443
-vn -0.318897 0.938804 0.130196
-vn -0.327262 0.944127 0.039028
-vn -0.314704 0.949095 0.013381
-vn -0.642812 0.322219 -0.694958
-vn -0.650165 0.333777 -0.682552
-vn -0.849450 0.041378 -0.526043
-vn -0.842422 0.029896 -0.537988
-vn -0.827539 0.006894 -0.561366
-vn -0.627422 0.298775 -0.719079
-vn -0.811581 -0.016117 -0.584017
-vn -0.611142 0.274958 -0.742229
-vn -0.602686 0.262924 -0.753419
-vn -0.803213 -0.027610 -0.595052
-vn -0.046321 0.717759 -0.694749
-vn -0.053653 0.728221 -0.683239
-vn -0.031609 0.696187 -0.717165
-vn -0.016858 0.673791 -0.738729
-vn -0.009478 0.662301 -0.749178
-vn 0.564162 0.759634 -0.323539
-vn 0.555743 0.770805 -0.311463
-vn 0.580414 0.736503 -0.347393
-vn 0.595837 0.712377 -0.370807
-vn 0.603229 0.699959 -0.382325
-vn 0.784184 0.619398 -0.037437
-vn 0.775833 0.630406 -0.025904
-vn 0.800127 0.596773 -0.060487
-vn 0.815026 0.573381 -0.083465
-vn 0.822075 0.561413 -0.094908
-vn -0.822085 -0.561403 0.094886
-vn -0.815033 -0.573374 0.083450
-vn -0.800130 -0.596770 0.060483
-vn -0.784191 -0.619390 0.037429
-vn -0.775845 -0.630393 0.025889
-vn 0.811581 0.016120 0.584018
-vn 0.803210 0.027611 0.595056
-vn 0.827538 -0.006892 0.561367
-vn 0.842421 -0.029896 0.537989
-vn 0.849450 -0.041377 0.526044
-vn 0.709679 -0.058148 0.702122
-vn 0.602687 -0.262921 0.753420
-vn 0.889941 0.415456 0.188151
-vn 0.892509 -0.223533 0.391742
-vn 0.629453 -0.354577 0.691422
-vn -0.223873 -0.683965 0.694315
-vn 0.009484 -0.662297 0.749182
-vn -0.625676 -0.722287 0.294671
-vn -0.207820 -0.882913 0.421040
-vn -0.015531 -0.752037 0.658938
-vn -0.602513 -0.710136 0.364260
-vn -0.603235 -0.699957 0.382319
-vn -0.601723 -0.729113 0.326073
-vn -0.594215 -0.749427 0.292008
-vn -0.586599 -0.760692 0.277938
-vn 0.102923 -0.952597 0.286295
-vn -0.718606 -0.668081 0.193064
-vn -0.783697 -0.600587 0.158477
-vn -0.701348 -0.686166 0.193102
-vn -0.736019 -0.651153 0.185138
-vn -0.724907 -0.663690 0.184459
-vn -0.722846 -0.660000 0.204680
-vn -0.617182 -0.211719 0.757800
-vn -0.616660 0.061761 0.784803
-vn -0.260879 -0.304354 0.916139
-vn -0.442996 -0.518355 0.731480
-vn -0.447647 -0.175289 0.876861
-vn -0.629808 0.045048 0.775443
-vn -0.402821 -0.459036 0.791847
-vn 0.095227 -0.947330 -0.305775
-vn 0.140687 -0.977049 -0.159942
-vn 0.338509 -0.940657 -0.023994
-vn -0.938729 -0.318623 -0.131408
-vn -0.883564 -0.452435 -0.120904
-vn -0.851603 -0.511546 -0.114423
-vn -0.845397 -0.521171 -0.116980
-vn -0.857481 -0.498418 -0.127696
-vn -0.875425 -0.469677 -0.114172
-vn -0.873974 -0.241441 -0.421754
-vn -0.837168 -0.269334 -0.476035
-vn -0.926765 -0.199398 -0.318352
-vn -0.878921 -0.300919 -0.370061
-vn -0.851871 -0.357230 -0.383017
-vn -0.832390 -0.384968 -0.398656
-vn 0.873111 0.157976 0.461216
-vn 0.744340 0.292281 0.600441
-vn 0.819560 0.359560 0.446136
-vn 0.764305 0.374954 0.524641
-vn 0.864151 0.315618 0.391954
-vn 0.954311 0.086140 0.286130
-vn 0.978318 0.164080 0.126383
-vn 0.891798 0.426135 0.152003
-vn 0.853511 0.511445 0.099717
-vn 0.828453 0.545351 0.127506
-vn 0.835750 0.409742 0.365560
-vn 0.833345 0.511746 0.208932
-# 2372 vertices
-
-# 0 vertex parms
-
-# 0 texture vertices
-
-# 3377 normals
-
-g mast2
-s 1
-f 15//188 16//189 2//187 1//186
-s 2
-f 16//204 17//205 3//203 2//202
-s 3
-f 17//220 18//221 4//219 3//218
-s 4
-f 18//236 19//237 5//235 4//234
-s 5
-f 19//254 20//255 6//251 5//250
-f 20//255 21//256 7//252 6//251
-f 21//256 22//257 8//253 7//252
-s 6
-f 22//296 23//297 9//295 8//294
-s 7
-f 23//312 24//313 10//311 9//310
-s 8
-f 24//328 25//329 11//327 10//326
-s 9
-f 25//344 26//345 12//343 11//342
-s 10
-f 26//360 27//361 13//359 12//358
-s 11
-f 27//376 28//377 14//375 13//374
-s 1
-f 47//194 48//195 34//193 33//192
-s 2
-f 48//208 49//209 35//207 34//206
-s 3
-f 49//224 50//225 36//223 35//222
-s 4
-f 50//240 51//241 37//239 36//238
-s 5
-f 51//262 52//263 38//259 37//258
-f 52//263 53//264 39//260 38//259
-f 53//264 54//265 40//261 39//260
-s 6
-f 54//300 55//301 41//299 40//298
-s 7
-f 55//316 56//317 42//315 41//314
-s 8
-f 56//332 57//333 43//331 42//330
-s 9
-f 57//348 58//349 44//347 43//346
-s 10
-f 58//364 59//365 45//363 44//362
-s 11
-f 59//382 60//383 46//381 45//380
-s 1
-f 61//196 62//197 48//195 47//194
-s 2
-f 62//210 63//211 49//209 48//208
-s 3
-f 63//226 64//227 50//225 49//224
-s 4
-f 64//242 65//243 51//241 50//240
-s 5
-f 65//266 66//267 52//263 51//262
-f 66//267 90//275 67//268 53//264 52//263
-f 67//268 68//269 54//265 53//264
-s 6
-f 68//302 69//303 55//301 54//300
-s 7
-f 69//318 70//319 56//317 55//316
-s 8
-f 70//334 71//335 57//333 56//332
-s 9
-f 71//350 72//351 58//349 57//348
-s 10
-f 72//366 73//367 59//365 58//364
-s 11
-f 73//384 74//385 60//383 59//382
-s 1
-f 75//198 76//199 62//197 61//196
-s 2
-f 76//212 77//213 63//211 62//210
-s 3
-f 77//228 78//229 64//227 63//226
-s 4
-f 78//244 79//245 65//243 64//242
-s 5
-f 79//270 80//271 92//277 91//276 66//267 65//266
-s off
-f 100//1 99//1 102//1 101//1
-s 5
-f 81//272 82//273 68//269 67//268
-s 6
-f 82//304 83//305 69//303 68//302
-s 7
-f 83//320 84//321 70//319 69//318
-s 8
-f 84//336 85//337 71//335 70//334
-s 9
-f 85//352 86//353 72//351 71//350
-s 10
-f 86//368 87//369 73//367 72//366
-s 11
-f 87//386 88//387 74//385 73//384
-s 1
-f 1//186 2//187 76//199 75//198
-s 2
-f 2//202 3//203 77//213 76//212
-s 3
-f 3//218 4//219 78//229 77//228
-s 4
-f 4//234 5//235 79//245 78//244
-s 5
-f 5//250 6//251 80//271 79//270
-f 6//251 7//252 81//272 89//274 80//271
-f 7//252 8//253 82//273 81//272
-s 6
-f 8//294 9//295 83//305 82//304
-s 7
-f 9//310 10//311 84//321 83//320
-s 8
-f 10//326 11//327 85//337 84//336
-s 9
-f 11//342 12//343 86//353 85//352
-s 10
-f 12//358 13//359 87//369 86//368
-s 11
-f 13//374 14//375 88//387 87//386
-s off
-f 61//2 47//2 33//2 31//2 29//2 15//2 1//2 75//2
-f 30//3 32//3 46//3 60//3 74//3 88//3 14//3 28//3
-s 5
-f 89//274 81//272 67//268 90//275 94//279 93//278
-s off
-f 96//4 95//4 98//4 97//4
-f 104//5 103//5 106//5 105//5
-f 95//6 96//6 94//6 90//6
-f 96//7 97//7 91//7 94//7
-f 97//8 98//8 66//8 91//8
-f 98//9 95//9 90//9 66//9
-f 99//10 100//10 92//10 80//10
-f 100//11 101//11 93//11 92//11
-f 101//12 102//12 89//12 93//12
-f 102//13 99//13 80//13 89//13
-f 103//14 104//14 91//14 92//14
-f 104//15 105//15 94//15 91//15
-f 105//16 106//16 93//16 94//16
-f 106//17 103//17 92//17 93//17
-g keel
-s 21
-f 108//391 107//390 110//393 109//392
-f 110//393 107//390 112//395 111//394
-f 111//394 112//395 114//397 113//396
-f 113//396 114//397 116//399 115//398
-f 115//398 116//399 118//401 117//400
-f 117//400 118//401 120//403 119//402
-f 119//402 120//403 122//405 121//404
-f 121//404 122//405 124//407 123//406
-f 127//410 126//409 125//408 128//411
-f 127//410 128//411 130//413 129//412
-f 129//412 130//413 132//415 131//414
-f 131//414 132//415 134//417 133//416
-f 133//416 134//417 136//419 135//418
-f 135//418 136//419 138//421 137//420
-f 137//420 138//421 140//423 139//422
-f 139//422 140//423 142//425 141//424
-g hull
-f 141//424 142//425 144//427 143//426
-s 25
-f 143//447 144//448 146//450 145//449
-s 26
-f 145//453 146//454 148//456 147//455
-s 23
-f 147//477 148//478 150//480 149//479
-g keel
-f 151//481 110//460 111//461 152//482
-f 152//482 111//461 113//462 153//483
-f 153//483 113//462 115//463 154//484
-f 154//484 115//463 117//464 155//485
-f 155//485 117//464 119//465 156//486
-f 156//486 119//465 121//466 157//487
-f 157//487 121//466 123//467 158//488
-f 158//488 123//467 126//468 159//489
-f 159//489 126//468 127//469 160//490
-f 160//490 127//469 129//470 161//491
-f 161//491 129//470 131//471 162//492
-f 162//492 131//471 133//472 163//493
-f 163//493 133//472 135//473 164//494
-f 164//494 135//473 137//474 165//495
-f 165//495 137//474 139//475 166//496
-f 139//475 141//476 166//496
-f 151//481 222//552 109//459 110//460
-f 222//552 151//481 224//554 223//553
-f 223//553 224//554 226//556 225//555
-f 225//555 226//556 228//558 227//557
-f 227//557 228//558 230//560 229//559
-f 534//798 229//559 230//560 232//562 231//561
-g hull
-s 30
-f 224//906 151//901 167//902 233//912
-f 233//912 167//902 180//903 234//913
-f 180//903 194//904 234//913
-f 194//904 208//905 235//914 234//913
-f 234//913 235//914 236//915 233//912
-f 233//912 236//915 226//907 224//906
-f 228//908 226//907 236//915 237//916
-f 237//916 236//915 235//914 238//917
-f 238//917 235//914 208//905 239//918
-f 230//909 228//908 237//916 240//919
-f 237//916 241//920 240//919
-f 242//921 241//920 237//916 238//917
-f 238//917 243//922 242//921
-f 244//923 243//922 238//917 239//918
-g keel
-s 22
-f 229//1020 245//1021 246//1022 227//1019
-f 225//1018 247//1023 248//1024 223//1017
-f 223//1017 248//1024 249//1025 222//1016
-f 222//1016 249//1025 108//1014 109//1015
-f 227//1019 246//1022 247//1023 225//1018
-g hull
-s 23
-f 193//523 164//494 165//495 250//565
-f 250//565 165//495 166//496 251//566
-f 166//496 141//476 251//566
-f 251//566 252//567 250//565
-f 250//565 252//567 207//537 193//523
-f 221//551 207//537 252//567 253//568
-f 221//551 253//568 255//570 254//569
-s 24
-f 141//1035 256//1043 257//1044 251//1039
-f 251//1039 257//1044 258//1045 252//1040
-f 252//1040 258//1045 259//1046 253//1041
-f 141//1035 143//1036 256//1043
-f 143//1036 145//1037 256//1043
-s 23
-f 254//569 255//570 261//576 260//575
-f 260//575 261//576 263//578 262//577
-s 33
-f 262//1051 263//1052 265//1054 264//1053
-s 23
-f 536//800 265//580 259//574 537//801
-s 24
-f 263//1048 261//1047 255//1042 253//1041 259//1046 265//1049
-s 23
-f 537//801 259//574 258//573 538//802
-f 258//573 257//572 538//802
-f 271//586 270//585 266//581 272//587
-f 272//587 266//581 267//582 273//588
-f 273//588 267//582 268//583 274//589
-f 274//589 268//583 269//584 275//590
-f 276//591 147//477 149//479
-s 24
-f 145//1037 147//1038 276//1050 256//1043
-s 23
-f 256//571 276//591 269//584 257//572
-f 269//584 276//591 149//479 275//590
-g deck
-s off
-f 278//18 277//18 279//18
-s 23
-f 279//594 280//595 282//597 281//596
-f 284//599 283//598 286//601 285//600
-s off
-f 285//19 287//19 284//19
-s 23
-f 287//602 289//604 288//603
-f 290//605 289//604 287//602 285//600
-f 291//606 290//605 285//600 286//601 293//608 292//607
-g hull
-f 275//590 279//594 281//596 274//589
-f 288//603 273//588 274//589 281//596
-f 254//569 260//575 295//610 294//609
-f 294//609 295//610 297//612 296//611
-f 296//611 297//612 299//614 298//613
-f 301//616 300//615 303//618 302//617
-f 302//617 303//618 305//620 304//619
-f 304//619 305//620 307//622 306//621
-f 307//622 308//623 306//621
-f 306//621 308//623 310//625 309//624
-f 310//625 311//626 309//624
-f 309//624 311//626 313//628 312//627
-f 313//628 314//629 312//627
-f 312//627 314//629 316//631 315//630
-f 315//630 316//631 318//633 317//632
-f 317//632 318//633 320//635 319//634
-f 301//616 298//613 299//614 300//615
-f 260//575 262//577 321//636 295//610
-f 322//637 321//636 262//577 264//579
-f 297//612 295//610 321//636 323//638
-f 323//638 321//636 322//637 324//639
-f 324//639 322//637 326//641 325//640
-f 324//639 328//643 329//644 323//638
-f 323//638 329//644 299//614 297//612
-f 300//615 299//614 329//644 330//645
-f 330//645 329//644 328//643 331//646
-f 328//643 332//647 331//646
-f 328//643 324//639 325//640 332//647
-f 325//640 327//642 332//647
-g rig
-s off
-f 332//20 327//20 334//20 333//20
-f 334//21 327//21 335//21 336//21
-s 23
-f 337//652 333//648 334//649
-f 337//652 338//653 342//657 330//645
-s off
-f 342//22 338//22 343//22
-g hull
-s 23
-f 342//657 343//658 345//660 344//659
-g rig
-s off
-f 339//23 345//23 343//23 338//23
-f 339//24 344//24 345//24
-s 23
-f 346//661 344//659 339//654 340//655
-s off
-f 340//25 347//25 346//25
-f 348//26 347//26 340//26 341//26
-g hull
-s 23
-f 348//663 346//661 347//662
-f 346//661 348//663 350//665 349//664
-g rig
-s off
-f 330//27 331//27 337//27
-f 332//28 333//28 337//28 331//28
-f 336//29 335//29 348//29 341//29
-g hull
-s 23
-f 330//645 342//657 344//659 346//661 303//618 300//615
-f 349//664 305//620 303//618 346//661
-f 351//666 352//667 353//668 350//665
-f 350//665 353//668 354//669 349//664
-f 349//664 354//669 307//622 305//620
-f 307//622 354//669 355//670
-g rig
-f 307//622 356//671 357//672 308//623
-f 310//625 358//673 359//674 311//626
-f 313//628 360//675 361//676 314//629
-g hull
-f 362//677 310//625 308//623 363//678
-f 313//628 311//626 365//680 364//679
-f 314//629 367//682 366//681
-g rig
-f 360//675 368//683 371//686 361//676
-g hull
-f 353//668 352//667 373//688 372//687
-f 373//688 374//689 372//687
-f 374//689 375//690 372//687
-f 374//689 376//691 375//690
-g rig
-s off
-f 355//30 356//30 307//30
-f 353//31 369//31 370//31 354//31
-f 308//32 357//32 363//32
-f 358//33 362//33 363//33 357//33
-f 310//34 362//34 358//34
-f 360//35 313//35 364//35
-f 539//36 540//36 369//36 353//36 372//36 368//36
-f 367//37 314//37 361//37
-f 371//38 366//38 367//38 361//38
-f 368//39 372//39 366//39 371//39
-f 311//40 359//40 365//40
-f 360//41 364//41 365//41 359//41
-g hull
-s 23
-f 314//629 366//681 377//692 316//631
-f 378//693 377//692 366//681 372//687
-f 377//692 378//693 379//694
-f 377//692 379//694 381//696 380//695
-f 381//696 382//697 380//695
-f 380//695 382//697 384//699 383//698
-f 380//695 383//698 320//635 318//633
-f 380//695 318//633 316//631 377//692
-g rig
-f 379//694 378//693 386//701 385//700
-f 386//701 392//707 391//706
-f 387//702 388//703 382//697 381//696
-g hull
-f 378//693 394//709 393//708
-f 375//690 376//691 395//710 394//709
-f 397//712 396//711 381//696 379//694
-f 395//710 376//691 399//714 398//713
-f 399//714 400//715 398//713
-g rig
-s off
-f 386//42 378//42 393//42
-f 381//43 396//43 387//43
-f 385//44 397//44 379//44
-f 397//45 385//45 387//45 396//45
-f 394//46 392//46 386//46 393//46
-f 395//47 391//47 392//47 394//47
-f 391//48 395//48 398//48 390//48
-f 401//49 389//49 390//49 398//49
-f 388//50 389//50 401//50 402//50
-f 388//51 402//51 382//51
-g hull
-s 23
-f 394//709 378//693 372//687 375//690
-f 402//717 401//716 384//699 382//697
-f 398//713 403//718 384//699 401//716
-f 403//718 398//713 400//715 404//719
-f 403//718 404//719 406//721 405//720
-f 406//721 404//719 408//723 407//722
-s 45
-f 407//1056 408//1057 410//1059 409//1058
-f 411//1060 412//1061 409//1058
-s 23
-f 407//722 412//727 413//728 406//721
-f 406//721 413//728 414//729 405//720
-s 45
-f 411//1060 409//1058 416//1063 415//1062
-f 415//1062 416//1063 418//1065 417//1064
-f 417//1064 418//1065 420//1067 419//1066
-f 419//1066 420//1067 422//1069 421//1068
-f 421//1068 422//1069 424//1071 423//1070
-s 23
-f 421//733 423//734 425//735 419//732
-f 419//732 425//735 427//737 426//736
-f 426//736 427//737 429//739 428//738
-f 431//741 430//740 433//743 432//742
-f 431//741 432//742 435//745 434//744
-f 434//744 435//745 414//729 413//728
-f 415//730 434//744 413//728 412//727 411//726
-f 428//738 415//730 417//731 426//736
-f 417//731 419//732 426//736
-f 384//699 436//746 437//747 383//698
-f 383//698 437//747 438//748 320//635
-f 438//748 439//749 320//635
-f 428//738 429//739 430//740 431//741
-f 431//741 434//744 415//730 428//738
-f 535//799 244//564 239//563 439//749
-f 319//634 320//635 439//749 239//563
-g aft
-f 440//750 403//718 405//720 441//751
-f 441//751 405//720 414//729 442//752
-f 442//752 414//729 435//745 443//753
-f 443//753 435//745 432//742 444//754
-f 447//756 446//755 448//757 444//754
-f 444//754 448//757 449//758 443//753
-f 443//753 449//758 450//759 442//752
-f 442//752 450//759 451//760 441//751
-f 441//751 451//760 452//761 440//750
-f 440//750 452//761 454//763 453//762
-f 440//750 453//762 384//699 403//718
-s 51
-f 384//1094 453//1099 455//1101 436//1095
-f 456//1102 455//1101 453//1099 454//1100
-g windows
-f 456//1102 454//1100 452//1098 451//1097
-f 456//1102 451//1097 450//1096 457//1103
-s 30
-f 457//929 450//928 449//927 458//930
-f 458//930 449//927 448//926 459//931
-f 459//931 448//926 446//925 460//932
-g aft
-f 459//931 460//932 462//934 461//933
-f 461//933 463//935 459//931
-f 459//931 463//935 464//936 458//930
-f 464//936 465//937 458//930
-s 51
-f 466//1104 455//1101 456//1102 457//1103
-s 49
-f 436//1110 455//1114 467//1115 437//1111
-s 51
-f 467//1105 455//1101 466//1104 468//1106
-f 469//1107 467//1105 468//1106 471//1109 470//1108
-s 49
-f 437//1111 467//1115 469//1116 438//1112
-f 469//1116 470//1117 439//1113 438//1112
-g hull
-s 23
-f 244//564 535//799 485//764
-s 30
-f 473//943 472//942 475//945 474//944
-g aft
-f 465//937 464//936 477//947 476//946
-f 476//946 477//947 242//921 243//922
-g hull
-f 479//949 478//948 481//951 480//950
-g aft
-f 463//935 461//933 483//953 482//952
-f 466//938 484//954 485//955 468//939
-f 457//929 484//954 466//938
-f 457//929 458//930 465//937 484//954
-f 482//952 483//953 240//919 241//920
-s off
-f 464//52 463//52 478//52 479//52
-s 56
-f 463//1119 482//1122 481//1121 478//1120
-f 241//1118 481//1121 482//1122
-g hull
-s 30
-f 481//951 241//920 242//921 480//950
-g aft
-s 55
-f 477//1125 464//1124 479//1126 480//1127
-s 54
-f 476//1132 243//1128 475//1131
-f 472//1130 465//1129 476//1132 475//1131
-s 30
-f 484//954 465//937 472//942 473//943
-g hull
-f 475//945 243//922 244//923 474//944
-s 53
-f 244//1133 485//1137 474//1135
-g aft
-f 485//1137 484//1136 473//1134 474//1135
-g keel
-s 22
-f 486//1026 245//1021 229//1020 534//1027
-g aft
-s 31
-f 486//1141 534//1143 231//1138 461//1139 462//1140
-f 487//1142 461//1139 231//1138
-g hull
-s 30
-f 231//910 232//911 488//957 487//956
-g aft
-s 57
-f 483//1150 488//1152 240//1148
-g hull
-s 30
-f 488//957 232//911 230//909 240//919
-s 45
-f 422//1069 489//1073 424//1071
-f 489//1073 422//1069 420//1067 490//1074
-f 490//1074 420//1067 418//1065 491//1075
-f 491//1075 418//1065 416//1063 492//1076
-f 492//1076 416//1063 409//1058 445//1072
-f 445//1072 409//1058 494//1078 493//1077
-g deck
-s 58
-f 493//1153 494//1154 495//1155 497//1157 496//1156
-s off
-f 497//53 495//53 499//53 498//53
-f 498//54 500//54 497//54
-s 59
-f 497//1162 500//1163 501//1164 496//1161
-s 60
-f 499//1168 502//1171 503//1172 498//1167
-f 500//1169 498//1167 503//1172 504//1173 501//1170
-g hull
-s 44
-f 408//1183 404//1182 505//1185 410//1184
-f 505//1185 404//1182 400//1181 506//1186
-f 506//1186 400//1181 399//1180 507//1187
-f 507//1187 399//1180 376//1179 508//1188
-s 23
-f 508//772 376//691 374//689 509//773
-f 509//773 374//689 373//688 510//774
-f 511//775 352//667 351//666 512//776
-f 512//776 351//666 514//778 513//777
-f 513//777 514//778 516//780 515//779
-f 270//585 271//586 518//782 517//781 520//784 519//783
-g deck
-s off
-f 502//55 521//55 522//55 503//55
-f 522//56 523//56 503//56
-s 23
-f 525//789 524//788 523//787 522//786
-f 525//789 522//786 521//785 527//791 526//790
-f 528//792 526//790 527//791 530//794 529//793
-f 529//793 530//794 532//796 531//795
-s off
-f 292//57 529//57 531//57
-s 23
-f 528//792 529//793 292//607 293//608
-f 287//602 288//603 533//797 284//599
-f 283//598 284//599 533//797 281//596 282//597
-g hull
-f 352//667 511//775 510//774 373//688
-f 495//766 410//725 505//769
-f 505//769 506//770 499//767 495//766
-f 507//771 499//767 506//770
-f 508//772 502//768 499//767 507//771
-f 502//768 508//772 509//773 521//785
-f 510//774 521//785 509//773
-f 410//725 495//766 494//765 409//724
-g deck
-s 61
-f 523//1191 524//1192 504//1190 503//1189
-g hull
-s 23
-f 527//791 511//775 512//776 530//794
-f 521//785 510//774 511//775 527//791
-f 512//776 513//777 532//796 530//794
-f 517//781 518//782 515//779 516//780
-f 532//796 513//777 515//779 291//606
-g deck
-s off
-f 292//58 531//58 532//58 291//58
-g hull
-s 23
-f 518//782 291//606 515//779
-f 290//605 291//606 518//782 271//586
-f 167//497 151//481 152//482 168//498
-f 168//498 152//482 153//483 169//499
-f 169//499 153//483 154//484 170//500
-f 170//500 154//484 155//485 171//501
-f 171//501 155//485 156//486 172//502
-f 172//502 156//486 157//487 173//503
-f 173//503 157//487 158//488 174//504
-f 174//504 158//488 159//489 175//505
-f 175//505 159//489 160//490 176//506
-f 176//506 160//490 161//491 177//507
-f 177//507 161//491 162//492 178//508
-f 178//508 162//492 163//493 179//509
-f 163//493 164//494 179//509
-f 180//510 167//497 168//498 181//511
-f 181//511 168//498 169//499 182//512
-f 182//512 169//499 170//500 183//513
-f 183//513 170//500 171//501 184//514
-f 184//514 171//501 172//502 185//515
-f 185//515 172//502 173//503 186//516
-f 186//516 173//503 174//504 187//517
-f 187//517 174//504 175//505 188//518
-f 188//518 175//505 176//506 189//519
-f 189//519 176//506 177//507 190//520
-f 190//520 177//507 178//508 191//521
-f 191//521 178//508 179//509 192//522
-f 192//522 179//509 164//494 193//523
-f 194//524 180//510 181//511 195//525
-f 195//525 181//511 182//512 196//526
-f 196//526 182//512 183//513 197//527
-f 197//527 183//513 184//514 198//528
-f 198//528 184//514 185//515 199//529
-f 199//529 185//515 186//516 200//530
-f 200//530 186//516 187//517 201//531
-f 201//531 187//517 188//518 202//532
-f 202//532 188//518 189//519 203//533
-f 203//533 189//519 190//520 204//534
-f 204//534 190//520 191//521 205//535
-f 205//535 191//521 192//522 206//536
-f 206//536 192//522 193//523 207//537
-f 208//538 194//524 195//525 209//539
-f 209//539 195//525 196//526 210//540
-f 210//540 196//526 197//527 211//541
-f 211//541 197//527 198//528 212//542
-f 212//542 198//528 199//529 213//543
-f 213//543 199//529 200//530 214//544
-f 214//544 200//530 201//531 215//545
-f 215//545 201//531 202//532 216//546
-f 216//546 202//532 203//533 217//547
-f 217//547 203//533 204//534 218//548
-f 218//548 204//534 205//535 219//549
-f 219//549 205//535 206//536 220//550
-f 220//550 206//536 207//537 221//551
-f 239//563 208//538 209//539 319//634
-f 319//634 209//539 210//540 317//632
-f 317//632 210//540 211//541 315//630
-f 315//630 211//541 212//542 312//627
-f 312//627 212//542 213//543 309//624
-f 309//624 213//543 214//544 306//621
-f 306//621 214//544 215//545 304//619
-f 304//619 215//545 216//546 302//617
-f 302//617 216//546 217//547 301//616
-f 301//616 217//547 218//548 298//613
-f 298//613 218//548 219//549 296//611
-f 296//611 219//549 220//550 294//609
-f 294//609 220//550 221//551 254//569
-f 348//663 335//650 516//780 514//778
-f 519//783 520//784 327//642 325//640
-f 326//641 266//581 270//585
-f 517//781 335//650 327//642 520//784
-f 266//581 326//641 322//637 264//579
-f 279//594 275//590 149//479 278//593
-f 277//592 278//593 149//479 150//480
-g aft
-f 432//742 433//743 447//756 444//754
-g hull
-s 33
-f 265//1054 536//1055 264//1053
-s 23
-f 514//778 351//666 350//665 348//663
-g keel
-s 21
-f 123//406 124//407 125//408 126//409
-g aft
-s 55
-f 477//1125 480//1127 242//1123
-g hull
-s 23
-f 519//783 325//640 326//641 270//585
-f 289//604 272//587 273//588 288//603
-f 271//586 272//587 289//604 290//605
-g deck
-f 288//603 281//596 533//797
-g hull
-f 517//781 516//780 335//650
-g rig
-f 370//685 369//684 357//672 356//671
-f 357//672 369//684 540//804 358//673
-s off
-f 356//59 355//59 354//59 370//59
-g aft
-s 57
-f 487//1151 488//1152 483//1150 461//1149
-s 30
-f 439//924 470//940 471//941 535//958
-f 471//941 468//939 485//955 535//958
-g hull
-s 23
-f 267//582 266//581 536//800 537//801
-f 268//583 267//582 537//801 538//802
-f 269//584 268//583 538//802 257//572
-f 266//581 264//579 536//800
-s 45
-f 407//1056 409//1058 412//1061
-g rig
-s 23
-f 368//683 360//675 359//674 539//803
-f 539//803 359//674 358//673 540//804
-f 341//656 340//655 336//651
-f 336//651 340//655 339//654 338//653 337//652 334//649
-f 390//705 388//703 387//702 385//700 386//701 391//706
-f 389//704 388//703 390//705
-g mast1
-s 63
-f 555//1197 556//1198 542//1196 541//1195
-s 64
-f 556//1213 557//1214 543//1212 542//1211
-s 65
-f 557//1229 558//1230 544//1228 543//1227
-s 66
-f 558//1245 559//1246 545//1244 544//1243
-s 67
-f 559//1263 560//1264 546//1260 545//1259
-f 560//1264 561//1265 547//1261 546//1260
-f 561//1265 562//1266 548//1262 547//1261
-s 68
-f 562//1301 563//1302 549//1300 548//1299
-s 69
-f 563//1317 564//1318 550//1316 549//1315
-s 70
-f 564//1333 565//1334 551//1332 550//1331
-s 71
-f 565//1349 566//1350 552//1348 551//1347
-s 72
-f 566//1365 567//1366 553//1364 552//1363
-s 73
-f 567//1381 568//1382 554//1380 553//1379
-s 63
-f 587//1203 588//1204 574//1202 573//1201
-s 64
-f 588//1217 589//1218 575//1216 574//1215
-s 65
-f 589//1233 590//1234 576//1232 575//1231
-s 66
-f 590//1249 591//1250 577//1248 576//1247
-s 67
-f 591//1271 592//1272 578//1268 577//1267
-f 592//1272 593//1273 579//1269 578//1268
-f 593//1273 594//1274 580//1270 579//1269
-s 68
-f 594//1305 595//1306 581//1304 580//1303
-s 69
-f 595//1321 596//1322 582//1320 581//1319
-s 70
-f 596//1337 597//1338 583//1336 582//1335
-s 71
-f 597//1353 598//1354 584//1352 583//1351
-s 72
-f 598//1369 599//1370 585//1368 584//1367
-s 73
-f 599//1387 600//1388 586//1386 585//1385
-s 63
-f 601//1205 602//1206 588//1204 587//1203
-s 64
-f 602//1219 603//1220 589//1218 588//1217
-s 65
-f 603//1235 604//1236 590//1234 589//1233
-s 66
-f 604//1251 605//1252 591//1250 590//1249
-s 67
-f 605//1275 606//1276 592//1272 591//1271
-f 606//1276 630//1284 607//1277 593//1273 592//1272
-f 607//1277 608//1278 594//1274 593//1273
-s 68
-f 608//1307 609//1308 595//1306 594//1305
-s 69
-f 609//1323 610//1324 596//1322 595//1321
-s 70
-f 610//1339 611//1340 597//1338 596//1337
-s 71
-f 611//1355 612//1356 598//1354 597//1353
-s 72
-f 612//1371 613//1372 599//1370 598//1369
-s 73
-f 613//1389 614//1390 600//1388 599//1387
-s 63
-f 615//1207 616//1208 602//1206 601//1205
-s 64
-f 616//1221 617//1222 603//1220 602//1219
-s 65
-f 617//1237 618//1238 604//1236 603//1235
-s 66
-f 618//1253 619//1254 605//1252 604//1251
-s 67
-f 619//1279 620//1280 632//1286 606//1276 605//1275
-f 629//1283 621//1281 607//1277 630//1284 631//1285
-f 621//1281 622//1282 608//1278 607//1277
-s 68
-f 622//1309 623//1310 609//1308 608//1307
-s 69
-f 623//1325 624//1326 610//1324 609//1323
-s 70
-f 624//1341 625//1342 611//1340 610//1339
-s 71
-f 625//1357 626//1358 612//1356 611//1355
-s 72
-f 626//1373 627//1374 613//1372 612//1371
-s 73
-f 627//1391 628//1392 614//1390 613//1389
-s 63
-f 541//1195 542//1196 616//1208 615//1207
-s 64
-f 542//1211 543//1212 617//1222 616//1221
-s 65
-f 543//1227 544//1228 618//1238 617//1237
-s 66
-f 544//1243 545//1244 619//1254 618//1253
-s 67
-f 545//1259 546//1260 620//1280 619//1279
-f 546//1260 547//1261 621//1281 629//1283 620//1280
-f 547//1261 548//1262 622//1282 621//1281
-s 68
-f 548//1299 549//1300 623//1310 622//1309
-s 69
-f 549//1315 550//1316 624//1326 623//1325
-s 70
-f 550//1331 551//1332 625//1342 624//1341
-s 71
-f 551//1347 552//1348 626//1358 625//1357
-s 72
-f 552//1363 553//1364 627//1374 626//1373
-s 73
-f 553//1379 554//1380 628//1392 627//1391
-s off
-f 601//60 587//60 573//60 571//60 569//60 555//60 541//60 615//60
-f 570//61 572//61 586//61 600//61 614//61 628//61 554//61 568//61
-f 638//62 637//62 640//62 639//62
-f 634//63 633//63 636//63 635//63
-f 633//64 634//64 632//64 620//64
-f 634//65 635//65 631//65 632//65
-f 635//66 636//66 629//66 631//66
-f 636//67 633//67 620//67 629//67
-f 637//68 638//68 630//68 606//68
-f 638//69 639//69 631//69 630//69
-f 639//70 640//70 632//70 631//70
-f 640//71 637//71 606//71 632//71
-g mast3
-s 83
-f 655//1397 656//1398 642//1396 641//1395
-s 84
-f 656//1413 657//1414 643//1412 642//1411
-s 85
-f 657//1429 658//1430 644//1428 643//1427
-s 86
-f 658//1445 659//1446 645//1444 644//1443
-s 87
-f 659//1463 660//1464 646//1460 645//1459
-f 660//1464 661//1465 647//1461 646//1460
-f 661//1465 662//1466 648//1462 647//1461
-s 88
-f 662//1501 663//1502 649//1500 648//1499
-s 89
-f 663//1517 664//1518 650//1516 649//1515
-s 90
-f 664//1533 665//1534 651//1532 650//1531
-s 91
-f 665//1549 666//1550 652//1548 651//1547
-s 92
-f 666//1565 667//1566 653//1564 652//1563
-s 93
-f 667//1581 668//1582 654//1580 653//1579
-s 83
-f 687//1403 688//1404 674//1402 673//1401
-s 84
-f 688//1417 689//1418 675//1416 674//1415
-s 85
-f 689//1433 690//1434 676//1432 675//1431
-s 86
-f 690//1449 691//1450 677//1448 676//1447
-s 87
-f 691//1471 692//1472 678//1468 677//1467
-f 692//1472 693//1473 679//1469 678//1468
-f 693//1473 694//1474 680//1470 679//1469
-s 88
-f 694//1505 695//1506 681//1504 680//1503
-s 89
-f 695//1521 696//1522 682//1520 681//1519
-s 90
-f 696//1537 697//1538 683//1536 682//1535
-s 91
-f 697//1553 698//1554 684//1552 683//1551
-s 92
-f 698//1569 699//1570 685//1568 684//1567
-s 93
-f 699//1587 700//1588 686//1586 685//1585
-s 83
-f 701//1405 702//1406 688//1404 687//1403
-s 84
-f 702//1419 703//1420 689//1418 688//1417
-s 85
-f 703//1435 704//1436 690//1434 689//1433
-s 86
-f 704//1451 705//1452 691//1450 690//1449
-s 87
-f 705//1475 706//1476 692//1472 691//1471
-f 706//1476 730//1484 707//1477 693//1473 692//1472
-f 707//1477 708//1478 694//1474 693//1473
-s 88
-f 708//1507 709//1508 695//1506 694//1505
-s 89
-f 709//1523 710//1524 696//1522 695//1521
-s 90
-f 710//1539 711//1540 697//1538 696//1537
-s 91
-f 711//1555 712//1556 698//1554 697//1553
-s 92
-f 712//1571 713//1572 699//1570 698//1569
-s 93
-f 713//1589 714//1590 700//1588 699//1587
-s 83
-f 715//1407 716//1408 702//1406 701//1405
-s 84
-f 716//1421 717//1422 703//1420 702//1419
-s 85
-f 717//1437 718//1438 704//1436 703//1435
-s 86
-f 718//1453 719//1454 705//1452 704//1451
-s 87
-f 719//1479 720//1480 732//1486 706//1476 705//1475
-f 729//1483 721//1481 707//1477 730//1484 731//1485
-f 721//1481 722//1482 708//1478 707//1477
-s 88
-f 722//1509 723//1510 709//1508 708//1507
-s 89
-f 723//1525 724//1526 710//1524 709//1523
-s 90
-f 724//1541 725//1542 711//1540 710//1539
-s 91
-f 725//1557 726//1558 712//1556 711//1555
-s 92
-f 726//1573 727//1574 713//1572 712//1571
-s 93
-f 727//1591 728//1592 714//1590 713//1589
-s 83
-f 641//1395 642//1396 716//1408 715//1407
-s 84
-f 642//1411 643//1412 717//1422 716//1421
-s 85
-f 643//1427 644//1428 718//1438 717//1437
-s 86
-f 644//1443 645//1444 719//1454 718//1453
-s 87
-f 645//1459 646//1460 720//1480 719//1479
-f 646//1460 647//1461 721//1481 729//1483 720//1480
-f 647//1461 648//1462 722//1482 721//1481
-s 88
-f 648//1499 649//1500 723//1510 722//1509
-s 89
-f 649//1515 650//1516 724//1526 723//1525
-s 90
-f 650//1531 651//1532 725//1542 724//1541
-s 91
-f 651//1547 652//1548 726//1558 725//1557
-s 92
-f 652//1563 653//1564 727//1574 726//1573
-s 93
-f 653//1579 654//1580 728//1592 727//1591
-s off
-f 701//72 687//72 673//72 671//72 669//72 655//72 641//72 715//72
-f 670//73 672//73 686//73 700//73 714//73 728//73 654//73 668//73
-f 738//74 737//74 740//74 739//74
-f 734//75 733//75 736//75 735//75
-f 733//76 734//76 732//76 720//76
-f 734//77 735//77 731//77 732//77
-f 735//78 736//78 729//78 731//78
-f 736//79 733//79 720//79 729//79
-f 737//80 738//80 730//80 706//80
-f 738//81 739//81 731//81 730//81
-f 739//82 740//82 732//82 731//82
-f 740//83 737//83 706//83 732//83
-g lamp
-s 104
-f 752//1597 753//1598 743//1596 742//1595
-s 105
-f 753//1613 754//1614 744//1612 743//1611
-s 106
-f 754//1630 755//1631 745//1628 744//1627
-f 755//1631 756//1632 746//1629 745//1628
-s 107
-f 756//1653 757//1654 747//1652 746//1651
-s 108
-f 757//1669 758//1670 748//1668 747//1667
-s 109
-f 758//1685 759//1686 749//1684 748//1683
-s 110
-f 759//1701 760//1702 750//1700 749//1699
-s 103
-f 760//1718 761//1719 751//1717 750//1716
-f 761//1719 741//1715 751//1717
-s 104
-f 762//1599 763//1600 753//1598 752//1597
-s 105
-f 763//1615 764//1616 754//1614 753//1613
-s 106
-f 764//1633 765//1634 755//1631 754//1630
-f 765//1634 766//1635 756//1632 755//1631
-s 107
-f 766//1655 767//1656 757//1654 756//1653
-s 108
-f 767//1671 768//1672 758//1670 757//1669
-s 109
-f 768//1687 769//1688 759//1686 758//1685
-s 110
-f 769//1703 770//1704 760//1702 759//1701
-s 103
-f 770//1720 771//1721 761//1719 760//1718
-f 771//1721 741//1715 761//1719
-s 104
-f 772//1601 773//1602 763//1600 762//1599
-s 105
-f 773//1617 774//1618 764//1616 763//1615
-s 106
-f 774//1636 775//1637 765//1634 764//1633
-f 775//1637 776//1638 766//1635 765//1634
-s 107
-f 776//1657 777//1658 767//1656 766//1655
-s 108
-f 777//1673 778//1674 768//1672 767//1671
-s 109
-f 778//1689 779//1690 769//1688 768//1687
-s 110
-f 779//1705 780//1706 770//1704 769//1703
-s 103
-f 780//1722 781//1723 771//1721 770//1720
-f 781//1723 741//1715 771//1721
-s 104
-f 782//1603 783//1604 773//1602 772//1601
-s 105
-f 783//1619 784//1620 774//1618 773//1617
-s 106
-f 784//1639 785//1640 775//1637 774//1636
-f 785//1640 786//1641 776//1638 775//1637
-s 107
-f 786//1659 787//1660 777//1658 776//1657
-s 108
-f 787//1675 788//1676 778//1674 777//1673
-s 109
-f 788//1691 789//1692 779//1690 778//1689
-s 110
-f 789//1707 790//1708 780//1706 779//1705
-s 103
-f 790//1724 791//1725 781//1723 780//1722
-f 791//1725 741//1715 781//1723
-s 104
-f 792//1605 793//1606 783//1604 782//1603
-s 105
-f 793//1621 794//1622 784//1620 783//1619
-s 106
-f 794//1642 795//1643 785//1640 784//1639
-f 795//1643 796//1644 786//1641 785//1640
-s 107
-f 796//1661 797//1662 787//1660 786//1659
-s 108
-f 797//1677 798//1678 788//1676 787//1675
-s 109
-f 798//1693 799//1694 789//1692 788//1691
-s 110
-f 799//1709 800//1710 790//1708 789//1707
-s 103
-f 800//1726 801//1727 791//1725 790//1724
-f 801//1727 741//1715 791//1725
-s 104
-f 802//1607 803//1608 793//1606 792//1605
-s 105
-f 803//1623 804//1624 794//1622 793//1621
-s 106
-f 804//1645 805//1646 795//1643 794//1642
-f 805//1646 806//1647 796//1644 795//1643
-s 107
-f 806//1663 807//1664 797//1662 796//1661
-s 108
-f 807//1679 808//1680 798//1678 797//1677
-s 109
-f 808//1695 809//1696 799//1694 798//1693
-s 110
-f 809//1711 810//1712 800//1710 799//1709
-s 103
-f 810//1728 811//1729 801//1727 800//1726
-f 811//1729 741//1715 801//1727
-s 104
-f 812//1609 813//1610 803//1608 802//1607
-s 105
-f 813//1625 814//1626 804//1624 803//1623
-s 106
-f 814//1648 815//1649 805//1646 804//1645
-f 815//1649 816//1650 806//1647 805//1646
-s 107
-f 816//1665 817//1666 807//1664 806//1663
-s 108
-f 817//1681 818//1682 808//1680 807//1679
-s 109
-f 818//1697 819//1698 809//1696 808//1695
-s 110
-f 819//1713 820//1714 810//1712 809//1711
-s 103
-f 820//1730 821//1731 811//1729 810//1728
-f 821//1731 741//1715 811//1729
-s 104
-f 742//1595 743//1596 813//1610 812//1609
-s 105
-f 743//1611 744//1612 814//1626 813//1625
-s 106
-f 744//1627 745//1628 815//1649 814//1648
-f 745//1628 746//1629 816//1650 815//1649
-s 107
-f 746//1651 747//1652 817//1666 816//1665
-s 108
-f 747//1667 748//1668 818//1682 817//1681
-s 109
-f 748//1683 749//1684 819//1698 818//1697
-s 110
-f 749//1699 750//1700 820//1714 819//1713
-s 103
-f 750//1716 751//1717 821//1731 820//1730
-f 751//1717 741//1715 821//1731
-s off
-f 802//84 792//84 782//84 772//84 762//84 752//84 742//84 812//84
-g foremast
-s 112
-f 825//1735 824//1734 822//1732 823//1733
-f 827//1737 826//1736 824//1734 825//1735
-f 829//1739 828//1738 826//1736 827//1737
-f 831//1741 830//1740 828//1738 829//1739
-f 833//1743 832//1742 830//1740 831//1741
-f 835//1745 834//1744 832//1742 833//1743
-f 837//1747 836//1746 834//1744 835//1745
-f 823//1733 822//1732 836//1746 837//1747
-s off
-f 824//85 826//85 828//85 830//85 832//85 834//85 836//85 822//85
-f 837//86 835//86 833//86 831//86 829//86 827//86 825//86 823//86
-g keel
-s 21
-f 839//429 838//428 107//390 108//391
-f 840//430 112//395 107//390 838//428
-f 841//431 114//397 112//395 840//430
-f 842//432 116//399 114//397 841//431
-f 843//433 118//401 116//399 842//432
-f 844//434 120//403 118//401 843//433
-f 845//435 122//405 120//403 844//434
-f 846//436 124//407 122//405 845//435
-f 128//411 125//408 848//438 847//437
-f 849//439 130//413 128//411 847//437
-f 850//440 132//415 130//413 849//439
-f 851//441 134//417 132//415 850//440
-f 852//442 136//419 134//417 851//441
-f 853//443 138//421 136//419 852//442
-f 854//444 140//423 138//421 853//443
-f 855//445 142//425 140//423 854//444
-g hull
-f 856//446 144//427 142//425 855//445
-s 25
-f 857//452 146//450 144//448 856//451
-s 26
-f 858//458 148//456 146//454 857//457
-s 23
-f 859//806 150//480 148//478 858//805
-g keel
-s 113
-f 861//1767 840//1750 838//1748 860//1766
-f 862//1768 841//1751 840//1750 861//1767
-f 863//1769 842//1752 841//1751 862//1768
-f 864//1770 843//1753 842//1752 863//1769
-f 865//1771 844//1754 843//1753 864//1770
-f 866//1772 845//1755 844//1754 865//1771
-f 867//1773 846//1756 845//1755 866//1772
-f 868//1774 848//1758 846//1756 867//1773
-f 869//1775 847//1757 848//1758 868//1774
-f 870//1776 849//1759 847//1757 869//1775
-f 871//1777 850//1760 849//1759 870//1776
-f 872//1778 851//1761 850//1760 871//1777
-f 873//1779 852//1762 851//1761 872//1778
-f 874//1780 853//1763 852//1762 873//1779
-f 875//1781 854//1764 853//1763 874//1780
-f 875//1781 855//1765 854//1764
-f 838//1748 839//1749 876//1782 860//1766
-f 878//1784 877//1783 860//1766 876//1782
-f 880//1786 879//1785 877//1783 878//1784
-f 882//1788 881//1787 879//1785 880//1786
-f 884//1790 883//1789 881//1787 882//1788
-f 887//1793 886//1792 883//1789 884//1790 885//1791
-g hull
-s 30
-f 889//967 888//966 860//959 877//960
-f 891//969 890//968 888//966 889//967
-f 891//969 892//970 890//968
-f 891//969 894//972 893//971 892//970
-f 889//967 895//973 894//972 891//969
-f 877//960 879//961 895//973 889//967
-f 896//974 895//973 879//961 881//962
-f 897//975 894//972 895//973 896//974
-f 898//976 893//971 894//972 897//975
-f 899//977 896//974 881//962 883//963
-f 899//977 900//978 896//974
-f 897//975 896//974 900//978 901//979
-f 901//979 902//980 897//975
-f 898//976 897//975 902//980 903//981
-g keel
-s 22
-f 882//1032 246//1022 245//1021 884//1033
-f 878//1030 248//1024 247//1023 880//1031
-f 876//1029 249//1025 248//1024 878//1030
-f 839//1028 108//1014 249//1025 876//1029
-f 880//1031 247//1023 246//1022 882//1032
-g hull
-s 113
-f 905//1801 874//1780 873//1779 904//1800
-f 906//1802 875//1781 874//1780 905//1801
-f 906//1802 855//1765 875//1781
-f 905//1801 907//1803 906//1802
-f 904//1800 908//1804 907//1803 905//1801
-f 910//1806 907//1803 908//1804 909//1805
-f 912//1808 911//1807 910//1806 909//1805
-s 115
-f 906//2021 914//2026 913//2025 855//2017
-f 907//2022 915//2027 914//2026 906//2021
-f 910//2023 916//2028 915//2027 907//2022
-f 913//2025 856//2018 855//2017
-f 913//2025 857//2019 856//2018
-s 113
-f 918//1814 917//1813 911//1807 912//1808
-f 920//1816 919//1815 917//1813 918//1814
-s 120
-f 922//2036 921//2035 919//2033 920//2034
-s 113
-f 924//1820 916//1812 921//1817 923//1819
-s 115
-f 921//2031 916//2028 910//2023 911//2024 917//2029 919//2030
-s 113
-f 925//1821 915//1811 916//1812 924//1820
-f 925//1821 914//1810 915//1811
-s 23
-f 929//810 928//809 927//808 926//807
-f 931//812 930//811 928//809 929//810
-f 933//814 932//813 930//811 931//812
-f 935//816 934//815 932//813 933//814
-f 859//806 858//805 936//817
-s 115
-f 913//2025 936//2032 858//2020 857//2019
-s 113
-f 914//1810 934//1829 936//1830 913//1809
-s 23
-f 935//816 859//806 936//817 934//815
-g deck
-s off
-f 937//87 277//87 278//87
-s 23
-f 938//819 282//597 280//595 937//818
-f 940//821 286//601 283//598 939//820
-s off
-f 939//88 941//88 940//88
-s 23
-f 943//824 942//823 941//822
-f 940//821 941//822 942//823 944//825
-f 946//827 293//608 286//601 940//821 944//825 945//826
-g hull
-f 933//814 938//819 937//818 935//816
-f 938//819 933//814 931//812 943//824
-s 113
-f 948//1836 947//1835 918//1814 912//1808
-f 950//1838 949//1837 947//1835 948//1836
-f 952//1840 951//1839 949//1837 950//1838
-f 956//1844 955//1843 954//1842 953//1841
-f 958//1846 957//1845 955//1843 956//1844
-f 960//1848 959//1847 957//1845 958//1846
-f 960//1848 961//1849 959//1847
-f 963//1851 962//1850 961//1849 960//1848
-f 963//1851 964//1852 962//1850
-f 966//1854 965//1853 964//1852 963//1851
-f 966//1854 967//1855 965//1853
-f 969//1857 968//1856 967//1855 966//1854
-f 971//1859 970//1858 968//1856 969//1857
-f 973//1861 972//1860 970//1858 971//1859
-f 954//1842 951//1839 952//1840 953//1841
-f 947//1835 974//1862 920//1816 918//1814
-f 922//1818 920//1816 974//1862 975//1863
-f 976//1864 974//1862 947//1835 949//1837
-f 977//1865 975//1863 974//1862 976//1864
-f 979//1867 978//1866 975//1863 977//1865
-f 976//1864 981//1869 980//1868 977//1865
-f 949//1837 951//1839 981//1869 976//1864
-f 982//1870 981//1869 951//1839 954//1842
-f 983//1871 980//1868 981//1869 982//1870
-f 983//1871 984//1872 980//1868
-f 984//1872 979//1867 977//1865 980//1868
-f 984//1872 985//1873 979//1867
-g rig
-s off
-f 987//89 986//89 985//89 984//89
-f 989//90 988//90 985//90 986//90
-s 113
-f 986//1874 987//1875 990//1878
-f 982//1870 992//1880 991//1879 990//1878
-s off
-f 993//91 991//91 992//91
-g hull
-s 113
-f 995//1883 994//1882 993//1881 992//1880
-g rig
-s off
-f 991//92 993//92 994//92 996//92
-f 994//93 995//93 996//93
-s 113
-f 998//1886 996//1884 995//1883 997//1885
-s off
-f 997//94 999//94 998//94
-f 1001//95 998//95 999//95 1000//95
-g hull
-s 23
-f 999//829 997//828 1000//830
-f 1003//832 1002//831 1000//830 997//828
-g rig
-s off
-f 990//96 983//96 982//96
-f 983//97 990//97 987//97 984//97
-f 1001//98 1000//98 988//98 989//98
-g hull
-s 113
-f 954//1842 955//1843 997//1885 995//1883 992//1880 982//1870
-f 997//1885 955//1843 957//1845 1003//1889
-s 23
-f 1002//831 1006//835 1005//834 1004//833
-f 1003//832 1007//836 1006//835 1002//831
-s 113
-f 957//1845 959//1847 1007//1890 1003//1889
-f 1008//1891 1007//1890 959//1847
-g rig
-f 961//1849 1010//1893 1009//1892 959//1847
-f 964//1852 1012//1895 1011//1894 962//1850
-f 967//1855 1014//1897 1013//1896 965//1853
-g hull
-f 1016//1899 961//1849 962//1850 1015//1898
-f 1018//1901 1017//1900 964//1852 965//1853
-f 1020//1903 1019//1902 967//1855
-g rig
-f 1014//1897 1022//1905 1021//1904 1013//1896
-g hull
-s 23
-f 1024//838 1023//837 1005//834 1006//835
-f 1024//838 1025//839 1023//837
-f 1024//838 1026//840 1025//839
-f 1026//840 1027//841 1025//839
-g rig
-s off
-f 959//99 1009//99 1008//99
-f 1007//100 1029//100 1028//100 1006//100
-f 1016//101 1010//101 961//101
-f 1010//102 1016//102 1015//102 1011//102
-f 1011//103 1015//103 962//103
-f 1018//104 965//104 1013//104
-f 1021//105 1024//105 1006//105 1028//105 1031//105 1030//105
-f 1014//106 967//106 1019//106
-f 1014//107 1019//107 1020//107 1022//107
-f 1022//108 1020//108 1024//108 1021//108
-f 1017//109 1012//109 964//109
-f 1012//110 1017//110 1018//110 1013//110
-g hull
-s 113
-f 968//1856 1032//1911 1020//1903 967//1855
-f 1024//1906 1020//1903 1032//1911 1033//1912
-f 1034//1913 1033//1912 1032//1911
-f 1036//1915 1035//1914 1034//1913 1032//1911
-f 1036//1915 1037//1916 1035//1914
-f 1039//1918 1038//1917 1037//1916 1036//1915
-f 970//1858 972//1860 1039//1918 1036//1915
-f 1032//1911 968//1856 970//1858 1036//1915
-g rig
-f 1041//1920 1040//1919 1033//1912 1034//1913
-f 1043//1922 1042//1921 1040//1919
-f 1035//1914 1037//1916 1045//1924 1044//1923
-g hull
-s 23
-f 1047//844 1046//843 1033//842
-f 1046//843 1048//845 1027//841 1026//840
-s 113
-f 1034//1913 1035//1914 1050//1926 1049//1925
-s 23
-f 1052//847 1051//846 1027//841 1048//845
-f 1052//847 1053//848 1051//846
-g rig
-s off
-f 1047//111 1033//111 1040//111
-f 1044//112 1050//112 1035//112
-f 1034//113 1049//113 1041//113
-f 1050//114 1044//114 1041//114 1049//114
-f 1047//115 1040//115 1042//115 1046//115
-f 1046//116 1042//116 1043//116 1048//116
-f 1054//117 1052//117 1048//117 1043//117
-f 1052//118 1054//118 1056//118 1055//118
-f 1057//119 1055//119 1056//119 1045//119
-f 1037//120 1057//120 1045//120
-g hull
-s 23
-f 1026//840 1024//838 1033//842 1046//843
-s 113
-f 1037//1916 1038//1917 1055//1929 1057//1931
-f 1055//1929 1038//1917 1058//1932 1052//1927
-s 23
-f 1059//850 1053//848 1052//847 1058//849
-f 1061//852 1060//851 1059//850 1058//849
-f 1063//854 1062//853 1059//850 1060//851
-s 45
-f 1065//1082 1064//1081 1062//1079 1063//1080
-f 1065//1082 1067//1084 1066//1083
-s 23
-f 1060//851 1068//857 1067//856 1063//854
-f 1061//852 1069//858 1068//857 1060//851
-s 45
-f 1071//1086 1070//1085 1065//1082 1066//1083
-f 1073//1088 1072//1087 1070//1085 1071//1086
-f 1075//1090 1074//1089 1072//1087 1073//1088
-f 1077//1092 1076//1091 1074//1089 1075//1090
-f 423//1070 424//1071 1076//1091 1077//1092
-s 23
-f 1075//861 425//735 423//734 1077//862
-f 1078//863 427//737 425//735 1075//861
-f 1079//864 429//739 427//737 1078//863
-f 1081//866 433//743 430//740 1080//865
-f 1083//868 1082//867 1081//866 1080//865
-f 1068//857 1069//858 1082//867 1083//868
-f 1066//855 1067//856 1068//857 1083//868 1071//859
-f 1078//863 1073//860 1071//859 1079//864
-f 1078//863 1075//861 1073//860
-s 113
-f 1039//1918 1085//1936 1084//1935 1038//1917
-f 972//1860 1086//1937 1085//1936 1039//1918
-f 972//1860 1087//1938 1086//1937
-s 23
-f 1080//865 430//740 429//739 1079//864
-f 1079//864 1071//859 1083//868 1080//865
-s 113
-f 1087//1938 898//1798 903//1799 1088//1939
-f 898//1798 1087//1938 972//1860 973//1861
-g aft
-s 23
-f 1090//870 1061//852 1058//849 1089//869
-f 1091//871 1069//858 1061//852 1090//870
-f 1092//872 1082//867 1069//858 1091//871
-f 1093//873 1081//866 1082//867 1092//872
-f 1093//873 1094//874 446//755 447//756
-f 1092//872 1095//875 1094//874 1093//873
-f 1091//871 1096//876 1095//875 1092//872
-f 1090//870 1097//877 1096//876 1091//871
-f 1089//869 1098//878 1097//877 1090//870
-s 113
-f 1100//1943 1099//1942 1098//1941 1089//1940
-f 1058//1932 1038//1917 1100//1943 1089//1940
-s 137
-f 1084//2039 1101//2045 1100//2044 1038//2038
-f 1099//2043 1100//2044 1101//2045 1102//2046
-g windows
-f 1097//2041 1098//2042 1099//2043 1102//2046
-f 1103//2047 1096//2040 1097//2041 1102//2046
-s 30
-f 1104//988 1095//985 1096//986 1103//987
-f 1105//989 1094//984 1095//985 1104//988
-f 460//932 446//925 1094//984 1105//989
-g aft
-f 1106//990 462//934 460//932 1105//989
-f 1105//989 1107//991 1106//990
-f 1104//988 1108//992 1107//991 1105//989
-f 1104//988 1109//993 1108//992
-s 137
-f 1103//2047 1102//2046 1101//2045 1110//2048
-s 135
-f 1085//2055 1111//2059 1101//2058 1084//2054
-s 137
-f 1112//2050 1110//2048 1101//2045 1111//2049
-f 1115//2053 1114//2052 1112//2050 1111//2049 1113//2051
-s 135
-f 1086//2056 1113//2060 1111//2059 1085//2055
-f 1086//2056 1087//2057 1115//2061 1113//2060
-g hull
-s 113
-f 1116//1944 1088//1939 903//1799
-s 30
-f 1120//1002 1119//1001 1118//1000 1117//999
-g aft
-f 1122//1004 1121//1003 1108//992 1109//993
-f 902//980 901//979 1121//1003 1122//1004
-g hull
-f 1126//1008 1125//1007 1124//1006 1123//1005
-g aft
-f 1128//1010 1127//1009 1106//990 1107//991
-f 1112//995 1116//998 1129//1011 1110//994
-f 1110//994 1129//1011 1103//987
-f 1129//1011 1109//993 1104//988 1103//987
-f 900//978 899//977 1127//1009 1128//1010
-s off
-f 1123//121 1124//121 1107//121 1108//121
-s 141
-f 1124//2064 1125//2065 1128//2066 1107//2063
-f 1128//2066 1125//2065 900//2062
-g hull
-s 30
-f 1126//1008 901//979 900//978 1125//1007
-g aft
-s 140
-f 1126//2071 1123//2070 1108//2068 1121//2069
-s 139
-f 1119//2075 902//2072 1122//2076
-f 1119//2075 1122//2076 1109//2073 1118//2074
-s 30
-f 1117//999 1118//1000 1109//993 1129//1011
-g hull
-f 1120//1002 903//981 902//980 1119//1001
-s 138
-f 1120//2080 1116//2078 903//2077
-g aft
-f 1120//2080 1117//2079 1129//2081 1116//2078
-g keel
-s 22
-f 885//1034 884//1033 245//1021 486//1026
-g aft
-s 31
-f 462//1140 1106//1146 887//1145 885//1144 486//1141
-f 887//1145 1106//1146 1130//1147
-g hull
-s 30
-f 1130//1012 1131//1013 886//964 887//965
-g aft
-s 142
-f 899//2082 1131//2086 1127//2084
-g hull
-s 30
-f 899//977 883//963 886//964 1131//1013
-s 45
-f 424//1071 489//1073 1076//1091
-f 490//1074 1074//1089 1076//1091 489//1073
-f 491//1075 1072//1087 1074//1089 490//1074
-f 492//1076 1070//1085 1072//1087 491//1075
-f 445//1072 1065//1082 1070//1085 492//1076
-f 493//1077 1132//1093 1065//1082 445//1072
-g deck
-s 58
-f 496//1156 1134//1160 1133//1159 1132//1158 493//1153
-s off
-f 1136//122 1135//122 1133//122 1134//122
-f 1134//123 1137//123 1136//123
-s 59
-f 496//1161 501//1164 1137//1166 1134//1165
-s 60
-f 1136//1175 1139//1178 1138//1177 1135//1174
-f 501//1170 504//1173 1139//1178 1136//1175 1137//1176
-g hull
-s 131
-f 1064//2092 1140//2093 1059//2090 1062//2091
-f 1141//2094 1053//2089 1059//2090 1140//2093
-f 1142//2095 1051//2088 1053//2089 1141//2094
-f 1143//2096 1027//2087 1051//2088 1142//2095
-s 23
-f 1144//880 1025//839 1027//841 1143//879
-f 1145//881 1023//837 1025//839 1144//880
-f 1147//883 1004//833 1005//834 1146//882
-f 1149//885 1148//884 1004//833 1147//883
-f 1151//887 1150//886 1148//884 1149//885
-f 1155//891 1154//890 1153//889 1152//888 926//807 927//808
-g deck
-s off
-f 1139//124 1157//124 1156//124 1138//124
-f 1139//125 1158//125 1157//125
-s 23
-f 1157//893 1158//894 524//788 525//789
-f 526//790 1159//895 1156//892 1157//893 525//789
-f 1161//897 1160//896 1159//895 526//790 528//792
-f 1163//899 1162//898 1160//896 1161//897
-s off
-f 1163//126 1161//126 946//126
-s 23
-f 293//608 946//827 1161//897 528//792
-f 939//820 1164//900 943//824 941//822
-f 282//597 938//819 1164//900 939//820 283//598
-g hull
-f 1023//837 1145//881 1146//882 1005//834
-s 113
-f 1140//1949 1064//1933 1133//1946
-f 1133//1946 1135//1947 1141//1950 1140//1949
-f 1141//1950 1135//1947 1142//1951
-f 1142//1951 1135//1947 1138//1948 1143//1952
-f 1156//1965 1144//1953 1143//1952 1138//1948
-f 1144//1953 1156//1965 1145//1954
-f 1065//1934 1132//1945 1133//1946 1064//1933
-g deck
-s 61
-f 1139//1193 504//1190 524//1192 1158//1194
-g hull
-s 113
-f 1160//1967 1147//1956 1146//1955 1159//1966
-f 1159//1966 1146//1955 1145//1954 1156//1965
-f 1160//1967 1162//1968 1149//1958 1147//1956
-s 23
-f 1150//886 1151//887 1152//888 1153//889
-s 113
-f 945//1834 1151//1960 1149//1958 1162//1968
-g deck
-s off
-f 945//127 1162//127 1163//127 946//127
-g hull
-s 113
-f 1151//1960 945//1834 1152//1961
-f 926//1822 1152//1961 945//1834 944//1833
-f 1165//1969 861//1767 860//1766 888//1794
-f 1166//1970 862//1768 861//1767 1165//1969
-f 1167//1971 863//1769 862//1768 1166//1970
-f 1168//1972 864//1770 863//1769 1167//1971
-f 1169//1973 865//1771 864//1770 1168//1972
-f 1170//1974 866//1772 865//1771 1169//1973
-f 1171//1975 867//1773 866//1772 1170//1974
-f 1172//1976 868//1774 867//1773 1171//1975
-f 1173//1977 869//1775 868//1774 1172//1976
-f 1174//1978 870//1776 869//1775 1173//1977
-f 1175//1979 871//1777 870//1776 1174//1978
-f 1176//1980 872//1778 871//1777 1175//1979
-f 1176//1980 873//1779 872//1778
-f 1177//1981 1165//1969 888//1794 890//1795
-f 1178//1982 1166//1970 1165//1969 1177//1981
-f 1179//1983 1167//1971 1166//1970 1178//1982
-f 1180//1984 1168//1972 1167//1971 1179//1983
-f 1181//1985 1169//1973 1168//1972 1180//1984
-f 1182//1986 1170//1974 1169//1973 1181//1985
-f 1183//1987 1171//1975 1170//1974 1182//1986
-f 1184//1988 1172//1976 1171//1975 1183//1987
-f 1185//1989 1173//1977 1172//1976 1184//1988
-f 1186//1990 1174//1978 1173//1977 1185//1989
-f 1187//1991 1175//1979 1174//1978 1186//1990
-f 1188//1992 1176//1980 1175//1979 1187//1991
-f 904//1800 873//1779 1176//1980 1188//1992
-f 1189//1993 1177//1981 890//1795 892//1796
-f 1190//1994 1178//1982 1177//1981 1189//1993
-f 1191//1995 1179//1983 1178//1982 1190//1994
-f 1192//1996 1180//1984 1179//1983 1191//1995
-f 1193//1997 1181//1985 1180//1984 1192//1996
-f 1194//1998 1182//1986 1181//1985 1193//1997
-f 1195//1999 1183//1987 1182//1986 1194//1998
-f 1196//2000 1184//1988 1183//1987 1195//1999
-f 1197//2001 1185//1989 1184//1988 1196//2000
-f 1198//2002 1186//1990 1185//1989 1197//2001
-f 1199//2003 1187//1991 1186//1990 1198//2002
-f 1200//2004 1188//1992 1187//1991 1199//2003
-f 908//1804 904//1800 1188//1992 1200//2004
-f 1201//2005 1189//1993 892//1796 893//1797
-f 1202//2006 1190//1994 1189//1993 1201//2005
-f 1203//2007 1191//1995 1190//1994 1202//2006
-f 1204//2008 1192//1996 1191//1995 1203//2007
-f 1205//2009 1193//1997 1192//1996 1204//2008
-f 1206//2010 1194//1998 1193//1997 1205//2009
-f 1207//2011 1195//1999 1194//1998 1206//2010
-f 1208//2012 1196//2000 1195//1999 1207//2011
-f 1209//2013 1197//2001 1196//2000 1208//2012
-f 1210//2014 1198//2002 1197//2001 1209//2013
-f 1211//2015 1199//2003 1198//2002 1210//2014
-f 1212//2016 1200//2004 1199//2003 1211//2015
-f 909//1805 908//1804 1200//2004 1212//2016
-f 973//1861 1201//2005 893//1797 898//1798
-f 971//1859 1202//2006 1201//2005 973//1861
-f 969//1857 1203//2007 1202//2006 971//1859
-f 966//1854 1204//2008 1203//2007 969//1857
-f 963//1851 1205//2009 1204//2008 966//1854
-f 960//1848 1206//2010 1205//2009 963//1851
-f 958//1846 1207//2011 1206//2010 960//1848
-f 956//1844 1208//2012 1207//2011 958//1846
-f 953//1841 1209//2013 1208//2012 956//1844
-f 952//1840 1210//2014 1209//2013 953//1841
-f 950//1838 1211//2015 1210//2014 952//1840
-f 948//1836 1212//2016 1211//2015 950//1838
-f 912//1808 909//1805 1212//2016 948//1836
-f 1148//1957 1150//1959 988//1876 1000//1887
-f 979//1867 985//1873 1154//1963 1155//1964
-f 927//1823 928//1824 978//1866
-f 1154//1963 985//1873 988//1876 1153//1962
-f 922//1818 975//1863 978//1866 928//1824
-s 23
-f 278//593 859//806 935//816 937//818
-f 150//480 859//806 278//593 277//592
-g aft
-f 1093//873 447//756 433//743 1081//866
-g hull
-s 120
-f 922//2036 923//2037 921//2035
-s 23
-f 1000//830 1002//831 1004//833 1148//884
-g keel
-s 21
-f 848//438 125//408 124//407 846//436
-g aft
-s 140
-f 901//2067 1126//2071 1121//2069
-g hull
-s 113
-f 927//1823 978//1866 979//1867 1155//1964
-f 943//1832 931//1827 929//1825 942//1831
-f 944//1833 942//1831 929//1825 926//1822
-g deck
-s 23
-f 1164//900 938//819 943//824
-g hull
-s 113
-f 988//1876 1150//1959 1153//1962
-g rig
-f 1009//1892 1010//1893 1028//1907 1029//1908
-f 1011//1894 1031//1910 1028//1907 1010//1893
-s off
-f 1029//128 1007//128 1008//128 1009//128
-g aft
-s 142
-f 1106//2083 1127//2084 1131//2086 1130//2085
-s 30
-f 1088//983 1114//996 1115//997 1087//982
-f 1088//983 1116//998 1112//995 1114//996
-g hull
-s 113
-f 924//1820 923//1819 928//1824 930//1826
-f 925//1821 924//1820 930//1826 932//1828
-f 914//1810 925//1821 932//1828 934//1829
-f 923//1819 922//1818 928//1824
-s 45
-f 1067//1084 1065//1082 1063//1080
-g rig
-s 113
-f 1030//1909 1012//1895 1013//1896 1021//1904
-f 1031//1910 1011//1894 1012//1895 1030//1909
-f 989//1877 998//1886 1001//1888
-f 986//1874 990//1878 991//1879 996//1884 998//1886 989//1877
-f 1043//1922 1040//1919 1041//1920 1044//1923 1045//1924 1054//1928
-f 1054//1928 1045//1924 1056//1930
-g sail2
-s 143
-f 1217//2101 1216//2100 1213//2097 1214//2098
-f 1240//2115 1239//2114 1238//2113 1237//2112 1215//2099 1218//2102 1217//2101 1214//2098 1241//2116
-f 1220//2104 1219//2103 1216//2100 1217//2101
-f 1221//2105 1220//2104 1217//2101 1218//2102
-f 1223//2107 1222//2106 1219//2103 1220//2104
-f 1224//2108 1223//2107 1220//2104 1221//2105
-f 1226//2110 1225//2109 1222//2106 1223//2107
-f 1227//2111 1226//2110 1223//2107 1224//2108
-s 144
-f 1229//2216 1228//2215 1225//2212 1226//2213
-f 1230//2217 1229//2216 1226//2213 1227//2214
-f 1232//2219 1231//2218 1228//2215 1229//2216
-f 1233//2220 1232//2219 1229//2216 1230//2217
-f 1235//2222 1234//2221 1231//2218 1232//2219
-f 1236//2223 1242//2224 1243//2225 1244//2226 1245//2227 1246//2228 1235//2222 1232//2219 1233//2220
-f 1214//2211 1213//2210 1234//2221 1235//2222
-s off
-f 1216//129 1219//129 1222//129 1225//129 1228//129 1231//129 1234//129 1213//129
-s 143
-f 1248//2118 1241//2116 1214//2098
-f 1248//2118 1249//2119 1240//2115 1241//2116
-f 1249//2119 1250//2120 1239//2114 1240//2115
-f 1250//2120 1251//2121 1238//2113 1239//2114
-f 1251//2121 1252//2122 1237//2112 1238//2113
-f 1252//2122 1253//2123 1215//2099 1237//2112
-f 1254//2124 1255//2125 1249//2119
-f 1255//2125 1256//2126 1251//2121 1250//2120
-f 1256//2126 1257//2127 1252//2122 1251//2121
-f 1257//2127 1258//2128 1253//2123 1252//2122
-f 1259//2129 1260//2130 1257//2127 1256//2126
-f 1260//2130 1261//2131 1258//2128 1257//2127
-f 1247//2117 1248//2118 1214//2098
-f 1249//2119 1248//2118 1254//2124
-f 1250//2120 1249//2119 1255//2125
-f 1262//2132 1263//2133 1248//2118 1247//2117
-f 1263//2133 1254//2124 1248//2118
-f 1264//2134 1265//2135 1263//2133 1262//2132
-f 1265//2135 1266//2136 1254//2124 1263//2133
-f 1266//2136 1267//2137 1254//2124
-f 1267//2137 1259//2129 1256//2126 1255//2125
-f 1268//2138 1269//2139 1265//2135 1264//2134
-f 1269//2139 1270//2140 1266//2136 1265//2135
-f 1270//2140 1271//2141 1267//2137 1266//2136
-f 1271//2141 1272//2142 1259//2129 1267//2137
-f 1272//2142 1273//2143 1260//2130 1259//2129
-f 1273//2143 1274//2144 1261//2131 1260//2130
-f 1275//2145 1276//2146 1269//2139 1268//2138
-f 1276//2146 1277//2147 1270//2140 1269//2139
-f 1277//2147 1278//2148 1271//2141 1270//2140
-f 1278//2148 1279//2149 1272//2142 1271//2141
-f 1279//2149 1280//2150 1273//2143 1272//2142
-f 1280//2150 1281//2151 1274//2144 1273//2143
-f 1282//2152 1283//2153 1276//2146 1275//2145
-f 1283//2153 1284//2154 1277//2147 1276//2146
-f 1284//2154 1285//2155 1278//2148 1277//2147
-f 1285//2155 1286//2156 1279//2149 1278//2148
-f 1286//2156 1287//2157 1280//2150 1279//2149
-f 1287//2157 1288//2158 1281//2151 1280//2150
-f 1255//2125 1254//2124 1267//2137
-s 145
-f 1291//2265 1290//2264 1289//2263
-f 1294//2268 1293//2267 1292//2266 1290//2264
-f 1293//2267 1296//2270 1295//2269 1292//2266
-f 1296//2270 1298//2272 1297//2271 1295//2269
-f 1292//2266 1295//2269 1300//2274 1299//2273
-f 1295//2269 1297//2271 1301//2275 1300//2274
-f 1289//2263 1302//2276 1291//2265
-f 1290//2264 1291//2265 1294//2268
-f 1247//2251 1302//2276 1303//2277 1262//2252
-f 1302//2276 1289//2263 1303//2277
-f 1262//2252 1303//2277 1304//2278 1264//2253
-f 1303//2277 1289//2263 1305//2279 1304//2278
-f 1289//2263 1306//2280 1305//2279
-f 1290//2264 1292//2266 1299//2273 1306//2280
-f 1264//2253 1304//2278 1307//2281 1268//2254
-f 1304//2278 1305//2279 1308//2282 1307//2281
-f 1305//2279 1306//2280 1309//2283 1308//2282
-f 1306//2280 1299//2273 1310//2284 1309//2283
-f 1299//2273 1300//2274 1311//2285 1310//2284
-f 1300//2274 1301//2275 1312//2286 1311//2285
-f 1268//2254 1307//2281 1313//2287 1275//2255
-f 1307//2281 1308//2282 1314//2288 1313//2287
-f 1308//2282 1309//2283 1315//2289 1314//2288
-f 1309//2283 1310//2284 1316//2290 1315//2289
-f 1310//2284 1311//2285 1317//2291 1316//2290
-f 1311//2285 1312//2286 1318//2292 1317//2291
-f 1275//2255 1313//2287 1283//2257 1282//2256
-f 1313//2287 1314//2288 1284//2258 1283//2257
-f 1314//2288 1315//2289 1285//2259 1284//2258
-f 1315//2289 1316//2290 1286//2260 1285//2259
-f 1316//2290 1317//2291 1287//2261 1286//2260
-f 1317//2291 1318//2292 1288//2262 1287//2261
-f 1306//2280 1289//2263 1290//2264
-f 1298//2272 1296//2270 1242//2246 1236//2245
-s off
-f 1247//130 1214//130 1235//130
-s 145
-f 1302//2276 1247//2251 1235//2244 1246//2250
-f 1291//2265 1302//2276 1246//2250 1245//2249
-f 1294//2268 1291//2265 1245//2249 1244//2248
-f 1293//2267 1294//2268 1244//2248 1243//2247
-f 1296//2270 1293//2267 1243//2247 1242//2246
-s 143
-f 1322//2162 1321//2161 1320//2160 1319//2159
-f 1327//2167 1322//2162 1319//2159 1218//2102 1215//2099 1326//2166 1325//2165 1324//2164 1323//2163
-f 1319//2159 1320//2160 1329//2169 1328//2168
-f 1218//2102 1319//2159 1328//2168 1221//2105
-f 1328//2168 1329//2169 1331//2171 1330//2170
-f 1221//2105 1328//2168 1330//2170 1224//2108
-f 1330//2170 1331//2171 1333//2173 1332//2172
-f 1224//2108 1330//2170 1332//2172 1227//2111
-s 144
-f 1332//2231 1333//2232 1335//2234 1334//2233
-f 1227//2214 1332//2231 1334//2233 1230//2217
-f 1334//2233 1335//2234 1337//2236 1336//2235
-f 1230//2217 1334//2233 1336//2235 1233//2220
-f 1336//2235 1337//2236 1339//2238 1338//2237
-f 1233//2220 1336//2235 1338//2237 1344//2243 1343//2242 1342//2241 1341//2240 1340//2239 1236//2223
-f 1338//2237 1339//2238 1321//2229 1322//2230
-s off
-f 1321//131 1339//131 1337//131 1335//131 1333//131 1331//131 1329//131 1320//131
-s 143
-f 1322//2162 1327//2167 1345//2174
-f 1327//2167 1323//2163 1346//2175 1345//2174
-f 1323//2163 1324//2164 1347//2176 1346//2175
-f 1324//2164 1325//2165 1348//2177 1347//2176
-f 1325//2165 1326//2166 1349//2178 1348//2177
-f 1326//2166 1215//2099 1253//2123 1349//2178
-f 1346//2175 1351//2180 1350//2179
-f 1347//2176 1348//2177 1352//2181 1351//2180
-f 1348//2177 1349//2178 1353//2182 1352//2181
-f 1349//2178 1253//2123 1258//2128 1353//2182
-f 1352//2181 1353//2182 1355//2184 1354//2183
-f 1353//2182 1258//2128 1261//2131 1355//2184
-f 1322//2162 1345//2174 1356//2185
-f 1350//2179 1345//2174 1346//2175
-f 1351//2180 1346//2175 1347//2176
-f 1356//2185 1345//2174 1358//2187 1357//2186
-f 1345//2174 1350//2179 1358//2187
-f 1357//2186 1358//2187 1360//2189 1359//2188
-f 1358//2187 1350//2179 1361//2190 1360//2189
-f 1350//2179 1362//2191 1361//2190
-f 1351//2180 1352//2181 1354//2183 1362//2191
-f 1359//2188 1360//2189 1364//2193 1363//2192
-f 1360//2189 1361//2190 1365//2194 1364//2193
-f 1361//2190 1362//2191 1366//2195 1365//2194
-f 1362//2191 1354//2183 1367//2196 1366//2195
-f 1354//2183 1355//2184 1368//2197 1367//2196
-f 1355//2184 1261//2131 1274//2144 1368//2197
-f 1363//2192 1364//2193 1370//2199 1369//2198
-f 1364//2193 1365//2194 1371//2200 1370//2199
-f 1365//2194 1366//2195 1372//2201 1371//2200
-f 1366//2195 1367//2196 1373//2202 1372//2201
-f 1367//2196 1368//2197 1374//2203 1373//2202
-f 1368//2197 1274//2144 1281//2151 1374//2203
-f 1369//2198 1370//2199 1376//2205 1375//2204
-f 1370//2199 1371//2200 1377//2206 1376//2205
-f 1371//2200 1372//2201 1378//2207 1377//2206
-f 1372//2201 1373//2202 1379//2208 1378//2207
-f 1373//2202 1374//2203 1380//2209 1379//2208
-f 1374//2203 1281//2151 1288//2158 1380//2209
-f 1362//2191 1350//2179 1351//2180
-s 145
-f 1383//2312 1382//2311 1381//2310
-f 1382//2311 1386//2315 1385//2314 1384//2313
-f 1386//2315 1388//2317 1387//2316 1385//2314
-f 1388//2317 1297//2271 1298//2272 1387//2316
-f 1390//2319 1389//2318 1388//2317 1386//2315
-f 1389//2318 1301//2275 1297//2271 1388//2317
-f 1381//2310 1391//2320 1383//2312
-f 1384//2313 1381//2310 1382//2311
-f 1357//2300 1392//2321 1391//2320 1356//2299
-f 1392//2321 1383//2312 1391//2320
-f 1359//2301 1393//2322 1392//2321 1357//2300
-f 1393//2322 1394//2323 1383//2312 1392//2321
-f 1394//2323 1395//2324 1383//2312
-f 1395//2324 1390//2319 1386//2315 1382//2311
-f 1363//2302 1396//2325 1393//2322 1359//2301
-f 1396//2325 1397//2326 1394//2323 1393//2322
-f 1397//2326 1398//2327 1395//2324 1394//2323
-f 1398//2327 1399//2328 1390//2319 1395//2324
-f 1399//2328 1400//2329 1389//2318 1390//2319
-f 1400//2329 1312//2286 1301//2275 1389//2318
-f 1369//2303 1401//2330 1396//2325 1363//2302
-f 1401//2330 1402//2331 1397//2326 1396//2325
-f 1402//2331 1403//2332 1398//2327 1397//2326
-f 1403//2332 1404//2333 1399//2328 1398//2327
-f 1404//2333 1405//2334 1400//2329 1399//2328
-f 1405//2334 1318//2292 1312//2286 1400//2329
-f 1375//2304 1376//2305 1401//2330 1369//2303
-f 1376//2305 1377//2306 1402//2331 1401//2330
-f 1377//2306 1378//2307 1403//2332 1402//2331
-f 1378//2307 1379//2308 1404//2333 1403//2332
-f 1379//2308 1380//2309 1405//2334 1404//2333
-f 1380//2309 1288//2262 1318//2292 1405//2334
-f 1382//2311 1383//2312 1395//2324
-f 1236//2245 1340//2294 1387//2316 1298//2272
-s off
-f 1338//132 1322//132 1356//132
-s 145
-f 1344//2298 1338//2293 1356//2299 1391//2320
-f 1343//2297 1344//2298 1391//2320 1381//2310
-f 1342//2296 1343//2297 1381//2310 1384//2313
-f 1341//2295 1342//2296 1384//2313 1385//2314
-f 1340//2294 1341//2295 1385//2314 1387//2316
-g sail1
-s 151
-f 1438//2353 1437//2352 1436//2351 1435//2350 1407//2336 1410//2339 1409//2338 1406//2335 1439//2354
-f 1411//2340 1410//2339 1407//2336 1408//2337
-f 1413//2342 1412//2341 1409//2338 1410//2339
-f 1414//2343 1413//2342 1410//2339 1411//2340
-f 1416//2345 1415//2344 1412//2341 1413//2342
-f 1417//2346 1416//2345 1413//2342 1414//2343
-f 1419//2348 1418//2347 1415//2344 1416//2345
-f 1420//2349 1419//2348 1416//2345 1417//2346
-s 152
-f 1422//2454 1421//2453 1418//2450 1419//2451
-f 1423//2455 1422//2454 1419//2451 1420//2452
-f 1425//2457 1424//2456 1421//2453 1422//2454
-f 1426//2458 1425//2457 1422//2454 1423//2455
-f 1428//2460 1430//2462 1431//2463 1432//2464 1433//2465 1434//2466 1427//2459 1424//2456 1425//2457
-f 1429//2461 1428//2460 1425//2457 1426//2458
-f 1408//2449 1407//2448 1428//2460 1429//2461
-s off
-f 1429//133 1426//133 1423//133 1420//133 1417//133 1414//133 1411//133 1408//133
-s 151
-f 1440//2355 1441//2356 1439//2354 1406//2335
-f 1441//2356 1442//2357 1438//2353 1439//2354
-f 1442//2357 1443//2358 1437//2352 1438//2353
-f 1443//2358 1444//2359 1436//2351 1437//2352
-f 1444//2359 1445//2360 1435//2350 1436//2351
-f 1446//2361 1407//2336 1445//2360
-f 1447//2362 1448//2363 1441//2356 1440//2355
-f 1448//2363 1449//2364 1442//2357 1441//2356
-f 1449//2364 1450//2365 1443//2358 1442//2357
-f 1450//2365 1444//2359 1443//2358
-f 1451//2366 1445//2360 1444//2359
-f 1452//2367 1453//2368 1446//2361 1445//2360
-f 1454//2369 1455//2370 1448//2363 1447//2362
-f 1455//2370 1456//2371 1449//2364 1448//2363
-f 1456//2371 1457//2372 1450//2365 1449//2364
-f 1457//2372 1451//2366 1450//2365
-f 1458//2373 1459//2374 1452//2367 1451//2366
-f 1459//2374 1460//2375 1453//2368 1452//2367
-f 1461//2376 1462//2377 1455//2370 1454//2369
-f 1462//2377 1463//2378 1456//2371 1455//2370
-f 1463//2378 1464//2379 1457//2372 1456//2371
-f 1464//2379 1465//2380 1458//2373 1457//2372
-f 1465//2380 1466//2381 1459//2374 1458//2373
-f 1466//2381 1467//2382 1460//2375 1459//2374
-f 1468//2383 1469//2384 1462//2377 1461//2376
-f 1469//2384 1470//2385 1463//2378 1462//2377
-f 1470//2385 1471//2386 1464//2379 1463//2378
-f 1471//2386 1472//2387 1465//2380 1464//2379
-f 1472//2387 1473//2388 1466//2381 1465//2380
-f 1473//2388 1474//2389 1467//2382 1466//2381
-f 1475//2390 1476//2391 1469//2384 1468//2383
-f 1476//2391 1477//2392 1470//2385 1469//2384
-f 1477//2392 1478//2393 1471//2386 1470//2385
-f 1478//2393 1479//2394 1472//2387 1471//2386
-f 1479//2394 1480//2395 1473//2388 1472//2387
-f 1480//2395 1481//2396 1473//2388
-f 1435//2350 1445//2360 1407//2336
-f 1452//2367 1445//2360 1451//2366
-f 1451//2366 1444//2359 1450//2365
-f 1458//2373 1451//2366 1457//2372
-f 1481//2396 1474//2389 1473//2388
-s 153
-f 1485//2504 1484//2503 1483//2502 1482//2501
-f 1484//2503 1487//2506 1486//2505 1483//2502
-f 1487//2506 1489//2508 1488//2507 1486//2505
-f 1489//2508 1490//2509 1488//2507
-f 1490//2509 1492//2511 1491//2510
-f 1492//2511 1446//2489 1453//2490 1493//2512
-f 1482//2501 1483//2502 1495//2514 1494//2513
-f 1483//2502 1486//2505 1496//2515 1495//2514
-f 1486//2505 1488//2507 1497//2516 1496//2515
-f 1488//2507 1491//2510 1497//2516
-f 1491//2510 1493//2512 1499//2518 1498//2517
-f 1493//2512 1453//2490 1460//2491 1499//2518
-f 1494//2513 1495//2514 1501//2520 1500//2519
-f 1495//2514 1496//2515 1502//2521 1501//2520
-f 1496//2515 1497//2516 1503//2522 1502//2521
-f 1497//2516 1498//2517 1504//2523 1503//2522
-f 1498//2517 1499//2518 1505//2524 1504//2523
-f 1499//2518 1460//2491 1467//2492 1505//2524
-f 1500//2519 1501//2520 1507//2526 1506//2525
-f 1501//2520 1502//2521 1508//2527 1507//2526
-f 1502//2521 1503//2522 1509//2528 1508//2527
-f 1503//2522 1504//2523 1510//2529 1509//2528
-f 1504//2523 1505//2524 1511//2530 1510//2529
-f 1505//2524 1467//2492 1474//2493 1511//2530
-f 1506//2525 1507//2526 1476//2495 1475//2494
-f 1507//2526 1508//2527 1477//2496 1476//2495
-f 1508//2527 1509//2528 1478//2497 1477//2496
-f 1509//2528 1510//2529 1479//2498 1478//2497
-f 1510//2529 1511//2530 1480//2499 1479//2498
-f 1511//2530 1481//2500 1480//2499
-f 1491//2510 1492//2511 1493//2512
-f 1488//2507 1490//2509 1491//2510
-f 1497//2516 1491//2510 1498//2517
-f 1511//2530 1474//2493 1481//2500
-f 1428//2483 1446//2489 1492//2511 1430//2484
-f 1484//2503 1485//2504 1427//2482 1434//2488
-f 1487//2506 1484//2503 1434//2488 1433//2487
-f 1489//2508 1487//2506 1433//2487 1432//2486
-f 1490//2509 1489//2508 1432//2486 1431//2485
-f 1492//2511 1490//2509 1431//2485 1430//2484
-s off
-f 1428//134 1407//134 1446//134
-s 151
-f 1518//2403 1406//2335 1409//2338 1517//2402 1516//2401 1515//2400 1514//2399 1513//2398 1512//2397
-f 1520//2405 1516//2401 1517//2402 1519//2404
-f 1517//2402 1409//2338 1412//2341 1521//2406
-f 1519//2404 1517//2402 1521//2406 1522//2407
-f 1521//2406 1412//2341 1415//2344 1523//2408
-f 1522//2407 1521//2406 1523//2408 1524//2409
-f 1523//2408 1415//2344 1418//2347 1525//2410
-f 1524//2409 1523//2408 1525//2410 1526//2411
-s 152
-f 1525//2469 1418//2450 1421//2453 1527//2471
-f 1526//2470 1525//2469 1527//2471 1528//2472
-f 1527//2471 1421//2453 1424//2456 1529//2473
-f 1528//2472 1527//2471 1529//2473 1530//2474
-f 1529//2473 1424//2456 1427//2459 1536//2480 1535//2479 1534//2478 1533//2477 1532//2476 1531//2475
-f 1530//2474 1529//2473 1531//2475 1537//2481
-f 1537//2481 1531//2475 1516//2467 1520//2468
-s off
-f 1520//135 1519//135 1522//135 1524//135 1526//135 1528//135 1530//135 1537//135
-s 151
-f 1406//2335 1518//2403 1538//2412 1440//2355
-f 1518//2403 1512//2397 1539//2413 1538//2412
-f 1512//2397 1513//2398 1540//2414 1539//2413
-f 1513//2398 1514//2399 1541//2415 1540//2414
-f 1514//2399 1515//2400 1542//2416 1541//2415
-f 1542//2416 1516//2401 1543//2417
-f 1440//2355 1538//2412 1544//2418 1447//2362
-f 1538//2412 1539//2413 1545//2419 1544//2418
-f 1539//2413 1540//2414 1546//2420 1545//2419
-f 1540//2414 1541//2415 1546//2420
-f 1541//2415 1542//2416 1547//2421
-f 1542//2416 1543//2417 1549//2423 1548//2422
-f 1447//2362 1544//2418 1550//2424 1454//2369
-f 1544//2418 1545//2419 1551//2425 1550//2424
-f 1545//2419 1546//2420 1552//2426 1551//2425
-f 1546//2420 1547//2421 1552//2426
-f 1547//2421 1548//2422 1554//2428 1553//2427
-f 1548//2422 1549//2423 1555//2429 1554//2428
-f 1454//2369 1550//2424 1556//2430 1461//2376
-f 1550//2424 1551//2425 1557//2431 1556//2430
-f 1551//2425 1552//2426 1558//2432 1557//2431
-f 1552//2426 1553//2427 1559//2433 1558//2432
-f 1553//2427 1554//2428 1560//2434 1559//2433
-f 1554//2428 1555//2429 1561//2435 1560//2434
-f 1461//2376 1556//2430 1562//2436 1468//2383
-f 1556//2430 1557//2431 1563//2437 1562//2436
-f 1557//2431 1558//2432 1564//2438 1563//2437
-f 1558//2432 1559//2433 1565//2439 1564//2438
-f 1559//2433 1560//2434 1566//2440 1565//2439
-f 1560//2434 1561//2435 1567//2441 1566//2440
-f 1468//2383 1562//2436 1568//2442 1475//2390
-f 1562//2436 1563//2437 1569//2443 1568//2442
-f 1563//2437 1564//2438 1570//2444 1569//2443
-f 1564//2438 1565//2439 1571//2445 1570//2444
-f 1565//2439 1566//2440 1572//2446 1571//2445
-f 1566//2440 1573//2447 1572//2446
-f 1516//2401 1542//2416 1515//2400
-f 1547//2421 1542//2416 1548//2422
-f 1546//2420 1541//2415 1547//2421
-f 1552//2426 1547//2421 1553//2427
-f 1566//2440 1567//2441 1573//2447
-s 153
-f 1482//2501 1575//2549 1574//2548 1485//2504
-f 1575//2549 1577//2551 1576//2550 1574//2548
-f 1577//2551 1579//2553 1578//2552 1576//2550
-f 1579//2553 1580//2554 1578//2552
-f 1582//2556 1581//2555 1580//2554
-f 1583//2557 1549//2538 1543//2537 1581//2555
-f 1494//2513 1584//2558 1575//2549 1482//2501
-f 1584//2558 1585//2559 1577//2551 1575//2549
-f 1585//2559 1586//2560 1579//2553 1577//2551
-f 1586//2560 1582//2556 1579//2553
-f 1588//2562 1587//2561 1583//2557 1582//2556
-f 1587//2561 1555//2539 1549//2538 1583//2557
-f 1500//2519 1589//2563 1584//2558 1494//2513
-f 1589//2563 1590//2564 1585//2559 1584//2558
-f 1590//2564 1591//2565 1586//2560 1585//2559
-f 1591//2565 1592//2566 1588//2562 1586//2560
-f 1592//2566 1593//2567 1587//2561 1588//2562
-f 1593//2567 1561//2540 1555//2539 1587//2561
-f 1506//2525 1594//2568 1589//2563 1500//2519
-f 1594//2568 1595//2569 1590//2564 1589//2563
-f 1595//2569 1596//2570 1591//2565 1590//2564
-f 1596//2570 1597//2571 1592//2566 1591//2565
-f 1597//2571 1598//2572 1593//2567 1592//2566
-f 1598//2572 1567//2541 1561//2540 1593//2567
-f 1475//2494 1568//2542 1594//2568 1506//2525
-f 1568//2542 1569//2543 1595//2569 1594//2568
-f 1569//2543 1570//2544 1596//2570 1595//2569
-f 1570//2544 1571//2545 1597//2571 1596//2570
-f 1571//2545 1572//2546 1598//2572 1597//2571
-f 1572//2546 1573//2547 1598//2572
-f 1583//2557 1581//2555 1582//2556
-f 1582//2556 1580//2554 1579//2553
-f 1588//2562 1582//2556 1586//2560
-f 1573//2547 1567//2541 1598//2572
-f 1532//2532 1581//2555 1543//2537 1531//2531
-f 1536//2536 1427//2482 1485//2504 1574//2548
-f 1535//2535 1536//2536 1574//2548 1576//2550
-f 1534//2534 1535//2535 1576//2550 1578//2552
-f 1533//2533 1534//2534 1578//2552 1580//2554
-f 1532//2532 1533//2533 1580//2554 1581//2555
-s off
-f 1543//136 1516//136 1531//136
-g sail5
-s 158
-f 1603//2577 1602//2576 1599//2573 1600//2574
-f 1626//2591 1625//2590 1624//2589 1623//2588 1601//2575 1604//2578 1603//2577 1600//2574 1627//2592
-f 1606//2580 1605//2579 1602//2576 1603//2577
-f 1607//2581 1606//2580 1603//2577 1604//2578
-f 1609//2583 1608//2582 1605//2579 1606//2580
-f 1610//2584 1609//2583 1606//2580 1607//2581
-f 1612//2586 1611//2585 1608//2582 1609//2583
-f 1613//2587 1612//2586 1609//2583 1610//2584
-s 159
-f 1615//2692 1614//2691 1611//2688 1612//2689
-f 1616//2693 1615//2692 1612//2689 1613//2690
-f 1618//2695 1617//2694 1614//2691 1615//2692
-f 1619//2696 1618//2695 1615//2692 1616//2693
-f 1621//2698 1620//2697 1617//2694 1618//2695
-f 1622//2699 1628//2700 1629//2701 1630//2702 1631//2703 1632//2704 1621//2698 1618//2695 1619//2696
-f 1600//2687 1599//2686 1620//2697 1621//2698
-s off
-f 1602//137 1605//137 1608//137 1611//137 1614//137 1617//137 1620//137 1599//137
-s 158
-f 1634//2594 1627//2592 1600//2574
-f 1634//2594 1635//2595 1626//2591 1627//2592
-f 1635//2595 1636//2596 1625//2590 1626//2591
-f 1636//2596 1637//2597 1624//2589 1625//2590
-f 1637//2597 1638//2598 1623//2588 1624//2589
-f 1638//2598 1639//2599 1601//2575 1623//2588
-f 1640//2600 1641//2601 1635//2595
-f 1641//2601 1642//2602 1637//2597 1636//2596
-f 1642//2602 1643//2603 1638//2598 1637//2597
-f 1643//2603 1644//2604 1639//2599 1638//2598
-f 1645//2605 1646//2606 1643//2603 1642//2602
-f 1646//2606 1647//2607 1644//2604 1643//2603
-f 1633//2593 1634//2594 1600//2574
-f 1635//2595 1634//2594 1640//2600
-f 1636//2596 1635//2595 1641//2601
-f 1648//2608 1649//2609 1634//2594 1633//2593
-f 1649//2609 1640//2600 1634//2594
-f 1650//2610 1651//2611 1649//2609 1648//2608
-f 1651//2611 1652//2612 1640//2600 1649//2609
-f 1652//2612 1653//2613 1640//2600
-f 1653//2613 1645//2605 1642//2602 1641//2601
-f 1654//2614 1655//2615 1651//2611 1650//2610
-f 1655//2615 1656//2616 1652//2612 1651//2611
-f 1656//2616 1657//2617 1653//2613 1652//2612
-f 1657//2617 1658//2618 1645//2605 1653//2613
-f 1658//2618 1659//2619 1646//2606 1645//2605
-f 1659//2619 1660//2620 1647//2607 1646//2606
-f 1661//2621 1662//2622 1655//2615 1654//2614
-f 1662//2622 1663//2623 1656//2616 1655//2615
-f 1663//2623 1664//2624 1657//2617 1656//2616
-f 1664//2624 1665//2625 1658//2618 1657//2617
-f 1665//2625 1666//2626 1659//2619 1658//2618
-f 1666//2626 1667//2627 1660//2620 1659//2619
-f 1668//2628 1669//2629 1662//2622 1661//2621
-f 1669//2629 1670//2630 1663//2623 1662//2622
-f 1670//2630 1671//2631 1664//2624 1663//2623
-f 1671//2631 1672//2632 1665//2625 1664//2624
-f 1672//2632 1673//2633 1666//2626 1665//2625
-f 1673//2633 1674//2634 1667//2627 1666//2626
-f 1641//2601 1640//2600 1653//2613
-s 160
-f 1677//2741 1676//2740 1675//2739
-f 1680//2744 1679//2743 1678//2742 1676//2740
-f 1679//2743 1682//2746 1681//2745 1678//2742
-f 1682//2746 1684//2748 1683//2747 1681//2745
-f 1678//2742 1681//2745 1686//2750 1685//2749
-f 1681//2745 1683//2747 1687//2751 1686//2750
-f 1675//2739 1688//2752 1677//2741
-f 1676//2740 1677//2741 1680//2744
-f 1633//2727 1688//2752 1689//2753 1648//2728
-f 1688//2752 1675//2739 1689//2753
-f 1648//2728 1689//2753 1690//2754 1650//2729
-f 1689//2753 1675//2739 1691//2755 1690//2754
-f 1675//2739 1692//2756 1691//2755
-f 1676//2740 1678//2742 1685//2749 1692//2756
-f 1650//2729 1690//2754 1693//2757 1654//2730
-f 1690//2754 1691//2755 1694//2758 1693//2757
-f 1691//2755 1692//2756 1695//2759 1694//2758
-f 1692//2756 1685//2749 1696//2760 1695//2759
-f 1685//2749 1686//2750 1697//2761 1696//2760
-f 1686//2750 1687//2751 1698//2762 1697//2761
-f 1654//2730 1693//2757 1699//2763 1661//2731
-f 1693//2757 1694//2758 1700//2764 1699//2763
-f 1694//2758 1695//2759 1701//2765 1700//2764
-f 1695//2759 1696//2760 1702//2766 1701//2765
-f 1696//2760 1697//2761 1703//2767 1702//2766
-f 1697//2761 1698//2762 1704//2768 1703//2767
-f 1661//2731 1699//2763 1669//2733 1668//2732
-f 1699//2763 1700//2764 1670//2734 1669//2733
-f 1700//2764 1701//2765 1671//2735 1670//2734
-f 1701//2765 1702//2766 1672//2736 1671//2735
-f 1702//2766 1703//2767 1673//2737 1672//2736
-f 1703//2767 1704//2768 1674//2738 1673//2737
-f 1692//2756 1675//2739 1676//2740
-f 1684//2748 1682//2746 1628//2722 1622//2721
-s off
-f 1633//138 1600//138 1621//138
-s 160
-f 1688//2752 1633//2727 1621//2720 1632//2726
-f 1677//2741 1688//2752 1632//2726 1631//2725
-f 1680//2744 1677//2741 1631//2725 1630//2724
-f 1679//2743 1680//2744 1630//2724 1629//2723
-f 1682//2746 1679//2743 1629//2723 1628//2722
-s 158
-f 1708//2638 1707//2637 1706//2636 1705//2635
-f 1713//2643 1708//2638 1705//2635 1604//2578 1601//2575 1712//2642 1711//2641 1710//2640 1709//2639
-f 1705//2635 1706//2636 1715//2645 1714//2644
-f 1604//2578 1705//2635 1714//2644 1607//2581
-f 1714//2644 1715//2645 1717//2647 1716//2646
-f 1607//2581 1714//2644 1716//2646 1610//2584
-f 1716//2646 1717//2647 1719//2649 1718//2648
-f 1610//2584 1716//2646 1718//2648 1613//2587
-s 159
-f 1718//2707 1719//2708 1721//2710 1720//2709
-f 1613//2690 1718//2707 1720//2709 1616//2693
-f 1720//2709 1721//2710 1723//2712 1722//2711
-f 1616//2693 1720//2709 1722//2711 1619//2696
-f 1722//2711 1723//2712 1725//2714 1724//2713
-f 1619//2696 1722//2711 1724//2713 1730//2719 1729//2718 1728//2717 1727//2716 1726//2715 1622//2699
-f 1724//2713 1725//2714 1707//2705 1708//2706
-s off
-f 1707//139 1725//139 1723//139 1721//139 1719//139 1717//139 1715//139 1706//139
-s 158
-f 1708//2638 1713//2643 1731//2650
-f 1713//2643 1709//2639 1732//2651 1731//2650
-f 1709//2639 1710//2640 1733//2652 1732//2651
-f 1710//2640 1711//2641 1734//2653 1733//2652
-f 1711//2641 1712//2642 1735//2654 1734//2653
-f 1712//2642 1601//2575 1639//2599 1735//2654
-f 1732//2651 1737//2656 1736//2655
-f 1733//2652 1734//2653 1738//2657 1737//2656
-f 1734//2653 1735//2654 1739//2658 1738//2657
-f 1735//2654 1639//2599 1644//2604 1739//2658
-f 1738//2657 1739//2658 1741//2660 1740//2659
-f 1739//2658 1644//2604 1647//2607 1741//2660
-f 1708//2638 1731//2650 1742//2661
-f 1736//2655 1731//2650 1732//2651
-f 1737//2656 1732//2651 1733//2652
-f 1742//2661 1731//2650 1744//2663 1743//2662
-f 1731//2650 1736//2655 1744//2663
-f 1743//2662 1744//2663 1746//2665 1745//2664
-f 1744//2663 1736//2655 1747//2666 1746//2665
-f 1736//2655 1748//2667 1747//2666
-f 1737//2656 1738//2657 1740//2659 1748//2667
-f 1745//2664 1746//2665 1750//2669 1749//2668
-f 1746//2665 1747//2666 1751//2670 1750//2669
-f 1747//2666 1748//2667 1752//2671 1751//2670
-f 1748//2667 1740//2659 1753//2672 1752//2671
-f 1740//2659 1741//2660 1754//2673 1753//2672
-f 1741//2660 1647//2607 1660//2620 1754//2673
-f 1749//2668 1750//2669 1756//2675 1755//2674
-f 1750//2669 1751//2670 1757//2676 1756//2675
-f 1751//2670 1752//2671 1758//2677 1757//2676
-f 1752//2671 1753//2672 1759//2678 1758//2677
-f 1753//2672 1754//2673 1760//2679 1759//2678
-f 1754//2673 1660//2620 1667//2627 1760//2679
-f 1755//2674 1756//2675 1762//2681 1761//2680
-f 1756//2675 1757//2676 1763//2682 1762//2681
-f 1757//2676 1758//2677 1764//2683 1763//2682
-f 1758//2677 1759//2678 1765//2684 1764//2683
-f 1759//2678 1760//2679 1766//2685 1765//2684
-f 1760//2679 1667//2627 1674//2634 1766//2685
-f 1748//2667 1736//2655 1737//2656
-s 160
-f 1769//2788 1768//2787 1767//2786
-f 1768//2787 1772//2791 1771//2790 1770//2789
-f 1772//2791 1774//2793 1773//2792 1771//2790
-f 1774//2793 1683//2747 1684//2748 1773//2792
-f 1776//2795 1775//2794 1774//2793 1772//2791
-f 1775//2794 1687//2751 1683//2747 1774//2793
-f 1767//2786 1777//2796 1769//2788
-f 1770//2789 1767//2786 1768//2787
-f 1743//2776 1778//2797 1777//2796 1742//2775
-f 1778//2797 1769//2788 1777//2796
-f 1745//2777 1779//2798 1778//2797 1743//2776
-f 1779//2798 1780//2799 1769//2788 1778//2797
-f 1780//2799 1781//2800 1769//2788
-f 1781//2800 1776//2795 1772//2791 1768//2787
-f 1749//2778 1782//2801 1779//2798 1745//2777
-f 1782//2801 1783//2802 1780//2799 1779//2798
-f 1783//2802 1784//2803 1781//2800 1780//2799
-f 1784//2803 1785//2804 1776//2795 1781//2800
-f 1785//2804 1786//2805 1775//2794 1776//2795
-f 1786//2805 1698//2762 1687//2751 1775//2794
-f 1755//2779 1787//2806 1782//2801 1749//2778
-f 1787//2806 1788//2807 1783//2802 1782//2801
-f 1788//2807 1789//2808 1784//2803 1783//2802
-f 1789//2808 1790//2809 1785//2804 1784//2803
-f 1790//2809 1791//2810 1786//2805 1785//2804
-f 1791//2810 1704//2768 1698//2762 1786//2805
-f 1761//2780 1762//2781 1787//2806 1755//2779
-f 1762//2781 1763//2782 1788//2807 1787//2806
-f 1763//2782 1764//2783 1789//2808 1788//2807
-f 1764//2783 1765//2784 1790//2809 1789//2808
-f 1765//2784 1766//2785 1791//2810 1790//2809
-f 1766//2785 1674//2738 1704//2768 1791//2810
-f 1768//2787 1769//2788 1781//2800
-f 1622//2721 1726//2770 1773//2792 1684//2748
-s off
-f 1724//140 1708//140 1742//140
-s 160
-f 1730//2774 1724//2769 1742//2775 1777//2796
-f 1729//2773 1730//2774 1777//2796 1767//2786
-f 1728//2772 1729//2773 1767//2786 1770//2789
-f 1727//2771 1728//2772 1770//2789 1771//2790
-f 1726//2770 1727//2771 1771//2790 1773//2792
-g sail4
-s 166
-f 1824//2829 1823//2828 1822//2827 1821//2826 1793//2812 1796//2815 1795//2814 1792//2811 1825//2830
-f 1797//2816 1796//2815 1793//2812 1794//2813
-f 1799//2818 1798//2817 1795//2814 1796//2815
-f 1800//2819 1799//2818 1796//2815 1797//2816
-f 1802//2821 1801//2820 1798//2817 1799//2818
-f 1803//2822 1802//2821 1799//2818 1800//2819
-f 1805//2824 1804//2823 1801//2820 1802//2821
-f 1806//2825 1805//2824 1802//2821 1803//2822
-s 167
-f 1808//2930 1807//2929 1804//2926 1805//2927
-f 1809//2931 1808//2930 1805//2927 1806//2928
-f 1811//2933 1810//2932 1807//2929 1808//2930
-f 1812//2934 1811//2933 1808//2930 1809//2931
-f 1814//2936 1816//2938 1817//2939 1818//2940 1819//2941 1820//2942 1813//2935 1810//2932 1811//2933
-f 1815//2937 1814//2936 1811//2933 1812//2934
-f 1794//2925 1793//2924 1814//2936 1815//2937
-s off
-f 1815//141 1812//141 1809//141 1806//141 1803//141 1800//141 1797//141 1794//141
-s 166
-f 1826//2831 1827//2832 1825//2830 1792//2811
-f 1827//2832 1828//2833 1824//2829 1825//2830
-f 1828//2833 1829//2834 1823//2828 1824//2829
-f 1829//2834 1830//2835 1822//2827 1823//2828
-f 1830//2835 1831//2836 1821//2826 1822//2827
-f 1832//2837 1793//2812 1831//2836
-f 1833//2838 1834//2839 1827//2832 1826//2831
-f 1834//2839 1835//2840 1828//2833 1827//2832
-f 1835//2840 1836//2841 1829//2834 1828//2833
-f 1836//2841 1830//2835 1829//2834
-f 1837//2842 1831//2836 1830//2835
-f 1838//2843 1839//2844 1832//2837 1831//2836
-f 1840//2845 1841//2846 1834//2839 1833//2838
-f 1841//2846 1842//2847 1835//2840 1834//2839
-f 1842//2847 1843//2848 1836//2841 1835//2840
-f 1843//2848 1837//2842 1836//2841
-f 1844//2849 1845//2850 1838//2843 1837//2842
-f 1845//2850 1846//2851 1839//2844 1838//2843
-f 1847//2852 1848//2853 1841//2846 1840//2845
-f 1848//2853 1849//2854 1842//2847 1841//2846
-f 1849//2854 1850//2855 1843//2848 1842//2847
-f 1850//2855 1851//2856 1844//2849 1843//2848
-f 1851//2856 1852//2857 1845//2850 1844//2849
-f 1852//2857 1853//2858 1846//2851 1845//2850
-f 1854//2859 1855//2860 1848//2853 1847//2852
-f 1855//2860 1856//2861 1849//2854 1848//2853
-f 1856//2861 1857//2862 1850//2855 1849//2854
-f 1857//2862 1858//2863 1851//2856 1850//2855
-f 1858//2863 1859//2864 1852//2857 1851//2856
-f 1859//2864 1860//2865 1853//2858 1852//2857
-f 1861//2866 1862//2867 1855//2860 1854//2859
-f 1862//2867 1863//2868 1856//2861 1855//2860
-f 1863//2868 1864//2869 1857//2862 1856//2861
-f 1864//2869 1865//2870 1858//2863 1857//2862
-f 1865//2870 1866//2871 1859//2864 1858//2863
-f 1866//2871 1867//2872 1859//2864
-f 1821//2826 1831//2836 1793//2812
-f 1838//2843 1831//2836 1837//2842
-f 1837//2842 1830//2835 1836//2841
-f 1844//2849 1837//2842 1843//2848
-f 1867//2872 1860//2865 1859//2864
-s 168
-f 1871//2980 1870//2979 1869//2978 1868//2977
-f 1870//2979 1873//2982 1872//2981 1869//2978
-f 1873//2982 1875//2984 1874//2983 1872//2981
-f 1875//2984 1876//2985 1874//2983
-f 1876//2985 1878//2987 1877//2986
-f 1878//2987 1832//2965 1839//2966 1879//2988
-f 1868//2977 1869//2978 1881//2990 1880//2989
-f 1869//2978 1872//2981 1882//2991 1881//2990
-f 1872//2981 1874//2983 1883//2992 1882//2991
-f 1874//2983 1877//2986 1883//2992
-f 1877//2986 1879//2988 1885//2994 1884//2993
-f 1879//2988 1839//2966 1846//2967 1885//2994
-f 1880//2989 1881//2990 1887//2996 1886//2995
-f 1881//2990 1882//2991 1888//2997 1887//2996
-f 1882//2991 1883//2992 1889//2998 1888//2997
-f 1883//2992 1884//2993 1890//2999 1889//2998
-f 1884//2993 1885//2994 1891//3000 1890//2999
-f 1885//2994 1846//2967 1853//2968 1891//3000
-f 1886//2995 1887//2996 1893//3002 1892//3001
-f 1887//2996 1888//2997 1894//3003 1893//3002
-f 1888//2997 1889//2998 1895//3004 1894//3003
-f 1889//2998 1890//2999 1896//3005 1895//3004
-f 1890//2999 1891//3000 1897//3006 1896//3005
-f 1891//3000 1853//2968 1860//2969 1897//3006
-f 1892//3001 1893//3002 1862//2971 1861//2970
-f 1893//3002 1894//3003 1863//2972 1862//2971
-f 1894//3003 1895//3004 1864//2973 1863//2972
-f 1895//3004 1896//3005 1865//2974 1864//2973
-f 1896//3005 1897//3006 1866//2975 1865//2974
-f 1897//3006 1867//2976 1866//2975
-f 1877//2986 1878//2987 1879//2988
-f 1874//2983 1876//2985 1877//2986
-f 1883//2992 1877//2986 1884//2993
-f 1897//3006 1860//2969 1867//2976
-f 1814//2959 1832//2965 1878//2987 1816//2960
-f 1870//2979 1871//2980 1813//2958 1820//2964
-f 1873//2982 1870//2979 1820//2964 1819//2963
-f 1875//2984 1873//2982 1819//2963 1818//2962
-f 1876//2985 1875//2984 1818//2962 1817//2961
-f 1878//2987 1876//2985 1817//2961 1816//2960
-s off
-f 1814//142 1793//142 1832//142
-s 166
-f 1904//2879 1792//2811 1795//2814 1903//2878 1902//2877 1901//2876 1900//2875 1899//2874 1898//2873
-f 1906//2881 1902//2877 1903//2878 1905//2880
-f 1903//2878 1795//2814 1798//2817 1907//2882
-f 1905//2880 1903//2878 1907//2882 1908//2883
-f 1907//2882 1798//2817 1801//2820 1909//2884
-f 1908//2883 1907//2882 1909//2884 1910//2885
-f 1909//2884 1801//2820 1804//2823 1911//2886
-f 1910//2885 1909//2884 1911//2886 1912//2887
-s 167
-f 1911//2945 1804//2926 1807//2929 1913//2947
-f 1912//2946 1911//2945 1913//2947 1914//2948
-f 1913//2947 1807//2929 1810//2932 1915//2949
-f 1914//2948 1913//2947 1915//2949 1916//2950
-f 1915//2949 1810//2932 1813//2935 1922//2956 1921//2955 1920//2954 1919//2953 1918//2952 1917//2951
-f 1916//2950 1915//2949 1917//2951 1923//2957
-f 1923//2957 1917//2951 1902//2943 1906//2944
-s off
-f 1906//143 1905//143 1908//143 1910//143 1912//143 1914//143 1916//143 1923//143
-s 166
-f 1792//2811 1904//2879 1924//2888 1826//2831
-f 1904//2879 1898//2873 1925//2889 1924//2888
-f 1898//2873 1899//2874 1926//2890 1925//2889
-f 1899//2874 1900//2875 1927//2891 1926//2890
-f 1900//2875 1901//2876 1928//2892 1927//2891
-f 1928//2892 1902//2877 1929//2893
-f 1826//2831 1924//2888 1930//2894 1833//2838
-f 1924//2888 1925//2889 1931//2895 1930//2894
-f 1925//2889 1926//2890 1932//2896 1931//2895
-f 1926//2890 1927//2891 1932//2896
-f 1927//2891 1928//2892 1933//2897
-f 1928//2892 1929//2893 1935//2899 1934//2898
-f 1833//2838 1930//2894 1936//2900 1840//2845
-f 1930//2894 1931//2895 1937//2901 1936//2900
-f 1931//2895 1932//2896 1938//2902 1937//2901
-f 1932//2896 1933//2897 1938//2902
-f 1933//2897 1934//2898 1940//2904 1939//2903
-f 1934//2898 1935//2899 1941//2905 1940//2904
-f 1840//2845 1936//2900 1942//2906 1847//2852
-f 1936//2900 1937//2901 1943//2907 1942//2906
-f 1937//2901 1938//2902 1944//2908 1943//2907
-f 1938//2902 1939//2903 1945//2909 1944//2908
-f 1939//2903 1940//2904 1946//2910 1945//2909
-f 1940//2904 1941//2905 1947//2911 1946//2910
-f 1847//2852 1942//2906 1948//2912 1854//2859
-f 1942//2906 1943//2907 1949//2913 1948//2912
-f 1943//2907 1944//2908 1950//2914 1949//2913
-f 1944//2908 1945//2909 1951//2915 1950//2914
-f 1945//2909 1946//2910 1952//2916 1951//2915
-f 1946//2910 1947//2911 1953//2917 1952//2916
-f 1854//2859 1948//2912 1954//2918 1861//2866
-f 1948//2912 1949//2913 1955//2919 1954//2918
-f 1949//2913 1950//2914 1956//2920 1955//2919
-f 1950//2914 1951//2915 1957//2921 1956//2920
-f 1951//2915 1952//2916 1958//2922 1957//2921
-f 1952//2916 1959//2923 1958//2922
-f 1902//2877 1928//2892 1901//2876
-f 1933//2897 1928//2892 1934//2898
-f 1932//2896 1927//2891 1933//2897
-f 1938//2902 1933//2897 1939//2903
-f 1952//2916 1953//2917 1959//2923
-s 168
-f 1868//2977 1961//3025 1960//3024 1871//2980
-f 1961//3025 1963//3027 1962//3026 1960//3024
-f 1963//3027 1965//3029 1964//3028 1962//3026
-f 1965//3029 1966//3030 1964//3028
-f 1968//3032 1967//3031 1966//3030
-f 1969//3033 1935//3014 1929//3013 1967//3031
-f 1880//2989 1970//3034 1961//3025 1868//2977
-f 1970//3034 1971//3035 1963//3027 1961//3025
-f 1971//3035 1972//3036 1965//3029 1963//3027
-f 1972//3036 1968//3032 1965//3029
-f 1974//3038 1973//3037 1969//3033 1968//3032
-f 1973//3037 1941//3015 1935//3014 1969//3033
-f 1886//2995 1975//3039 1970//3034 1880//2989
-f 1975//3039 1976//3040 1971//3035 1970//3034
-f 1976//3040 1977//3041 1972//3036 1971//3035
-f 1977//3041 1978//3042 1974//3038 1972//3036
-f 1978//3042 1979//3043 1973//3037 1974//3038
-f 1979//3043 1947//3016 1941//3015 1973//3037
-f 1892//3001 1980//3044 1975//3039 1886//2995
-f 1980//3044 1981//3045 1976//3040 1975//3039
-f 1981//3045 1982//3046 1977//3041 1976//3040
-f 1982//3046 1983//3047 1978//3042 1977//3041
-f 1983//3047 1984//3048 1979//3043 1978//3042
-f 1984//3048 1953//3017 1947//3016 1979//3043
-f 1861//2970 1954//3018 1980//3044 1892//3001
-f 1954//3018 1955//3019 1981//3045 1980//3044
-f 1955//3019 1956//3020 1982//3046 1981//3045
-f 1956//3020 1957//3021 1983//3047 1982//3046
-f 1957//3021 1958//3022 1984//3048 1983//3047
-f 1958//3022 1959//3023 1984//3048
-f 1969//3033 1967//3031 1968//3032
-f 1968//3032 1966//3030 1965//3029
-f 1974//3038 1968//3032 1972//3036
-f 1959//3023 1953//3017 1984//3048
-f 1918//3008 1967//3031 1929//3013 1917//3007
-f 1922//3012 1813//2958 1871//2980 1960//3024
-f 1921//3011 1922//3012 1960//3024 1962//3026
-f 1920//3010 1921//3011 1962//3026 1964//3028
-f 1919//3009 1920//3010 1964//3028 1966//3030
-f 1918//3008 1919//3009 1966//3030 1967//3031
-s off
-f 1929//144 1902//144 1917//144
-g sail6
-s 173
-f 1985//3049 1986//3050 1987//3051 1988//3052
-f 1989//3053 1990//3054 1991//3055 1992//3056 1993//3057 1994//3058 1985//3049 1988//3052 1995//3059
-f 1996//3060 1997//3061 1986//3050 1985//3049
-f 1998//3062 1996//3060 1985//3049 1994//3058
-f 1999//3063 2000//3064 1997//3061 1996//3060
-f 2001//3065 1999//3063 1996//3060 1998//3062
-f 2002//3066 2003//3067 2000//3064 1999//3063
-f 2004//3068 2002//3066 1999//3063 2001//3065
-s 174
-f 2005//3167 2006//3168 2003//3165 2002//3164
-f 2007//3169 2005//3167 2002//3164 2004//3166
-f 2008//3170 2009//3171 2006//3168 2005//3167
-f 2010//3172 2008//3170 2005//3167 2007//3169
-f 2011//3173 2012//3174 2009//3171 2008//3170
-f 2013//3175 2014//3176 2015//3177 2016//3178 2017//3179 2018//3180 2011//3173 2008//3170 2010//3172
-f 1988//3163 1987//3162 2012//3174 2011//3173
-s off
-f 1986//145 1997//145 2000//145 2003//145 2006//145 2009//145 2012//145 1987//145
-s 173
-f 2019//3069 1995//3059 1988//3052
-f 2019//3069 2020//3070 1989//3053 1995//3059
-f 2020//3070 2021//3071 1990//3054 1989//3053
-f 2021//3071 2022//3072 1991//3055 1990//3054
-f 2022//3072 2023//3073 1992//3056 1991//3055
-f 2023//3073 2024//3074 1993//3057 1992//3056
-f 2025//3075 2026//3076 2020//3070
-f 2026//3076 2027//3077 2022//3072 2021//3071
-f 2027//3077 2028//3078 2023//3073 2022//3072
-f 2028//3078 2029//3079 2024//3074 2023//3073
-f 2030//3080 2031//3081 2028//3078 2027//3077
-f 2031//3081 2032//3082 2029//3079 2028//3078
-f 2033//3083 2019//3069 1988//3052
-f 2020//3070 2019//3069 2025//3075
-f 2021//3071 2020//3070 2026//3076
-f 2034//3084 2035//3085 2019//3069 2033//3083
-f 2035//3085 2025//3075 2019//3069
-f 2036//3086 2037//3087 2035//3085 2034//3084
-f 2037//3087 2038//3088 2025//3075 2035//3085
-f 2038//3088 2039//3089 2025//3075
-f 2039//3089 2030//3080 2027//3077 2026//3076
-f 2040//3090 2041//3091 2037//3087 2036//3086
-f 2041//3091 2042//3092 2038//3088 2037//3087
-f 2042//3092 2043//3093 2039//3089 2038//3088
-f 2043//3093 2044//3094 2030//3080 2039//3089
-f 2044//3094 2045//3095 2031//3081 2030//3080
-f 2045//3095 2046//3096 2032//3082 2031//3081
-f 2047//3097 2048//3098 2041//3091 2040//3090
-f 2048//3098 2049//3099 2042//3092 2041//3091
-f 2049//3099 2050//3100 2043//3093 2042//3092
-f 2050//3100 2051//3101 2044//3094 2043//3093
-f 2051//3101 2052//3102 2045//3095 2044//3094
-f 2052//3102 2053//3103 2046//3096 2045//3095
-f 2054//3104 2055//3105 2048//3098 2047//3097
-f 2055//3105 2056//3106 2049//3099 2048//3098
-f 2056//3106 2057//3107 2050//3100 2049//3099
-f 2057//3107 2058//3108 2051//3101 2050//3100
-f 2058//3108 2059//3109 2052//3102 2051//3101
-f 2059//3109 2060//3110 2053//3103 2052//3102
-f 2026//3076 2025//3075 2039//3089
-s 175
-f 2061//3215 2062//3216 2063//3217
-f 2064//3218 2065//3219 2066//3220 2062//3216
-f 2065//3219 2067//3221 2068//3222 2066//3220
-f 2067//3221 2069//3223 2070//3224 2068//3222
-f 2066//3220 2068//3222 2071//3225 2072//3226
-f 2068//3222 2070//3224 2073//3227 2071//3225
-f 2063//3217 2074//3228 2061//3215
-f 2062//3216 2061//3215 2064//3218
-f 2033//3203 2074//3228 2075//3229 2034//3204
-f 2074//3228 2063//3217 2075//3229
-f 2034//3204 2075//3229 2076//3230 2036//3205
-f 2075//3229 2063//3217 2077//3231 2076//3230
-f 2063//3217 2078//3232 2077//3231
-f 2062//3216 2066//3220 2072//3226 2078//3232
-f 2036//3205 2076//3230 2079//3233 2040//3206
-f 2076//3230 2077//3231 2080//3234 2079//3233
-f 2077//3231 2078//3232 2081//3235 2080//3234
-f 2078//3232 2072//3226 2082//3236 2081//3235
-f 2072//3226 2071//3225 2083//3237 2082//3236
-f 2071//3225 2073//3227 2084//3238 2083//3237
-f 2040//3206 2079//3233 2085//3239 2047//3207
-f 2079//3233 2080//3234 2086//3240 2085//3239
-f 2080//3234 2081//3235 2087//3241 2086//3240
-f 2081//3235 2082//3236 2088//3242 2087//3241
-f 2082//3236 2083//3237 2089//3243 2088//3242
-f 2083//3237 2084//3238 2090//3244 2089//3243
-f 2047//3207 2085//3239 2055//3209 2054//3208
-f 2085//3239 2086//3240 2056//3210 2055//3209
-f 2086//3240 2087//3241 2057//3211 2056//3210
-f 2087//3241 2088//3242 2058//3212 2057//3211
-f 2088//3242 2089//3243 2059//3213 2058//3212
-f 2089//3243 2090//3244 2060//3214 2059//3213
-f 2078//3232 2063//3217 2062//3216
-f 2069//3223 2067//3221 2014//3198 2013//3197
-s off
-f 2033//146 1988//146 2011//146
-s 175
-f 2074//3228 2033//3203 2011//3196 2018//3202
-f 2061//3215 2074//3228 2018//3202 2017//3201
-f 2064//3218 2061//3215 2017//3201 2016//3200
-f 2065//3219 2064//3218 2016//3200 2015//3199
-f 2067//3221 2065//3219 2015//3199 2014//3198
-s 173
-f 2091//3111 2092//3112 2093//3113 2094//3114
-f 2095//3115 2091//3111 2094//3114 1994//3058 1993//3057 2096//3116 2097//3117 2098//3118 2099//3119
-f 2094//3114 2093//3113 2100//3120 2101//3121
-f 1994//3058 2094//3114 2101//3121 1998//3062
-f 2101//3121 2100//3120 2102//3122 2103//3123
-f 1998//3062 2101//3121 2103//3123 2001//3065
-f 2103//3123 2102//3122 2104//3124 2105//3125
-f 2001//3065 2103//3123 2105//3125 2004//3068
-s 174
-f 2105//3184 2104//3183 2106//3185 2107//3186
-f 2004//3166 2105//3184 2107//3186 2007//3169
-f 2107//3186 2106//3185 2108//3187 2109//3188
-f 2007//3169 2107//3186 2109//3188 2010//3172
-f 2109//3188 2108//3187 2110//3189 2111//3190
-f 2010//3172 2109//3188 2111//3190 2112//3191 2113//3192 2114//3193 2115//3194 2116//3195 2013//3175
-f 2111//3190 2110//3189 2092//3182 2091//3181
-s off
-f 2092//147 2110//147 2108//147 2106//147 2104//147 2102//147 2100//147 2093//147
-s 173
-f 2091//3111 2095//3115 2117//3126
-f 2095//3115 2099//3119 2118//3127 2117//3126
-f 2099//3119 2098//3118 2119//3128 2118//3127
-f 2098//3118 2097//3117 2120//3129 2119//3128
-f 2097//3117 2096//3116 2121//3130 2120//3129
-f 2096//3116 1993//3057 2024//3074 2121//3130
-f 2118//3127 2122//3131 2123//3132
-f 2119//3128 2120//3129 2124//3133 2122//3131
-f 2120//3129 2121//3130 2125//3134 2124//3133
-f 2121//3130 2024//3074 2029//3079 2125//3134
-f 2124//3133 2125//3134 2126//3135 2127//3136
-f 2125//3134 2029//3079 2032//3082 2126//3135
-f 2091//3111 2117//3126 2128//3137
-f 2123//3132 2117//3126 2118//3127
-f 2122//3131 2118//3127 2119//3128
-f 2128//3137 2117//3126 2129//3138 2130//3139
-f 2117//3126 2123//3132 2129//3138
-f 2130//3139 2129//3138 2131//3140 2132//3141
-f 2129//3138 2123//3132 2133//3142 2131//3140
-f 2123//3132 2134//3143 2133//3142
-f 2122//3131 2124//3133 2127//3136 2134//3143
-f 2132//3141 2131//3140 2135//3144 2136//3145
-f 2131//3140 2133//3142 2137//3146 2135//3144
-f 2133//3142 2134//3143 2138//3147 2137//3146
-f 2134//3143 2127//3136 2139//3148 2138//3147
-f 2127//3136 2126//3135 2140//3149 2139//3148
-f 2126//3135 2032//3082 2046//3096 2140//3149
-f 2136//3145 2135//3144 2141//3150 2142//3151
-f 2135//3144 2137//3146 2143//3152 2141//3150
-f 2137//3146 2138//3147 2144//3153 2143//3152
-f 2138//3147 2139//3148 2145//3154 2144//3153
-f 2139//3148 2140//3149 2146//3155 2145//3154
-f 2140//3149 2046//3096 2053//3103 2146//3155
-f 2142//3151 2141//3150 2147//3156 2148//3157
-f 2141//3150 2143//3152 2149//3158 2147//3156
-f 2143//3152 2144//3153 2150//3159 2149//3158
-f 2144//3153 2145//3154 2151//3160 2150//3159
-f 2145//3154 2146//3155 2152//3161 2151//3160
-f 2146//3155 2053//3103 2060//3110 2152//3161
-f 2134//3143 2123//3132 2122//3131
-s 175
-f 2153//3262 2154//3263 2155//3264
-f 2154//3263 2156//3265 2157//3266 2158//3267
-f 2156//3265 2159//3268 2160//3269 2157//3266
-f 2159//3268 2070//3224 2069//3223 2160//3269
-f 2161//3270 2162//3271 2159//3268 2156//3265
-f 2162//3271 2073//3227 2070//3224 2159//3268
-f 2155//3264 2163//3272 2153//3262
-f 2158//3267 2155//3264 2154//3263
-f 2130//3252 2164//3273 2163//3272 2128//3251
-f 2164//3273 2153//3262 2163//3272
-f 2132//3253 2165//3274 2164//3273 2130//3252
-f 2165//3274 2166//3275 2153//3262 2164//3273
-f 2166//3275 2167//3276 2153//3262
-f 2167//3276 2161//3270 2156//3265 2154//3263
-f 2136//3254 2168//3277 2165//3274 2132//3253
-f 2168//3277 2169//3278 2166//3275 2165//3274
-f 2169//3278 2170//3279 2167//3276 2166//3275
-f 2170//3279 2171//3280 2161//3270 2167//3276
-f 2171//3280 2172//3281 2162//3271 2161//3270
-f 2172//3281 2084//3238 2073//3227 2162//3271
-f 2142//3255 2173//3282 2168//3277 2136//3254
-f 2173//3282 2174//3283 2169//3278 2168//3277
-f 2174//3283 2175//3284 2170//3279 2169//3278
-f 2175//3284 2176//3285 2171//3280 2170//3279
-f 2176//3285 2177//3286 2172//3281 2171//3280
-f 2177//3286 2090//3244 2084//3238 2172//3281
-f 2148//3257 2147//3256 2173//3282 2142//3255
-f 2147//3256 2149//3258 2174//3283 2173//3282
-f 2149//3258 2150//3259 2175//3284 2174//3283
-f 2150//3259 2151//3260 2176//3285 2175//3284
-f 2151//3260 2152//3261 2177//3286 2176//3285
-f 2152//3261 2060//3214 2090//3244 2177//3286
-f 2154//3263 2153//3262 2167//3276
-f 2013//3197 2116//3250 2160//3269 2069//3223
-s off
-f 2111//148 2091//148 2128//148
-s 175
-f 2112//3246 2111//3245 2128//3251 2163//3272
-f 2113//3247 2112//3246 2163//3272 2155//3264
-f 2114//3248 2113//3247 2155//3264 2158//3267
-f 2115//3249 2114//3248 2158//3267 2157//3266
-f 2116//3250 2115//3249 2157//3266 2160//3269
-g sail3
-s 181
-f 2181//3290 2180//3289 2179//3288 2178//3287
-f 2187//3296 2184//3293 2185//3294 2186//3295
-f 2178//3287 2179//3288 2189//3298 2188//3297
-f 2183//3292 2178//3287 2188//3297 2190//3299
-f 2185//3294 2183//3292 2190//3299 2191//3300
-f 2186//3295 2185//3294 2191//3300 2192//3301
-f 2188//3297 2189//3298 2194//3303 2193//3302
-f 2190//3299 2188//3297 2193//3302 2195//3304
-f 2191//3300 2190//3299 2195//3304 2196//3305
-f 2192//3301 2191//3300 2196//3305 2197//3306
-f 2193//3302 2194//3303 2199//3308 2198//3307
-f 2195//3304 2193//3302 2198//3307 2200//3309
-f 2196//3305 2195//3304 2200//3309 2201//3310
-f 2197//3306 2196//3305 2201//3310 2202//3311
-s 182
-f 2198//3317 2199//3318 2204//3323 2203//3322
-f 2200//3319 2198//3317 2203//3322 2205//3324
-f 2201//3320 2200//3319 2205//3324 2206//3325
-f 2202//3321 2201//3320 2206//3325 2207//3326
-f 2203//3322 2204//3323 2209//3328 2208//3327
-f 2207//3326 2206//3325 2211//3330 2212//3331
-f 2208//3327 2209//3328 2214//3333 2213//3332
-f 2212//3331 2211//3330 2216//3335 2217//3336
-f 2213//3332 2214//3333 2180//3312 2181//3313
-f 2217//3336 2216//3335 2184//3315 2187//3316
-s off
-f 2180//149 2214//149 2209//149 2204//149 2199//149 2194//149 2189//149 2179//149
-f 2187//150 2186//150 2192//150 2197//150 2202//150 2207//150 2212//150 2217//150
-s 182
-f 2213//3332 2181//3313 2182//3314 2215//3334
-f 2182//3314 2184//3315 2216//3335 2215//3334
-f 2231//3350 2241//3360 2233//3352 2218//3337
-f 2231//3350 2226//3345 2242//3361 2241//3360
-f 2242//3361 2226//3345 2230//3349
-f 2230//3349 2225//3344 2246//3365 2245//3364
-f 2245//3364 2244//3363 2242//3361 2230//3349
-f 2242//3361 2244//3363 2243//3362 2241//3360
-f 2233//3352 2241//3360 2243//3362 2232//3351
-f 2232//3351 2243//3362 2235//3354 2234//3353
-f 2235//3354 2243//3362 2244//3363 2236//3355
-f 2236//3355 2244//3363 2245//3364 2237//3356
-f 2237//3356 2245//3364 2246//3365 2238//3357
-f 2239//3358 2229//3348 2227//3346 2240//3359
-f 2240//3359 2227//3346 2228//3347
-f 2228//3347 2208//3327 2224//3343
-f 2224//3343 2222//3341 2240//3359 2228//3347
-f 2222//3341 2223//3342 2239//3358 2240//3359
-f 2239//3358 2223//3342 2210//3329 2238//3357
-f 2238//3357 2210//3329 2221//3340 2237//3356
-f 2237//3356 2221//3340 2219//3338 2236//3355
-f 2236//3355 2219//3338 2220//3339 2235//3354
-f 2235//3354 2220//3339 2211//3330 2234//3353
-f 2246//3365 2225//3344 2229//3348
-f 2229//3348 2239//3358 2238//3357 2246//3365
-f 2218//3337 2233//3352 2247//3366 2231//3350
-f 2247//3366 2248//3367 2226//3345 2231//3350
-f 2230//3349 2226//3345 2248//3367
-f 2249//3368 2250//3369 2225//3344 2230//3349
-f 2230//3349 2248//3367 2251//3370 2249//3368
-f 2247//3366 2252//3371 2251//3370 2248//3367
-f 2232//3351 2252//3371 2247//3366 2233//3352
-f 2234//3353 2253//3372 2252//3371 2232//3351
-f 2254//3373 2251//3370 2252//3371 2253//3372
-f 2255//3374 2249//3368 2251//3370 2254//3373
-f 2256//3375 2250//3369 2249//3368 2255//3374
-f 2257//3376 2227//3346 2229//3348 2258//3377
-f 2228//3347 2227//3346 2257//3376
-f 2229//3348 2225//3344 2250//3369
-f 2250//3369 2256//3375 2258//3377 2229//3348
-f 2228//3347 2257//3376 2258//3377 2205//3324 2203//3322
-f 2253//3372 2234//3353 2206//3325
-f 2255//3374 2254//3373 2253//3372 2206//3325 2205//3324
-f 2256//3375 2255//3374 2205//3324
-f 2258//3377 2256//3375 2205//3324
-f 2234//3353 2211//3330 2206//3325
-f 2228//3347 2203//3322 2208//3327
-s 181
-f 2182//3291 2181//3290 2178//3287 2183//3292
-f 2185//3294 2184//3293 2182//3291 2183//3292
-s 182
-f 2210//3329 2223//3342 2222//3341 2224//3343 2208//3327 2213//3332 2215//3334
-f 2210//3329 2215//3334 2216//3335 2211//3330 2220//3339 2219//3338 2221//3340
-g mast2
-s 1
-f 33//192 34//193 2259//200 31//191
-s 2
-f 34//206 35//207 2260//215 2259//214
-s 3
-f 35//222 36//223 2261//231 2260//230
-s 4
-f 36//238 37//239 2262//247 2261//246
-s 5
-f 37//258 38//259 2263//281 2262//280
-f 38//259 39//260 2265//283 2264//282 2263//281
-f 39//260 40//261 2266//284 2265//283
-s 6
-f 40//298 41//299 2267//307 2266//306
-s 7
-f 41//314 42//315 2268//323 2267//322
-s 8
-f 42//330 43//331 2269//339 2268//338
-s 9
-f 43//346 44//347 2270//355 2269//354
-s 10
-f 44//362 45//363 2271//371 2270//370
-s 11
-f 45//380 46//381 32//379 2271//388
-s 1
-f 31//191 2259//200 2272//201 29//190
-s 2
-f 2259//214 2260//215 2273//217 2272//216
-s 3
-f 2260//230 2261//231 2274//233 2273//232
-s 4
-f 2261//246 2262//247 2275//249 2274//248
-s 5
-f 2262//280 2263//281 2278//288 2277//287 2276//286 2275//285
-s off
-f 2282//151 2281//151 2280//151 2279//151
-s 5
-f 2265//283 2266//284 2284//290 2283//289
-s 6
-f 2266//306 2267//307 2285//309 2284//308
-s 7
-f 2267//322 2268//323 2286//325 2285//324
-s 8
-f 2268//338 2269//339 2287//341 2286//340
-s 9
-f 2269//354 2270//355 2288//357 2287//356
-s 10
-f 2270//370 2271//371 2289//373 2288//372
-s 11
-f 2271//388 32//379 30//378 2289//389
-s 1
-f 29//190 2272//201 16//189 15//188
-s 2
-f 2272//216 2273//217 17//205 16//204
-s 3
-f 2273//232 2274//233 18//221 17//220
-s 4
-f 2274//248 2275//249 19//237 18//236
-s 5
-f 2275//285 2276//286 20//255 19//254
-f 2276//286 2290//291 2283//289 21//256 20//255
-f 2283//289 2284//290 22//257 21//256
-s 6
-f 2284//308 2285//309 23//297 22//296
-s 7
-f 2285//324 2286//325 24//313 23//312
-s 8
-f 2286//340 2287//341 25//329 24//328
-s 9
-f 2287//356 2288//357 26//345 25//344
-s 10
-f 2288//372 2289//373 27//361 26//360
-s 11
-f 2289//389 30//378 28//377 27//376
-s 5
-f 2292//293 2291//292 2264//282 2265//283 2283//289 2290//291
-s off
-f 2296//152 2295//152 2294//152 2293//152
-f 2300//153 2299//153 2298//153 2297//153
-f 2264//154 2291//154 2293//154 2294//154
-f 2291//155 2278//155 2296//155 2293//155
-f 2278//156 2263//156 2295//156 2296//156
-f 2263//157 2264//157 2294//157 2295//157
-f 2276//158 2277//158 2279//158 2280//158
-f 2277//159 2292//159 2282//159 2279//159
-f 2292//160 2290//160 2281//160 2282//160
-f 2290//161 2276//161 2280//161 2281//161
-f 2277//162 2278//162 2297//162 2298//162
-f 2278//163 2291//163 2300//163 2297//163
-f 2291//164 2292//164 2299//164 2300//164
-f 2292//165 2277//165 2298//165 2299//165
-g mast1
-s 63
-f 573//1201 574//1202 2301//1209 571//1200
-s 64
-f 574//1215 575//1216 2302//1224 2301//1223
-s 65
-f 575//1231 576//1232 2303//1240 2302//1239
-s 66
-f 576//1247 577//1248 2304//1256 2303//1255
-s 67
-f 577//1267 578//1268 2305//1288 2304//1287
-f 578//1268 579//1269 2307//1290 2306//1289 2305//1288
-f 579//1269 580//1270 2308//1291 2307//1290
-s 68
-f 580//1303 581//1304 2309//1312 2308//1311
-s 69
-f 581//1319 582//1320 2310//1328 2309//1327
-s 70
-f 582//1335 583//1336 2311//1344 2310//1343
-s 71
-f 583//1351 584//1352 2312//1360 2311//1359
-s 72
-f 584//1367 585//1368 2313//1376 2312//1375
-s 73
-f 585//1385 586//1386 572//1384 2313//1393
-s 63
-f 571//1200 2301//1209 2314//1210 569//1199
-s 64
-f 2301//1223 2302//1224 2315//1226 2314//1225
-s 65
-f 2302//1239 2303//1240 2316//1242 2315//1241
-s 66
-f 2303//1255 2304//1256 2317//1258 2316//1257
-s 67
-f 2304//1287 2305//1288 2319//1294 2318//1293 2317//1292
-f 2322//1297 2306//1289 2307//1290 2321//1296 2320//1295
-f 2307//1290 2308//1291 2323//1298 2321//1296
-s 68
-f 2308//1311 2309//1312 2324//1314 2323//1313
-s 69
-f 2309//1327 2310//1328 2325//1330 2324//1329
-s 70
-f 2310//1343 2311//1344 2326//1346 2325//1345
-s 71
-f 2311//1359 2312//1360 2327//1362 2326//1361
-s 72
-f 2312//1375 2313//1376 2328//1378 2327//1377
-s 73
-f 2313//1393 572//1384 570//1383 2328//1394
-s 63
-f 569//1199 2314//1210 556//1198 555//1197
-s 64
-f 2314//1225 2315//1226 557//1214 556//1213
-s 65
-f 2315//1241 2316//1242 558//1230 557//1229
-s 66
-f 2316//1257 2317//1258 559//1246 558//1245
-s 67
-f 2317//1292 2318//1293 560//1264 559//1263
-f 2318//1293 2320//1295 2321//1296 561//1265 560//1264
-f 2321//1296 2323//1298 562//1266 561//1265
-s 68
-f 2323//1313 2324//1314 563//1302 562//1301
-s 69
-f 2324//1329 2325//1330 564//1318 563//1317
-s 70
-f 2325//1345 2326//1346 565//1334 564//1333
-s 71
-f 2326//1361 2327//1362 566//1350 565//1349
-s 72
-f 2327//1377 2328//1378 567//1366 566//1365
-s 73
-f 2328//1394 570//1383 568//1382 567//1381
-s off
-f 2332//166 2331//166 2330//166 2329//166
-f 2336//167 2335//167 2334//167 2333//167
-f 2318//168 2319//168 2333//168 2334//168
-f 2319//169 2322//169 2336//169 2333//169
-f 2322//170 2320//170 2335//170 2336//170
-f 2320//171 2318//171 2334//171 2335//171
-f 2305//172 2306//172 2329//172 2330//172
-f 2306//173 2322//173 2332//173 2329//173
-f 2322//174 2319//174 2331//174 2332//174
-f 2319//175 2305//175 2330//175 2331//175
-g mast3
-s 83
-f 673//1401 674//1402 2337//1409 671//1400
-s 84
-f 674//1415 675//1416 2338//1424 2337//1423
-s 85
-f 675//1431 676//1432 2339//1440 2338//1439
-s 86
-f 676//1447 677//1448 2340//1456 2339//1455
-s 87
-f 677//1467 678//1468 2341//1488 2340//1487
-f 678//1468 679//1469 2343//1490 2342//1489 2341//1488
-f 679//1469 680//1470 2344//1491 2343//1490
-s 88
-f 680//1503 681//1504 2345//1512 2344//1511
-s 89
-f 681//1519 682//1520 2346//1528 2345//1527
-s 90
-f 682//1535 683//1536 2347//1544 2346//1543
-s 91
-f 683//1551 684//1552 2348//1560 2347//1559
-s 92
-f 684//1567 685//1568 2349//1576 2348//1575
-s 93
-f 685//1585 686//1586 672//1584 2349//1593
-s 83
-f 671//1400 2337//1409 2350//1410 669//1399
-s 84
-f 2337//1423 2338//1424 2351//1426 2350//1425
-s 85
-f 2338//1439 2339//1440 2352//1442 2351//1441
-s 86
-f 2339//1455 2340//1456 2353//1458 2352//1457
-s 87
-f 2340//1487 2341//1488 2355//1494 2354//1493 2353//1492
-f 2358//1497 2342//1489 2343//1490 2357//1496 2356//1495
-f 2343//1490 2344//1491 2359//1498 2357//1496
-s 88
-f 2344//1511 2345//1512 2360//1514 2359//1513
-s 89
-f 2345//1527 2346//1528 2361//1530 2360//1529
-s 90
-f 2346//1543 2347//1544 2362//1546 2361//1545
-s 91
-f 2347//1559 2348//1560 2363//1562 2362//1561
-s 92
-f 2348//1575 2349//1576 2364//1578 2363//1577
-s 93
-f 2349//1593 672//1584 670//1583 2364//1594
-s 83
-f 669//1399 2350//1410 656//1398 655//1397
-s 84
-f 2350//1425 2351//1426 657//1414 656//1413
-s 85
-f 2351//1441 2352//1442 658//1430 657//1429
-s 86
-f 2352//1457 2353//1458 659//1446 658//1445
-s 87
-f 2353//1492 2354//1493 660//1464 659//1463
-f 2354//1493 2356//1495 2357//1496 661//1465 660//1464
-f 2357//1496 2359//1498 662//1466 661//1465
-s 88
-f 2359//1513 2360//1514 663//1502 662//1501
-s 89
-f 2360//1529 2361//1530 664//1518 663//1517
-s 90
-f 2361//1545 2362//1546 665//1534 664//1533
-s 91
-f 2362//1561 2363//1562 666//1550 665//1549
-s 92
-f 2363//1577 2364//1578 667//1566 666//1565
-s 93
-f 2364//1594 670//1583 668//1582 667//1581
-s off
-f 2368//176 2367//176 2366//176 2365//176
-f 2372//177 2371//177 2370//177 2369//177
-f 2354//178 2355//178 2369//178 2370//178
-f 2355//179 2358//179 2372//179 2369//179
-f 2358//180 2356//180 2371//180 2372//180
-f 2356//181 2354//181 2370//181 2371//181
-f 2341//182 2342//182 2365//182 2366//182
-f 2342//183 2358//183 2368//183 2365//183
-f 2358//184 2355//184 2367//184 2368//184
-f 2355//185 2341//185 2366//185 2367//185
-g deck
-s 23
-f 937//818 280//595 277//592
-f 277//592 280//595 279//594
-# 2384 elements
diff --git a/src/OffScreenCanvas3D/OffScreenCanvas3D.java b/src/OffScreenCanvas3D/OffScreenCanvas3D.java
deleted file mode 100644
index 733efa0..0000000
--- a/src/OffScreenCanvas3D/OffScreenCanvas3D.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-import java.awt.image.BufferedImage;
-import java.awt.event.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-
-class OffScreenCanvas3D extends Canvas3D {
-
- Raster drawRaster;
- boolean printing = false;
-
- public OffScreenCanvas3D(GraphicsConfiguration gconfig, boolean offscreenflag,
- Raster drawRaster) {
-
- super(gconfig, offscreenflag);
- this.drawRaster = drawRaster;
- }
-
- public void print(boolean toWait) {
-
- if (!toWait)
- printing = true;
-
- BufferedImage bImage = new BufferedImage(
- 200, 200 , BufferedImage.TYPE_INT_ARGB);
-
- ImageComponent2D buffer = new ImageComponent2D(
- ImageComponent.FORMAT_RGBA, bImage);
- buffer.setCapability(ImageComponent2D.ALLOW_IMAGE_READ);
-
- this.setOffScreenBuffer(buffer);
- this.renderOffScreenBuffer();
-
- if (toWait) {
- this.waitForOffScreenRendering();
- drawOffScreenBuffer();
- }
- }
-
- public void postSwap() {
-
- if (printing) {
- super.postSwap();
- drawOffScreenBuffer();
- printing = false;
- }
- }
-
- void drawOffScreenBuffer() {
-
- BufferedImage bImage = this.getOffScreenBuffer().getImage();
- ImageComponent2D newImageComponent = new ImageComponent2D(
- ImageComponent.FORMAT_RGBA, bImage);
-
- drawRaster.setImage(newImageComponent);
- }
-}
-
diff --git a/src/OffScreenCanvas3D/OffScreenTest.html b/src/OffScreenCanvas3D/OffScreenTest.html
deleted file mode 100644
index 85739cf..0000000
--- a/src/OffScreenCanvas3D/OffScreenTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>OffScreenTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="OffScreenTest.class" width=500 height=500>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/OffScreenCanvas3D/OffScreenTest.java b/src/OffScreenCanvas3D/OffScreenTest.java
deleted file mode 100644
index f4070d8..0000000
--- a/src/OffScreenCanvas3D/OffScreenTest.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.geometry.ColorCube;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.image.BufferedImage;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-/**
- * OffScreenTest issues renderOffScreenBuffer from the postSwap callback
- * of the OnScreen canvas.
- */
-public class OffScreenTest extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(Raster drawRaster)
- {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // spin object has composited transformation matrix
- Transform3D spin = new Transform3D();
- Transform3D tempspin = new Transform3D();
-
- spin.rotX(Math.PI/4.0d);
- tempspin.rotY(Math.PI/5.0d);
- spin.mul(tempspin);
- spin.setScale(0.7);
- spin.setTranslation(new Vector3d(-0.4, 0.3, 0.0));
-
- TransformGroup objTrans = new TransformGroup(spin);
- objRoot.addChild(objTrans);
-
- // Create a simple shape leaf node, add it to the scene graph.
- // ColorCube is a Convenience Utility class
- objTrans.addChild(new ColorCube(0.4));
-
- //Create a raster
- Shape3D shape = new Shape3D(drawRaster);
- objRoot.addChild(shape);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public OffScreenTest ()
- {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- BufferedImage bImage = new BufferedImage(200, 200 ,
- BufferedImage.TYPE_INT_ARGB);
-
- ImageComponent2D buffer =
- new ImageComponent2D(ImageComponent.FORMAT_RGBA, bImage);
- buffer.setCapability(ImageComponent2D.ALLOW_IMAGE_READ);
-
- Raster drawRaster = new Raster(new Point3f(0.0f, 0.0f, 0.0f),
- Raster.RASTER_COLOR,
- 0, 0, 200, 200, buffer, null);
-
- drawRaster.setCapability(Raster.ALLOW_IMAGE_WRITE);
-
- // create the main scene graph
- BranchGroup scene = createSceneGraph(drawRaster);
-
- // create the on-screen canvas
- OnScreenCanvas3D d = new OnScreenCanvas3D(config, false);
- add("Center", d);
-
- // create a simple universe
- u = new SimpleUniverse(d);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- // create an off Screen Canvas
-
- OffScreenCanvas3D c = new OffScreenCanvas3D(config, true, drawRaster);
-
- // set the offscreen to match the onscreen
- Screen3D sOn = d.getScreen3D();
- Screen3D sOff = c.getScreen3D();
- sOff.setSize(sOn.getSize());
- sOff.setPhysicalScreenWidth(sOn.getPhysicalScreenWidth());
- sOff.setPhysicalScreenHeight(sOn.getPhysicalScreenHeight());
-
- // attach the same view to the offscreen canvas
- View v = u.getViewer().getView();
- v.addCanvas3D(c);
-
- // tell onscreen about the offscreen so it knows to
- // render to the offscreen at postswap
- d.setOffScreenCanvas(c);
-
- u.addBranchGraph(scene);
- v.stopView();
- // Make sure that image are render completely
- // before grab it in postSwap().
- d.setImageReady();
- v.startView();
-
- }
-
- public void destroy() {
- u.cleanup();
- }
-
-
- public static void main(String argv[])
- {
- new MainFrame(new OffScreenTest(), 500, 500);
- }
-}
diff --git a/src/OffScreenCanvas3D/OffScreenTest_plugin.html b/src/OffScreenCanvas3D/OffScreenTest_plugin.html
deleted file mode 100644
index afcee8e..0000000
--- a/src/OffScreenCanvas3D/OffScreenTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>OffScreenTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 500 HEIGHT = 500 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "OffScreenTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "OffScreenTest.class" WIDTH = 500 HEIGHT = 500 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "OffScreenTest.class" WIDTH = 500 HEIGHT = 500 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/OffScreenCanvas3D/OnScreenCanvas3D.java b/src/OffScreenCanvas3D/OnScreenCanvas3D.java
deleted file mode 100644
index 92c9171..0000000
--- a/src/OffScreenCanvas3D/OnScreenCanvas3D.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.geometry.ColorCube;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.image.BufferedImage;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-
-class OnScreenCanvas3D extends Canvas3D {
-
- OffScreenCanvas3D c;
- boolean print = false;
- boolean imageReady = false;
-
- public OnScreenCanvas3D(GraphicsConfiguration gconfig, boolean offscreenflag)
- {
- super(gconfig, offscreenflag);
- }
-
- public void setOffScreenCanvas(OffScreenCanvas3D c)
- {
- this.c = c;
- }
-
- public void setImageReady() {
- imageReady = true;
- }
-
- public void postSwap()
- {
- if (imageReady && !print) {
- c.print(false);
- print = true;
- }
- }
-}
diff --git a/src/OffScreenCanvas3D/PrintFromButton.html b/src/OffScreenCanvas3D/PrintFromButton.html
deleted file mode 100644
index f612f5c..0000000
--- a/src/OffScreenCanvas3D/PrintFromButton.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>PrintFromButton</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="PrintFromButton.class" width=500 height=500>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/OffScreenCanvas3D/PrintFromButton.java b/src/OffScreenCanvas3D/PrintFromButton.java
deleted file mode 100644
index 7bf0207..0000000
--- a/src/OffScreenCanvas3D/PrintFromButton.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.geometry.ColorCube;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.image.BufferedImage;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-/**
- * PrintFromButton tests renderOffScreenBuffer from a button
- */
-public class PrintFromButton extends Applet implements ActionListener {
-
- OffScreenCanvas3D c;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(Raster drawRaster)
- {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // spin object has composited transformation matrix
- Transform3D spin = new Transform3D();
- Transform3D tempspin = new Transform3D();
-
- spin.rotX(Math.PI/4.0d);
- tempspin.rotY(Math.PI/5.0d);
- spin.mul(tempspin);
- spin.setScale(0.7);
- spin.setTranslation(new Vector3d(-0.4, 0.3, 0.0));
-
- TransformGroup objTrans = new TransformGroup(spin);
- objRoot.addChild(objTrans);
-
- // Create a simple shape leaf node, add it to the scene graph.
- // ColorCube is a Convenience Utility class
- objTrans.addChild(new ColorCube(0.4));
-
- //Create a raster obj
- Shape3D shape = new Shape3D(drawRaster);
- objRoot.addChild(shape);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public PrintFromButton ()
- {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- BufferedImage bImage = new BufferedImage(200, 200 ,
- BufferedImage.TYPE_INT_ARGB);
-
- ImageComponent2D buffer =
- new ImageComponent2D(ImageComponent.FORMAT_RGBA, bImage);
- buffer.setCapability(ImageComponent2D.ALLOW_IMAGE_READ);
-
- Raster drawRaster = new Raster(new Point3f(0.0f, 0.0f, 0.0f),
- Raster.RASTER_COLOR,
- 0, 0, 200, 200, buffer, null);
-
- drawRaster.setCapability(Raster.ALLOW_IMAGE_WRITE);
-
- // create the main scene graph
- BranchGroup scene = createSceneGraph(drawRaster);
-
- // create the on-screen canvas
- Canvas3D d = new Canvas3D(config, false);
- add("Center", d);
-
- // create a simple universe
- u = new SimpleUniverse(d);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
-
- // create an off Screen Buffer
-
- c = new OffScreenCanvas3D(config, true, drawRaster);
-
- // set the offscreen to match the onscreen
- Screen3D sOn = d.getScreen3D();
- Screen3D sOff = c.getScreen3D();
- sOff.setSize(sOn.getSize());
- sOff.setPhysicalScreenWidth(sOn.getPhysicalScreenWidth());
- sOff.setPhysicalScreenHeight(sOn.getPhysicalScreenHeight());
-
- // attach the same view to the offscreen canvas
- u.getViewer().getView().addCanvas3D(c);
-
- // create the gui
- Button b = new Button ("Print");
- b.addActionListener(this);
- Panel p = new Panel();
- p.add(b);
- add("North", p);
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public void actionPerformed(ActionEvent e)
- {
- // perform the print action
- c.print(false);
- }
-
- public static void main(String argv[])
- {
- new MainFrame(new PrintFromButton(), 500, 500);
- }
-}
diff --git a/src/OffScreenCanvas3D/PrintFromButton_plugin.html b/src/OffScreenCanvas3D/PrintFromButton_plugin.html
deleted file mode 100644
index ed0fe9e..0000000
--- a/src/OffScreenCanvas3D/PrintFromButton_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>PrintFromButton</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 500 HEIGHT = 500 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "PrintFromButton.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "PrintFromButton.class" WIDTH = 500 HEIGHT = 500 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "PrintFromButton.class" WIDTH = 500 HEIGHT = 500 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/OffScreenCanvas3D/build.xml b/src/OffScreenCanvas3D/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/OffScreenCanvas3D/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/OrientedShape3D/MouseRotateY.java b/src/OrientedShape3D/MouseRotateY.java
deleted file mode 100644
index d02b345..0000000
--- a/src/OrientedShape3D/MouseRotateY.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import com.sun.j3d.utils.behaviors.mouse.*;
-
-/**
- * MouseRotateY is a Java3D behavior object that lets users control the
- * rotation of an object via a mouse.
- * <p>
- * To use this utility, first create a transform group that this
- * rotate behavior will operate on. Then,
- *<blockquote><pre>
- *
- * MouseRotateY behavior = new MouseRotateY();
- * behavior.setTransformGroup(objTrans);
- * objTrans.addChild(behavior);
- * behavior.setSchedulingBounds(bounds);
- *
- *</pre></blockquote>
- * The above code will add the rotate behavior to the transform
- * group. The user can rotate any object attached to the objTrans.
- */
-
-public class MouseRotateY extends MouseBehavior {
- double y_angle;
- double y_factor;
-
- /**
- * Creates a rotate behavior given the transform group.
- * @param transformGroup The transformGroup to operate on.
- */
- public MouseRotateY(TransformGroup transformGroup) {
- super(transformGroup);
- }
-
- /**
- * Creates a default mouse rotate behavior.
- **/
- public MouseRotateY() {
- super(0);
- }
-
- /**
- * Creates a rotate behavior.
- * Note that this behavior still needs a transform
- * group to work on (use setTransformGroup(tg)) and
- * the transform group must add this behavior.
- * @param flags interesting flags (wakeup conditions).
- */
- public MouseRotateY(int flags) {
- super(flags);
- }
-
- public void initialize() {
- super.initialize();
- y_angle = 0;
- y_factor = .03;
- if ((flags & INVERT_INPUT) == INVERT_INPUT) {
- invert = true;
- y_factor *= -1;
- }
- }
-
- public double getYFactor() {
- return y_factor;
- }
-
- public void setFactor( double factor) {
- y_factor = factor;
-
- }
-
-
- public void processStimulus (Enumeration criteria) {
- WakeupCriterion wakeup;
- AWTEvent[] event;
- int id;
- int dx;
-
- while (criteria.hasMoreElements()) {
- wakeup = (WakeupCriterion) criteria.nextElement();
- if (wakeup instanceof WakeupOnAWTEvent) {
- event = ((WakeupOnAWTEvent)wakeup).getAWTEvent();
- for (int i=0; i<event.length; i++) {
- processMouseEvent((MouseEvent) event[i]);
-
- if (((buttonPress)&&((flags & MANUAL_WAKEUP) == 0)) ||
- ((wakeUp)&&((flags & MANUAL_WAKEUP) != 0))){
-
- id = event[i].getID();
- if ((id == MouseEvent.MOUSE_DRAGGED) &&
- !((MouseEvent)event[i]).isMetaDown() &&
- !((MouseEvent)event[i]).isAltDown()){
-
- x = ((MouseEvent)event[i]).getX();
-
- dx = x - x_last;
-
- if (!reset){
- y_angle = dx * y_factor;
-
- transformY.rotY(y_angle);
-
- transformGroup.getTransform(currXform);
-
- //Vector3d translation = new Vector3d();
- //Matrix3f rotation = new Matrix3f();
- Matrix4d mat = new Matrix4d();
-
- // Remember old matrix
- currXform.get(mat);
-
- // Translate to origin
- currXform.setTranslation(new Vector3d(0.0,0.0,0.0));
- if (invert) {
- currXform.mul(currXform, transformX);
- currXform.mul(currXform, transformY);
- } else {
- currXform.mul(transformX, currXform);
- currXform.mul(transformY, currXform);
- }
-
- // Set old translation back
- Vector3d translation = new
- Vector3d(mat.m03, mat.m13, mat.m23);
- currXform.setTranslation(translation);
-
- // Update xform
- transformGroup.setTransform(currXform);
- }
- else {
- reset = false;
- }
-
- x_last = x;
- }
- else if (id == MouseEvent.MOUSE_PRESSED) {
- x_last = ((MouseEvent)event[i]).getX();
- }
- }
- }
- }
- }
-
- wakeupOn (mouseCriterion);
-
- }
-}
diff --git a/src/OrientedShape3D/OrientedPtTest.html b/src/OrientedShape3D/OrientedPtTest.html
deleted file mode 100644
index c685fd3..0000000
--- a/src/OrientedShape3D/OrientedPtTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>OrientedShape3D Example</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="OrientedPtTest.class" width=400 height=400>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see OrientedShape3D Example! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/OrientedShape3D/OrientedPtTest.java b/src/OrientedShape3D/OrientedPtTest.java
deleted file mode 100644
index f753a04..0000000
--- a/src/OrientedShape3D/OrientedPtTest.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import java.awt.event.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.geometry.Cone;
-import com.sun.j3d.utils.geometry.Cylinder;
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.io.*;
-import java.awt.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-
-public class OrientedPtTest extends Applet {
-
- // setup font stuff
- private String fontName = "TestFont";
- private String textString = "OrientedShape3D";
- float sl = textString.length();
-
- // paths to texture image files
- private java.net.URL earthImage = null;
- private java.net.URL stoneImage = null;
-
- private SimpleUniverse u;
-
- public BranchGroup createSceneGraph() {
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- TransformGroup objScale = new TransformGroup();
- Transform3D textMat = new Transform3D();
- // Assuming uniform size chars, set scale to fit string in view
- textMat.setScale(1.2/sl);
- objScale.setTransform(textMat);
-
-
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objRoot.addChild(objTrans);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- Appearance apText = new Appearance();
- Material m = new Material();
- m.setLightingEnable(true);
- apText.setMaterial(m);
-
-
- Appearance apEarth= new Appearance();
- Material mm = new Material();
- mm.setLightingEnable(true);
- apEarth.setMaterial(mm);
-
- Appearance apStone = new Appearance();
- apStone.setMaterial(mm);
-
-// create 3D text
- Font3D f3d = new Font3D(new Font(fontName, Font.PLAIN, 2),
- new FontExtrusion());
- Point3f textPt = new Point3f( -sl/2.0f, 3.0f, 0.0f);
- Text3D txt = new Text3D(f3d, textString, textPt);
- OrientedShape3D textShape = new OrientedShape3D();
- textShape.setGeometry(txt);
- textShape.setAppearance(apText);
-
- textShape.setAlignmentMode(OrientedShape3D.ROTATE_ABOUT_POINT);
- // text is centered around 0, 3, 0. Make it rotate around 0,5,0
- Point3f rotationPt = new Point3f(0.0f, 5.0f, 0.0f);
- textShape.setRotationPoint(rotationPt);
- objScale.addChild( textShape );
-
- // also add a small Sphere at the rotation point to
- // show that we are rotating around the right point
- Sphere sphere = new Sphere(0.2f);
- TransformGroup sphereGroup = new TransformGroup();
- Transform3D sphereXform = new Transform3D();
- sphereXform.set(new Vector3f(rotationPt));
- sphereGroup.setTransform(sphereXform);
- sphereGroup.addChild(sphere);
- objScale.addChild(sphereGroup);
-
-
- // Create a simple shape leaf node, add it to the scene graph.
-
- Transform3D cubeMat = new Transform3D();
- TransformGroup cubeTrans = new TransformGroup(cubeMat);
- cubeMat.set(new Vector3d(0.9, 0.0, -1.0));
- cubeTrans.setTransform(cubeMat);
- cubeTrans.addChild(new ColorCube(0.3));
- objTrans.addChild(cubeTrans);
-
- TextureLoader stoneTex = new TextureLoader(stoneImage, new String("RGB"), this);
- if (stoneTex != null) apStone.setTexture(stoneTex.getTexture());
-
- TextureAttributes texAttr = new TextureAttributes();
- texAttr.setTextureMode(TextureAttributes.REPLACE);
- apStone.setTextureAttributes(texAttr);
-
- Transform3D coneMat = new Transform3D();
- TransformGroup coneTrans = new TransformGroup(coneMat);
- coneMat.set(new Vector3d(0.0, 0.0, 0.0));
- coneTrans.setTransform(coneMat);
- coneTrans.addChild(new Cone(.2f, 0.8f,Cone.GENERATE_NORMALS |
- Cone.GENERATE_TEXTURE_COORDS, apStone));
- objTrans.addChild(coneTrans);
-
- TextureLoader earthTex = new TextureLoader(earthImage, new String("RGB"), this);
- if (earthTex != null) apEarth.setTexture(earthTex.getTexture());
- apEarth.setTextureAttributes(texAttr);
-
- Transform3D cylinderMat = new Transform3D();
- TransformGroup cylinderTrans = new TransformGroup(cylinderMat);
- cylinderMat.set(new Vector3d(-0.9, 0.5, -1.0));
- cylinderTrans.setTransform(cylinderMat);
- cylinderTrans.addChild(new Cylinder(.35f, 2.0f,Cylinder.GENERATE_NORMALS |
- Cylinder.GENERATE_TEXTURE_COORDS, apEarth));
- objTrans.addChild(cylinderTrans);
-
- objTrans.addChild(objScale);
-
-
-
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
- Background bgNode = new Background(bgColor);
- bgNode.setApplicationBounds(bounds);
- objRoot.addChild(bgNode);
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- objRoot.addChild(ambientLightNode);
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light1Direction = new Vector3f(1.0f, 1.0f, 1.0f);
- Color3f light2Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light2Direction = new Vector3f(-1.0f, -1.0f, -1.0f);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- objRoot.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- objRoot.addChild(light2);
-
- apText.setMaterial(mm);
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public OrientedPtTest() {
- }
-
- public OrientedPtTest(java.net.URL earthURL, java.net.URL stoneURL) {
- earthImage = earthURL;
- stoneImage = stoneURL;
- }
-
- public void init() {
- // the paths to the image files for an applet
- if (earthImage == null) {
- try {
- earthImage = new java.net.URL(getCodeBase().toString() +
- "../images/earth.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- if (stoneImage == null) {
- try {
- stoneImage = new java.net.URL(getCodeBase().toString() +
- "../images/stone.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- setLayout(new BorderLayout());
- Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // add mouse behaviors to the ViewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- // add orbit behavior to the viewing platform
- OrbitBehavior orbit = new OrbitBehavior(c, OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows OrientedPtTest to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- java.net.URL earthURL = null;
- java.net.URL stoneURL = null;
- try {
- // the paths to the image files for an application
- earthURL = new java.net.URL("file:../images/earth.jpg");
- stoneURL = new java.net.URL("file:../images/stone.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
-
- new MainFrame(new OrientedPtTest(earthURL, stoneURL), 400, 400);
- }
-}
diff --git a/src/OrientedShape3D/OrientedPtTest_plugin.html b/src/OrientedShape3D/OrientedPtTest_plugin.html
deleted file mode 100644
index e836d6c..0000000
--- a/src/OrientedShape3D/OrientedPtTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>OrientedShape3D Example</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 400 HEIGHT = 400 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "OrientedPtTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "OrientedPtTest.class" WIDTH = 400 HEIGHT = 400 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see OrientedShape3D Example! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "OrientedPtTest.class" WIDTH = 400 HEIGHT = 400 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see OrientedShape3D Example! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/OrientedShape3D/OrientedTest.html b/src/OrientedShape3D/OrientedTest.html
deleted file mode 100644
index d5725eb..0000000
--- a/src/OrientedShape3D/OrientedTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>OrientedShape3D Example</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="OrientedTest.class" width=400 height=400>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see OrientedShape3D Example! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/OrientedShape3D/OrientedTest.java b/src/OrientedShape3D/OrientedTest.java
deleted file mode 100644
index 446cfcf..0000000
--- a/src/OrientedShape3D/OrientedTest.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import com.sun.j3d.utils.behaviors.mouse.*;
-
-public class OrientedTest extends Applet {
-
- // setup font stuff
- private String fontName = "TestFont";
- private String textString = "OrientedShape3D";
- float sl = textString.length();
-
- // paths to texture image files
- private java.net.URL earthImage = null;
- private java.net.URL stoneImage = null;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- TransformGroup objScale = new TransformGroup();
- Transform3D textMat = new Transform3D();
- // Assuming uniform size chars, set scale to fit string in view
- textMat.setScale(1.2/sl);
- objScale.setTransform(textMat);
-
-
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objRoot.addChild(objTrans);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- Appearance apText = new Appearance();
- Material m = new Material();
- m.setLightingEnable(true);
- apText.setMaterial(m);
-
-
- Appearance apEarth= new Appearance();
- Material mm = new Material();
- mm.setLightingEnable(true);
- apEarth.setMaterial(mm);
-
- Appearance apStone = new Appearance();
- apStone.setMaterial(mm);
-
-// create 3D text
- Font3D f3d = new Font3D(new Font(fontName, Font.PLAIN, 2),
- new FontExtrusion());
- Text3D txt = new Text3D(f3d, textString,
- new Point3f( -sl/2.0f, 3.0f, 0.0f));
- OrientedShape3D textShape = new OrientedShape3D();
- textShape.setGeometry(txt);
- textShape.setAppearance(apText);
- textShape.setAlignmentAxis( 0.0f, 1.0f, 0.0f);
- objScale.addChild( textShape );
-
-
- // Create a simple shape leaf node, add it to the scene graph.
-
- Transform3D cubeMat = new Transform3D();
- TransformGroup cubeTrans = new TransformGroup(cubeMat);
- cubeMat.set(new Vector3d(0.9, 0.0, -1.0));
- cubeTrans.setTransform(cubeMat);
- cubeTrans.addChild(new ColorCube(0.3));
- objTrans.addChild(cubeTrans);
-
- TextureLoader stoneTex = new TextureLoader(stoneImage, new String("RGB"), this);
- if (stoneTex != null) apStone.setTexture(stoneTex.getTexture());
-
- TextureAttributes texAttr = new TextureAttributes();
- texAttr.setTextureMode(TextureAttributes.MODULATE);
- apStone.setTextureAttributes(texAttr);
-
-
- Transform3D coneMat = new Transform3D();
- TransformGroup coneTrans = new TransformGroup(coneMat);
- coneMat.set(new Vector3d(0.0, 0.0, 0.0));
- coneTrans.setTransform(coneMat);
- coneTrans.addChild(new Cone(.2f, 0.8f,Cone.GENERATE_NORMALS |
- Cone.GENERATE_TEXTURE_COORDS, apStone));
- objTrans.addChild(coneTrans);
-
- TextureLoader earthTex = new TextureLoader(earthImage, new String("RGB"), this);
- if (earthTex != null) apEarth.setTexture(earthTex.getTexture());
-
- apEarth.setTextureAttributes(texAttr);
-
- Transform3D cylinderMat = new Transform3D();
- TransformGroup cylinderTrans = new TransformGroup(cylinderMat);
- cylinderMat.set(new Vector3d(-0.9, 0.5, -1.0));
- cylinderTrans.setTransform(cylinderMat);
- cylinderTrans.addChild(new Cylinder(.35f, 2.0f,Cylinder.GENERATE_NORMALS |
- Cylinder.GENERATE_TEXTURE_COORDS, apEarth));
- objTrans.addChild(cylinderTrans);
-
- objTrans.addChild(objScale);
-
-
-
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
- Background bgNode = new Background(bgColor);
- bgNode.setApplicationBounds(bounds);
- objRoot.addChild(bgNode);
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- objRoot.addChild(ambientLightNode);
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light1Direction = new Vector3f(1.0f, 1.0f, 1.0f);
- Color3f light2Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light2Direction = new Vector3f(-1.0f, -1.0f, -1.0f);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- objRoot.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- objRoot.addChild(light2);
-
- apText.setMaterial(mm);
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public OrientedTest() {
- }
-
- public OrientedTest(java.net.URL earthURL, java.net.URL stoneURL) {
- earthImage = earthURL;
- stoneImage = stoneURL;
- }
-
- public void init() {
- // the paths to the image files for an applet
- if (earthImage == null) {
- try {
- earthImage = new java.net.URL(getCodeBase().toString() +
- "../images/earth.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- if (stoneImage == null) {
- try {
- stoneImage = new java.net.URL(getCodeBase().toString() +
- "../images/stone.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c, 4);
-
- // add mouse behaviors to ViewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- // there is a special rotate behavior, so can't use the utility
- // method
- MouseRotateY rotate = new MouseRotateY(MouseRotateY.INVERT_INPUT);
- rotate.setTransformGroup(viewingPlatform.getMultiTransformGroup().
- getTransformGroup(0));
- BranchGroup rotateBG = new BranchGroup();
- rotateBG.addChild(rotate);
- viewingPlatform.addChild(rotateBG);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotate.setSchedulingBounds(bounds);
-
- MouseZoom zoom =
- new MouseZoom(c, MouseZoom.INVERT_INPUT);
- zoom.setTransformGroup(viewingPlatform.getMultiTransformGroup().
- getTransformGroup(1));
- zoom.setSchedulingBounds(bounds);
- BranchGroup zoomBG = new BranchGroup();
- zoomBG.addChild(zoom);
- viewingPlatform.addChild(zoomBG);
-
- MouseTranslate translate =
- new MouseTranslate(c, MouseTranslate.INVERT_INPUT);
- translate.setTransformGroup(viewingPlatform.getMultiTransformGroup().
- getTransformGroup(2));
- translate.setSchedulingBounds(bounds);
- BranchGroup translateBG = new BranchGroup();
- translateBG.addChild(translate);
- viewingPlatform.addChild(translateBG);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows OrientedTest to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- java.net.URL earthURL = null;
- java.net.URL stoneURL = null;
- try {
- // the paths to the image files for an application
- earthURL = new java.net.URL("file:../images/earth.jpg");
- stoneURL = new java.net.URL("file:../images/stone.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
-
- new MainFrame(new OrientedTest(earthURL, stoneURL), 400, 400);
- }
-}
diff --git a/src/OrientedShape3D/OrientedTest_plugin.html b/src/OrientedShape3D/OrientedTest_plugin.html
deleted file mode 100644
index fb6dcca..0000000
--- a/src/OrientedShape3D/OrientedTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>OrientedShape3D Example</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 400 HEIGHT = 400 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "OrientedTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "OrientedTest.class" WIDTH = 400 HEIGHT = 400 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see OrientedShape3D Example! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "OrientedTest.class" WIDTH = 400 HEIGHT = 400 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see OrientedShape3D Example! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/OrientedShape3D/build.xml b/src/OrientedShape3D/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/OrientedShape3D/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/PackageInfo/PackageInfo.java b/src/PackageInfo/PackageInfo.java
deleted file mode 100644
index 1fda583..0000000
--- a/src/PackageInfo/PackageInfo.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-public class PackageInfo {
- public PackageInfo() {
- ClassLoader classLoader = getClass().getClassLoader();
-
- pkgInfo(classLoader, "javax.vecmath", "Point3d");
- pkgInfo(classLoader, "javax.media.j3d", "SceneGraphObject");
- pkgInfo(classLoader, "com.sun.j3d.utils.universe", "SimpleUniverse");
- //pkgInfo(classLoader, "com.sun.j3d.loaders.vrml97", "VrmlLoader");
- }
-
- static void pkgInfo(ClassLoader classLoader,
- String pkgName,
- String className) {
-
- try {
- classLoader.loadClass(pkgName + "." + className);
-
- Package p = Package.getPackage(pkgName);
- if (p == null) {
- System.out.println("WARNING: Package.getPackage(" +
- pkgName +
- ") is null");
- }
- else {
- System.out.println(p);
- System.out.println("Specification Title = " +
- p.getSpecificationTitle());
- System.out.println("Specification Vendor = " +
- p.getSpecificationVendor());
- System.out.println("Specification Version = " +
- p.getSpecificationVersion());
-
- System.out.println("Implementation Vendor = " +
- p.getImplementationVendor());
- System.out.println("Implementation Version = " +
- p.getImplementationVersion());
- }
- }
- catch (ClassNotFoundException e) {
- System.out.println("Unable to load " + pkgName);
- }
-
- System.out.println();
- }
-
- public static void main(String[] args) {
- new PackageInfo();
- }
-}
diff --git a/src/PackageInfo/QueryProperties.java b/src/PackageInfo/QueryProperties.java
deleted file mode 100644
index 0b39c3a..0000000
--- a/src/PackageInfo/QueryProperties.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.util.*;
-import javax.media.j3d.*;
-import java.awt.GraphicsEnvironment;
-import java.awt.GraphicsConfiguration;
-import com.sun.j3d.utils.universe.*;
-
-public class QueryProperties {
- public static void printProps(Map map, String[] propList) {
- // Create an alphabetical list of keys
- List keyList = new ArrayList(map.keySet());
- Collections.sort(keyList);
- Iterator it;
-
- // Collection used to remember the properties we've already
- // printed, so we don't print them twice
- HashSet hs = new HashSet();
-
- // Print out the values for the caller-specified properties
- String key;
- for (int i = 0; i < propList.length; i++) {
- int len = propList[i].length();
- int idxWild = propList[i].indexOf('*');
- if (idxWild < 0) {
- key = propList[i];
- if (!hs.contains(key)) {
- System.out.println(key + " = " + map.get(key));
- hs.add(key);
- }
- }
- else if (idxWild == len-1) {
- String pattern = propList[i].substring(0, len-1);
- it = keyList.iterator();
- while (it.hasNext()) {
- key = (String)it.next();
- if (key.startsWith(pattern) && !hs.contains(key)) {
- System.out.println(key + " = " + map.get(key));
- hs.add(key);
- }
- }
- }
- else {
- System.out.println(propList[i] +
- " = ERROR: KEY WITH EMBEDDED WILD CARD IGNORED");
- }
- }
-
- // Print out the values for those properties not already printed
- it = keyList.iterator();
- while (it.hasNext()) {
- key = (String)it.next();
- if (!hs.contains(key)) {
- System.out.println(key + " = " + map.get(key));
- }
- }
-
- }
-
- public static void main(String[] args) {
- VirtualUniverse vu = new VirtualUniverse();
- Map vuMap = vu.getProperties();
- final String[] vuPropList = {
- "j3d.version",
- "j3d.vendor",
- "j3d.specification.version",
- "j3d.specification.vendor",
- "j3d.*"
- // Just print all other properties in alphabetical order
- };
-
- printProps(vuMap, vuPropList);
- System.out.println();
-
- GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
-
- /* We need to set this to force choosing a pixel format
- that support the canvas.
- */
- template.setStereo(template.PREFERRED);
- template.setSceneAntialiasing(template.PREFERRED);
-
- GraphicsConfiguration config =
- GraphicsEnvironment.getLocalGraphicsEnvironment().
- getDefaultScreenDevice().getBestConfiguration(template);
-
- Map c3dMap = new Canvas3D(config).queryProperties();
- final String[] c3dPropList = {
- "native.*",
- "doubleBufferAvailable",
- "stereoAvailable",
- "sceneAntialiasing*",
- "compressedGeometry.majorVersionNumber",
- "compressedGeometry.minorVersionNumber",
- "compressedGeometry.*",
- "textureUnitStateMax",
- "textureWidthMax",
- "textureHeightMax",
- // Just print all other properties in alphabetical order
- };
-
- printProps(c3dMap, c3dPropList);
-
- System.exit(0);
- }
-}
diff --git a/src/PackageInfo/build.xml b/src/PackageInfo/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/PackageInfo/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/PickTest/BoltCG.java b/src/PickTest/BoltCG.java
deleted file mode 100644
index 78255ac..0000000
--- a/src/PickTest/BoltCG.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class BoltCG extends CompressedGeometry {
-
- BoltCG() {
- super(cgHeader, cgData) ;
- }
-
- private static final byte cgData[] = {
- 25, 0, -120, 16, -124, 64, 33, -35,
- 0, 67, 60, 48, -121, 90, 1, 3,
- 116, -62, 25, 105, -60, 60, -32, 8,
- 5, -58, 16, -9, -114, 32, -1, -104,
- 67, 16, 0, -117, -128, 97, 40, 62,
- -62, -128, -122, 5, 67, 48, 10, -76,
- -32, 21, 1, 6, 40, 10, -128, 86,
- -123, 24, -96, 76, 65, 74, 88, 2,
- -117, -80, -59, 21, 113, -118, -40, -28,
- 21, 110, 6, 40, 27, 64, 81, 23,
- -124, -7, 47, 54, 13, -3, -4, 69,
- 40, 25, -69, -99, -123, 64, 8, 48,
- 3, 64, 16, 23, 16, 97, -39, 8,
- -20, -125, 0, 36, 2, 1, -123, 2,
- 8, -120, 48, 27, 122, 91, 65, -67,
- 108, 18, 26, 13, -12, -35, 95, -48,
- 107, 63, -5, 91, -46, 12, 84, -44,
- -53, -120, 54, -45, -98, 115, 64, -69,
- 92, 126, -55, 1, 6, -80, 34, -49,
- -24, 53, -30, 61, -19, 9, 6, -76,
- 10, -115, -24, 53, 87, -54, -2, -127,
- 113, 68, -15, -33, 16, 97, -9, 113,
- -54, -30, 12, 75, 34, -48, -48, 107,
- 86, -32, -10, -125, 97, -42, 19, -78,
- 12, 0, -48, 4, 4, 68, 8, 12,
- -67, -69, 32, -64, 9, 0, 0, 92,
- 65, -121, 116, 42, 10, 13, 98, -52,
- -97, 16, 34, 104, 114, 75, 66, 12,
- -45, 11, -82, 32, -34, -74, -127, -15,
- 6, 74, 51, 70, -81, 32, -42, 27,
- 105, 13, 6, -97, 13, 111, -24, 22,
- -12, 22, -19, -95, 6, -49, -85, -48,
- 16, 107, 2, 44, -8, -125, 6, 73,
- -123, -97, 16, 37, 40, 68, -22, -30,
- 12, 58, 97, 80, -112, 104, -16, -104,
- -72, -125, 122, -38, 22, -12, 25, -114,
- -39, 124, 64, -111, -115, -112, -49, -24,
- 53, -34, 85, -23, 5, 6, -82, -26,
- 15, 104, 54, 1, -31, 62, 32, 68,
- -17, 100, -58, 84, 27, 33, -54, -66,
- -125, 55, -2, -89, 32, -119, 122, -73,
- -25, -36, 105, -128, 8, 53, -128, 2,
- 76, -71, 9, -56, -128, 30, 112, -59,
- -48, 96, -37, 0, 0, 0, 9, -112,
- 28, -117, 100, 64, 127, 58, 113, -58,
- 13, 96, 0, -109, 46, 70, 50, 80,
- 103, -88, 56, -86, 13, 96, 0, -109,
- 46, 67, 114, -112, 95, -74, 49, 84,
- 49, -74, -72, 15, 96, 2, 80, 6,
- 55, 80, 0, -36, 82, 0, 40, 3,
- 108, 1, -58, -95, -63, -84, 0, 18,
- 101, -56, -74, 87, 10, 56, 39, 31,
- -32, -43, -32, 9, 50, -28, 87, 46,
- -125, 28, -61, -117, -48, 107, 0, 4,
- -103, 114, 19, -105, -65, -98, 117, -60,
- 32, -63, -84, 0, 18, 101, -116, -74,
- 45, 1, -15, 1, -57, 0, -29, -116,
- 26, -64, 1, 38, 92, -116, 101, 111,
- 79, 124, 113, 83, -6, -68, 8, 37,
- -36, -83, -4, -93, -4, 109, 46, 55,
- 6, -81, 0, 73, -105, 33, -71, 63,
- -57, -40, -36, 82, 28, 26, -64, 1,
- 38, 92, -117, 100, -113, 71, 71, 113,
- -2, 13, 96, 0, -109, 46, 69, 114,
- 47, -41, -99, -72, -67, 6, -80, 0,
- 73, -107, -63, 72, -64, -113, -83, 99,
- 72, 53, 97, -6, 65, 57, -67, 60,
- -38, -26, -63, -78, 105, 11, 112, 85,
- 110, 101, -95, 58, -128, 16, 107, -125,
- 90, -60, 3, 0, 0, 1, 0, 32,
- 64, 67, -32, -54, -41, -103, 113, 6,
- -55, -92, 45, -63, 85, -71, -106, -34,
- -22, 0, 55, -79, -36, -28, 62, -95,
- -68, 97, -73, -41, -70, -122, -13, 117,
- -50, 94, -22, 32, 80, 21, 77, -39,
- 6, 0, 48, 6, 2, 10, 13, 61,
- 106, -104, 80, 32, -68, -125, 64, -75,
- 100, 17, 91, -78, 90, -67, -42, 24,
- 55, 27, -39, 61, 0, -56, 63, -40,
- -71, -95, -124, 49, 74, 37, 3, 7,
- -83, 118, -18, 13, -79, 30, -96, -126,
- 80, 77, 53, 19, -32, -47, -121, -103,
- 104, -122, 82, 89, -19, 56, 92, 45,
- -96, -73, 42, -128, 16, 109, -120, -11,
- 4, 18, -126, 105, -88, 126, 70, -127,
- -56, -24, 48, -43, -36, 20, -25, -48,
- -60, -115, -4, -98, -42, -31, -84, 8,
- -35, -13, 59, -96, -36, 11, 1, 64,
- 69, 65, -126, 80, -85, 10, 4, 22,
- -48, 97, 109, -42, -114, 71, 112, -106,
- -58, -51, 6, 104, 48, 82, 8, -19,
- -74, -36, -81, -100, -56, -122, 85, 34,
- -111, -37, 125, -83, 103, 65, -89, 125,
- -30, -15, 36, -20, -5, 81, -63, 68,
- 27, -17, -89, -83, 3, -63, -89, 33,
- -24, 66, 0, 7, 50, 45, 2, -56,
- 17, 6, -99, -9, -117, -60, -109, -77,
- -19, 122, 5, 14, 96, 110, 114, 71,
- -92, 117, 39, 107, 93, -50, 105, 49,
- 110, -75, 80, 46, -125, -68, -18, -125,
- 80, 60, 10, 1, -111, 6, -76, 10,
- 48, -96, 65, 105, 6, -120, 27, 8,
- 68, -77, -109, -59, 90, -64, 16, 106,
- -61, -12, -26, 17, 26, 10, 54, -53,
- 40, -88, 1, 6, -14, 124, 52, 32,
- -39, 13, -117, 66, 13, 63, -111, -80,
- -96, 65, 117, 6, 103, -11, -120, 104,
- 54, -49, 116, 92, 65, -102, -84, -125,
- 50, 12, 87, -109, 67, 64, -124, 106,
- -22, -22, 12, 28, -24, -48, -48, 109,
- 94, -22, -48, -125, 10, -96, 75, -120,
- 17, 39, -119, 104, 65, -92, -110, 68,
- 36, 27, 99, -87, -73, -96, -56, -42,
- -85, 18, 12, 8, 3, -22, 0, 28,
- 1, 120, 34, -112, -6, -81, 52, -64,
- 4, 24, -88, 0, 0, 14, 0, -104,
- 39, 32, 44, 23, -98, -125, 6, 44,
- 0, 0, 3, -128, 38, 22, -56, 95,
- 13, -25, 24, 49, 80, 0, 0, 28,
- 1, 48, -58, -28, -38, -113, 42, -125,
- 21, 0, 0, 1, -80, 19, 70, -24,
- 73, -46, -13, 80, -32, -59, 64, 0,
- 0, 108, 7, -94, -37, -127, -1, 30,
- 127, -125, 21, 0, 0, 1, -64, 30,
- -118, -18, -124, -124, 121, 122, 12, 84,
- 0, 0, 7, 0, 78, 19, -81, -32,
- 99, -56, 65, -125, 22, 0, 0, 1,
- -64, 30, 11, 110, 64, 117, 0, 0,
- 2, -106, 48, 106, 2, 56, -102, 99,
- 126, 15, 53, 37, 65, -81, -8, -30,
- 104, -36, -75, -8, -98, 82, 28, 24,
- -88, 0, 0, 13, -128, -104, 91, 93,
- -20, -41, -97, -32, -59, 64, 0, 0,
- 112, 7, -94, -69, 31, 56, -98, 94,
- -125, 21, 0, 0, 1, -64, 24, 77,
- -96, -39, -12, 65, -125, 41, 86, -79,
- 58, 14, -56, 87, 102, -112, 105, -50,
- 18, -42, 11, 91, 10, -54, -9, 6,
- 61, -1, -87, 3, 51, 55, -14, 86,
- 108, 80, 111, -5, -18, -110, 55, 34,
- 112, -43, 114, -123, 6, 1, 63, 9,
- 32, -11, 21, 28, 87, 36, 4, 32,
- -56, 83, -3, 36, -82, -1, -60, -86,
- -31, -63, -88, -40, 98, 73, -99, -72,
- 71, 27, 59, 6, 3, 38, -110, 12,
- 111, -92, 4, -39, -8, 49, -111, 74,
- -112, 51, 28, -18, -90, -64, 37, 6,
- 80, -54, -38, -51, 106, -93, 73, -80,
- 5, 8, 50, 119, 84, -116, 47, 110,
- 123, -10, -60, 45, 6, 45, 104, 81,
- -116, 106, 15, 126, -40, -40, 48, 101,
- 42, -30, 109, 90, -16, 69, 123, -81,
- -47, 6, 112, 0, 0, 9, 1, 4,
- 78, 1, 17, -114, -67, 6, 12, -32,
- 0, 0, 18, 2, 9, 108, -111, -28,
- 29, 113, -125, 56, 0, 0, 4, -128,
- -124, 99, 119, 92, 87, 85, 65, -100,
- 0, 0, 2, 64, 106, 53, -112, 31,
- 101, -80, 30, 13, -35, -80, 85, -86,
- -95, -63, -109, -1, 117, -46, -38, 46,
- -94, -70, 127, 6, -112, 0, 0, 119,
- 1, 124, -82, 39, 15, 46, -113, 65,
- -92, 0, 0, 29, -128, 127, 19, -67,
- -4, -112, -82, -127, 6, 13, 40, 0,
- 0, -18, 2, -15, 108, -81, -40, 29,
- 49, -125, 72, 0, 0, 59, 0, -70,
- 99, 9, -61, -106, -91, 65, -112, 31,
- 102, -44, 27, 62, -118, 116, 65, -92,
- 0, 0, 29, -64, 117, 65, -100, 0,
- 0, 2, 64, 122, 27, -111, -127, -35,
- -75, 33, -63, -80, 8, -92, 34, -40,
- -52, 86, -70, -1, 6, 108, 0, 0,
- 10, 1, 4, -82, 122, 114, -114, -81,
- 65, -100, 0, 0, 2, 64, 115, 26,
- -113, -107, -98, -115, -46, -95, -63, -71,
- 0, 0, 28, -128, 87, 65, -123, -57,
- -69, -22, 12, 4, 9, -32, 118, 65,
- -128, 24, 7, -128, -96, -127, 27, -128,
- 101, -12, 27, 36, 13, -93, -96, -50,
- -29, 89, -31, 6, -114, 0, 0, 29,
- -96, 48, -96, 65, -7, 6, -4, 72,
- 30, -79, 32, -56, 32, 59, -32, 60,
- 96, 23, -48, 110, -124, 50, -80, -127,
- 116, -126, -89, 100, 25, -128, 0, 120,
- 15, 72, 51, 119, -74, 52, 32, -38,
- -8, -94, -70, 5, 65, -123, 30, 16,
- 104, -96, 0, 1, -36, 3, 42, 13,
- -1, 127, 124, 26, -122, -64, 5, -22,
- -4, 74, 12, 0, 68, -102, -48, 99,
- 117, 1, 73, 6, -72, -55, -17, -120,
- 54, 115, -83, -3, 73, 6, -46, 15,
- -85, -88, 50, 112, -91, 104, 65, -110,
- 43, 22, -12, 27, 27, 83, 104, 65,
- -114, -126, -105, -64, -119, -33, 105, -120,
- -71, 76, 0, 65, -81, -99, -54, 82,
- 13, 3, 78, 81, 80, 107, -25, 76,
- -122, -125, 0, -60, 23, -28, 10, -17,
- -97, 42, -24, -125, 112, 0, 0, 56,
- -128, -76, -125, 32, -43, -89, -92, 27,
- -65, 50, -99, -112, 96, 1, 0, -32,
- 40, -96, 72, 49, -107, 57, 6, -34,
- -109, 104, 40, 51, 12, 68, 67, 64,
- -128, 98, 11, -78, 12, -64, 16, 24,
- 7, -108, 25, -64, 0, 0, 9, -128,
- -16, 109, 72, 0, 0, 14, -48, 30,
- -20, 56, 55, -23, 7, 43, -96, -54,
- -29, -35, 97, 6, -88, 69, 13, 8,
- 49, 69, -46, -6, -127, 14, 68, -125,
- -34, 80, 103, 0, 0, 0, 36, 2,
- 58, 12, 110, 53, -44, 80, 110, -112,
- 112, -54, -125, 127, -33, -40, 80, 32,
- -68, -125, 59, -18, -74, 36, 25, 0,
- 0, 0, 7, -66, 3, -14, 13, -1,
- -12, 31, 104, 64, -118, 46, -105, 100,
- 24, 1, 32, 104, 14, -120, 55, 32,
- 0, 3, -112, 15, -29, 85, 84, -127,
- 5, -120, 9, 65, -112, 0, 0, 0,
- 123, -32, 63, 32, -38, -57, 127, 55,
- -44, 24, -97, 40, 18, -4, -125, 105,
- 56, -15, 95, 80, 96, -68, 16, -93,
- 122, 5, 110, -88, 40, 32, -64, 20,
- 113, -11, 6, 11, -59, 8, -69, 32,
- -64, 12, 0, -64, 111, 64, -83, -43,
- 7, 100, 24, -128, -96, 88, 12, 104,
- 53, -4, 0, 0, 0, -124, 7, -64,
- -118, -33, -106, -102, -13, -84, 0, 65,
- -100, 0, 0, 0, -104, 9, 72, 50,
- 13, 56, 126, 65, -70, -4, -6, -49,
- -88, 50, 112, -39, -59, -115, 6, -83,
- 1, -13, 1, -53, 0, -8, -125, 37,
- 13, 34, -41, 16, 107, -25, 116, -122,
- -125, 0, -60, 7, -16, -118, 102, 102,
- -36, -66, -118, 0, 65, -67, -1, -30,
- 10, 12, -99, 74, 94, -48, 110, -31,
- 108, 104, 65, -102, -87, 103, -60, 8,
- 34, -100, 36, -2, -125, 124, -84, -5,
- -97, 16, 98, 43, -46, 27, 34, 12,
- 127, -101, 127, 64, -80, -47, -16, -19,
- 8, 53, -33, 88, -8, -125, 20, 109,
- 19, 95, -48, 111, -111, -1, -117, 66,
- 13, -57, 92, 63, -96, 93, -104, -99,
- 119, -60, 24, 84, -16, 82, -8, -125,
- 3, 80, 2, -38, 16, 103, -116, 101,
- -19, 2, -18, 110, -26, 68, 24, -117,
- -98, -56, -125, 5, -64, -35, -112, 96,
- 4, 0, 32, 63, -102, 89, 15, 119,
- -122, 112, 12, 32, -38, -68, 70, -110,
- 91, -114, -68, 111, 2, 16, 96, -65,
- -23, -123, 2, 13, 7, 118, -36, 104,
- -127, 46, -26, -117, -92, -19, 36, 102,
- 0, -128, -64, 61, -61, 84, 87, -73,
- 74, 32, -24, 50, 11, 10, 111, 57,
- -79, -36, -28, 10, 93, 24, 4, 22,
- 106, -32, -42, 17, -42, -29, -104, -37,
- 74, 105, -73, -9, -48, 112, -35, -82,
- 107, 119, 73, 10, -33, 78, -4, -79,
- -97, 96, -54, -14, 54, -128, 58, 97,
- 8, 111, 4, 3, -50, -37, -53, 64,
- -124, 0, 14, -103, 65, -41, -127, 8,
- 53, 6, -14, 65, 65, -97, -48, 115,
- 113, -51, -74, 42, 50, 82, 57, 40,
- -86, -53, -100, -41, -66, -74, 106, -125,
- 82, 116, -39, -48, 38, 51, 107, 121,
- 44, 88, -28, 34, 96, 4, -78, 4,
- 75, 118, -64, 16, 96, 4, -127, -96,
- 45, -110, 88, 14, -31, 3, 0, 65,
- -65, -128, 10, 25, 44, -61, 81, -40,
- -16, 3, -85, -100, 0, 20, 6, -12,
- 3, 49, -63, -107, 14, 15, 71, -16,
- 99, 19, -81, -37, -102, -15, -37, 32,
- -21, -7, 6, -91, -81, 91, -119, -4,
- 88, -77, -20, 26, -49, -96, -54, 23,
- 112, -72, -41, -35, 64, 8, 53, 11,
- 14, 102, 65, -123, -35, -52, -94, 55,
- 24, -7, -45, -72, -75, -123, 0, 0,
- 22, -64, 111, -16, 2, 13, 97, -46,
- 48, -96, 65, 0, 86, 40, 32, -120,
- 21, -124, -115, 46, 54, 29, -69, 11,
- 88, 0, -96, 96, 11, -32, 60, 20,
- -94, 25, 99, 53, 97, -125, 8, 91,
- -48, 2, 101, 113, -54, -128, -20, 0,
- 10, -85, -70, -117, 50, 32, 1, 6,
- 75, 84, 46, -99, -38, -53, -51, 9,
- -59, -59, 52, 25, 121, 16, 0, 119,
- 27, -114, -108, 39, 21, 4, -111, -26,
- 116, 64, 2, 13, 121, -104, 105, 63,
- -115, 58, -42, 122, -125, 106, -15, 25,
- -112, 99, 35, -32, 8, 5, -96, 0
- } ;
-
- private static final CompressedGeometryHeader cgHeader ;
-
- static {
- cgHeader = new CompressedGeometryHeader() ;
- cgHeader.majorVersionNumber = 1 ;
- cgHeader.minorVersionNumber = 0 ;
- cgHeader.minorMinorVersionNumber = 1 ;
- cgHeader.bufferType = CompressedGeometryHeader.TRIANGLE_BUFFER ;
- cgHeader.bufferDataPresent = CompressedGeometryHeader.NORMAL_IN_BUFFER ;
- cgHeader.start = 0 ;
- cgHeader.size = cgData.length ;
- }
-}
diff --git a/src/PickTest/ColorCube.java b/src/PickTest/ColorCube.java
deleted file mode 100644
index ff52c48..0000000
--- a/src/PickTest/ColorCube.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class ColorCube extends QuadArray {
- private static final float[] verts = {
- // front face
- 1.0f, -1.0f, 1.0f,
- 1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, 1.0f,
- -1.0f, -1.0f, 1.0f,
- // back face
- -1.0f, -1.0f, -1.0f,
- -1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, -1.0f,
- 1.0f, -1.0f, -1.0f,
- // right face
- 1.0f, -1.0f, -1.0f,
- 1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, 1.0f,
- 1.0f, -1.0f, 1.0f,
- // left face
- -1.0f, -1.0f, 1.0f,
- -1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, -1.0f,
- -1.0f, -1.0f, -1.0f,
- // top face
- 1.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, 1.0f,
- // bottom face
- -1.0f, -1.0f, 1.0f,
- -1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, 1.0f,
- };
-
- private static final float[] colors = {
- // front face (red)
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- // back face (green)
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- // right face (blue)
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- // left face (yellow)
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- // top face (magenta)
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- // bottom face (cyan)
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- };
-
- ColorCube() {
- super(24, QuadArray.COORDINATES | QuadArray.COLOR_3);
-
- setCoordinates(0, verts);
- setColors(0, colors);
- }
-}
diff --git a/src/PickTest/ColorPyramidDown.java b/src/PickTest/ColorPyramidDown.java
deleted file mode 100644
index 80a572d..0000000
--- a/src/PickTest/ColorPyramidDown.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class ColorPyramidDown extends QuadArray {
- private static final float[] verts = {
- // front face
- 0.0f, -1.0f, 0.0f,
- 1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, 1.0f,
- 0.0f, -1.0f, 0.0f,
- // back face
- 0.0f, -1.0f, 0.0f,
- -1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, -1.0f,
- 0.0f, -1.0f, 0.0f,
- // right face
- 0.0f, -1.0f, 0.0f,
- 1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, 1.0f,
- 0.0f, -1.0f, 0.0f,
- // left face
- 0.0f, -1.0f, 0.0f,
- -1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, -1.0f,
- 0.0f, -1.0f, 0.0f,
- // top face
- 1.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, 1.0f,
- // bottom face
- 0.0f, -1.0f, 0.0f,
- 0.0f, -1.0f, 0.0f,
- 0.0f, -1.0f, 0.0f,
- 0.0f, -1.0f, 0.0f,
- };
-
- private static final float[] colors = {
- // front face (green)
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- // back face (red)
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- // right face (yellow)
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- // left face (magenta)
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- // top face (blue)
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- // bottom face (cyan)
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- };
-
- ColorPyramidDown() {
- super(24, QuadArray.COORDINATES | QuadArray.COLOR_3);
-
- setCoordinates(0, verts);
- setColors(0, colors);
- }
-}
diff --git a/src/PickTest/ColorPyramidUp.java b/src/PickTest/ColorPyramidUp.java
deleted file mode 100644
index e952fe2..0000000
--- a/src/PickTest/ColorPyramidUp.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class ColorPyramidUp extends QuadArray {
- private static final float[] verts = {
- // front face
- 1.0f, -1.0f, 1.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- -1.0f, -1.0f, 1.0f,
- // back face
- -1.0f, -1.0f, -1.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 1.0f, -1.0f, -1.0f,
- // right face
- 1.0f, -1.0f, -1.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 1.0f, -1.0f, 1.0f,
- // left face
- -1.0f, -1.0f, 1.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- -1.0f, -1.0f, -1.0f,
- // top face
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- // bottom face
- -1.0f, -1.0f, 1.0f,
- -1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, 1.0f,
- };
-
- private static final float[] colors = {
-
- // front face (cyan)
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- 0.0f, 1.0f, 1.0f,
- // back face (magenta)
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 1.0f,
- // right face (yellow)
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- 1.0f, 1.0f, 0.0f,
- // left face (blue)
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- 0.0f, 0.0f, 1.0f,
- // top face (green)
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- 0.0f, 1.0f, 0.0f,
- // bottom face (red)
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f,
-
- };
-
- ColorPyramidUp() {
- super(24, QuadArray.COORDINATES | QuadArray.COLOR_3);
-
- setCoordinates(0, verts);
- setColors(0, colors);
- }
-}
diff --git a/src/PickTest/CubeIQA.java b/src/PickTest/CubeIQA.java
deleted file mode 100644
index cbeadc5..0000000
--- a/src/PickTest/CubeIQA.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class CubeIQA extends IndexedQuadArray {
- CubeIQA() {
- super(8, GeometryArray.COORDINATES | GeometryArray.COLOR_3, 24);
-
-
- Point3f verts[] = new Point3f[8];
- Color3f colors[] = new Color3f[8];
-
- verts[0] = new Point3f(1.0f, 1.0f, 1.0f);
- verts[1] = new Point3f(-1.0f, 1.0f, 1.0f);
- verts[2] = new Point3f(-1.0f,-1.0f, 1.0f);
- verts[3] = new Point3f( 1.0f,-1.0f, 1.0f);
- verts[4] = new Point3f( 1.0f, 1.0f,-1.0f);
- verts[5] = new Point3f( -1.0f, 1.0f,-1.0f);
- verts[6] = new Point3f( -1.0f,-1.0f,-1.0f);
- verts[7] = new Point3f( 1.0f,-1.0f,-1.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
- colors[4] = new Color3f(1.0f, 0.0f, 1.0f);
- colors[5] = new Color3f(0.0f, 1.0f, 1.0f);
- colors[6] = new Color3f(0.0f, 1.0f, 1.0f);
- colors[7] = new Color3f(0.0f, 1.0f, 1.0f);
-
- int pntsIndex[] = new int[24];
- int clrsIndex[] = new int[24];
-
- pntsIndex[0] = 0;
- clrsIndex[0] = 0;
- pntsIndex[1] = 3;
- clrsIndex[1] = 0;
- pntsIndex[2] = 7;
- clrsIndex[2] = 0;
- pntsIndex[3] = 4;
- clrsIndex[3] = 0;
-
- pntsIndex[4] = 1;
- clrsIndex[4] = 1;
- pntsIndex[5] = 5;
- clrsIndex[5] = 1;
- pntsIndex[6] = 6;
- clrsIndex[6] = 1;
- pntsIndex[7] = 2;
- clrsIndex[7] = 1;
-
- pntsIndex[8] = 0;
- clrsIndex[8] = 2;
- pntsIndex[9] = 4;
- clrsIndex[9] = 2;
- pntsIndex[10] = 5;
- clrsIndex[10] = 2;
- pntsIndex[11] = 1;
- clrsIndex[11] = 2;
-
- pntsIndex[12] = 3;
- clrsIndex[12] = 3;
- pntsIndex[13] = 2;
- clrsIndex[13] = 3;
- pntsIndex[14] = 6;
- clrsIndex[14] = 3;
- pntsIndex[15] = 7;
- clrsIndex[15] = 3;
-
- pntsIndex[16] = 0;
- clrsIndex[16] = 4;
- pntsIndex[17] = 1;
- clrsIndex[17] = 4;
- pntsIndex[18] = 2;
- clrsIndex[18] = 4;
- pntsIndex[19] = 3;
- clrsIndex[19] = 4;
-
- pntsIndex[20] = 7;
- clrsIndex[20] = 5;
- pntsIndex[21] = 6;
- clrsIndex[21] = 5;
- pntsIndex[22] = 5;
- clrsIndex[22] = 5;
- pntsIndex[23] = 4;
- clrsIndex[23] = 5;
-
- setCoordinates(0, verts);
- setCoordinateIndices(0, pntsIndex);
- setColors(0, colors);
- setColorIndices(0, clrsIndex);
- }
-}
diff --git a/src/PickTest/CubeQA.java b/src/PickTest/CubeQA.java
deleted file mode 100644
index 5e1f78f..0000000
--- a/src/PickTest/CubeQA.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class CubeQA extends QuadArray {
- CubeQA() {
- super(24, GeometryArray.COORDINATES | GeometryArray.COLOR_3);
-
-
- Point3f verts[] = new Point3f[8];
- Color3f colors[] = new Color3f[6];
-
- verts[0] = new Point3f(1.0f, 1.0f, 1.0f);
- verts[1] = new Point3f(-1.0f, 1.0f, 1.0f);
- verts[2] = new Point3f(-1.0f,-1.0f, 1.0f);
- verts[3] = new Point3f( 1.0f,-1.0f, 1.0f);
- verts[4] = new Point3f( 1.0f, 1.0f,-1.0f);
- verts[5] = new Point3f( -1.0f, 1.0f,-1.0f);
- verts[6] = new Point3f( -1.0f,-1.0f,-1.0f);
- verts[7] = new Point3f( 1.0f,-1.0f,-1.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
- colors[4] = new Color3f(1.0f, 0.0f, 1.0f);
- colors[5] = new Color3f(0.0f, 1.0f, 1.0f);
-
- Point3f pnts[] = new Point3f[24];
- Color3f clrs[] = new Color3f[24];
-
- pnts[0] = verts[0];
- clrs[0] = colors[0];
- pnts[1] = verts[3];
- clrs[1] = colors[0];
- pnts[2] = verts[7];
- clrs[2] = colors[0];
- pnts[3] = verts[4];
- clrs[3] = colors[0];
-
- pnts[4] = verts[1];
- clrs[4] = colors[1];
- pnts[5] = verts[5];
- clrs[5] = colors[1];
- pnts[6] = verts[6];
- clrs[6] = colors[1];
- pnts[7] = verts[2];
- clrs[7] = colors[1];
-
- pnts[8] = verts[0];
- clrs[8] = colors[2];
- pnts[9] = verts[4];
- clrs[9] = colors[2];
- pnts[10] = verts[5];
- clrs[10] = colors[2];
- pnts[11] = verts[1];
- clrs[11] = colors[2];
-
- pnts[12] = verts[3];
- clrs[12] = colors[3];
- pnts[13] = verts[2];
- clrs[13] = colors[3];
- pnts[14] = verts[6];
- clrs[14] = colors[3];
- pnts[15] = verts[7];
- clrs[15] = colors[3];
-
- pnts[16] = verts[0];
- clrs[16] = colors[4];
- pnts[17] = verts[1];
- clrs[17] = colors[4];
- pnts[18] = verts[2];
- clrs[18] = colors[4];
- pnts[19] = verts[3];
- clrs[19] = colors[4];
-
- pnts[20] = verts[7];
- clrs[20] = colors[5];
- pnts[21] = verts[6];
- clrs[21] = colors[5];
- pnts[22] = verts[5];
- clrs[22] = colors[5];
- pnts[23] = verts[4];
- clrs[23] = colors[5];
-
-
- setCoordinates(0, pnts);
- setColors(0, clrs);
- }
-}
diff --git a/src/PickTest/GullCG.java b/src/PickTest/GullCG.java
deleted file mode 100644
index c53283a..0000000
--- a/src/PickTest/GullCG.java
+++ /dev/null
@@ -1,576 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class GullCG extends CompressedGeometry {
-
- GullCG() {
- super(cgHeader, cgData) ;
- }
-
- private static final byte cgData[] = {
- 25, 0, -120, 16, -58, -52, 33, -35,
- -128, 67, -36, 0, -127, -72, 97, 14,
- 64, 2, 29, 104, 4, 2, -45, 8,
- 125, -89, 16, 51, -116, 33, -1, -104,
- 71, -64, 48, -106, 31, 1, 32, -52,
- 2, -127, 6, 5, 5, 32, 10, -78,
- -128, 20, 14, 6, 40, 74, -128, 81,
- -43, 24, -94, 44, 1, 86, -104, 98,
- -96, 49, 5, 34, 112, 10, -68, -29,
- 21, -115, -56, 40, 8, -64, 81, -74,
- -128, -90, 13, 49, 71, 30, 2, -81,
- -68, -30, -62, 122, 56, 37, -107, 60,
- -109, 120, 0, 0, 26, -32, 18, 85,
- -128, 14, -16, 71, -13, 66, -33, 103,
- 127, -81, 78, -61, -106, -112, 0, 1,
- -32, 13, -86, -96, 4, -103, -36, 59,
- -23, 25, 39, 18, 11, 122, -80, 1,
- -34, -22, -112, -109, -80, -71, -7, -39,
- -40, 0, -127, 0, 0, 0, 0, 43,
- 97, -102, 118, 16, 83, -32, -121, -87,
- -32, -86, -4, 32, 121, 8, 33, -48,
- -100, -39, 64, 0, 0, 50, 0, -47,
- -9, -97, -118, 53, 75, -122, 89, -54,
- -10, 8, 0, 69, -98, 0, 0, 54,
- 3, -67, 0, 29, -17, 2, 64, 0,
- 5, 126, -93, -56, -31, 15, 74, -95,
- -128, 5, -64, 0, 3, -46, 8, 0,
- 36, 0, 0, 58, 93, -92, 0, 0,
- 30, 0, 87, 4, 0, 23, 4, 68,
- 36, 64, 30, -17, -25, -121, -40, 22,
- 13, 48, 78, -43, 73, -64, -10, 48,
- 51, -25, -1, -82, -65, 3, 55, -71,
- 41, 124, -50, -118, -64, 4, -102, 112,
- 0, 1, -20, 5, 98, 59, -58, -95,
- -87, 42, -9, -112, -99, -107, -91, -11,
- 127, 5, 36, -46, -112, 121, 9, -39,
- -17, -1, -41, 0, 0, 0, 112, 4,
- -121, -19, -124, -16, -44, 66, -40, 36,
- 116, -83, -96, -128, 7, -37, 100, -37,
- 121, 11, 123, -81, -106, 43, 82, 14,
- -85, -8, 41, -95, 67, 81, 18, 125,
- 15, 39, -114, -88, 63, -10, 0, -11,
- 5, 4, 73, -38, 13, 80, -64, 7,
- 64, 56, 14, -56, 108, 3, -64, 96,
- 5, -33, 81, 24, 11, -115, 26, -95,
- -104, 95, -69, -95, -112, 15, 0, -128,
- 40, 30, 67, -27, 1, 107, -55, 102,
- -39, 97, 67, 103, 66, 79, 67, 37,
- -60, 62, -95, -88, -32, 105, 72, 106,
- -113, -59, -108, 54, -64, 43, 50, 9,
- 86, 30, 45, 72, 101, 31, -51, -120,
- 106, -8, 75, -24, 98, 111, -106, -12,
- 54, 104, 54, 47, 87, -115, -61, -106,
- 64, -47, 13, -80, 10, -116, -122, 39,
- -3, 118, -7, 0, 0, 0, 0, 42,
- -13, -118, 27, 96, 9, 27, -20, 71,
- -8, -96, -50, 61, 111, 87, 102, -83,
- -93, -54, 47, -37, 51, -113, 27, 122,
- 98, -52, -91, -75, 1, 53, -96, 8,
- 97, -120, 54, -44, 55, -1, -10, 105,
- -108, -84, -4, -101, -64, 67, 41, -4,
- 105, 67, 117, -60, 92, 67, 115, -4,
- -65, 124, -125, 90, 64, 118, -85, 97,
- 67, 39, 126, 96, 67, 78, 80, 65,
- -15, 12, -57, 61, 94, 67, 50, 3,
- -93, 33, -107, -2, -44, 16, 91, -34,
- -115, -88, 109, 24, 75, -120, 109, -113,
- -108, 20, 49, 52, 59, 122, 25, 51,
- -29, 23, -85, -39, 33, -50, -28, 104,
- -122, -16, 2, 0, -128, 90, 67, 20,
- 1, -93, 124, -122, 31, 91, 113, -59,
- 13, -55, -7, 121, 12, -57, 10, -10,
- -122, 120, 0, 1, -8, 8, -56, 33,
- -49, -59, 94, -78, -45, -85, 6, -33,
- 105, -55, -121, -77, 99, -113, 91, 105,
- -2, 77, -37, 70, -118, -2, 52, 102,
- -122, -45, -120, -66, -122, 25, -7, 65,
- 65, 19, 67, -69, 33, -92, 1, 0,
- 0, 23, 16, -37, 31, 40, 113, -90,
- 120, 118, -84, -48, -55, -17, -37, 16,
- -59, 62, -88, 28, -126, 21, 70, 1,
- -108, 3, 80, 1, -96, 45, 107, -115,
- 124, 58, -60, 102, -128, 0, 7, 64,
- 27, -60, 125, -107, 127, 42, -40, -83,
- 57, -15, -71, 1, -32, -50, -60, 42,
- 123, 106, 60, -16, -32, -66, 85, 26,
- -14, -31, 82, -20, -49, -128, -120, 94,
- -64, 0, -25, 50, 85, 26, -52, -80,
- 23, -21, 7, -120, 1, 118, 53, -55,
- 75, -83, -96, 2, 24, -16, 0, 0,
- 0, 4, 18, -77, 92, -101, -64, 8,
- 84, 72, -22, -33, 85, -126, -42, -69,
- -41, -79, -49, -69, 126, -128, 5, 0,
- -1, -128, 125, 54, 0, -53, 47, 110,
- 91, -59, 64, 13, 119, 115, -59, 63,
- 93, -28, -6, -23, -61, -128, 1, 40,
- 0, 0, 80, 75, 64, -18, -33, -123,
- -2, -117, -74, -116, 26, -106, -80, 6,
- 91, -70, 21, -23, -44, 0, -121, 12,
- 7, 64, 0, 5, 38, -73, 118, -79,
- -114, 104, 118, 0, -5, 87, 2, 85,
- -46, 94, 115, -112, -117, 72, 124, 100,
- -32, 106, 106, 81, -98, -121, -100, 116,
- 76, -121, -23, -112, 40, 43, 40, -92,
- 57, -96, 4, 121, 47, -29, -65, 81,
- -26, 2, -128, 16, 6, 62, -85, 86,
- -67, -8, 74, -35, -77, -62, -5, -81,
- -106, 56, 0, 0, 31, 1, -91, -48,
- 0, 67, 27, -62, 100, 43, 80, 68,
- 61, -48, 1, 24, 0, 45, 1, -16,
- 7, 18, 1, -23, -88, -84, 127, -6,
- 11, 37, -98, 14, 57, 107, -61, -52,
- -114, -128, 1, 91, -92, -95, -82, -128,
- 16, -64, 1, 108, 0, -128, 55, 111,
- -101, 96, -80, 61, -90, -94, 122, 49,
- -21, 14, -2, -73, 99, 115, 81, 11,
- 90, -118, 74, -99, 30, -9, -9, 67,
- -57, 80, 42, 79, -14, 3, -86, -91,
- -94, 51, -1, 83, 64, -118, 50, 53,
- -59, 74, -89, 126, -23, 32, 13, 57,
- 40, -123, 76, 97, -41, 91, -115, -23,
- 107, -83, -37, 81, 67, 27, -73, -113,
- 58, 22, -80, 4, 88, 64, 109, -10,
- -64, 14, -80, -19, -43, 15, 62, -80,
- -116, -14, -121, -11, 110, -25, 38, -109,
- 3, 55, -103, 85, -65, -79, -117, -37,
- 66, -102, 97, -70, -123, 43, 104, -128,
- 21, 100, 40, 71, -55, -125, 104, 33,
- -43, 82, 84, -102, 7, -3, -32, -114,
- 20, -37, -27, -4, -107, 116, 67, 3,
- -7, -91, -9, -99, -25, -44, -71, -57,
- 4, 5, -75, 74, 0, 1, 107, -120,
- -19, -92, 21, -66, 100, 8, -124, -6,
- -79, 18, -44, -27, 12, 12, -112, -32,
- -108, -68, 99, 123, -89, -39, 98, -53,
- 51, -10, -128, 10, 42, -48, -9, -108,
- -34, -100, -7, -52, -123, -39, 100, -46,
- 85, 45, 16, 0, 12, 97, -58, -25,
- 32, 111, -32, 0, -48, 0, -48, 10,
- -73, 86, -18, 104, 114, -102, -80, 32,
- 0, 88, 0, 64, 7, -25, -127, 66,
- -6, -75, 74, 73, 78, -51, -125, 4,
- -103, -88, 1, 78, -62, 54, 84, 90,
- -14, 32, 35, -18, -40, -67, -44, 106,
- -102, -128, 2, 107, -24, -124, -64, 66,
- -51, 15, 100, -87, 44, 0, 70, 125,
- -120, 95, 33, 50, 123, 70, 83, 0,
- -115, 122, 22, -102, 35, 92, -112, 94,
- -87, -121, -66, -64, -105, -65, -15, 17,
- -22, 122, -80, 33, 94, -5, 5, 75,
- -35, 114, 65, 99, 99, 94, 28, -52,
- -3, -77, 42, -16, -24, -87, 84, 12,
- -76, 76, 90, 110, -120, 0, 86, -36,
- -95, 85, 0, -122, -62, -125, 97, 67,
- 13, 0, -127, -78, -19, 63, -3, -46,
- 80, 0, -84, 0, 10, -128, 46, 3,
- 40, 4, 55, 114, -8, -38, 16, -59,
- -12, 84, -90, -35, -83, 111, 64, 21,
- -128, 3, 96, 30, 3, -112, 12, -111,
- -120, 13, -24, 14, -32, 5, 29, 16,
- 1, 12, 123, -6, -60, 86, 82, 25,
- 59, -56, 11, -74, -16, 4, 0, -104,
- -91, 0, 16, -53, 59, 29, 101, 43,
- 119, -41, -23, -100, 6, 74, 81, 56,
- 10, -6, 32, 1, 91, -27, -31, -124,
- 5, -40, -22, -90, 46, -78, -128, 5,
- 99, -64, 0, 0, 0, 19, -128, 33,
- -106, 5, -44, -26, -57, -97, -113, -64,
- 20, -93, 72, 2, 55, 48, 8, 111,
- 80, 31, -32, 31, -16, 12, -30, -26,
- -88, 9, -69, -128, 8, 98, 3, 64,
- 120, 5, -67, 118, -12, 59, -118, -122,
- -115, 122, -6, -122, -125, -95, -77, -95,
- -105, 73, -28, -6, -122, -86, -127, 51,
- -95, -105, 125, -22, -6, -122, -38, -31,
- -65, 84, -86, -14, 95, 71, -97, 67,
- 111, -66, -81, -47, -124, 92, 22, 1,
- -43, 16, 1, 13, 97, -18, -63, -82,
- -46, -120, 106, -110, -122, -17, 120, 97,
- -87, 82, 67, -99, 75, -48, -33, 95,
- 79, 2, -32, -32, -104, 13, 41, 0,
- 8, 103, 79, -105, -115, 112, 112, 70,
- 3, 21, 84, 51, -101, -53, 18, 8,
- 14, -62, -83, 72, 100, 72, 72, -24,
- 102, 71, -73, -117, 17, 30, -65, -32,
- -40, 36, 4, 46, -51, 76, 44, 96,
- -44, 0, -57, 102, 54, -31, -2, 80,
- 0, -71, 98, -72, 80, 46, 82, -64,
- 8, 96, -80, 0, 32, 0, 16, 8,
- 55, 106, -98, -121, -19, 64, 11, -108,
- 36, 103, 8, -88, 8, 0, 46, -116,
- -101, 104, -128, 50, -54, 112, 93, 73,
- 64, 0, 115, -128, 0, 3, -32, 14,
- -100, 25, 96, 0, -66, 0, 0, 22,
- 49, -64, 12, -76, -124, 35, -95, 56,
- 1, -10, 0, 11, -32, 122, 1, 98,
- 20, 114, -38, 16, -18, -124, -32, 7,
- -40, 0, 47, -128, 0, 5, 104, 97,
- -53, 8, 127, -70, 35, -128, 29, -32,
- 0, -66, 0, 0, 20, 7, -17, 104,
- 124, -70, 47, -34, 0, 11, -32, 0,
- 1, 93, 124, -78, -121, -29, -93, 56,
- 0, 22, 0, 11, -32, 0, 1, 82,
- -58, 122, -38, 31, 110, -101, 125, -128,
- 2, -8, 0, 0, 86, -26, 28, -74,
- -121, -29, -92, 56, 1, -106, 0, 11,
- -32, 0, 1, -2, -104, 0, 35, 53,
- -127, 65, -82, 34, 38, -51, -74, -34,
- 0, -71, 123, 66, 111, -63, -24, 16,
- 1, 12, 0, 17, 0, 0, 21, 5,
- -48, -125, 109, 48, 7, -118, -125, 83,
- -68, 10, 115, -112, 1, 0, -128, 18,
- -47, -89, 61, 121, -86, 77, 58, 16,
- 109, 92, 65, 86, 127, -82, -100, 31,
- 96, 0, 64, 0, 0, 30, -7, 68,
- -116, 32, 0, 3, -32, 28, 72, 13,
- -110, -125, 43, 0, 17, 107, -64, 23,
- -92, 0, 46, -64, 1, -96, 13, 1,
- 91, -112, 1, 12, 5, -2, -66, -122,
- -110, -104, 81, 19, 30, -2, 60, 2,
- 18, 96, 48, -112, 20, 51, 16, 38,
- -51, 126, 67, 56, 33, -82, -78, -87,
- -117, -10, 10, -52, -86, -18, -97, 120,
- 62, -47, 67, -9, -86, 81, -17, 0,
- 8, 0, 24, 5, -127, -5, -38, 0,
- 47, 67, -9, -128, 4, 0, 0, 2,
- -80, -1, 97, 7, -9, -82, 81, -53,
- 0, 8, 0, 0, 5, 4, 112, 3,
- -19, -96, -14, -11, -56, 57, 96, 1,
- 0, 0, 0, -82, -116, 0, 125, -108,
- 31, 30, -71, 71, -68, 0, 32, 0,
- 0, 21, 7, -53, 104, 61, -67, 35,
- 0, 5, 96, 1, 0, 0, 0, -84,
- 3, 45, -96, -8, -11, 12, 0, 21,
- -128, 4, 0, 0, 3, -8, 15, -77,
- -64, -108, 16, -30, 14, 61, 105, -40,
- -81, 27, 124, -75, 64, 40, 6, -11,
- -54, 32, -32, 1, 0, 0, 0, -111,
- -63, -106, -116, -125, 115, 5, 0, 33,
- 76, 0, 1, -64, 61, -96, 25, 26,
- -116, 24, 37, 66, -113, -55, 42, 77,
- 19, -35, -4, -73, -111, -110, -14, 12,
- -23, 12, 0, 101, -91, 0, 0, 1,
- 0, 104, 70, 0, 43, -39, -99, -46,
- 78, 45, -5, 58, -30, 2, -127, 27,
- 44, -22, 80, -118, 53, -24, 58, -3,
- -17, -76, -90, 95, 18, 55, -16, -39,
- -4, -121, -55, -25, -11, -38, 85, 68,
- 60, -76, 15, -5, 124, 40, 0, 86,
- -14, 12, -2, 3, 124, -16, 63, 0,
- -69, -91, 102, 2, -128, 16, 6, 48,
- 31, 43, 94, -4, 50, 42, 14, 90,
- -126, -95, 107, -18, -96, 0, -102, 71,
- -11, -68, 16, -37, 11, -59, 122, -2,
- 64, 1, -64, 59, 1, -38, 24, 80,
- -48, 5, 64, 0, 15, -46, 104, -82,
- -57, -19, -4, -115, 115, 112, 92, 20,
- -28, -3, -127, 64, 125, -64, 127, -64,
- 56, -125, -113, 74, 118, 43, 78, -35,
- 107, 47, -18, 91, -121, -111, 0, 0,
- 0, 126, -128, 63, -23, 31, 102, -65,
- 32, 53, -30, -104, 102, 86, -16, -16,
- 8, 86, 2, -20, 31, 24, -11, -56,
- 1, 78, 0, 16, -127, -104, 10, 18,
- 102, -51, 8, 122, 0, 86, 0, 19,
- 1, -120, 10, -32, 34, -55, 65, 111,
- 64, 16, 119, -128, 5, -128, 98, 3,
- -82, -103, 100, -64, 0, 7, -80, 31,
- -111, -128, 11, -108, 89, 16, 106, -107,
- -56, 1, 118, -75, -10, 121, -92, 0,
- -69, 121, 5, 32, -79, 43, -104, 2,
- -20, 123, -2, -51, 72, 1, 118, -6,
- 40, -5, -105, 48, 2, 24, 56, 0,
- 4, 0, 4, 2, -15, 90, 90, 93,
- -4, 1, -117, 86, -87, -89, 67, 0,
- 86, -98, -94, 121, 1, -66, -34, 0,
- -64, 18, 10, 86, -40, 21, 115, 0,
- 70, -28, 1, -22, 1, -14, 0, -126,
- 33, 12, -87, 38, -3, -30, -104, -28,
- 124, 89, -63, -58, 77, -76, -79, -89,
- 98, 8, -64, 7, 0, 56, 11, -62,
- 59, -45, 18, 46, -62, -51, -128, 14,
- 0, 96, 25, -128, -33, 93, 64, 45,
- -35, -101, 120, 31, 0, -96, 58, -128,
- -122, -120, 7, 0, 0, 1, -39, 12,
- 0, 124, 2, 0, -80, 70, -36, -127,
- 119, 16, -122, -16, 62, 0, -128, 126,
- -19, 54, 70, 121, 108, 26, 17, -117,
- 107, -52, -30, 35, -36, 19, 93, -128,
- 28, 102, -39, -122, -61, 118, 1, 12,
- 0, 28, 10, -128, -13, 114, -33, 14,
- 66, -109, 7, 48, 2, 24, -24, 3,
- -52, -92, 110, 123, 124, -96, 8, 67,
- 40, 8, -87, -111, -117, -71, -98, -124,
- 73, -128, 3, 96, 30, 2, 105, 8,
- 32, 64, -74, 41, 48, -6, -67, -105,
- -56, 43, 106, -53, -75, 0, 67, 113,
- 2, 121, -89, 114, 4, -128, 57, -60,
- 80, -50, 56, -107, 16, -46, -64, 45,
- 72, 96, 88, 107, 8, 105, -64, 55,
- -31, -112, 108, -89, -76, -59, 0, 107,
- -124, 42, 26, -53, -21, -116, 92, 14,
- -100, -107, -109, -62, 94, 64, 33, -75,
- -128, -121, -12, -102, -122, 17, -119, 101,
- 67, 88, 27, -27, 41, 13, -76, 22,
- -20, -126, 0, 0, 0, 0, 71, 67,
- 113, -66, 51, -95, -92, -122, 12, -94,
- -126, 33, -13, 103, 35, 46, -1, -47,
- 40, 68, -101, 48, 41, -100, -119, -79,
- 47, 60, 83, 64, 67, 101, -122, 51,
- -103, -119, 107, -62, -102, 1, 12, 8,
- 22, -2, 42, -73, 77, 6, 91, 32,
- 2, 49, -73, -89, -63, 8, 98, -45,
- -21, -16, 10, 50, 41, -87, 74, -76,
- 53, 91, 75, -43, -40, 0, 42, 1,
- -96, 36, -46, 0, 111, -85, 57, 94,
- 93, 119, -104, 116, 17, -104, -65, 84,
- 97, 100, -102, 37, 15, -68, 126, 73,
- 47, -111, 115, -53, -46, -72, 0, 102,
- -60, -123, 119, 1, -54, 64, 4, 2,
- 0, 118, 71, 92, 0, 12, 12, -128,
- -34, -55, -65, 74, -85, -111, 78, -125,
- -3, 127, -100, -111, -80, -128, 10, -108,
- -56, 16, 1, -109, -24, 21, -44, -115,
- -9, -32, -16, 35, 37, 14, -22, -69,
- -106, -15, 64, 3, 45, -22, 33, 86,
- -64, 32, -41, 32, 117, 52, 62, -27,
- -101, -118, -74, -125, -66, 56, -13, 93,
- 113, -56, 21, 79, -76, -128, 0, -103,
- 122, 126, -48, 20, 93, -90, 47, 42,
- -40, 8, 17, -83, -94, -33, 8, 93,
- -113, 10, 79, 62, -128, 23, 109, -25,
- -8, 1, 33, 90, 0, 33, -118, 5,
- -44, -54, -64, 127, -113, 64, 16, -64,
- 2, 80, 15, 1, -5, -27, -38, -16,
- -83, 41, -118, 15, -37, -57, -79, -94,
- -51, 50, -59, -47, 20, -59, 64, 15,
- -75, 107, -53, -91, -96, -9, -128, 1,
- 48, 0, 0, 80, 94, -19, 92, -10,
- -127, -20, 0, 14, 82, 125, 83, -24,
- -121, 56, -124, 61, -67, -88, -73, 64,
- 120, 0, 0, 84, 0, -61, -19, 99,
- 32, -33, -26, -76, -26, -17, -51, -122,
- 38, -111, -84, -36, 12, 93, -77, -66,
- -85, -86, 0, 107, -68, 6, -36, 92,
- -74, 30, 102, 71, 64, 3, 93, 78,
- -80, -75, -7, 5, 93, -6, -57, -74,
- -79, 79, -109, 78, 22, 117, 108, -111,
- 122, 52, 96, -49, 38, -117, -125, 123,
- 10, 114, 121, 85, 96, -48, 0, -96,
- 31, 16, 13, 39, -42, 113, 50, -109,
- -9, 90, 59, 93, 15, -8, -79, 116,
- -14, 77, -128, 29, 104, -19, -42, -97,
- -94, -62, 6, -33, 44, 0, -5, 108,
- -3, 91, -19, 7, -83, -27, 81, 49,
- 24, -12, -109, 123, -51, 60, 39, 111,
- -50, 23, -78, 53, -10, 14, -80, -93,
- 122, -87, 33, -78, -30, 59, -95, -96,
- 10, -128, 0, 30, 61, 92, -112, -53,
- -25, 104, -76, 24, -79, 9, 37, 32,
- 22, 4, -57, 1, 109, 65, 7, 26,
- -98, 59, 106, -101, 103, -64, -116, -52,
- 11, 29, 23, 106, 107, 106, -51, -15,
- 120, -5, -20, 1, 54, -16, -47, -77,
- 0, 38, -81, -54, 18, -8, 32, -122,
- 69, 70, 117, 23, 44, 0, 0, 30,
- 0, -68, 0, 109, -128, -45, -37, 80,
- 48, 5, 118, -25, -85, 50, 110, 108,
- -111, 51, -47, 23, 16, -96, 45, 99,
- -51, -110, -12, 96, -63, -42, 20, 120,
- 89, 86, 41, 120, 32, 5, 41, -5,
- 0, 13, -99, 104, -100, -128, 10, -80,
- 16, 0, 104, 15, -104, 5, 106, -85,
- 125, 9, 57, -1, 91, -16, 0, 44,
- 7, -32, 3, -10, 55, 40, -1, 80,
- 65, -126, -64, 66, -20, -37, 66, -59,
- 95, 64, 4, 55, -20, 26, 13, -37,
- -126, 125, -106, -48, 1, 13, -48, -65,
- -90, -126, -79, -123, 21, 32, 8, 108,
- 95, -91, -111, 115, 44, -101, -112, 1,
- 82, 16, 0, 103, 1, -51, 0, -112,
- -14, 103, -112, -122, 98, 46, -43, -71,
- 41, 126, -76, 0, -71, 79, 2, 127,
- 108, -2, -128, 23, 109, 93, -111, -74,
- 90, 0, 33, -96, 63, -94, -107, -86,
- 70, 92, -64, 21, -67, 64, 0, -128,
- 127, -64, 51, 0, 23, 126, -40, 69,
- 68, 0, -101, 71, -5, -84, -127, -82,
- 104, -123, 85, 80, -55, -81, 47, -88,
- 109, -46, 27, -11, 74, -83, 49, -35,
- 116, 113, 112, 0, 86, 0, -72, 15,
- 32, 4, -37, 124, 11, 126, -116, -32,
- 11, -113, 126, 40, -92, 0, 33, -110,
- -2, 87, 53, -51, 64, -81, -51, 74,
- -36, 121, -4, 102, -15, 117, -19, 4,
- 93, -32, 4, 49, 0, 96, 60, 3,
- -23, 26, 19, -124, -92, 33, 13, -94,
- -16, -6, -122, -83, -127, 54, 33, -118,
- -99, -79, 32, -107, 112, 30, -8, -122,
- -125, -66, -77, -95, -91, 122, 16, -114,
- -122, 92, 123, 113, 65, 69, 125, 125,
- 67, 66, 48, -43, 80, -53, 78, -49,
- 29, 37, 10, 121, -59, 36, -61, -114,
- -109, -28, 103, -92, 0, 46, -57, -115,
- 72, 127, -12, 0, -55, 101, -48, -119,
- -117, 22, -64, 1, 25, -110, 21, -60,
- 66, 26, 43, -21, -59, -55, -62, -58,
- -21, 46, -96, -128, 25, 101, 0, 0,
- 1, -64, 31, 9, 64, 1, -75, -73,
- -55, 82, 0, -89, 94, 13, -76, -56,
- 74, -1, 83, 115, 72, -21, -104, 43,
- 56, -75, -32, -10, 74, -11, -66, 126,
- 11, 72, 113, -40, 29, -51, -12, -127,
- 6, -85, -116, -85, 78, 30, -65, -44,
- -111, -1, -95, -111, 62, -33, 68, -55,
- -29, -91, 112, -93, 37, 1, 72, -111,
- -114, 0, 125, -96, -32, -38, 9, 70,
- 76, -102, 5, -28, -116, -109, -53, -58,
- -7, -37, -7, 0, 10, 114, 100, -105,
- -47, -53, 59, 46, -37, -23, 64, 2,
- -73, 112, 103, -16, 4, 102, -18, 104,
- 21, -40, 70, -70, 0, 88, 0, 1,
- -113, -123, 88, -89, -55, -112, -84, -45,
- -107, -82, 28, -128, 40, 105, 24, 55,
- 61, -73, -40, 15, -72, 0, 8, 4,
- 47, -27, 88, -18, -3, 74, 50, 104,
- -111, 31, -27, -4, -115, 115, 111, -92,
- 22, -12, -10, -128, 3, -128, 10, 3,
- 78, -56, 97, 127, 104, 8, 105, 24,
- 53, -2, -43, 119, -21, -12, -13, 104,
- -95, 71, -19, -4, 13, -13, -57, -20,
- 16, -16, -36, -84, 95, 88, 52, -5,
- 8, 1, 78, 97, -68, -67, 120, -40,
- 0, 66, 1, -96, 40, 64, 2, -20,
- -2, -57, -88, 2, -84, 0, 38, 0,
- -16, 21, -2, 60, -102, -38, -12, -115,
- 88, 0, 88, 1, -32, 43, 95, 57,
- -9, -115, 32, -3, 113, -28, -45, 31,
- -62, 57, 7, -5, -30, -105, 106, 102,
- 59, -44, 32, 7, 56, 0, 52, 6,
- 96, 61, 3, 54, -24, 0, 1, -56,
- 11, 0, 92, -70, 40, 85, 113, 0,
- 16, -42, -79, 73, -73, 106, 66, 21,
- 104, 64, 11, -79, -20, 11, 14, 32,
- 1, 88, 119, -60, 14, 96, 16, -34,
- 64, 0, 32, 63, -32, 23, -48, -35,
- 82, -20, -92, 110, -102, -15, 52, 8,
- 67, 24, 17, 83, 35, 2, 58, -84,
- -120, -41, 50, -55, -65, 123, 39, -42,
- 6, -71, 71, 19, 1, 126, 60, 2,
- 4, 98, 87, 124, 19, 60, -112, -41,
- 111, 63, -96, 9, -119, -109, 47, 24,
- 113, -108, -126, 55, 2, -66, 88, -60,
- 120, -127, -24, 18, -64, 78, 40, 99,
- 32, -21, 56, -5, -66, 100, -80, 19,
- -116, -37, 77, -75, -18, -64, 33, -128,
- 3, -128, -80, 25, -4, 71, -122, 61,
- 103, 39, 20, 54, -81, -54, -99, -112,
- -64, 7, 0, -56, 11, -63, 106, -71,
- -25, 100, -103, 51, 0, 28, 3, 64,
- 51, 0, -33, 90, -44, 89, -39, -101,
- 8, 31, 3, 96, 44, 0, -122, 101,
- 9, 114, 67, 0, 0, -1, -64, -1,
- 0, 88, 35, 82, 67, -71, 8, 43,
- 0, 64, -1, -64, -1, -128, 126, 1,
- -110, 101, 95, -6, -37, 113, 0, 9,
- -79, 19, -26, 112, 41, -51, -83, 18,
- 113, -108, 52, -113, -25, -44, 54, 33,
- 13, -59, 13, 5, -11, 97, 12, -58,
- 8, -50, -122, 90, -17, -102, -46, 26,
- -82, 9, -80, -116, 83, -23, -56, 69,
- 73, 84, 0, -28, 7, -12, 3, 47,
- 17, -68, 43, -26, -62, 32, 92, 25,
- -15, -43, 24, 1, 13, -98, -18, -64,
- -122, -51, 120, 98, -102, 24, 71, -35,
- -127, 5, 90, 48, -42, -92, 49, -36,
- 36, 116, 52, -29, -21, -11, 72, -59,
- 21, -22, 106, -14, -73, -16, 36, 16,
- 19, 105, 110, -105, -16, 41, 71, 54,
- 80, -38, 109, 73, -110, -63, 21, 72,
- 35, 38, 59, 49, 8, -109, 24, 88,
- 29, 72, -125, 50, 91, -93, 16, 9,
- -77, -53, 126, 20, -64, 33, 2, 58,
- -90, 8, -109, 102, 61, 41, -112, 70,
- 65, -9, 75, 17, 38, 22, -12, 83,
- 35, 125, -4, -14, -62, -95, -106, -103,
- -66, -82, 70, -60, -16, 115, 17, 30,
- -4, 0, 11, 1, -8, 0, -126, -120,
- 75, 65, -47, -42, -58, 126, -55, -128,
- 0, 15, 96, 52, 115, 14, -37, 79,
- -70, 71, 10, 60, -102, 74, 34, 124,
- -25, 10, 5, 112, -24, -46, -68, 105,
- 23, -34, -3, 4, 95, -20, 69, -37,
- 50, -98, 8, 17, -113, 97, 20, 72,
- 33, -107, 88, -45, -56, -49, -80, -85,
- -30, 36, 85, -77, 9, 68, 33, -94,
- -67, -97, 72, -52, 35, -108, -95, 23,
- 96, 40, 22, 40, 64, 12, 87, -122,
- -9, 27, -23, 2, 8, -73, -6, -26,
- -112, 22, 4, -44, 116, 85, 2, -116,
- -109, -24, -101, -34, 56, 1, -74, 16,
- 0, 1, -16, 14, 61, 89, 56, 51,
- -21, -107, -101, -72, -17, 64, 46, -64,
- 2, -80, 13, 1, -37, 16, 1, 4,
- 0, 0, 0, 0, -63, 118, 101, -103,
- 91, -60, 32, 4, -40, 52, 58, 119,
- 64, 32, 0, -52, 0, 0, 0, -120
- } ;
-
- private static final CompressedGeometryHeader cgHeader ;
-
- static {
- cgHeader = new CompressedGeometryHeader() ;
- cgHeader.majorVersionNumber = 1 ;
- cgHeader.minorVersionNumber = 0 ;
- cgHeader.minorMinorVersionNumber = 1 ;
- cgHeader.bufferType = CompressedGeometryHeader.TRIANGLE_BUFFER ;
- cgHeader.bufferDataPresent = CompressedGeometryHeader.NORMAL_IN_BUFFER ;
- cgHeader.start = 0 ;
- cgHeader.size = cgData.length ;
- }
-}
diff --git a/src/PickTest/IcosahedronITSA.java b/src/PickTest/IcosahedronITSA.java
deleted file mode 100644
index e25178f..0000000
--- a/src/PickTest/IcosahedronITSA.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class IcosahedronITSA extends IndexedTriangleStripArray {
-
- private static final int[] sVertCnt = {
- 3, 11, 5, 4, 5, 4
- };
-
- IcosahedronITSA() {
- super(12, GeometryArray.COORDINATES | GeometryArray.COLOR_3, 32, sVertCnt);
-
- Point3f verts[] = new Point3f[12];
- Color3f colors[] = new Color3f[12];
-
- verts[0] = new Point3f(0.0f, 1.4f, 0.8652f);
- verts[1] = new Point3f(0.0f, 1.4f, -0.8652f);
- verts[2] = new Point3f(1.4f, 0.8652f, 0.0f);
- verts[3] = new Point3f(1.4f, -0.8652f, 0.0f);
- verts[4] = new Point3f(0.0f, -1.4f, -0.8652f);
- verts[5] = new Point3f(0.0f, -1.4f, 0.8652f);
- verts[6] = new Point3f(0.8652f, 0.0f, 1.4f);
- verts[7] = new Point3f(-0.8652f, 0.0f, 1.4f);
- verts[8] = new Point3f(0.8652f, 0.0f, -1.4f);
- verts[9] = new Point3f(-0.8652f, 0.0f, -1.4f);
- verts[10] = new Point3f(-1.4f, 0.8652f, 0.0f);
- verts[11] = new Point3f(-1.4f, -0.8652f, 0.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
- colors[4] = new Color3f(0.0f, 1.0f, 1.0f);
- colors[5] = new Color3f(1.0f, 0.0f, 1.0f);
- colors[6] = new Color3f(0.0f, 0.5f, 0.0f);
- colors[7] = new Color3f(0.0f, 0.0f, 0.5f);
- colors[8] = new Color3f(0.5f, 0.5f, 0.0f);
- colors[9] = new Color3f(0.0f, 0.5f, 0.5f);
- colors[10] = new Color3f(0.5f, 0.0f, 0.5f);
- colors[11] = new Color3f(0.5f, 0.5f, 0.5f);
-
- int pntsIndex[] = new int[32];
- int clrsIndex[] = new int[32];
-
- pntsIndex[0] = 4;
- clrsIndex[0] = 4;
- pntsIndex[1] = 5;
- clrsIndex[1] = 5;
- pntsIndex[2] = 11;
- clrsIndex[2] = 11;
-
- pntsIndex[3] = 11;
- clrsIndex[3] = 11;
- pntsIndex[4] = 5;
- clrsIndex[4] = 5;
- pntsIndex[5] = 7;
- clrsIndex[5] = 7;
-
- pntsIndex[6] = 6;
- clrsIndex[6] = 6;
-
- pntsIndex[7] = 0;
- clrsIndex[7] = 0;
-
- pntsIndex[8] = 2;
- clrsIndex[8] = 2;
-
- pntsIndex[9] = 1;
- clrsIndex[9] = 1;
-
- pntsIndex[10] = 8;
- clrsIndex[10] = 8;
-
- pntsIndex[11] = 9;
- clrsIndex[11] = 9;
-
- pntsIndex[12] = 4;
- clrsIndex[12] = 4;
-
- pntsIndex[13] = 11;
- clrsIndex[13] = 11;
-
- pntsIndex[14] = 2;
- clrsIndex[14] = 2;
- pntsIndex[15] = 6;
- clrsIndex[15] = 6;
- pntsIndex[16] = 3;
- clrsIndex[16] = 3;
-
- pntsIndex[17] = 5;
- clrsIndex[17] = 5;
-
- pntsIndex[18] = 4;
- clrsIndex[18] = 4;
-
- pntsIndex[19] = 4;
- clrsIndex[19] = 4;
- pntsIndex[20] = 8;
- clrsIndex[20] = 8;
- pntsIndex[21] = 3;
- clrsIndex[21] = 3;
-
- pntsIndex[22] = 2;
- clrsIndex[22] = 2;
-
- pntsIndex[23] = 0;
- clrsIndex[23] = 0;
- pntsIndex[24] = 1;
- clrsIndex[24] = 1;
- pntsIndex[25] = 10;
- clrsIndex[25] = 10;
-
- pntsIndex[26] = 9;
- clrsIndex[26] = 9;
-
- pntsIndex[27] = 11;
- clrsIndex[27] = 11;
-
- pntsIndex[28] = 0;
- clrsIndex[28] = 0;
- pntsIndex[29] = 10;
- clrsIndex[29] = 10;
- pntsIndex[30] = 7;
- clrsIndex[30] = 7;
-
- pntsIndex[31] = 11;
- clrsIndex[31] = 11;
-
- setCoordinates(0, verts);
- setCoordinateIndices(0, pntsIndex);
- setColors(0, colors);
- setColorIndices(0, clrsIndex);
- }
-}
diff --git a/src/PickTest/IcosahedronTSA.java b/src/PickTest/IcosahedronTSA.java
deleted file mode 100644
index 83fb687..0000000
--- a/src/PickTest/IcosahedronTSA.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class IcosahedronTSA extends TriangleStripArray {
- private static final int[] sVertCnt = {
- 3, 11, 5, 4, 5, 4
- };
-
- IcosahedronTSA() {
- super(32, GeometryArray.COORDINATES | GeometryArray.COLOR_3, sVertCnt);
-
- Point3f verts[] = new Point3f[12];
- Color3f colors[] = new Color3f[12];
-
- verts[0] = new Point3f(0.0f, 1.4f, 0.8652f);
- verts[1] = new Point3f(0.0f, 1.4f, -0.8652f);
- verts[2] = new Point3f(1.4f, 0.8652f, 0.0f);
- verts[3] = new Point3f(1.4f, -0.8652f, 0.0f);
- verts[4] = new Point3f(0.0f, -1.4f, -0.8652f);
- verts[5] = new Point3f(0.0f, -1.4f, 0.8652f);
- verts[6] = new Point3f(0.8652f, 0.0f, 1.4f);
- verts[7] = new Point3f(-0.8652f, 0.0f, 1.4f);
- verts[8] = new Point3f(0.8652f, 0.0f, -1.4f);
- verts[9] = new Point3f(-0.8652f, 0.0f, -1.4f);
- verts[10] = new Point3f(-1.4f, 0.8652f, 0.0f);
- verts[11] = new Point3f(-1.4f, -0.8652f, 0.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
- colors[4] = new Color3f(0.0f, 1.0f, 1.0f);
- colors[5] = new Color3f(1.0f, 0.0f, 1.0f);
- colors[6] = new Color3f(0.0f, 0.5f, 0.0f);
- colors[7] = new Color3f(0.0f, 0.0f, 0.5f);
- colors[8] = new Color3f(0.5f, 0.5f, 0.0f);
- colors[9] = new Color3f(0.0f, 0.5f, 0.5f);
- colors[10] = new Color3f(0.5f, 0.0f, 0.5f);
- colors[11] = new Color3f(0.5f, 0.5f, 0.5f);
-
- Point3f pnts[] = new Point3f[32];
- Color3f clrs[] = new Color3f[32];
-
- pnts[0] = verts[4];
- clrs[0] = colors[4];
- pnts[1] = verts[5];
- clrs[1] = colors[5];
- pnts[2] = verts[11];
- clrs[2] = colors[11];
-
- pnts[3] = verts[11];
- clrs[3] = colors[11];
- pnts[4] = verts[5];
- clrs[4] = colors[5];
- pnts[5] = verts[7];
- clrs[5] = colors[7];
-
- pnts[6] = verts[6];
- clrs[6] = colors[6];
-
- pnts[7] = verts[0];
- clrs[7] = colors[0];
-
- pnts[8] = verts[2];
- clrs[8] = colors[2];
-
- pnts[9] = verts[1];
- clrs[9] = colors[1];
-
- pnts[10] = verts[8];
- clrs[10] = colors[8];
-
- pnts[11] = verts[9];
- clrs[11] = colors[9];
-
- pnts[12] = verts[4];
- clrs[12] = colors[4];
-
- pnts[13] = verts[11];
- clrs[13] = colors[11];
-
- pnts[14] = verts[2];
- clrs[14] = colors[2];
- pnts[15] = verts[6];
- clrs[15] = colors[6];
- pnts[16] = verts[3];
- clrs[16] = colors[3];
-
- pnts[17] = verts[5];
- clrs[17] = colors[5];
-
- pnts[18] = verts[4];
- clrs[18] = colors[4];
-
- pnts[19] = verts[4];
- clrs[19] = colors[4];
- pnts[20] = verts[8];
- clrs[20] = colors[8];
- pnts[21] = verts[3];
- clrs[21] = colors[3];
-
- pnts[22] = verts[2];
- clrs[22] = colors[2];
-
- pnts[23] = verts[0];
- clrs[23] = colors[0];
- pnts[24] = verts[1];
- clrs[24] = colors[1];
- pnts[25] = verts[10];
- clrs[25] = colors[10];
-
- pnts[26] = verts[9];
- clrs[26] = colors[9];
-
- pnts[27] = verts[11];
- clrs[27] = colors[11];
-
- pnts[28] = verts[0];
- clrs[28] = colors[0];
- pnts[29] = verts[10];
- clrs[29] = colors[10];
- pnts[30] = verts[7];
- clrs[30] = colors[7];
-
- pnts[31] = verts[11];
- clrs[31] = colors[11];
-
- setCoordinates(0, pnts);
- setColors(0, clrs);
- }
-}
diff --git a/src/PickTest/IntersectInfoBehavior.java b/src/PickTest/IntersectInfoBehavior.java
deleted file mode 100644
index e0cdb2c..0000000
--- a/src/PickTest/IntersectInfoBehavior.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import com.sun.j3d.utils.pickfast.*;
-import com.sun.j3d.utils.geometry.*;
-
-/**
- * Class: IntersectInfoBehavior
- *
- * Description: Used to respond to mouse pick and drag events
- * in the 3D window. Displays information about the pick.
- *
- * Version: 1.0
- *
- */
-public class IntersectInfoBehavior extends Behavior {
-
- float size;
- PickCanvas pickCanvas;
- PickInfo[] pickInfoArr;
- Appearance oldlook, redlookwf, redlook, greenlook, bluelook;
- Node oldNode = null;
- GeometryArray oldGeom = null;
- Color3f redColor = new Color3f (1.0f, 0.0f, 0.0f);
- TransformGroup[] sphTrans = new TransformGroup [6];
- Sphere[] sph = new Sphere [6];
- Transform3D spht3 = new Transform3D();
-
- public IntersectInfoBehavior(Canvas3D canvas3D, BranchGroup branchGroup,
- float size) {
- pickCanvas = new PickCanvas(canvas3D, branchGroup);
- pickCanvas.setTolerance(5.0f);
- pickCanvas.setMode(PickInfo.PICK_GEOMETRY);
- pickCanvas.setFlags(PickInfo.LOCAL_TO_VWORLD | PickInfo.CLOSEST_GEOM_INFO);
- this.size = size;
- // Create an Appearance.
- redlook = new Appearance();
- Color3f objColor = new Color3f(0.5f, 0.0f, 0.0f);
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- redlook.setMaterial(new Material(objColor, black, objColor, white, 50.0f));
- redlook.setCapability (Appearance.ALLOW_MATERIAL_WRITE);
-
- redlookwf = new Appearance ();
- redlookwf.setMaterial(new Material(objColor, black, objColor, white, 50.0f));
- PolygonAttributes pa = new PolygonAttributes();
- pa.setPolygonMode(pa.POLYGON_LINE);
- pa.setCullFace(pa.CULL_NONE);
- redlookwf.setPolygonAttributes(pa);
-
- oldlook = new Appearance();
- objColor = new Color3f(1.0f, 1.0f, 1.0f);
- oldlook.setMaterial(new Material(objColor, black, objColor, white, 50.0f));
-
- greenlook = new Appearance();
- objColor = new Color3f(0.0f, 0.8f, 0.0f);
- greenlook.setMaterial(new Material(objColor, black, objColor, white, 50.0f));
- bluelook = new Appearance();
- objColor = new Color3f(0.0f, 0.0f, 0.8f);
- bluelook.setMaterial(new Material(objColor, black, objColor, white, 50.0f));
- for (int i=0;i<6;i++) {
- switch (i) {
- case 0:
- sph[i] = new Sphere(size*1.15f, redlook);
- break;
- case 1:
- sph[i] = new Sphere(size*1.1f, greenlook);
- break;
- default:
- sph[i] = new Sphere(size, bluelook);
- break;
- }
- sph[i].setPickable (false);
- sphTrans[i] = new TransformGroup ();
- sphTrans[i].setCapability (TransformGroup.ALLOW_TRANSFORM_READ);
- sphTrans[i].setCapability (TransformGroup.ALLOW_TRANSFORM_WRITE);
-
- // Add sphere, transform
- branchGroup.addChild (sphTrans[i]);
- sphTrans[i].addChild (sph[i]);
- }
- }
-
- public void initialize() {
- wakeupOn (new WakeupOnAWTEvent(MouseEvent.MOUSE_PRESSED));
- }
-
- public void processStimulus (Enumeration criteria) {
- WakeupCriterion wakeup;
- AWTEvent[] event;
- int eventId;
-
- while (criteria.hasMoreElements()) {
- wakeup = (WakeupCriterion) criteria.nextElement();
- if (wakeup instanceof WakeupOnAWTEvent) {
- event = ((WakeupOnAWTEvent)wakeup).getAWTEvent();
- for (int i=0; i<event.length; i++) {
- eventId = event[i].getID();
- if (eventId == MouseEvent.MOUSE_PRESSED) {
- int x = ((MouseEvent)event[i]).getX();
- int y = ((MouseEvent)event[i]).getY();
- pickCanvas.setShapeLocation(x, y);
-
- pickInfoArr = pickCanvas.pickAllSorted();
- // Use this to do picking benchmarks
- /*
- long start = System.currentTimeMillis();
- for (int l=0;l<2;l++) {
- if (l == 0) System.out.print ("BOUNDS: ");
- if (l == 1) System.out.print ("GEOMETRY: ");
-
- for (int k=0;k<1000;k++) {
- if (l == 0) {
- pickCanvas.setMode(PickTool.BOUNDS);
- pickResult = pickCanvas.pickAllSorted();
- }
- if (l == 1) {
- pickCanvas.setMode(PickTool.GEOMETRY);
- pickResult = pickCanvas.pickAllSorted();
- }
- }
- long delta = System.currentTimeMillis() - start;
- System.out.println ("\t"+delta+" ms / 1000 picks");
- }
- */
- if (pickInfoArr != null) {
-
- // Get closest intersection results
- Transform3D l2vw = pickInfoArr[0].getLocalToVWorld();
- PickInfo.IntersectionInfo[] iInfoArr = pickInfoArr[0].getIntersectionInfos();
- PickIntersection pi = new PickIntersection(l2vw, iInfoArr[0]);
-
- // Safe to assume the return geometry is of GeometryArray type.
- GeometryArray curGeomArray = (GeometryArray) iInfoArr[0].getGeometry();
-
- // Position sphere at intersection point
- Vector3d v = new Vector3d();
- Point3d intPt = pi.getPointCoordinatesVW();
- v.set(intPt);
- spht3.setTranslation (v);
- sphTrans[0].setTransform (spht3);
-
- // Position sphere at closest vertex
- Point3d closestVert = pi.getClosestVertexCoordinatesVW();
- v.set(closestVert);
- spht3.setTranslation (v);
- sphTrans[1].setTransform (spht3);
-
- Point3d []ptw = pi.getPrimitiveCoordinatesVW();
- Point3d []pt = pi.getPrimitiveCoordinates();
- int []coordidx = pi.getPrimitiveCoordinateIndices();
- Point3d ptcoord = new Point3d();
- for (int k=0;k<pt.length;k++) {
- v.set(ptw[k]);
- spht3.setTranslation (v);
- sphTrans[k+2].setTransform (spht3);
- }
-
- // Get interpolated color (if available)
- Color4f iColor4 = null;
- Color3f iColor = null;
- Vector3f iNormal = null;
-
- if (curGeomArray != null) {
- int vf = curGeomArray.getVertexFormat();
-
- if (((vf &
- (GeometryArray.COLOR_3 |
- GeometryArray.COLOR_4)) != 0) &&
- (null != (iColor4 =
- pi.getPointColor()))) {
- iColor =
- new Color3f(iColor4.x, iColor4.y, iColor4.z);
-
- // Change the point's color
- redlook.setMaterial(new Material(iColor, new Color3f (0.0f, 0.0f, 0.0f), iColor, new Color3f(1.0f, 1.0f, 1.0f), 50.0f));
- }
- if (((vf & GeometryArray.NORMALS) != 0) &&
- (null != (iNormal =
- pi.getPointNormal()))) {
- System.out.println ("Interpolated normal: "+iNormal);
- }
- }
-
- System.out.println ("=============");
- System.out.println ("Coordinates of intersection pt:"+intPt);
- System.out.println ("Coordinates of vertices: ");
- for (int k=0;k<pt.length;k++) {
- System.out.println (k + ":" + ptw[k].x + " " + ptw[k].y + " " + ptw[k].z);
- }
- System.out.println ("Closest vertex: "+closestVert);
- if (iColor != null) {
- System.out.println ("Interpolated color: "+iColor);
- }
- if (iNormal != null) {
- System.out.println ("Interpolated normal: "+iNormal);
- }
- }
- }
- }
- }
- }
- wakeupOn (new WakeupOnAWTEvent(MouseEvent.MOUSE_PRESSED));
- }
-}
diff --git a/src/PickTest/IntersectTest.html b/src/PickTest/IntersectTest.html
deleted file mode 100644
index 46752f6..0000000
--- a/src/PickTest/IntersectTest.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<HTML>
- <HEAD>
- <TITLE>IntersectTest</TITLE>
- </HEAD>
- <BODY BGCOLOR="#0C0C33">
- <applet align=middle code="IntersectTest.class" width=500 height=500>
- <blockquote>
- <hr>
- If you were using a Java-capable browser,
- you would see "IntersectTest" instead of this paragraph.
- <hr>
- </blockquote>
- </applet>
- </BODY>
-</HTML>
-
-
diff --git a/src/PickTest/IntersectTest.java b/src/PickTest/IntersectTest.java
deleted file mode 100644
index 891b511..0000000
--- a/src/PickTest/IntersectTest.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import java.awt.event.*;
-import java.awt.GraphicsConfiguration;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import com.sun.j3d.utils.behaviors.keyboard.*;
-
-public class IntersectTest extends Applet {
-
- BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 1000.0);
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph () {
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- objRoot.addChild(ambientLightNode);
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);
- Color3f light2Color = new Color3f(0.3f, 0.3f, 0.4f);
- Vector3f light2Direction = new Vector3f(-6.0f, -2.0f, -1.0f);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- objRoot.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- objRoot.addChild(light2);
-
- Transform3D t3 = new Transform3D ();
-
- // Shapes
- for (int x=0;x<3;x++) {
- for (int y=0;y<3;y++) {
- for (int z=0;z<3;z++) {
- t3.setTranslation (new Vector3d(-4+x*4.0, -4+y*4.0, -20-z*4.0));
- TransformGroup objTrans = new TransformGroup(t3);
-
- objRoot.addChild(objTrans);
-
- // Create a simple shape leaf node, add it to the scene graph.
- GeometryArray geom = null;
-
- if (((x+y+z) % 2) == 0) {
- geom = new RandomColorCube();
- }
- else {
- geom = new RandomColorTetrahedron();
- }
-
- Shape3D shape = new Shape3D(geom);
-
- objTrans.addChild(shape);
- }
- }
- }
-
- // Lines
- Point3f[] verts = {
- new Point3f (-2.0f, 0.0f, 0.0f),new Point3f(2.0f, 0.0f, 0.0f)
- };
- Color3f grey = new Color3f (0.7f, 0.7f, 0.7f);
- Color3f[] colors = {
- grey, grey
- };
-
- for (int y=0;y<5;y++) {
- for (int z=0;z<5;z++) {
- t3.setTranslation (new Vector3d(7.0, -4+y*2.0, -20.0-z*2.0));
- TransformGroup objTrans = new TransformGroup(t3);
-
- objRoot.addChild(objTrans);
-
- LineArray la = new LineArray (verts.length,
- LineArray.COORDINATES |
- LineArray.COLOR_3);
- la.setCoordinates (0, verts);
- la.setColors (0, colors);
-
-
- Shape3D shape = new Shape3D();
- shape.setGeometry (la);
-
-
- objTrans.addChild(shape);
- }
- }
-
- // Points
- for (double x=-2.0;x<=2.0;x+=1.0) {
- for (double y=-2.0;y<=2.0;y+=1.0) {
- for (double z=-2.0;z<=2.0;z+=1.0) {
- t3.setTranslation (new Vector3d(-10.0+2.0*x, 0.0+2.0*y,-20.0+2.0*z));
- TransformGroup objTrans = new TransformGroup(t3);
-
- objRoot.addChild(objTrans);
-
- PointArray pa = new PointArray (1,
- PointArray.COORDINATES |
- PointArray.COLOR_3);
-
- pa.setCoordinate (0, new Point3d (0.0, 0.0, 0.0));
- pa.setColor (0, grey);
-
- Shape3D shape = new Shape3D();
- shape.setGeometry (pa);
-
-
- objTrans.addChild(shape);
- }
- }
- }
-
- return objRoot;
- }
-
- public IntersectTest () {
- }
-
- public void init() {
- setLayout(new BorderLayout());
-
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // Add picking behavior
- IntersectInfoBehavior behavior =
- new IntersectInfoBehavior (c, scene,0.05f);
- behavior.setSchedulingBounds (bounds);
- scene.addChild (behavior);
-
- TransformGroup vpTrans =
- u.getViewingPlatform().getViewPlatformTransform();
-
- KeyNavigatorBehavior keybehavior = new KeyNavigatorBehavior (vpTrans);
- keybehavior.setSchedulingBounds (bounds);
- scene.addChild (keybehavior);
- scene.setCapability (Group.ALLOW_CHILDREN_EXTEND);
- scene.compile();
- u.addBranchGraph(scene);
-
- View view = u.getViewer().getView();
- view.setBackClipDistance (100000);
-
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows IntersectTest to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- String s = "\n\nIntersectTest:\n-----------\n";
- s += "Pick with the mouse over the primitives\n";
- s += "- A sphere will be placed to indicate the picked point.\n";
- s += "If color information is available, the sphere will change color to reflect\n";
- s += "the interpolated color.\n";
- s += "- Other spheres will be placed to show the vertices of the selected polygon\n";
- s += "- Information will be displayed about the picking operation\n\n\n";
-
- System.out.println (s);
-
- new MainFrame(new IntersectTest(), 640, 640);
- }
-}
diff --git a/src/PickTest/IntersectTest_plugin.html b/src/PickTest/IntersectTest_plugin.html
deleted file mode 100644
index 4a04bef..0000000
--- a/src/PickTest/IntersectTest_plugin.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<HTML>
- <HEAD>
- <TITLE>IntersectTest</TITLE>
- </HEAD>
- <BODY BGCOLOR="#0C0C33">
- <!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 500 HEIGHT = 500 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "IntersectTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "IntersectTest.class" WIDTH = 500 HEIGHT = 500 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
- <hr>
- If you were using a Java-capable browser,
- you would see "IntersectTest" instead of this paragraph.
- <hr>
- </blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "IntersectTest.class" WIDTH = 500 HEIGHT = 500 ALIGN = middle>
-<blockquote>
- <hr>
- If you were using a Java-capable browser,
- you would see "IntersectTest" instead of this paragraph.
- <hr>
- </blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
- </BODY>
-</HTML>
-
-
diff --git a/src/PickTest/MorphingBehavior.java b/src/PickTest/MorphingBehavior.java
deleted file mode 100644
index 5da6eeb..0000000
--- a/src/PickTest/MorphingBehavior.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.util.Enumeration;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-// User-defined morphing behavior class
-public class MorphingBehavior extends Behavior {
-
- Alpha alpha;
- Morph morph;
- double weights[];
-
- WakeupOnElapsedFrames w = new WakeupOnElapsedFrames(0);
-
- // Override Behavior's initialize method to setup wakeup criteria
- public void initialize() {
- alpha.setStartTime(System.currentTimeMillis());
-
- // Establish initial wakeup criteria
- wakeupOn(w);
- }
-
- // Override Behavior's stimulus method to handle the event
- public void processStimulus(Enumeration criteria) {
-
- // NOTE: This assumes 3 objects. It should be generalized to
- // "n" objects.
-
- double val = alpha.value();
- if (val < 0.5) {
- double a = val * 2.0;
- weights[0] = 1.0 - a;
- weights[1] = a;
- weights[2] = 0.0;
- }
- else {
- double a = (val - 0.5) * 2.0;
- weights[0] = 0.0;
- weights[1] = 1.0f - a;
- weights[2] = a;
- }
-
- morph.setWeights(weights);
-
- // Set wakeup criteria for next time
- wakeupOn(w);
- }
-
- public MorphingBehavior(Alpha a, Morph m) {
- alpha = a;
- morph = m;
- weights = morph.getWeights();
- }
-}
diff --git a/src/PickTest/OctahedronITFA.java b/src/PickTest/OctahedronITFA.java
deleted file mode 100644
index cdc4dc5..0000000
--- a/src/PickTest/OctahedronITFA.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class OctahedronITFA extends IndexedTriangleFanArray {
- private static final int[] sVertCnt = {
- 6, 6
- };
-
- OctahedronITFA() {
- super(6, GeometryArray.COORDINATES | GeometryArray.COLOR_3, 12, sVertCnt);
-
- Point3f verts[] = new Point3f[6];
- Color3f colors[] = new Color3f[6];
-
- verts[0] = new Point3f(0.0f,0.0f,-1.5f);
- verts[1] = new Point3f(0.0f,0.0f,1.5f);
- verts[2] = new Point3f(0.0f,-1.5f,0.0f);
- verts[3] = new Point3f(0.0f,1.5f,0.0f);
- verts[4] = new Point3f(1.5f,0.0f,0.0f);
- verts[5] = new Point3f(-1.5f,0.0f,0.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
- colors[4] = new Color3f(1.0f, 0.0f, 1.0f);
- colors[5] = new Color3f(0.0f, 1.0f, 1.0f);
-
- int pntsIndex[] = new int[12];
- int clrsIndex[] = new int[12];
-
- pntsIndex[0] = 4;
- clrsIndex[0] = 4;
- pntsIndex[1] = 2;
- clrsIndex[1] = 2;
- pntsIndex[2] = 0;
- clrsIndex[2] = 0;
-
- pntsIndex[3] = 3;
- clrsIndex[3] = 3;
-
- pntsIndex[4] = 1;
- clrsIndex[4] = 1;
-
- pntsIndex[5] = 2;
- clrsIndex[5] = 2;
-
- pntsIndex[6] = 5;
- clrsIndex[6] = 5;
- pntsIndex[7] = 1;
- clrsIndex[7] = 1;
- pntsIndex[8] = 3;
- clrsIndex[8] = 3;
-
- pntsIndex[9] = 0;
- clrsIndex[9] = 0;
-
- pntsIndex[10] = 2;
- clrsIndex[10] = 2;
-
- pntsIndex[11] = 1;
- clrsIndex[11] = 1;
-
- setCoordinates(0, verts);
- setCoordinateIndices(0, pntsIndex);
- setColors(0, colors);
- setColorIndices(0, clrsIndex);
- }
-}
diff --git a/src/PickTest/OctahedronTFA.java b/src/PickTest/OctahedronTFA.java
deleted file mode 100644
index f1b2e0d..0000000
--- a/src/PickTest/OctahedronTFA.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class OctahedronTFA extends TriangleFanArray {
- private static final int[] sVertCnt = {
- 6, 6
- };
-
- OctahedronTFA() {
- super(12, GeometryArray.COORDINATES | GeometryArray.COLOR_3, sVertCnt);
-
- Point3f verts[] = new Point3f[6];
- Color3f colors[] = new Color3f[6];
-
- verts[0] = new Point3f(0.0f,0.0f,-1.5f);
- verts[1] = new Point3f(0.0f,0.0f,1.5f);
- verts[2] = new Point3f(0.0f,-1.5f,0.0f);
- verts[3] = new Point3f(0.0f,1.5f,0.0f);
- verts[4] = new Point3f(1.5f,0.0f,0.0f);
- verts[5] = new Point3f(-1.5f,0.0f,0.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
- colors[4] = new Color3f(1.0f, 0.0f, 1.0f);
- colors[5] = new Color3f(0.0f, 1.0f, 1.0f);
-
-
- Point3f pnts[] = new Point3f[12];
- Color3f clrs[] = new Color3f[12];
-
- pnts[0] = verts[4];
- clrs[0] = colors[4];
- pnts[1] = verts[2];
- clrs[1] = colors[2];
- pnts[2] = verts[0];
- clrs[2] = colors[0];
-
- pnts[3] = verts[3];
- clrs[3] = colors[3];
-
- pnts[4] = verts[1];
- clrs[4] = colors[1];
-
- pnts[5] = verts[2];
- clrs[5] = colors[2];
-
- pnts[6] = verts[5];
- clrs[6] = colors[5];
- pnts[7] = verts[1];
- clrs[7] = colors[1];
- pnts[8] = verts[3];
- clrs[8] = colors[3];
-
- pnts[9] = verts[0];
- clrs[9] = colors[0];
-
- pnts[10] = verts[2];
- clrs[10] = colors[2];
-
- pnts[11] = verts[1];
- clrs[11] = colors[1];
-
- setCoordinates(0, pnts);
- setColors(0, clrs);
- }
-}
diff --git a/src/PickTest/PickTest.html b/src/PickTest/PickTest.html
deleted file mode 100644
index 938125c..0000000
--- a/src/PickTest/PickTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>PickTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
- <applet align=middle code="PickTest.class" width=750 height=550>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/PickTest/PickTest.java b/src/PickTest/PickTest.java
deleted file mode 100644
index 5b50d98..0000000
--- a/src/PickTest/PickTest.java
+++ /dev/null
@@ -1,414 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.pickfast.behaviors.*;
-import com.sun.j3d.utils.pickfast.*;
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import java.awt.event.*;
-import java.awt.Component;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.awt.Point;
-import javax.swing.*;
-import javax.swing.border.BevelBorder;
-
-/**
- * PickTest shows how to use the Picking utilities on various GeometryArray
- * subclasses and Morph object.
- * Type of Geometry : CompressedGeometry ( GullCG.java )
- * IndexedQuadArray ( CubeIQA.java )
- * TriangleArray ( TetrahedronTA.java )
- * IndexedTriangleArray ( TetrahedronITA.java )
- * TriangleFanArray ( OctahedronTFA.java )
- * IndexedTriangleFanArray ( OctahedronITA.java )
- * TriangleStripArray ( IcosahedronTFA.java )
- * IndexedTriangleStripArray ( IcosahedronITA.java )
- * PointArray( TetrahedronPA.java )
- * LineArray( TetrahedronLA.java )
- * IndexLineArray( TetrahedronILA.java )
- * LineStripArray( TetrahedronLSA.java )
- * IndexLineStripArray( TetrahedronILSA.java )
- *
- * Morph Object uses : QuadArray ( ColorCube.java, ColorPyramidDown.java,
- * and ColorPyramidUp.java ).
- */
-
-public class PickTest extends Applet implements ActionListener {
-
- private View view = null;
- private QuadArray geomMorph[] = new QuadArray[3];
- private Morph morph;
-
- private PickRotateBehavior behavior1;
- private PickZoomBehavior behavior2;
- private PickTranslateBehavior behavior3;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(Canvas3D canvas)
- {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(1.0);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bunch of objects with a behavior and add them
- // into the scene graph.
-
- int row, col;
- int numRows = 4, numCols = 4;
-
- for (int i = 0; i < numRows; i++) {
- double ypos = (double)(i - numRows/2) * 0.45 + 0.25;
- for (int j = 0; j < numCols; j++) {
- double xpos = (double)(j - numCols/2) * 0.45 + 0.25;
- objScale.addChild(createObject(i * numCols + j, 0.1, xpos, ypos));
- }
- }
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Add a light.
- Color3f lColor = new Color3f(1.0f, 1.0f, 1.0f) ;
- Vector3f lDir = new Vector3f(0.0f, 0.0f, -1.0f) ;
-
- DirectionalLight lgt = new DirectionalLight(lColor, lDir) ;
- lgt.setInfluencingBounds(bounds) ;
- objRoot.addChild(lgt) ;
-
-
- // Now create the Alpha object that controls the speed of the
- // morphing operation.
- Alpha morphAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE |
- Alpha.DECREASING_ENABLE,
- 0, 0,
- 4000, 1000, 500,
- 4000, 1000, 500);
-
- // Finally, create the morphing behavior
- MorphingBehavior mBeh = new MorphingBehavior(morphAlpha, morph);
- mBeh.setSchedulingBounds(bounds);
- objRoot.addChild(mBeh);
-
- behavior1 = new PickRotateBehavior(objRoot, canvas, bounds);
- objRoot.addChild(behavior1);
-
- behavior2 = new PickZoomBehavior(objRoot, canvas, bounds);
- objRoot.addChild(behavior2);
-
- behavior3 = new PickTranslateBehavior(objRoot, canvas, bounds);
- objRoot.addChild(behavior3);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
-
- private Group createObject(int index, double scale, double xpos, double ypos){
-
- Shape3D shape = null;
- Geometry geom = null;
-
- // Create a transform group node to scale and position the object.
- Transform3D t = new Transform3D();
- t.set(scale, new Vector3d(xpos, ypos, 0.0));
- TransformGroup objTrans = new TransformGroup(t);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objTrans.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
-
- // Create a second transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime.
- TransformGroup spinTg = new TransformGroup();
- spinTg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- spinTg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- spinTg.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
-
- Appearance appearance = new Appearance();
-
- switch(index) {
- case 0:
- geom = new GullCG();
- break;
- case 1:
- geom = new TetrahedronTA();
- break;
- case 2:
- geom = new OctahedronTFA();
- break;
- case 3:
- geom = new IcosahedronTSA();
- break;
- case 4:
- geom = new CubeIQA();
- break;
- case 5:
- geom = new TetrahedronITA();
- break;
- case 6:
- geom = new OctahedronITFA();
- break;
- case 7:
- geom = new IcosahedronITSA();
- break;
- case 8:
- geomMorph[0] = new ColorPyramidUp();
- geomMorph[1] = new ColorCube();
- geomMorph[2] = new ColorPyramidDown();
- break;
- case 9:
- geom = new TetrahedronLA();
- break;
- case 10:
- geom = new TetrahedronILA();
- break;
- case 11:
- geom = new TetrahedronLSA();
- break;
- case 12:
- geom = new TetrahedronILSA();
- break;
- case 13:
- geom = new TetrahedronPA();
- break;
- case 14:
- geom = new TetrahedronIPA();
- break;
- // TODO: other geo types, Text3D?
- case 15:
- geom = new TetrahedronTA();
- break;
- }
-
- Material m = new Material() ;
-
- if(index == 8) {
- m.setLightingEnable(false) ;
- appearance.setMaterial(m) ;
- morph = new Morph((GeometryArray[]) geomMorph, appearance);
- morph.setCapability(Morph.ALLOW_WEIGHTS_READ);
- morph.setCapability(Morph.ALLOW_WEIGHTS_WRITE);
- spinTg.addChild(morph);
- } else {
- // Geometry picking require this to be set.
- if (index == 0)
- m.setLightingEnable(true) ;
- else
- m.setLightingEnable(false) ;
- appearance.setMaterial(m) ;
-
- if ((index == 13) || (index == 14)) {
- PointAttributes pa = new PointAttributes();
- pa.setPointSize(4.0f);
- appearance.setPointAttributes(pa);
- }
-
- shape = new Shape3D(geom,appearance);
- shape.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
- shape.setCapability(Shape3D.ALLOW_APPEARANCE_WRITE);
- shape.setCapability(Shape3D.ENABLE_PICK_REPORTING);
- spinTg.addChild(shape);
- }
-
- // add it to the scene graph.
- objTrans.addChild(spinTg);
-
- return objTrans;
- }
-
- private void setPickMode(int mode) {
- behavior1.setMode(mode);
- behavior2.setMode(mode);
- behavior3.setMode(mode);
- }
-
- private void setPickTolerance(float tolerance) {
- behavior1.setTolerance(tolerance);
- behavior2.setTolerance(tolerance);
- behavior3.setTolerance(tolerance);
- }
-
- private void setViewMode(int mode) {
- view.setProjectionPolicy(mode);
- }
-
- // GUI stuff
-
- String pickModeString = new String("Pick Mode");
- String boundsString = new String("BOUNDS");
- String geometryString = new String("GEOMETRY");
- String toleranceString = new String("Pick Tolerance");
- String tolerance0String = new String("0");
- String tolerance2String = new String("2");
- String tolerance4String = new String("4");
- String tolerance8String = new String("8");
- String viewModeString = new String("View Mode");
- String perspectiveString = new String("Perspective");
- String parallelString = new String("Parallel");
-
- private void addRadioButton(JPanel panel, ButtonGroup bg, String ownerName,
- String buttonName, boolean selected) {
- JRadioButton item;
- item = new JRadioButton(buttonName);
- item.setName(ownerName);
- item.addActionListener(this);
- if (selected) {
- item.setSelected(true);
- }
- panel.add(item);
- bg.add(item);
- }
-
- private void setupGUI(JPanel panel) {
- ButtonGroup bg;
-
- panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
- panel.setBorder(new BevelBorder(BevelBorder.RAISED));
-
- panel.add(new JLabel(pickModeString));
- bg = new ButtonGroup();
- addRadioButton(panel, bg, pickModeString, boundsString, true);
- addRadioButton(panel, bg, pickModeString, geometryString, false);
-
- panel.add(new JLabel(toleranceString));
- bg = new ButtonGroup();
- addRadioButton(panel, bg, toleranceString, tolerance0String,false);
- addRadioButton(panel, bg, toleranceString, tolerance2String,true);
- addRadioButton(panel, bg, toleranceString, tolerance4String,false);
- addRadioButton(panel, bg, toleranceString, tolerance8String,false);
-
- panel.add(new JLabel(viewModeString));
- bg = new ButtonGroup();
- addRadioButton(panel, bg, viewModeString, perspectiveString, true);
- addRadioButton(panel, bg, viewModeString, parallelString, false);
-
- }
-
- public void actionPerformed(ActionEvent e) {
- String name = ((Component)e.getSource()).getName();
- String value = e.getActionCommand();
- //System.out.println("action: name = " + name + " value = " + value);
- if (name == pickModeString) {
- if (value == boundsString) {
- setPickMode(PickInfo.PICK_BOUNDS);
- } else if (value == geometryString) {
- setPickMode(PickInfo.PICK_GEOMETRY);
- } else {
- System.out.println("Unknown pick mode: " + value);
- }
- } else if (name == toleranceString) {
- if (value == tolerance0String) {
- setPickTolerance(0.0f);
- } else if (value == tolerance2String) {
- setPickTolerance(2.0f);
- } else if (value == tolerance4String) {
- setPickTolerance(4.0f);
- } else if (value == tolerance8String) {
- setPickTolerance(8.0f);
- } else {
- System.out.println("Unknown tolerance: " + value);
- }
- } else if (name == viewModeString) {
- if (value == perspectiveString) {
- setViewMode(View.PERSPECTIVE_PROJECTION);
- } else if (value == parallelString) {
- setViewMode(View.PARALLEL_PROJECTION);
- }
- } else {
- System.out.println("Unknown action name: " + name);
- }
- }
-
- public PickTest (){
- }
-
- public void init() {
- setLayout(new BorderLayout());
- Canvas3D c = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
- add("Center", c);
-
- JPanel guiPanel = new JPanel();
- setupGUI(guiPanel);
- add(guiPanel, BorderLayout.EAST);
-
- // Create a scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph(c);
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
- view = u.getViewer().getView();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
-
- public static void main(String argv[])
- {
-
- BranchGroup group;
-
- new MainFrame(new PickTest(), 750, 550);
- }
-}
-
diff --git a/src/PickTest/PickTest_plugin.html b/src/PickTest/PickTest_plugin.html
deleted file mode 100644
index c8e8168..0000000
--- a/src/PickTest/PickTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>PickTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
- <!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 750 HEIGHT = 550 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "PickTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "PickTest.class" WIDTH = 750 HEIGHT = 550 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "PickTest.class" WIDTH = 750 HEIGHT = 550 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/PickTest/RandomColorCube.java b/src/PickTest/RandomColorCube.java
deleted file mode 100644
index 12a43b0..0000000
--- a/src/PickTest/RandomColorCube.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class RandomColorCube extends QuadArray {
- RandomColorCube() {
- super(24, GeometryArray.COORDINATES | GeometryArray.COLOR_3);
-
- Point3f verts[] = new Point3f[8];
- Color3f colors[] = new Color3f[3];
-
- verts[0] = new Point3f(0.5f, 0.5f, 0.5f);
- verts[1] = new Point3f(-0.5f, 0.5f, 0.5f);
- verts[2] = new Point3f(-0.5f,-0.5f, 0.5f);
- verts[3] = new Point3f( 0.5f,-0.5f, 0.5f);
- verts[4] = new Point3f( 0.5f, 0.5f,-0.5f);
- verts[5] = new Point3f( -0.5f, 0.5f,-0.5f);
- verts[6] = new Point3f( -0.5f,-0.5f,-0.5f);
- verts[7] = new Point3f( 0.5f,-0.5f,-0.5f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
-
- Point3f pnts[] = new Point3f[24];
- Color3f clrs[] = new Color3f[24];
-
- pnts[0] = verts[0];
- clrs[0] = colors[(int)(Math.random()*3.0)];
- pnts[1] = verts[3];
- clrs[1] = colors[(int)(Math.random()*3.0)];
- pnts[2] = verts[7];
- clrs[2] = colors[(int)(Math.random()*3.0)];
- pnts[3] = verts[4];
- clrs[3] = colors[(int)(Math.random()*3.0)];
-
- pnts[4] = verts[1];
- clrs[4] = colors[(int)(Math.random()*3.0)];
- pnts[5] = verts[5];
- clrs[5] = colors[(int)(Math.random()*3.0)];
- pnts[6] = verts[6];
- clrs[6] = colors[(int)(Math.random()*3.0)];
- pnts[7] = verts[2];
- clrs[7] = colors[(int)(Math.random()*3.0)];
-
- pnts[8] = verts[0];
- clrs[8] = colors[(int)(Math.random()*3.0)];
- pnts[9] = verts[4];
- clrs[9] = colors[(int)(Math.random()*3.0)];
- pnts[10] = verts[5];
- clrs[10] = colors[(int)(Math.random()*3.0)];
- pnts[11] = verts[1];
- clrs[11] = colors[(int)(Math.random()*3.0)];
-
- pnts[12] = verts[3];
- clrs[12] = colors[(int)(Math.random()*3.0)];
- pnts[13] = verts[2];
- clrs[13] = colors[(int)(Math.random()*3.0)];
- pnts[14] = verts[6];
- clrs[14] = colors[(int)(Math.random()*3.0)];
- pnts[15] = verts[7];
- clrs[15] = colors[(int)(Math.random()*3.0)];
-
- pnts[16] = verts[0];
- clrs[16] = colors[(int)(Math.random()*3.0)];
- pnts[17] = verts[1];
- clrs[17] = colors[(int)(Math.random()*3.0)];
- pnts[18] = verts[2];
- clrs[18] = colors[(int)(Math.random()*3.0)];
- pnts[19] = verts[3];
- clrs[19] = colors[(int)(Math.random()*3.0)];
-
- pnts[20] = verts[7];
- clrs[20] = colors[(int)(Math.random()*3.0)];
- pnts[21] = verts[6];
- clrs[21] = colors[(int)(Math.random()*3.0)];
- pnts[22] = verts[5];
- clrs[22] = colors[(int)(Math.random()*3.0)];
- pnts[23] = verts[4];
- clrs[23] = colors[(int)(Math.random()*3.0)];
-
-
- setCoordinates(0, pnts);
- setColors(0, clrs);
- }
-}
diff --git a/src/PickTest/RandomColorTetrahedron.java b/src/PickTest/RandomColorTetrahedron.java
deleted file mode 100644
index 3454d24..0000000
--- a/src/PickTest/RandomColorTetrahedron.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class RandomColorTetrahedron extends TriangleArray {
-
- RandomColorTetrahedron() {
- super(12, GeometryArray.COORDINATES | GeometryArray.COLOR_3);
-
- Point3f verts[] = new Point3f[4];
- Color3f colors[] = new Color3f[4];
-
- verts[0] = new Point3f(0.5f,0.5f,0.5f);
- verts[1] = new Point3f(0.5f,-0.5f,-0.5f);
- verts[2] = new Point3f(-0.5f,-0.5f,0.5f);
- verts[3] = new Point3f(-0.5f,0.5f,-0.5f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
-
- Point3f pnts[] = new Point3f[12];
- Color3f clrs[] = new Color3f[12];
-
- pnts[0] = verts[2];
- clrs[0] = colors[(int)(Math.random() * 3.0)];
- pnts[1] = verts[1];
- clrs[1] = colors[(int)(Math.random() * 3.0)];
- pnts[2] = verts[0];
- clrs[2] = colors[(int)(Math.random() * 3.0)];
-
- pnts[3] = verts[3];
- clrs[3] = colors[(int)(Math.random() * 3.0)];
- pnts[4] = verts[2];
- clrs[4] = colors[(int)(Math.random() * 3.0)];
- pnts[5] = verts[0];
- clrs[5] = colors[(int)(Math.random() * 3.0)];
-
- pnts[6] = verts[1];
- clrs[6] = colors[(int)(Math.random() * 3.0)];
- pnts[7] = verts[2];
- clrs[7] = colors[(int)(Math.random() * 3.0)];
- pnts[8] = verts[3];
- clrs[8] = colors[(int)(Math.random() * 3.0)];
-
- pnts[9] = verts[1];
- clrs[9] = colors[(int)(Math.random() * 3.0)];
- pnts[10] = verts[3];
- clrs[10] = colors[(int)(Math.random() * 3.0)];
- pnts[11] = verts[0];
- clrs[11] = colors[(int)(Math.random() * 3.0)];
-
- setCoordinates(0, pnts);
- setColors(0, clrs);
- }
-}
diff --git a/src/PickTest/TetrahedronILA.java b/src/PickTest/TetrahedronILA.java
deleted file mode 100644
index 1a6b9bc..0000000
--- a/src/PickTest/TetrahedronILA.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class TetrahedronILA extends IndexedLineArray {
-
- TetrahedronILA() {
- super(4, GeometryArray.COORDINATES | GeometryArray.COLOR_3, 12);
-
- Point3f verts[] = new Point3f[4];
- Color3f colors[] = new Color3f[4];
-
- verts[0] = new Point3f(1.0f,1.0f,1.0f);
- verts[1] = new Point3f(1.0f,-1.0f,-1.0f);
- verts[2] = new Point3f(-1.0f,-1.0f,1.0f);
- verts[3] = new Point3f(-1.0f,1.0f,-1.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
-
- int[] pntsIndex = new int[12];
- int[] clrsIndex = new int[12];
-
- pntsIndex[0] = 0;
- clrsIndex[0] = 0;
- pntsIndex[1] = 1;
- clrsIndex[1] = 1;
-
- pntsIndex[2] = 1;
- clrsIndex[2] = 1;
- pntsIndex[3] = 2;
- clrsIndex[3] = 2;
-
- pntsIndex[4] = 2;
- clrsIndex[4] = 2;
- pntsIndex[5] = 0;
- clrsIndex[5] = 0;
-
- pntsIndex[6] = 1;
- clrsIndex[6] = 1;
- pntsIndex[7] = 3;
- clrsIndex[7] = 3;
-
- pntsIndex[8] = 2;
- clrsIndex[8] = 2;
- pntsIndex[9] = 3;
- clrsIndex[9] = 3;
-
- pntsIndex[10] = 0;
- clrsIndex[10] = 0;
- pntsIndex[11] = 3;
- clrsIndex[11] = 3;
-
- setCoordinates(0, verts);
- setCoordinateIndices(0, pntsIndex);
- setColors(0, colors);
- setColorIndices(0, clrsIndex);
- }
-}
diff --git a/src/PickTest/TetrahedronILSA.java b/src/PickTest/TetrahedronILSA.java
deleted file mode 100644
index b982cdc..0000000
--- a/src/PickTest/TetrahedronILSA.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class TetrahedronILSA extends IndexedLineStripArray {
-
- private static final int[] lineLengths = {
- 4, 4
- };
- TetrahedronILSA() {
- super(4, GeometryArray.COORDINATES | GeometryArray.COLOR_3, 8, lineLengths);
-
- Point3f verts[] = new Point3f[4];
- Color3f colors[] = new Color3f[4];
-
- verts[0] = new Point3f(1.0f,1.0f,1.0f);
- verts[1] = new Point3f(1.0f,-1.0f,-1.0f);
- verts[2] = new Point3f(-1.0f,-1.0f,1.0f);
- verts[3] = new Point3f(-1.0f,1.0f,-1.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
-
- int pntsIndex[] = new int[8];
- int clrsIndex[] = new int[8];
-
- pntsIndex[0] = 0;
- clrsIndex[0] = 0;
- pntsIndex[1] = 1;
- clrsIndex[1] = 1;
- pntsIndex[2] = 3;
- clrsIndex[2] = 3;
- pntsIndex[3] = 2;
- clrsIndex[3] = 2;
-
- pntsIndex[4] = 1;
- clrsIndex[4] = 1;
- pntsIndex[5] = 2;
- clrsIndex[5] = 2;
- pntsIndex[6] = 0;
- clrsIndex[6] = 0;
- pntsIndex[7] = 3;
- clrsIndex[7] = 3;
-
- setCoordinates(0, verts);
- setCoordinateIndices(0, pntsIndex);
- setColors(0, colors);
- setColorIndices(0, clrsIndex);
- }
-}
diff --git a/src/PickTest/TetrahedronIPA.java b/src/PickTest/TetrahedronIPA.java
deleted file mode 100644
index 5400b0c..0000000
--- a/src/PickTest/TetrahedronIPA.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class TetrahedronIPA extends IndexedPointArray {
-
- TetrahedronIPA() {
- super(4, GeometryArray.COORDINATES | GeometryArray.COLOR_3, 4);
-
- Point3f verts[] = new Point3f[4];
- Color3f colors[] = new Color3f[4];
-
- verts[0] = new Point3f(1.0f,1.0f,1.0f);
- verts[1] = new Point3f(1.0f,-1.0f,-1.0f);
- verts[2] = new Point3f(-1.0f,-1.0f,1.0f);
- verts[3] = new Point3f(-1.0f,1.0f,-1.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
-
- int pntsIndex[] = new int[4];
- int clrsIndex[] = new int[4];
-
- pntsIndex[0] = clrsIndex[0] = 0;
- pntsIndex[1] = clrsIndex[1] = 1;
- pntsIndex[2] = clrsIndex[2] = 2;
- pntsIndex[3] = clrsIndex[3] = 3;
-
- setCoordinates(0, verts);
- setCoordinateIndices(0, pntsIndex);
- setColors(0, colors);
- setColorIndices(0, clrsIndex);
- }
-}
diff --git a/src/PickTest/TetrahedronITA.java b/src/PickTest/TetrahedronITA.java
deleted file mode 100644
index 4679ca8..0000000
--- a/src/PickTest/TetrahedronITA.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class TetrahedronITA extends IndexedTriangleArray {
-
- TetrahedronITA() {
- super(4, GeometryArray.COORDINATES | GeometryArray.COLOR_3, 12);
-
- Point3f verts[] = new Point3f[4];
- Color3f colors[] = new Color3f[4];
-
- verts[0] = new Point3f(1.0f,1.0f,1.0f);
- verts[1] = new Point3f(1.0f,-1.0f,-1.0f);
- verts[2] = new Point3f(-1.0f,-1.0f,1.0f);
- verts[3] = new Point3f(-1.0f,1.0f,-1.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
-
- int pntsIndex[] = new int[12];
- int clrsIndex[] = new int[12];
-
- pntsIndex[0] = 2;
- clrsIndex[0] = 0;
- pntsIndex[1] = 1;
- clrsIndex[1] = 0;
- pntsIndex[2] = 0;
- clrsIndex[2] = 0;
-
- pntsIndex[3] = 3;
- clrsIndex[3] = 1;
- pntsIndex[4] = 2;
- clrsIndex[4] = 1;
- pntsIndex[5] = 0;
- clrsIndex[5] = 1;
-
- pntsIndex[6] = 1;
- clrsIndex[6] = 2;
- pntsIndex[7] = 2;
- clrsIndex[7] = 2;
- pntsIndex[8] = 3;
- clrsIndex[8] = 2;
-
- pntsIndex[9] = 1;
- clrsIndex[9] = 3;
- pntsIndex[10] = 3;
- clrsIndex[10] = 3;
- pntsIndex[11] = 0;
- clrsIndex[11] = 3;
-
- setCoordinates(0, verts);
- setCoordinateIndices(0, pntsIndex);
- setColors(0, colors);
- setColorIndices(0, clrsIndex);
- }
-}
diff --git a/src/PickTest/TetrahedronLA.java b/src/PickTest/TetrahedronLA.java
deleted file mode 100644
index 3d67009..0000000
--- a/src/PickTest/TetrahedronLA.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class TetrahedronLA extends LineArray {
-
- TetrahedronLA() {
- super(12, GeometryArray.COORDINATES | GeometryArray.COLOR_3);
-
- Point3f verts[] = new Point3f[4];
- Color3f colors[] = new Color3f[4];
-
- verts[0] = new Point3f(1.0f,1.0f,1.0f);
- verts[1] = new Point3f(1.0f,-1.0f,-1.0f);
- verts[2] = new Point3f(-1.0f,-1.0f,1.0f);
- verts[3] = new Point3f(-1.0f,1.0f,-1.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
-
- Point3f pnts[] = new Point3f[12];
- Color3f clrs[] = new Color3f[12];
-
- pnts[0] = verts[0];
- clrs[0] = colors[0];
- pnts[1] = verts[1];
- clrs[1] = colors[1];
-
- pnts[2] = verts[1];
- clrs[2] = colors[1];
- pnts[3] = verts[2];
- clrs[3] = colors[2];
-
- pnts[4] = verts[2];
- clrs[4] = colors[2];
- pnts[5] = verts[0];
- clrs[5] = colors[0];
-
- pnts[6] = verts[1];
- clrs[6] = colors[1];
- pnts[7] = verts[3];
- clrs[7] = colors[3];
-
- pnts[8] = verts[2];
- clrs[8] = colors[2];
- pnts[9] = verts[3];
- clrs[9] = colors[3];
-
- pnts[10] = verts[0];
- clrs[10] = colors[0];
- pnts[11] = verts[3];
- clrs[11] = colors[3];
-
- setCoordinates(0, pnts);
- setColors(0, clrs);
- }
-}
diff --git a/src/PickTest/TetrahedronLSA.java b/src/PickTest/TetrahedronLSA.java
deleted file mode 100644
index 3c375ca..0000000
--- a/src/PickTest/TetrahedronLSA.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class TetrahedronLSA extends LineStripArray {
- private static final int[] lineLengths = {
- 4, 4
- };
- TetrahedronLSA() {
- super(8, GeometryArray.COORDINATES | GeometryArray.COLOR_3, lineLengths);
-
- Point3f verts[] = new Point3f[4];
- Color3f colors[] = new Color3f[4];
-
- verts[0] = new Point3f(1.0f,1.0f,1.0f);
- verts[1] = new Point3f(1.0f,-1.0f,-1.0f);
- verts[2] = new Point3f(-1.0f,-1.0f,1.0f);
- verts[3] = new Point3f(-1.0f,1.0f,-1.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
-
- Point3f pnts[] = new Point3f[8];
- Color3f clrs[] = new Color3f[8];
-
- pnts[0] = verts[0];
- clrs[0] = colors[0];
- pnts[1] = verts[1];
- clrs[1] = colors[1];
- pnts[2] = verts[3];
- clrs[2] = colors[3];
- pnts[3] = verts[2];
- clrs[3] = colors[2];
-
- pnts[4] = verts[1];
- clrs[4] = colors[1];
- pnts[5] = verts[2];
- clrs[5] = colors[2];
- pnts[6] = verts[0];
- clrs[6] = colors[0];
- pnts[7] = verts[3];
- clrs[7] = colors[3];
-
- setCoordinates(0, pnts);
- setColors(0, clrs);
- }
-}
diff --git a/src/PickTest/TetrahedronPA.java b/src/PickTest/TetrahedronPA.java
deleted file mode 100644
index 665a886..0000000
--- a/src/PickTest/TetrahedronPA.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class TetrahedronPA extends PointArray {
-
- TetrahedronPA() {
- super(4, GeometryArray.COORDINATES | GeometryArray.COLOR_3);
-
- Point3f verts[] = new Point3f[4];
- Color3f colors[] = new Color3f[4];
-
- verts[0] = new Point3f(1.0f,1.0f,1.0f);
- verts[1] = new Point3f(1.0f,-1.0f,-1.0f);
- verts[2] = new Point3f(-1.0f,-1.0f,1.0f);
- verts[3] = new Point3f(-1.0f,1.0f,-1.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
-
- setCoordinates(0, verts);
- setColors(0, colors);
- }
-}
diff --git a/src/PickTest/TetrahedronTA.java b/src/PickTest/TetrahedronTA.java
deleted file mode 100644
index b981f62..0000000
--- a/src/PickTest/TetrahedronTA.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-class TetrahedronTA extends TriangleArray {
-
- TetrahedronTA() {
- super(12, GeometryArray.COORDINATES | GeometryArray.COLOR_3);
-
- Point3f verts[] = new Point3f[4];
- Color3f colors[] = new Color3f[4];
-
- verts[0] = new Point3f(1.0f,1.0f,1.0f);
- verts[1] = new Point3f(1.0f,-1.0f,-1.0f);
- verts[2] = new Point3f(-1.0f,-1.0f,1.0f);
- verts[3] = new Point3f(-1.0f,1.0f,-1.0f);
-
- colors[0] = new Color3f(1.0f, 0.0f, 0.0f);
- colors[1] = new Color3f(0.0f, 1.0f, 0.0f);
- colors[2] = new Color3f(0.0f, 0.0f, 1.0f);
- colors[3] = new Color3f(1.0f, 1.0f, 0.0f);
-
- Point3f pnts[] = new Point3f[12];
- Color3f clrs[] = new Color3f[12];
-
- pnts[0] = verts[2];
- clrs[0] = colors[0];
- pnts[1] = verts[1];
- clrs[1] = colors[0];
- pnts[2] = verts[0];
- clrs[2] = colors[0];
-
- pnts[3] = verts[3];
- clrs[3] = colors[1];
- pnts[4] = verts[2];
- clrs[4] = colors[1];
- pnts[5] = verts[0];
- clrs[5] = colors[1];
-
- pnts[6] = verts[1];
- clrs[6] = colors[2];
- pnts[7] = verts[2];
- clrs[7] = colors[2];
- pnts[8] = verts[3];
- clrs[8] = colors[2];
-
- pnts[9] = verts[1];
- clrs[9] = colors[3];
- pnts[10] = verts[3];
- clrs[10] = colors[3];
- pnts[11] = verts[0];
- clrs[11] = colors[3];
-
- setCoordinates(0, pnts);
- setColors(0, clrs);
- }
-}
diff --git a/src/PickTest/build.xml b/src/PickTest/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/PickTest/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/PickText3D/PickText3DBounds.html b/src/PickText3D/PickText3DBounds.html
deleted file mode 100644
index 63f42e0..0000000
--- a/src/PickText3D/PickText3DBounds.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>PickText3DBounds</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="PickText3DBounds.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/PickText3D/PickText3DBounds.java b/src/PickText3D/PickText3DBounds.java
deleted file mode 100644
index 32c5ba3..0000000
--- a/src/PickText3D/PickText3DBounds.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import com.sun.j3d.utils.picking.PickTool;
-import com.sun.j3d.utils.picking.behaviors.*;
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.Enumeration;
-import java.awt.*;
-import java.lang.String;
-
-public class PickText3DBounds extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(Canvas3D canvas) {
- Color3f eColor = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f sColor = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f objColor = new Color3f(0.6f, 0.6f, 0.6f);
- Color3f lColor1 = new Color3f(1.0f, 0.0f, 0.0f);
- Color3f lColor2 = new Color3f(0.0f, 1.0f, 0.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
-
- Transform3D t;
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objScale.addChild(bg);
-
- Material m = new Material(objColor, eColor, objColor, sColor, 100.0f);
- Appearance a = new Appearance();
- m.setLightingEnable(true);
- a.setMaterial(m);
- Font3D f3d = new Font3D(new Font("TestFont", Font.PLAIN, 1),
- new FontExtrusion());
- Text3D txt = new Text3D(f3d, new String("TEXT3D"),
- new Point3f(-2.0f, 0.0f, 0.0f));
- // txt.setCapability(Geometry.ALLOW_INTERSECT);
- Shape3D s3D = new Shape3D();
- s3D.setGeometry(txt);
- s3D.setAppearance(a);
-
- // Create a transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime.
- TransformGroup spinTg = new TransformGroup();
- spinTg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- spinTg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- spinTg.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
-
- spinTg.addChild(s3D);
- objScale.addChild(spinTg);
-
- // Create the transform group node for the each light and initialize
- // it to the identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add them to the root
- // of the subgraph.
-
- // Create transformations for the positional lights
- t = new Transform3D();
- Vector3d lPos1 = new Vector3d(0.0, 0.0, 2.0);
- t.set(lPos1);
- TransformGroup l1Trans = new TransformGroup(t);
- l1Trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- l1Trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- l1Trans.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
- objScale.addChild(l1Trans);
-
- t = new Transform3D();
- Vector3d lPos2 = new Vector3d(0.5, 0.8, 2.0);
- t.set(lPos2);
- TransformGroup l2Trans = new TransformGroup(t);
- l2Trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- l2Trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- l2Trans.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
-
- objScale.addChild(l2Trans);
-
- // Create Geometry for point lights
- ColoringAttributes caL1 = new ColoringAttributes();
- ColoringAttributes caL2 = new ColoringAttributes();
- caL1.setColor(lColor1);
- caL2.setColor(lColor2);
- Appearance appL1 = new Appearance();
- Appearance appL2 = new Appearance();
- appL1.setColoringAttributes(caL1);
- appL2.setColoringAttributes(caL2);
- l1Trans.addChild(new Sphere(0.05f,
- Sphere.GENERATE_NORMALS, 15, appL1));
- l2Trans.addChild(new Sphere(0.05f,
- Sphere.GENERATE_NORMALS, 15, appL2));
-
- // Create lights
- AmbientLight aLgt = new AmbientLight(alColor);
-
- Light lgt1;
- Light lgt2;
-
- Point3f lPoint = new Point3f(0.0f, 0.0f, 0.0f);
- Point3f atten = new Point3f(1.0f, 0.0f, 0.0f);
- lgt1 = new PointLight(lColor1, lPoint, atten);
- lgt2 = new PointLight(lColor2, lPoint, atten);
-
- // Set the influencing bounds
- aLgt.setInfluencingBounds(bounds);
- lgt1.setInfluencingBounds(bounds);
- lgt2.setInfluencingBounds(bounds);
-
- // Add the lights into the scene graph
- objScale.addChild(aLgt);
- l1Trans.addChild(lgt1);
- l2Trans.addChild(lgt2);
-
-
- PickRotateBehavior behavior1 =
- new PickRotateBehavior(objRoot, canvas, bounds);
- behavior1.setMode(PickTool.BOUNDS);
- objRoot.addChild(behavior1);
-
- PickZoomBehavior behavior2 =
- new PickZoomBehavior(objRoot, canvas, bounds);
- behavior2.setMode(PickTool.BOUNDS);
- objRoot.addChild(behavior2);
-
- PickTranslateBehavior behavior3 =
- new PickTranslateBehavior(objRoot, canvas, bounds);
- behavior3.setMode(PickTool.BOUNDS);
- objRoot.addChild(behavior3);
-
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public PickText3DBounds() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- u = new SimpleUniverse(c);
- BranchGroup scene = createSceneGraph(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows Text3DMotion to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new PickText3DBounds(), 700, 700);
- }
-}
diff --git a/src/PickText3D/PickText3DBounds_plugin.html b/src/PickText3D/PickText3DBounds_plugin.html
deleted file mode 100644
index 8da2faf..0000000
--- a/src/PickText3D/PickText3DBounds_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>PickText3DBounds</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "PickText3DBounds.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "PickText3DBounds.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "PickText3DBounds.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/PickText3D/PickText3DGeometry.html b/src/PickText3D/PickText3DGeometry.html
deleted file mode 100644
index 69ffbc0..0000000
--- a/src/PickText3D/PickText3DGeometry.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>PickText3DGeometry</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="PickText3DGeometry.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/PickText3D/PickText3DGeometry.java b/src/PickText3D/PickText3DGeometry.java
deleted file mode 100644
index d35131d..0000000
--- a/src/PickText3D/PickText3DGeometry.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import com.sun.j3d.utils.picking.PickTool;
-import com.sun.j3d.utils.picking.behaviors.*;
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.Enumeration;
-import java.awt.*;
-import java.lang.String;
-
-public class PickText3DGeometry extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(Canvas3D canvas) {
- Color3f eColor = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f sColor = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f objColor = new Color3f(0.6f, 0.6f, 0.6f);
- Color3f lColor1 = new Color3f(1.0f, 0.0f, 0.0f);
- Color3f lColor2 = new Color3f(0.0f, 1.0f, 0.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
-
- Transform3D t;
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objScale.addChild(bg);
-
- Material m = new Material(objColor, eColor, objColor, sColor, 100.0f);
- Appearance a = new Appearance();
- m.setLightingEnable(true);
- a.setMaterial(m);
- Font3D f3d = new Font3D(new Font("TestFont", Font.PLAIN, 1),
- new FontExtrusion());
-
- Text3D text3D = new Text3D(f3d, new String("TEXT3D"),
- new Point3f(-2.0f, 0.7f, 0.0f));
- text3D.setCapability(Geometry.ALLOW_INTERSECT);
- Shape3D s3D1 = new Shape3D();
- s3D1.setGeometry(text3D);
- s3D1.setAppearance(a);
-
- // Create a transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime.
- TransformGroup spinTg1 = new TransformGroup();
- spinTg1.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- spinTg1.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- spinTg1.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
-
- spinTg1.addChild(s3D1);
- objScale.addChild(spinTg1);
-
- Text3D pick = new Text3D(f3d, new String("Pick me"),
- new Point3f(-2.0f, -0.7f, 0.0f));
- pick.setCapability(Geometry.ALLOW_INTERSECT);
- Shape3D s3D2 = new Shape3D();
- s3D2.setGeometry(pick);
- s3D2.setAppearance(a);
-
- // Create a transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime.
- TransformGroup spinTg2 = new TransformGroup();
- spinTg2.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- spinTg2.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- spinTg2.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
-
- spinTg2.addChild(s3D2);
- objScale.addChild(spinTg2);
-
- // Create the transform group node for the each light and initialize
- // it to the identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add them to the root
- // of the subgraph.
-
- // Create transformations for the positional lights
- t = new Transform3D();
- Vector3d lPos1 = new Vector3d(0.0, 0.0, 2.0);
- t.set(lPos1);
- TransformGroup l1Trans = new TransformGroup(t);
- l1Trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- l1Trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- l1Trans.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
- objScale.addChild(l1Trans);
-
- t = new Transform3D();
- Vector3d lPos2 = new Vector3d(0.5, 1.2, 2.0);
- t.set(lPos2);
- TransformGroup l2Trans = new TransformGroup(t);
- l2Trans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- l2Trans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- l2Trans.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
- objScale.addChild(l2Trans);
-
- // Create Geometry for point lights
- ColoringAttributes caL1 = new ColoringAttributes();
- ColoringAttributes caL2 = new ColoringAttributes();
- caL1.setColor(lColor1);
- caL2.setColor(lColor2);
- Appearance appL1 = new Appearance();
- Appearance appL2 = new Appearance();
- appL1.setColoringAttributes(caL1);
- appL2.setColoringAttributes(caL2);
- l1Trans.addChild(new Sphere(0.05f,
- Sphere.GENERATE_NORMALS | Sphere.ENABLE_GEOMETRY_PICKING, 15, appL1));
- l2Trans.addChild(new Sphere(0.05f,
- Sphere.GENERATE_NORMALS | Sphere.ENABLE_GEOMETRY_PICKING, 15, appL2));
-
- // Create lights
- AmbientLight aLgt = new AmbientLight(alColor);
-
- Light lgt1;
- Light lgt2;
-
- Point3f lPoint = new Point3f(0.0f, 0.0f, 0.0f);
- Point3f atten = new Point3f(1.0f, 0.0f, 0.0f);
- lgt1 = new PointLight(lColor1, lPoint, atten);
- lgt2 = new PointLight(lColor2, lPoint, atten);
-
- // Set the influencing bounds
- aLgt.setInfluencingBounds(bounds);
- lgt1.setInfluencingBounds(bounds);
- lgt2.setInfluencingBounds(bounds);
-
- // Add the lights into the scene graph
- objScale.addChild(aLgt);
- l1Trans.addChild(lgt1);
- l2Trans.addChild(lgt2);
-
- PickRotateBehavior behavior1 =
- new PickRotateBehavior(objRoot, canvas, bounds);
- behavior1.setMode(PickTool.GEOMETRY);
- behavior1.setTolerance(0.0f);
- objRoot.addChild(behavior1);
-
- PickZoomBehavior behavior2 =
- new PickZoomBehavior(objRoot, canvas, bounds);
- behavior2.setMode(PickTool.GEOMETRY);
- behavior2.setTolerance(0.0f);
- objRoot.addChild(behavior2);
-
- PickTranslateBehavior behavior3 =
- new PickTranslateBehavior(objRoot, canvas, bounds);
- behavior3.setMode(PickTool.GEOMETRY);
- behavior3.setTolerance(0.0f);
- objRoot.addChild(behavior3);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public PickText3DGeometry() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- u = new SimpleUniverse(c);
- BranchGroup scene = createSceneGraph(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows Text3DMotion to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new PickText3DGeometry(), 700, 700);
- }
-}
diff --git a/src/PickText3D/PickText3DGeometry_plugin.html b/src/PickText3D/PickText3DGeometry_plugin.html
deleted file mode 100644
index a54c350..0000000
--- a/src/PickText3D/PickText3DGeometry_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>PickText3DGeometry</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "PickText3DGeometry.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "PickText3DGeometry.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "PickText3DGeometry.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/PickText3D/build.xml b/src/PickText3D/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/PickText3D/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/PlatformGeometry/SimpleGeometry.html b/src/PlatformGeometry/SimpleGeometry.html
deleted file mode 100644
index 9371405..0000000
--- a/src/PlatformGeometry/SimpleGeometry.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Platform Geometry</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="SimpleGeometry.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/PlatformGeometry/SimpleGeometry.java b/src/PlatformGeometry/SimpleGeometry.java
deleted file mode 100644
index 0f2f562..0000000
--- a/src/PlatformGeometry/SimpleGeometry.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.behaviors.mouse.MouseTranslate;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.applet.Applet;
-import com.sun.j3d.utils.applet.MainFrame;
-import java.awt.*;
-
-/**
- * This class demonstrates the use of the Universe builder for stand-alone
- * applications along with the use of the PlatformGeometry node that is
- * present in the Java 3D Universe Builder utility. The standard
- * HelloWorld application is brought up. A transparent cylinder has been
- * added to the PlatfromGeometry node of the ViewingPlatform and the
- * MouseTranslate utility has been used to allow this sphere to be dragged
- * around the canvas.
- */
-public class SimpleGeometry extends Applet {
-
- SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(objTrans);
-
- // Create a simple shape leaf node, add it to the scene graph.
- objTrans.addChild(new ColorCube());
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
-
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- /*
- * Create the geometry to add to the platform geometry.
- */
- PlatformGeometry createAimer() {
-
- PlatformGeometry pg = new PlatformGeometry();
-
- // This TransformGroup will be used by the MouseTranslate
- // utiltiy to move the cylinder around the canvas. when the
- // the user holds down mouse button 3.
- TransformGroup moveTG = new TransformGroup();
- moveTG.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- moveTG.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- MouseTranslate mouseT = new MouseTranslate(moveTG);
- moveTG.addChild(mouseT);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- mouseT.setSchedulingBounds(bounds);
- pg.addChild(moveTG);
-
- // This TransformGroup is used to place the cylinder in the scene.
- // The cylinder will be rotated 90 degrees so it will appear as
- // a circle on the screen (could be made into a nice gun site...).
- // The cylinder is also displaced a little in Z so it is in front
- // of the viewer.
- Transform3D xForm = new Transform3D();
- xForm.rotX(Math.PI/2.0);
- xForm.setTranslation(new Vector3d(0.0, 0.0, -0.7));
- TransformGroup placementTG = new TransformGroup(xForm);
- moveTG.addChild(placementTG);
-
- // Create the cylinder - make it thin and transparent.
- Appearance cylinderAppearance = new Appearance();
- TransparencyAttributes transAttrs =
- new TransparencyAttributes(TransparencyAttributes.FASTEST, 0.5f);
- // cylinderAppearance.setTransparencyAttributes(transAttrs);
- Cylinder aimer = new Cylinder(0.06f, 0.005f, 0, cylinderAppearance);
- placementTG.addChild(aimer);
-
- return pg;
- }
-
- public void init() {
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
-
- u = new SimpleUniverse(c);
-
- PlatformGeometry pg = createAimer();
-
- // Now set the just created PlatformGeometry.
- ViewingPlatform vp = u.getViewingPlatform();
- vp.setPlatformGeometry(pg);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- // Add everthing to the scene graph - it will now be displayed.
- u.addBranchGraph(scene);
- }
-
- public SimpleGeometry(String[] args) {
- }
-
- public SimpleGeometry() {
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public static void main(String[] args) {
- new MainFrame(new SimpleGeometry(args), 256, 256);
- }
-}
diff --git a/src/PlatformGeometry/SimpleGeometry_plugin.html b/src/PlatformGeometry/SimpleGeometry_plugin.html
deleted file mode 100644
index 9255a68..0000000
--- a/src/PlatformGeometry/SimpleGeometry_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Platform Geometry</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "SimpleGeometry.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "SimpleGeometry.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "SimpleGeometry.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/PlatformGeometry/build.xml b/src/PlatformGeometry/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/PlatformGeometry/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/PrintCanvas3D/ImageDisplayer.java b/src/PrintCanvas3D/ImageDisplayer.java
deleted file mode 100644
index 6a9bb61..0000000
--- a/src/PrintCanvas3D/ImageDisplayer.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.swing.*;
-import java.awt.BorderLayout;
-import java.awt.Container;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.image.BufferedImage;
-import java.awt.event.*;
-
-class ImageDisplayer extends JFrame implements ActionListener {
- BufferedImage bImage;
-
- private class ImagePanel extends JPanel {
- public void paint(Graphics g) {
- g.setColor(Color.black);
- g.fillRect(0, 0, getSize().width, getSize().height);
- g.drawImage(bImage, 0, 0, this);
- }
-
- private ImagePanel() {
- setPreferredSize(new Dimension(bImage.getWidth(),
- bImage.getHeight()));
- }
- }
-
- private JMenuItem printItem;
- private JMenuItem closeItem;
-
- private void freeResources() {
- this.removeAll();
- this.setVisible(false);
- bImage = null;
- }
-
- public void actionPerformed (ActionEvent event) {
- Object target = event.getSource();
-
- if (target == printItem) {
- new ImagePrinter(bImage).print();
- }
- else if (target == closeItem) {
- freeResources();
- }
- }
-
- private JMenuBar createMenuBar() {
- JMenuBar menuBar = new JMenuBar();
- JMenu fileMenu = new JMenu("File");
- printItem = new JMenuItem("Print...");
- printItem.addActionListener(this);
- closeItem = new JMenuItem("Close");
- closeItem.addActionListener(this);
- fileMenu.add(printItem);
- fileMenu.add(new JSeparator());
- fileMenu.add(closeItem);
- menuBar.add(fileMenu);
- return menuBar;
- }
-
- ImageDisplayer(BufferedImage bImage) {
- this.bImage = bImage;
- this.setTitle("Off-screen Canvas3D Snapshot");
-
- // Create and initialize menu bar
- this.setJMenuBar(createMenuBar());
-
- // Create scroll pane, and embedded image panel
- ImagePanel imagePanel = new ImagePanel();
- JScrollPane scrollPane = new JScrollPane(imagePanel);
- scrollPane.getViewport().setPreferredSize(new Dimension(700, 700));
-
- // Handle the close event
- this.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent winEvent) {
- freeResources();
- }
- });
-
- // Add scroll pane to the frame and make it visible
- this.getContentPane().add(scrollPane);
- this.pack();
- this.setVisible(true);
- }
-}
diff --git a/src/PrintCanvas3D/ImagePrinter.java b/src/PrintCanvas3D/ImagePrinter.java
deleted file mode 100644
index 211883d..0000000
--- a/src/PrintCanvas3D/ImagePrinter.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.print.*;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import java.awt.Image;
-import java.awt.image.BufferedImage;
-import java.awt.image.ImageObserver;
-import java.awt.geom.AffineTransform;
-
-class ImagePrinter implements Printable, ImageObserver {
- BufferedImage bImage;
-
- public int print(Graphics g, PageFormat pf, int pi)
- throws PrinterException {
-
-
- if (pi >= 1) {
- return Printable.NO_SUCH_PAGE;
- }
-
- Graphics2D g2d = (Graphics2D)g;
- //g2d.translate(pf.getImageableX(), pf.getImageableY());
- AffineTransform t2d = new AffineTransform();
- t2d.translate(pf.getImageableX(), pf.getImageableY());
- double xscale = pf.getImageableWidth() / (double)bImage.getWidth();
- double yscale = pf.getImageableHeight() / (double)bImage.getHeight();
- double scale = Math.min(xscale, yscale);
- t2d.scale(scale, scale);
- try {
- g2d.drawImage(bImage,t2d, this);
- }
- catch (Exception ex) {
- ex.printStackTrace();
- return Printable.NO_SUCH_PAGE;
- }
- return Printable.PAGE_EXISTS;
- }
-
- void print() {
- PrinterJob printJob = PrinterJob.getPrinterJob();
- PageFormat pageFormat = printJob.defaultPage();
- pageFormat.setOrientation(PageFormat.LANDSCAPE);
- pageFormat = printJob.validatePage(pageFormat);
- printJob.setPrintable(this, pageFormat);
- if (printJob.printDialog()) {
- try {
- printJob.print();
- }
- catch (PrinterException ex) {
- ex.printStackTrace();
- }
- }
- }
-
- public boolean imageUpdate(Image img,
- int infoflags,
- int x,
- int y,
- int width,
- int height) {
- return false;
- }
-
- ImagePrinter(BufferedImage bImage) {
- this.bImage = bImage;
- }
-}
diff --git a/src/PrintCanvas3D/OffScreenCanvas3D.java b/src/PrintCanvas3D/OffScreenCanvas3D.java
deleted file mode 100644
index b089e5c..0000000
--- a/src/PrintCanvas3D/OffScreenCanvas3D.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.GraphicsConfiguration;
-import java.awt.image.BufferedImage;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-
-class OffScreenCanvas3D extends Canvas3D {
- OffScreenCanvas3D(GraphicsConfiguration graphicsConfiguration,
- boolean offScreen) {
-
- super(graphicsConfiguration, offScreen);
- }
-
- BufferedImage doRender(int width, int height) {
-
- BufferedImage bImage =
- new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
-
- ImageComponent2D buffer =
- new ImageComponent2D(ImageComponent.FORMAT_RGBA, bImage);
-
- setOffScreenBuffer(buffer);
- renderOffScreenBuffer();
- waitForOffScreenRendering();
- bImage = getOffScreenBuffer().getImage();
-
- return bImage;
- }
-
- public void postSwap() {
- // No-op since we always wait for off-screen rendering to complete
- }
-}
diff --git a/src/PrintCanvas3D/PrintCanvas3D.java b/src/PrintCanvas3D/PrintCanvas3D.java
deleted file mode 100644
index 87ff679..0000000
--- a/src/PrintCanvas3D/PrintCanvas3D.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.loaders.objectfile.ObjectFile;
-import com.sun.j3d.loaders.ParsingErrorException;
-import com.sun.j3d.loaders.IncorrectFormatException;
-import com.sun.j3d.loaders.Scene;
-import javax.swing.*;
-import java.awt.BorderLayout;
-import java.awt.Container;
-import java.awt.Dimension;
-import java.awt.GraphicsConfiguration;
-import java.awt.Point;
-import java.awt.image.BufferedImage;
-import java.awt.event.*;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.io.*;
-import com.sun.j3d.utils.behaviors.mouse.*;
-
-public class PrintCanvas3D extends JFrame implements ActionListener {
-
- private static final boolean spin = false;
- private static final boolean noTriangulate = false;
- private static final boolean noStripify = false;
- private static final double creaseAngle = 60.0;
-
- private JMenuItem snapshotItem;
- private JMenuItem freeBufferItem;
- private JMenuItem printItem;
- private JMenuItem quitItem;
-
- private SimpleUniverse u;
- private Canvas3D canvas3D;
- private OffScreenCanvas3D offScreenCanvas3D;
-
- private static final int OFF_SCREEN_SCALE = 3;
-
- private class AppPanel extends JPanel {
-
- private String filename = null;
-
- public BranchGroup createSceneGraph(String args[]) {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.7);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objScale.addChild(objTrans);
-
- int flags = ObjectFile.RESIZE;
- if (!noTriangulate) flags |= ObjectFile.TRIANGULATE;
- if (!noStripify) flags |= ObjectFile.STRIPIFY;
- ObjectFile f =
- new ObjectFile(flags,
- (float)(creaseAngle * Math.PI / 180.0));
- Scene s = null;
- try {
- s = f.load(filename);
- }
- catch (FileNotFoundException e) {
- System.err.println(e);
- System.exit(1);
- }
- catch (ParsingErrorException e) {
- System.err.println(e);
- System.exit(1);
- }
- catch (IncorrectFormatException e) {
- System.err.println(e);
- System.exit(1);
- }
-
- objTrans.addChild(s.getSceneGroup());
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- if (spin) {
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
- } else {
- // Create the rotate behavior node
- MouseRotate behavior = new MouseRotate();
- behavior.setTransformGroup(objTrans);
- objTrans.addChild(behavior);
- behavior.setSchedulingBounds(bounds);
-
- // Create the zoom behavior node
- MouseZoom behavior2 = new MouseZoom();
- behavior2.setTransformGroup(objTrans);
- objTrans.addChild(behavior2);
- behavior2.setSchedulingBounds(bounds);
-
- // Create the translate behavior node
- MouseTranslate behavior3 = new MouseTranslate();
- behavior3.setTransformGroup(objTrans);
- objTrans.addChild(behavior3);
- behavior3.setSchedulingBounds(bounds);
- }
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
- Background bgNode = new Background(bgColor);
- bgNode.setApplicationBounds(bounds);
- objRoot.addChild(bgNode);
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- objRoot.addChild(ambientLightNode);
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);
- Color3f light2Color = new Color3f(0.3f, 0.3f, 0.4f);
- Vector3f light2Direction = new Vector3f(-6.0f, -2.0f, -1.0f);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- objRoot.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- objRoot.addChild(light2);
-
- return objRoot;
- }
-
- private void usage() {
- System.out.println("Usage: java PrintCanvas3D <.obj file>");
- System.exit(0);
- } // End of usage
-
-
- // Create the Canvas3D (both on-screen and off-screen)
- private void createCanvas3D(String[] args) {
- if (args.length == 0) {
- usage();
- } else {
- for (int i = 0 ; i < args.length ; i++) {
- if (args[i].startsWith("-")) {
- System.err.println("Argument '" + args[i] + "' ignored.");
- }
- else {
- filename = args[i];
- }
- }
- }
-
- if (filename == null) {
- usage();
- }
-
- // Create Canvas3D
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- canvas3D = new Canvas3D(config);
- canvas3D.setSize(600, 450);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph(args);
- u = new SimpleUniverse(canvas3D);
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
- u.addBranchGraph(scene);
-
- // Create the off-screen Canvas3D object
- offScreenCanvas3D = new OffScreenCanvas3D(config, true);
- // Set the off-screen size based on a scale factor times the
- // on-screen size
- Screen3D sOn = canvas3D.getScreen3D();
- Screen3D sOff = offScreenCanvas3D.getScreen3D();
- Dimension dim = sOn.getSize();
- dim.width *= OFF_SCREEN_SCALE;
- dim.height *= OFF_SCREEN_SCALE;
- sOff.setSize(dim);
- sOff.setPhysicalScreenWidth(sOn.getPhysicalScreenWidth() *
- OFF_SCREEN_SCALE);
- sOff.setPhysicalScreenHeight(sOn.getPhysicalScreenHeight() *
- OFF_SCREEN_SCALE);
-
- // attach the offscreen canvas to the view
- u.getViewer().getView().addCanvas3D(offScreenCanvas3D);
- }
-
- private AppPanel(String args[]) {
- setLayout(new BorderLayout());
-
- // Create Canvas3D and scene graph
- createCanvas3D(args);
- add("Center", canvas3D);
- }
- }
-
- private void doExit() {
- View view = u.getViewer().getView();
-
- // Free offscreen buffer
- try {
- offScreenCanvas3D.setOffScreenBuffer(null);
- }
- catch (NullPointerException npe) {
- //System.err.println(npe + " while freeing off-screen buffer");
- }
-
- // clear universe resources
- u.removeAllLocales();
-
- // remove all canvas3Ds from View
- view.removeCanvas3D(offScreenCanvas3D);
- view.removeCanvas3D(canvas3D);
-
- System.exit(0);
- }
-
- public void actionPerformed (ActionEvent event) {
- Object target = event.getSource();
-
- if ((target == snapshotItem) ||
- (target == printItem)) {
- Point loc = canvas3D.getLocationOnScreen();
- offScreenCanvas3D.setOffScreenLocation(loc);
- Dimension dim = canvas3D.getSize();
- dim.width *= OFF_SCREEN_SCALE;
- dim.height *= OFF_SCREEN_SCALE;
- BufferedImage bImage =
- offScreenCanvas3D.doRender(dim.width, dim.height);
-
- if (target == snapshotItem) {
- new ImageDisplayer(bImage);
- }
- else { // (target == printItem)
- new ImagePrinter(bImage).print();
- }
- }
- else if (target == freeBufferItem) {
- try {
- offScreenCanvas3D.setOffScreenBuffer(null);
- }
- catch (NullPointerException npe) {
- //System.err.println(npe + " while freeing off-screen buffer");
- }
- }
- else if (target == quitItem) {
- doExit();
- }
- }
-
- private JMenuBar createMenuBar() {
- JMenuBar menuBar = new JMenuBar();
- JMenu fileMenu = new JMenu("File");
- snapshotItem = new JMenuItem("Snapshot");
- snapshotItem.addActionListener(this);
- freeBufferItem = new JMenuItem("Free OffScreen Buffer");
- freeBufferItem.addActionListener(this);
- printItem = new JMenuItem("Print...");
- printItem.addActionListener(this);
- quitItem = new JMenuItem("Quit");
- quitItem.addActionListener(this);
- fileMenu.add(snapshotItem);
- fileMenu.add(freeBufferItem);
- fileMenu.add(printItem);
- fileMenu.add(new JSeparator());
- fileMenu.add(quitItem);
- menuBar.add(fileMenu);
- return menuBar;
- }
-
- private PrintCanvas3D(String args[]) {
- this.setTitle("Canvas3D Print Test");
-
- // Create and initialize menu bar
- JPopupMenu.setDefaultLightWeightPopupEnabled(false);
- this.setJMenuBar(createMenuBar());
-
- // Handle the close event
- this.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent winEvent) {
- doExit();
- }
- });
-
- // Add main panel to top-level frame and make it visible
- this.getContentPane().add(new AppPanel(args));
- this.pack();
- this.setVisible(true);
- }
-
- public static void main(String[] args) {
- new PrintCanvas3D(args);
- }
-}
diff --git a/src/PrintCanvas3D/build.xml b/src/PrintCanvas3D/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/PrintCanvas3D/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/PureImmediate/PureImmediate.html b/src/PureImmediate/PureImmediate.html
deleted file mode 100644
index fc66335..0000000
--- a/src/PureImmediate/PureImmediate.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Pure Immediate mode</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="PureImmediate.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a spinning cube instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/PureImmediate/PureImmediate.java b/src/PureImmediate/PureImmediate.java
deleted file mode 100644
index 6f3bb28..0000000
--- a/src/PureImmediate/PureImmediate.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import java.awt.GraphicsConfiguration;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-/**
- * Pure immediate mode example program. In pure immediate mode, the
- * renderer must be stopped on the Canvas being rendered into. In our
- * example, this is done immediately after the canvas is created. A
- * separate thread is started up to do the immediate mode rendering.
- */
-public class PureImmediate extends Applet implements Runnable {
-
- private Canvas3D canvas;
- private GraphicsContext3D gc = null;
- private Geometry cube = null;
- private Transform3D cmt = new Transform3D();
-
- // One rotation (2*PI radians) every 6 seconds
- private Alpha rotAlpha = new Alpha(-1, 6000);
-
- private SimpleUniverse u = null;
-
- //
- // Renders a single frame by clearing the canvas, drawing the
- // geometry, and swapping the draw and display buffer.
- //
- public void render() {
- if (gc == null) {
- // Set up Graphics context
- gc = canvas.getGraphicsContext3D();
- gc.setAppearance(new Appearance());
-
- // Set up geometry
- cube = new ColorCube(0.4).getGeometry();
- }
-
- // Compute angle of rotation based on alpha value
- double angle = rotAlpha.value() * 2.0*Math.PI;
- cmt.rotY(angle);
-
- // Render the geometry for this frame
- gc.clear();
- gc.setModelTransform(cmt);
- gc.draw(cube);
- canvas.swap();
- }
-
-
- //
- // Run method for our immediate mode rendering thread.
- //
- public void run() {
- System.out.println("PureImmediate.run: starting main loop");
- while (true) {
- render();
- Thread.yield();
- }
- }
-
-
- public PureImmediate() {
- }
-
- //
- // init: create the canvas, stop the renderer,
- // create the universe, and start the drawing thread.
- //
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- canvas = new Canvas3D(config);
- canvas.stopRenderer();
- add("Center", canvas);
-
- // Create the universe and viewing branch
- u = new SimpleUniverse(canvas);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- // Start a new thread that will continuously render
- new Thread(this).start();
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows PureImmediate to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new PureImmediate(), 256, 256);
- }
-}
diff --git a/src/PureImmediate/PureImmediateStereo.html b/src/PureImmediate/PureImmediateStereo.html
deleted file mode 100644
index 9ea311e..0000000
--- a/src/PureImmediate/PureImmediateStereo.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Pure Immediate Stereo mode</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="PureImmediateStereo.class" width=512 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a spinning cube instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/PureImmediate/PureImmediateStereo.java b/src/PureImmediate/PureImmediateStereo.java
deleted file mode 100644
index a15a7c1..0000000
--- a/src/PureImmediate/PureImmediateStereo.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.util.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.geometry.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-/**
- * Pure immediate mode stereo example program for stereo. In pure
- * immediate mode, the renderer must be stopped on the Canvas being
- * rendered into. In our example, this is done immediately after the
- * canvas is created. A separate thread is started up to do the
- * immediate mode rendering.
- */
-public class PureImmediateStereo extends Applet implements Runnable {
-
- // Set this to true when the graphics card use shared z buffer
- // in stereo mode.
- public static String defaultSharedStereoZbuffer = Boolean.TRUE.toString();
-
- private boolean sharedStereoZbuffer;
- private boolean stereoSupport;
- private Canvas3D canvas;
- private GraphicsContext3D gc;
- private Shape3D leftConeBody, rightConeBody;
- private Shape3D leftConeCap, rightConeCap;
- private Transform3D cmt = new Transform3D();
- private Vector3f leftTrans, rightTrans;
-
- // One rotation (2*PI radians) every 6 seconds
- private Alpha rotAlpha = new Alpha(-1, 6000);
- private SimpleUniverse u = null;
- private double angle;
-
- // Compute data which is common for both
- // left and right eye
- void computeSharedData() {
- // Compute angle of rotation based on alpha value
- angle = rotAlpha.value() * 2.0*Math.PI;
- cmt.rotY(angle);
- }
-
- // Render the geometry in right eye
- void renderLeft() {
- cmt.setTranslation(leftTrans);
- gc.setModelTransform(cmt);
-
- if (sharedStereoZbuffer) {
- // Graphics card shared same z buffer in stereo mode,
- // in this case we have to explicitly clearing both
- // frame buffers.
- gc.clear();
- }
- gc.draw(leftConeBody);
- gc.draw(leftConeCap);
- }
-
- // Render the geometry for right eye
- void renderRight() {
- cmt.setTranslation(rightTrans);
- gc.setModelTransform(cmt);
-
- if (sharedStereoZbuffer) {
- // Graphics card shared same z buffer in stereo mode,
- // in this case we have to explicitly clearing both
- // frame buffers.
- gc.clear();
- }
- gc.draw(rightConeBody);
- gc.draw(rightConeCap);
- }
-
- //
- // Run method for our immediate mode rendering thread.
- //
- public void run() {
- // Set up Graphics context
- gc = canvas.getGraphicsContext3D();
-
- // We always need to set this for PureImmediate
- // stereo mode
- gc.setBufferOverride(true);
-
- Color3f lightColor = new Color3f(1, 1, 1);
- Vector3f lightDir = new Vector3f(0, 0, -1);
- DirectionalLight light = new DirectionalLight(lightColor,
- lightDir);
-
- gc.addLight(light);
-
- Appearance redApp = new Appearance();
- Appearance greenApp = new Appearance();
- Color3f ambientColor = new Color3f(0, 0, 0);
- Color3f emissiveColor = new Color3f(0, 0, 0);
- Color3f diffuseColor = new Color3f(1, 0, 0);
- Color3f specularColor = new Color3f(1, 1, 1);
- redApp.setMaterial(new Material(ambientColor, emissiveColor,
- diffuseColor, specularColor, 5));
- diffuseColor = new Color3f(0, 1, 0);
-
- greenApp.setMaterial(new Material(ambientColor, emissiveColor,
- diffuseColor, specularColor, 5));
-
- // Set up geometry
- Cone leftCone = new Cone(0.4f, 0.6f,
- Primitive.GENERATE_NORMALS, redApp);
- Cone rightCone = new Cone(0.4f, 0.6f,
- Primitive.GENERATE_NORMALS, greenApp);
- leftConeBody = leftCone.getShape(Cone.BODY);
- leftConeCap = leftCone.getShape(Cone.CAP);
-
- rightConeBody = rightCone.getShape(Cone.BODY);
- rightConeCap = rightCone.getShape(Cone.CAP);
- leftTrans = new Vector3f(-0.6f, 0, 0);
- rightTrans = new Vector3f(0.6f, 0, 0);
-
-
- while (true) {
- // compute data which is can be used
- // for both left and right eye
- computeSharedData();
-
- if (stereoSupport) {
- if (!sharedStereoZbuffer) {
- gc.setStereoMode(GraphicsContext3D.STEREO_BOTH);
- // This clear both left and right buffers, we
- // must set STEREO_BOTH before it. Otherwise
- // it only clear LEFT or RIGHT buffer unless
- // this is invoke twice for each buffer.
- gc.clear();
- }
-
- gc.setStereoMode(GraphicsContext3D.STEREO_LEFT);
- renderLeft();
-
- gc.setStereoMode(GraphicsContext3D.STEREO_RIGHT);
- renderRight();
- } else {
- gc.clear();
- renderLeft();
- }
-
- // This swap both left and right buffers so
- // there is no need to set STEREO_BOTH before it
- canvas.swap();
-
- // Be polite to other threads !
- Thread.yield();
- }
- }
-
-
- public PureImmediateStereo() {
- }
-
- //
- // init: create the canvas, stop the renderer,
- // create the universe, and start the drawing thread.
- //
- public void init() {
- setLayout(new BorderLayout());
-
- // Preferred to use Stereo
- GraphicsConfigTemplate3D gct = new GraphicsConfigTemplate3D();
- gct.setStereo(GraphicsConfigTemplate3D.PREFERRED);
-
- GraphicsConfiguration config =
- GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getBestConfiguration(gct);
-
- canvas = new Canvas3D(config);
- Map map = canvas.queryProperties();
-
- stereoSupport = canvas.getStereoAvailable();
-
- if (stereoSupport) {
- System.out.println("This machine support stereo, you should see a red cone on the left and green cone on the right.");
- // User can overide the above default behavior using
- // java3d property.
- String str = System.getProperty("j3d.sharedstereozbuffer",
- defaultSharedStereoZbuffer);
- sharedStereoZbuffer = (new Boolean(str)).booleanValue();
- } else {
- System.out.println("Stereo is not support, you should only see the left red cone.");
- }
-
- if (!canvas.getDoubleBufferAvailable()) {
- System.out.println("Double buffer is not support !");
- }
-
- // we must stop the Renderer in PureImmediate mode
- canvas.stopRenderer();
- add("Center", canvas);
-
- // Create the universe and viewing branch
- u = new SimpleUniverse(canvas);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- // Start a new thread that will continuously render
- (new Thread(this)).start();
- }
-
- // Cleanup all Java3D threads and memory when this applet exit
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows PureImmediateStereo to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new PureImmediateStereo(), 512, 256);
- }
-}
diff --git a/src/PureImmediate/PureImmediateStereo_plugin.html b/src/PureImmediate/PureImmediateStereo_plugin.html
deleted file mode 100644
index 52d6286..0000000
--- a/src/PureImmediate/PureImmediateStereo_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Pure Immediate Stereo mode</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 512 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "PureImmediateStereo.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "PureImmediateStereo.class" WIDTH = 512 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a spinning cube instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "PureImmediateStereo.class" WIDTH = 512 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a spinning cube instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/PureImmediate/PureImmediate_plugin.html b/src/PureImmediate/PureImmediate_plugin.html
deleted file mode 100644
index e268e78..0000000
--- a/src/PureImmediate/PureImmediate_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Pure Immediate mode</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "PureImmediate.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "PureImmediate.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a spinning cube instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "PureImmediate.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a spinning cube instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/PureImmediate/build.xml b/src/PureImmediate/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/PureImmediate/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/ReadRaster/ReadRaster.html b/src/ReadRaster/ReadRaster.html
deleted file mode 100644
index e18fa76..0000000
--- a/src/ReadRaster/ReadRaster.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ReadRaster</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="ReadRaster.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/ReadRaster/ReadRaster.java b/src/ReadRaster/ReadRaster.java
deleted file mode 100644
index 49c73f6..0000000
--- a/src/ReadRaster/ReadRaster.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import java.awt.event.*;
-import java.awt.image.DataBufferInt;
-import java.awt.image.BufferedImage;
-import java.awt.GraphicsConfiguration;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.Enumeration;
-
-public class ReadRaster extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(BufferedImage bImage,
- Raster readRaster) {
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Raster shape. Add it to the root of the subgraph
-
- ImageComponent2D drawImageComponent = new ImageComponent2D(
- ImageComponent.FORMAT_RGB, bImage);
-
- Raster drawRaster= new Raster(new Point3f(0.0f, 0.0f, 0.0f),
- Raster.RASTER_COLOR, 0, 0, bImage.getWidth(),
- bImage.getHeight(), drawImageComponent, null);
- Shape3D shape = new Shape3D(drawRaster);
- drawRaster.setCapability(Raster.ALLOW_IMAGE_WRITE);
- objRoot.addChild(shape);
-
- // Ceate the transform greup node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
-
- TransformGroup cubeScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setTranslation(new Vector3d(-0.5, 0.5, 0.0));
- cubeScale.setTransform(t3d);
-
- cubeScale.addChild(objTrans);
- objRoot.addChild(cubeScale);
-
- // Create a simple shape leaf node, add it to the scene graph.
- objTrans.addChild(new ColorCube(0.3));
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
- myRotationInterpolator rotator =
- new myRotationInterpolator(drawRaster, readRaster,
- rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public ReadRaster() {
- }
-
- public void init() {
-
- int width = 128;
- int height = 128;
-
- ImageComponent2D readImageComponent = new ImageComponent2D(
- ImageComponent.FORMAT_RGB, width, height);
-
- Raster readRaster = new Raster(new Point3f(0.0f,0.0f,0.0f),
- Raster.RASTER_COLOR, 0, 0, width,
- height, readImageComponent, null);
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new myCanvas3D(config, readRaster);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BufferedImage bImage = new BufferedImage(width, height,
- BufferedImage.TYPE_INT_ARGB);
-
- BranchGroup scene = createSceneGraph(bImage, readRaster);
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows ReadRaster to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new ReadRaster(), 256, 256);
- }
-}
-
-
-class myCanvas3D extends Canvas3D {
-
- Raster readRaster;
- GraphicsContext3D gc;
-
- public myCanvas3D(GraphicsConfiguration graphicsConfiguration,
- Raster readRaster) {
-
- super(graphicsConfiguration);
- this.readRaster = readRaster;
- gc = getGraphicsContext3D();
- }
-
- public void postSwap() {
- super.postSwap();
- synchronized(readRaster) {
- gc.readRaster(readRaster);
- }
- }
-}
-
-
-class myRotationInterpolator extends RotationInterpolator {
- Point3f wPos = new Point3f(0.025f, -0.025f, 0.0f);
- Raster drawRaster;
- Raster readRaster;
- BufferedImage bImage;
- ImageComponent2D newImageComponent;
-
- public myRotationInterpolator(Raster drawRaster, Raster readRaster,
- Alpha alpha,
- TransformGroup target,
- Transform3D axisOfRotation,
- float minimumAngle,
- float maximumAngle) {
-
- super(alpha, target, axisOfRotation, minimumAngle, maximumAngle);
- this.drawRaster = drawRaster;
- this.readRaster = readRaster;
- }
-
- public void processStimulus(Enumeration criteria) {
-
- synchronized(readRaster) {
- bImage = readRaster.getImage().getImage();
- }
- newImageComponent = new ImageComponent2D(ImageComponent.FORMAT_RGB,
- bImage);
- drawRaster.setImage(newImageComponent);
- super.processStimulus(criteria);
- }
-}
diff --git a/src/ReadRaster/ReadRaster_plugin.html b/src/ReadRaster/ReadRaster_plugin.html
deleted file mode 100644
index 71a2907..0000000
--- a/src/ReadRaster/ReadRaster_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ReadRaster</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "ReadRaster.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "ReadRaster.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "ReadRaster.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/ReadRaster/build.xml b/src/ReadRaster/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/ReadRaster/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/SgChangerListener/ListenerTest.java b/src/SgChangerListener/ListenerTest.java
deleted file mode 100644
index e50d719..0000000
--- a/src/SgChangerListener/ListenerTest.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import java.awt.GraphicsConfiguration;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.universe.*;
-import java.util.Enumeration;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class ListenerTest extends Applet {
-
- private SimpleUniverse u = null;
- private ChangeListener changeListener;
- private BranchGroup scene;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
- objRoot.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);
- objRoot.setCapability(BranchGroup.ALLOW_CHILDREN_READ);
- objRoot.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
- objRoot.setCapability(BranchGroup.ALLOW_DETACH);
-
- // Create the TransformGroup node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at run time. Add it to
- // the root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
-
- // Create a simple Shape3D node; add it to the scene graph.
- objTrans.addChild(new ColorCube(0.1));
-
- // Create a new Behavior object that will perform the
- // desired operation on the specified transform and add
- // it into the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, 4000);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator.setSchedulingBounds(bounds);
- objRoot.addChild(rotator);
-
- objRoot.addChild(new TestBehavior(objRoot));
-
- return objRoot;
- }
-
- public ListenerTest() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- scene = createSceneGraph();
- scene.setName("scene");
- u = new SimpleUniverse(c);
- changeListener = new ChangeListener();
- u.addGraphStructureChangeListener(changeListener);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- BranchGroup createShape(Vector3f pos) {
- Transform3D t3d = new Transform3D();
- t3d.set(1f,pos);
- TransformGroup tg = new TransformGroup(t3d);
-
- tg.addChild(new Sphere(0.02f));
-
- BranchGroup bg = new BranchGroup();
- bg.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);
- bg.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
- bg.setCapability(BranchGroup.ALLOW_CHILDREN_READ);
- bg.setCapability(BranchGroup.ALLOW_DETACH);
- bg.addChild(tg);
- return bg;
- }
-
- //
- // The following allows HelloUniverse to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new ListenerTest(), 256, 256);
- }
-
- class TestBehavior extends Behavior {
- private BranchGroup root;
- private WakeupCriterion wakeup = new WakeupOnElapsedFrames(0);
- private int count = 0;
- private BranchGroup moveTo;
- private BranchGroup bg1;
-
- public TestBehavior(BranchGroup root) {
- this.root = root;
- this.setSchedulingBounds(new BoundingSphere(new Point3d(), Double.POSITIVE_INFINITY));
-
- moveTo = new BranchGroup();
- moveTo.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);
- moveTo.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE);
- moveTo.setCapability(BranchGroup.ALLOW_CHILDREN_READ);
- root.addChild(moveTo);
- }
-
- public void initialize() {
- wakeupOn(wakeup);
- }
-
- public void processStimulus(Enumeration e) {
- System.out.println("Wakeup");
-
- switch(count) {
- case 0:
- bg1=createShape(new Vector3f(0.02f,0f,0f));
- bg1.setName("bg1.1");
- root.addChild(bg1);
- break;
- case 1:
- moveTo.moveTo(bg1);
- break;
- case 2:
- bg1=createShape(new Vector3f(0.03f, 0.03f, 0f));
- bg1.setName("bg1.2");
- moveTo.setChild(bg1,0);
- break;
- case 3:
- bg1.detach();
- break;
- case 4:
- u.getLocale().removeBranchGraph(scene);
- break;
- }
-
- count++;
-
- if(count<5)
- wakeupOn(wakeup);
- }
- }
-
- class ChangeListener implements GraphStructureChangeListener {
- public void branchGroupAdded(Object parent, BranchGroup child) {
- System.out.println("Add "+parent+" "+child.getName()+" "+child.isLive());
- }
-
- public void branchGroupMoved(Object oldParent, Object newParent, BranchGroup child) {
- System.out.println("Move "+oldParent+" "+newParent+" "+child.getName()+" "+child.isLive());
- }
-
- public void branchGroupRemoved(Object parent, BranchGroup child) {
- System.out.println("Removed "+parent+" "+child.getName()+" "+child.isLive());
- }
-
- }
-}
diff --git a/src/SgChangerListener/build.xml b/src/SgChangerListener/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/SgChangerListener/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Sound/AudioBehaviorMoveOne.java b/src/Sound/AudioBehaviorMoveOne.java
deleted file mode 100644
index b447ee2..0000000
--- a/src/Sound/AudioBehaviorMoveOne.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.Enumeration;
-
-// User defined audio behavior class
-public class AudioBehaviorMoveOne extends Behavior {
- WakeupOnElapsedTime wt;
- WakeupOnBehaviorPost wp;
- PointSound psound = new PointSound();
- static int WAKEUP_SOUND = 0;
- long dur;
- // long time;
- // long lastTime = -1;
- boolean first_loop = true;
- String fileName;
-
- // Override Behavior's initialize method to setup wakeup criteria
- public void initialize() {
- MediaContainer sample = new MediaContainer();
- sample.setCapability(MediaContainer.ALLOW_URL_WRITE);
- sample.setCapability(MediaContainer.ALLOW_URL_READ);
- sample.setURLString(fileName);
- psound.setSoundData(sample);
- // exaggerate the sound position now that viewPlatform
- // tranform is taken into account
- Point3f soundPos = new Point3f(-20.0f, 0.0f, 0.0f);
- psound.setPosition(soundPos);
- WakeupOnElapsedTime wp = new WakeupOnElapsedTime(5000);
- wakeupOn(wp);
- }
-
- // Override Behavior's stimulus method to handle the event
- public void processStimulus(Enumeration criteria) {
- // time = System.currentTimeMillis();
- if (first_loop) {
- first_loop = false;
- dur = psound.getDuration();
- if (dur == Sound.DURATION_UNKNOWN)
- dur = 2000; // Force iterations every 2 seconds
- // System.out.println(" sound duration time " + dur);
- wt = new WakeupOnElapsedTime(dur);
- }
- else {
- // System.out.println(" time between setEnables calls "+
- // (time - lastTime));
- psound.setEnable(false) ;
- }
- psound.setEnable(true);
- // lastTime = time;
- wakeupOn(wt);
- }
-
- //
- // Constructor for rotation behavior. Parameter: front and back Sound nodes
- //
- public AudioBehaviorMoveOne(PointSound psound, String filename) {
- this.psound = psound;
- this.fileName = filename;
- }
-}
diff --git a/src/Sound/AudioReverberate.java b/src/Sound/AudioReverberate.java
deleted file mode 100644
index 9d599c1..0000000
--- a/src/Sound/AudioReverberate.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.Enumeration;
-
-/*
- * Pick the JavaSound reverb type that matches the input parameters
- * as best as possible.
- *
- * Hae Reverb Types Size Persistance Delay
- * ================ ----------- ------------ -----------
- * 1 None (dry)
- * 2 "Closet" very small very short <.5 fast smooth
- * 3 "Garage" med. large medium 1.0 medium
- * 4 "Acoustic Lab" med. small short .5 med. fast
- * 5 "Cavern" large long >2.0 very slow
- * 6 "Dungeon" medium med. long 1.5 med. slow
- *
- *
- * Order is NOT controllable, nor does it have a natural parallel.
- * For this reason Order and Reflection are tied together as to
- * affect 'Decay Speed'. This speed paired with the size of the
- * space implied by the Delay parameter determine the JavaSound
- * Reverb type that is set:
- *
- * | Short: Long:
- * Speed | Coeff <= 0.9 Coeff > 0.9
- * Size | Order <= 8 Order > 8
- * ---------------------------------------------------------------
- * small (<100ms) | 2 "Closet" 4 "Acoustic Lab"
- * medium (<500ms) | 3 "Garage" 6 "Dungeon"
- * large (>500ms) | 6 "Dungeon" 5 "Cavern"
- */
-// User defined audio behavior class
-public class AudioReverberate extends Behavior {
- WakeupOnElapsedTime wt;
- WakeupOnBehaviorPost wp;
- PointSound psound = new PointSound();
- AuralAttributes sScape = null;
- static int WAKEUP_SOUND = 0;
- long dur;
- long time;
- boolean firstTime = true;
- String fileName;
- int lCount = 0;
- int loopCount = 0;
-
- // Override Behavior's initialize method to setup wakeup criteria
- public void initialize() {
- MediaContainer sample = new MediaContainer();
- sample.setCacheEnable(true);
- sample.setURLString(fileName);
- psound.setSoundData(sample);
- Point3f soundPos = new Point3f(-23.0f, 0.0f, 0.0f);
- psound.setPosition(soundPos);
- psound.setLoop(3);
- firstTime = true;
- System.out.println("Reverb Name Size Reflect Order Delay ");
- System.out.println("----------- ---- ------- ----- ----- ");
- WakeupOnElapsedTime wp = new WakeupOnElapsedTime(5000);
- wakeupOn(wp);
- }
-
- // Override Behavior's stimulus method to handle the event
- public void processStimulus(Enumeration criteria) {
- // time = System.currentTimeMillis();
- if (firstTime) {
- wt = new WakeupOnElapsedTime(10000);
- firstTime = false;
- }
- else
- psound.setEnable(false) ;
-
- if (++lCount > 6)
- lCount = 1;
-
- if (lCount == 1) {
- sScape.setReverbDelay(10.0f) ;
- sScape.setReflectionCoefficient(0.5f) ;
- sScape.setReverbOrder(5) ;
- System.out.println("Closet sm 0.5 5 10.0 ");
- }
- else if (lCount == 2) {
- sScape.setReverbDelay(10.0f) ;
- sScape.setReflectionCoefficient(0.999f) ;
- sScape.setReverbOrder(9) ;
- System.out.println("Acoustic Lab sm 0.999 9 10.0 ");
- }
- else if (lCount == 3) {
- sScape.setReverbDelay(200.0f) ;
- sScape.setReflectionCoefficient(0.4f) ;
- sScape.setReverbOrder(3) ;
- System.out.println("Garage med 0.4 3 200.0 ");
- }
- else if (lCount == 4) {
- sScape.setReverbDelay(200.0f) ;
- sScape.setReflectionCoefficient(0.99f) ;
- sScape.setReverbOrder(10) ;
- System.out.println("Dungeon med 0.99 10 200.0 ");
- }
- else if (lCount == 5) {
- sScape.setReverbDelay(600.0f) ;
- sScape.setReflectionCoefficient(0.33f) ;
- sScape.setReverbOrder(7) ;
- System.out.println("Dungeon lrg 0.33 7 600.0 ");
- }
- else if (lCount == 6) {
- sScape.setReverbDelay(600.0f) ;
- sScape.setReflectionCoefficient(1.0f) ;
- sScape.setReverbOrder(20) ;
- System.out.println("Cavern lrg 1.0 20 600.0 ");
- }
- psound.setEnable(true);
- wakeupOn(wt);
- }
-
- //
- // Constructor for rotation behavior. Parameter: front and back Sound nodes
- //
- public AudioReverberate(PointSound psound, String filename,
- AuralAttributes sscape) {
- this.psound = psound;
- this.fileName = filename;
- this.sScape = sscape;
- }
-}
diff --git a/src/Sound/MoveAppBoundingLeaf.html b/src/Sound/MoveAppBoundingLeaf.html
deleted file mode 100644
index 885cc03..0000000
--- a/src/Sound/MoveAppBoundingLeaf.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>MoveAppBoundingLeaf</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="MoveAppBoundingLeaf.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Sound/MoveAppBoundingLeaf.java b/src/Sound/MoveAppBoundingLeaf.java
deleted file mode 100644
index 423c956..0000000
--- a/src/Sound/MoveAppBoundingLeaf.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- * This Java3D program:
- * Creates an instance of the JavaSoundMixer AudioDevice, initializing it
- * and attaching it to the PhysicalEnvironment with a special version
- * of UniverseBuilder (UniverseBuildJS).
- * Creates one Point sound sources.
- * Creates two Soundscapes with their own aural attributes. Each
- * of these Soundscapes defines its own bounding leaf region.
- * Creates and executes a custom behavior (AudioBehaviorMoveOne) that
- * starts sound playing and transforms the AuralAttribute positions
- * by modifying the TransformGroup that contains both soundscape
- * nodes.
- * Usage: java MoveAppBoundingLeaf [ URLpath [ name ]]
- *
- * The first optional command line parameter is the URL path to directory
- * containing:
- * (1) the files that will be named on the command line, or
- * (2) the javaone/data/sounds directory that contains the default files
- * If not given the default path is:
- * file:/net/java3d/export/java3d/javaone/data/sounds
- * NOTE: This default path is only valid on Solaris Eng Menlo Park network.
- * A path must be supplied if sound files to be used are in a different
- * directory location.
- * NOTE: When running on Java3D Menlo Park Test WinTel platform path should
- * be set to
- * file:/java3d/export/java3d/javaone/data/sounds
- *
- * The second thru fourth optional command line parameters are sound file names
- * If not given the default file name is:
- * unicycle_close.au
- */
-
-import java.applet.Applet;
-import java.net.URL;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.universe.*;
-import java.io.File;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class MoveAppBoundingLeaf extends Applet {
-
- // File name of sound sample
- private static int filenamesGiven = 0;
- private static URL[] url = new URL[1];
- private static String[] filename = new String[1];
- private static String path = null;
- private static boolean filenamesSet = false;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the subgraph
- BranchGroup objRoot = new BranchGroup();
-
- // Create the transform group node and initialize it to the identity.
- // Enable the TRANSFORM_WRITE capability so that our behavior code
- // can modify it at runtime. Add it to the root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
-
- // Create a simple shape leaf node and add it into the scene graph.
- objTrans.addChild(new ColorCube(0.7));
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotation = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 20000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator =
- new RotationInterpolator(rotation,
- objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
- //
- // Create a sound node and add it to the scene graph
- //
- PointSound sound = new PointSound();
- sound.setCapability(PointSound.ALLOW_ENABLE_WRITE);
- sound.setCapability(PointSound.ALLOW_INITIAL_GAIN_WRITE);
- sound.setCapability(PointSound.ALLOW_SOUND_DATA_WRITE);
- sound.setCapability(PointSound.ALLOW_SCHEDULING_BOUNDS_WRITE);
- sound.setCapability(PointSound.ALLOW_CONT_PLAY_WRITE);
- sound.setCapability(PointSound.ALLOW_RELEASE_WRITE);
- sound.setCapability(PointSound.ALLOW_DURATION_READ);
- sound.setCapability(PointSound.ALLOW_IS_PLAYING_READ);
- sound.setCapability(PointSound.ALLOW_POSITION_WRITE);
- sound.setCapability(PointSound.ALLOW_LOOP_WRITE);
-
- BoundingSphere soundBounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- sound.setSchedulingBounds(soundBounds);
- objTrans.addChild(sound);
-
- /*
- * Spheres denoting aural attribute regions
- */
- TransformGroup objTransChild1 = new TransformGroup();
- TransformGroup objTransChild2 = new TransformGroup();
- objTransChild1.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTransChild2.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- Transform3D translate1 = new Transform3D();
- Transform3D translate2 = new Transform3D();
- Vector3f vector1 = new Vector3f( 2.0f, 0.0f, 0.0f);
- Vector3f vector2 = new Vector3f(-2.0f, 0.0f, 0.0f);
- translate1.setTranslation(vector1);
- translate2.setTranslation(vector2);
- objTransChild1.setTransform(translate1);
- objTransChild2.setTransform(translate2);
- Sphere sphere1 = new Sphere(0.42f);
- Sphere sphere2 = new Sphere(0.38f);
-
- Appearance app = new Appearance();
- app.setCapability( Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE );
- sphere1.setAppearance( app );
- sphere2.setAppearance( app );
- objTransChild1.addChild(sphere1);
- objTransChild2.addChild(sphere2);
-
- objTrans.addChild(objTransChild1);
- objTrans.addChild(objTransChild2);
- /**
- * Define Soundscapes/AuralAttributes
- */
- // First Aural Attributes
- Point2f[] distanceFilter = new Point2f[2];
- distanceFilter[0] = new Point2f(6.0f, 6000f);
- distanceFilter[1] = new Point2f(17.0f, 700f);
- AuralAttributes attributes = new AuralAttributes(1.0f, 2.0f, 0.3f,
- 4.0f, 5, distanceFilter, 0.8f, 0.0f);
- attributes.setReverbDelay(90.0f) ;
- attributes.setReflectionCoefficient(0.999f) ;
- attributes.setReverbOrder(9) ;
-
- // SoundScape
- BoundingSphere bounds1 =
- new BoundingSphere(new Point3d(2.0,0.0,0.0), 3.5);
-
- BoundingLeaf sScapeBounds1 = new BoundingLeaf(bounds1);
- Soundscape soundScape = new Soundscape(null, attributes);
- soundScape.setApplicationBoundingLeaf(sScapeBounds1);
- /** addChild of BoundingLeaf as well**/
- objTrans.addChild(sScapeBounds1);
-
- AuralAttributes queryAttribs = new AuralAttributes();
- if (queryAttribs == null)
- System.out.println(" new AuralAttributes returned NULL");
- // else
- // System.out.println(" new AuralAttributes returned " + queryAttribs);
- queryAttribs = soundScape.getAuralAttributes();
- if (queryAttribs == null)
- System.out.println("getAuralAttributes returned NULL");
- // else
- // System.out.println("AuralAttributes for Soundscape 1:");
- float tmpFloat = queryAttribs.getAttributeGain();
- // System.out.println(" Gain = " + tmpFloat);
- tmpFloat = queryAttribs.getRolloff();
- // System.out.println(" Rolloff = " + tmpFloat);
- tmpFloat = queryAttribs.getReflectionCoefficient();
- // System.out.println(" Reflection Coeff = " + tmpFloat);
- tmpFloat = queryAttribs.getReverbDelay();
- // System.out.println(" Delay = " + tmpFloat);
- int tmpInt = queryAttribs.getReverbOrder();
- // System.out.println(" Order = " + tmpInt);
- int length = queryAttribs.getDistanceFilterLength();
- // System.out.println(" Filter length = " + length);
- Point2f[] tmpPoint = new Point2f[length];
- tmpPoint = new Point2f[length];
- for (int i=0; i< length; i++)
- tmpPoint[i] = new Point2f();
- queryAttribs.getDistanceFilter(tmpPoint);
- // for (int i=0; i< length; i++)
- // System.out.println(" Distance Filter = (" + tmpPoint[i].x +
- // ", " + tmpPoint[i].y + ")" );
- tmpFloat = queryAttribs.getFrequencyScaleFactor();
- // System.out.println(" Freq scalefactor = " + tmpFloat);
- tmpFloat = queryAttribs.getVelocityScaleFactor();
- // System.out.println(" Velocity scalefactor= " + tmpFloat);
- objTrans.addChild(soundScape);
-
- // System.out.println("SoundScape2**********************************");
- Soundscape soundScape2 = new Soundscape();
- distanceFilter = new Point2f[2];
- distanceFilter[0] = new Point2f(2.0f, 20000.0f);
- distanceFilter[1] = new Point2f(20.0f, 2000.0f);
- AuralAttributes attributes2 = new AuralAttributes();
- attributes2.setAttributeGain(1.2f);
- attributes2.setRolloff(2.2f);
- attributes2.setReverbDelay(1313.0f) ;
- attributes2.setReflectionCoefficient(1.0f) ;
- attributes2.setReverbOrder(15) ;
- distanceFilter[0] = new Point2f(5.0f, 15000.0f);
- distanceFilter[1] = new Point2f(15.0f, 500.0f);
- attributes2.setDistanceFilter(distanceFilter);
- attributes2.setFrequencyScaleFactor(0.8f);
- attributes2.setVelocityScaleFactor(0.0f);
- BoundingSphere bounds2 =
- new BoundingSphere(new Point3d(-2.0,0.0,0.0), 0.38);
- BoundingLeaf sScapeBounds2 = new BoundingLeaf(bounds2);
- soundScape2.setApplicationBoundingLeaf(sScapeBounds2);
- // set BoundingLeaf as a child of transform node
- objTrans.addChild(sScapeBounds2);
- soundScape2.setAuralAttributes(attributes2);
-
- queryAttribs = soundScape2.getAuralAttributes();
- if (queryAttribs == null)
- System.out.println(" new AuralAttributes returned NULL");
- // else
- // System.out.println(" new AuralAttributes returned " + queryAttribs);
- // System.out.println("AuralAttributes for Soundscape 2:");
- tmpFloat = queryAttribs.getAttributeGain();
- // System.out.println(" Gain = " + tmpFloat);
- tmpFloat = queryAttribs.getRolloff();
- // System.out.println(" Rolloff = " + tmpFloat);
- tmpFloat = queryAttribs.getReflectionCoefficient();
- // System.out.println(" Reflection Coeff = " + tmpFloat);
- tmpFloat = queryAttribs.getReverbDelay();
- // System.out.println(" Delay = " + tmpFloat);
- tmpInt = queryAttribs.getReverbOrder();
- // System.out.println(" Order = " + tmpInt);
- length = queryAttribs.getDistanceFilterLength();
- // System.out.println(" Filter length = " + length);
- tmpPoint = new Point2f[length];
- for (int i=0; i< length; i++)
- tmpPoint[i] = new Point2f();
- queryAttribs.getDistanceFilter(tmpPoint);
- // for (int i=0; i< length; i++)
- // System.out.println(" Distance Filter = (" + tmpPoint[i].x +
- // ", " + tmpPoint[i].y + ")" );
- tmpFloat = queryAttribs.getFrequencyScaleFactor();
- // System.out.println(" Freq scalefactor = " + tmpFloat);
- tmpFloat = queryAttribs.getVelocityScaleFactor();
- // System.out.println(" Velocity scalefactor= " + tmpFloat);
- objTrans.addChild(soundScape2);
-
- //
- // Create a new Behavior object that will play the sound
- //
- AudioBehaviorMoveOne player = new AudioBehaviorMoveOne(sound,
- filename[0]);
- player.setSchedulingBounds(soundBounds);
- objTrans.addChild(player);
-
- return objRoot;
- }
-
- public MoveAppBoundingLeaf() {
- }
-
- public void init() {
- if (!filenamesSet) {
- // path is null if started from applet
- if (path == null) {
- path = getCodeBase().toString();
- }
-
- /*
- * append given file name to given URL path
- */
- if (filenamesGiven > 0) {
- filename[0] = new String(path + "/" + filename[0]);
- }
- else {
- // fill in default file names if all three not given
- filename[0] = new String(path + "/techno_machine.au");
- }
- filenamesSet = true;
- }
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- /*
- * Change filenames into URLs
- */
- String substr = filename[0].substring(0,4);
- try {
- url[0] = new URL(filename[0]);
- }
- catch (Exception e) {
- return;
- }
- /*
- * Create a simple scene and attach it to the virtual universe
- */
- u = new SimpleUniverse(c);
- AudioDevice audioDev = u.getViewer().createAudioDevice();
- BranchGroup scene = createSceneGraph();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows AuralAttributes to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- if (args.length > 0) {
- if ( (args[0].startsWith("file"+File.pathSeparator)) ||
- (args[0].startsWith("http"+File.pathSeparator)) ) {
- path = args[0];
- }
- else {
- path = "file:" + args[0];
- }
- }
- else {
- path = "file:.";
- }
-
- if (args.length > 1) {
- filename[0] = args[1];
- if (filename[0] != null) {
- filenamesGiven++ ;
- }
- }
-
- new MainFrame(new MoveAppBoundingLeaf(), 256, 256);
- }
-}
diff --git a/src/Sound/MoveAppBoundingLeaf_plugin.html b/src/Sound/MoveAppBoundingLeaf_plugin.html
deleted file mode 100644
index 0681917..0000000
--- a/src/Sound/MoveAppBoundingLeaf_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>MoveAppBoundingLeaf</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "MoveAppBoundingLeaf.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "MoveAppBoundingLeaf.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "MoveAppBoundingLeaf.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Sound/README.release b/src/Sound/README.release
deleted file mode 100644
index bbbc20b..0000000
--- a/src/Sound/README.release
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-==========================================================================
-Java 3D(TM) Sound 1.3 Beta 1
-==========================================================================
-
-Java 3D sound is rendered via the use of a specific implementation
-of the AudioDevice3D interface. This release includes two AudioDevice3DL2
-implementations.
-
-= = = = = = = = = = = = = = = = = = = = = = =
-HeadspaceMixer AudioDevice3DL2 Implememtation
-= = = = = = = = = = = = = = = = = = = = = = =
-
- The HeadspaceMixer implementation is part of the Sun Java 3D
- com.sun.j3d.audioengines.headspace package. This implementation
- uses a version of the Headspace Audio Engine licensed from Beatnik
- which does all rendering in software and pipes the stereo audio image
- to the platform's audio device.
-
- The implemention that was called JavaSoundMixer in previous Sun
- releases of Java 3D has been renamed to HeadspaceMixer.
- It was renamed in enticipation of the release of a new AudioDevice
- implementation that uses JavaSound API which will be called JavaSoundMixer
- (described below).
-
- The HeadspaceMixer audio device will be created and initialized when the
- utility SimpleUniverse.Viewer.createAudioDevice() method is called.
- If your application uses this utility, no change will be required to
- use the recommended HeadspaceMixer implementation.
-
- If your application explicitly used the older JavaSoundMixer audio device
- implemention from the package com.sun.j3d.audioengines.javasound, you should
- change the reference to JavaSoundMixer, at least for this Beta 1 release,
- to HeadspaceMixer:
-
- import com.sun.j3d.audioengines.headspace.HeadspaceMixer;
- :
- HeadspaceMixer mixer = new HeadspaceMixer(physicalEnvironment);
-
- Most of the Java 3D Audio features have been implemented but there are
- a few exceptions. Additionally, some Java 3D Audio features are only
- only partially implemented.
-
- Hang under JDK 1.3 on Windows platforms
- ---------------------------------------
- Occationally, some applications when run under JDK 1.3 on Windows
- experienced window manager hangs. This problem could not be produced
- under JDK 1.4. It is recommended that if this problem arrises with
- your application that JDK 1.4 be used.
-
- Audio Features Not Supported with this release:
- -----------------------------------------------
- - Cross-talk cancellation is not performed when rendered audio output
- on speakers.
- - Spatialization of positional and directional sound is very rudimentary.
- Point and Cone sound will simply be panned (approximating interaural
- intensity difference) and left-right output signals delayed
- (approximating interaural delay difference) applying gain attenuation.
- - The filtering of sound source (that would aid in Elevation or Front/
- Back differentiation cues) is not implemented with this AudioDevice.
- - For this release, distance and angular low-pass filtering of sound
- sources is implemented with a very simple algorithm (that choose speed
- over accuracy).
- - For this release, Sound.POSITIVE_INFINITY is mapped to 2^15.
-
- Supported MediaContainers data
- ------------------------------
- This engine supports 8- and 16- bit linear, and u-law and A-law formatted
- files in mono and stereo AU, AIFF, WAV, and PCM file formats.
- Compressed formats such as DVI, GSM, and MOD are not supported at this
- time. Encoded format such as MP3 are not supported.
-
- MIDI and RMF files are supported but not fully spatialized.
- MIDI file playback as BackgroundSound and attenuated Point/ConeSounds
- is at least partially supported with the following limitations:
- - For this release MIDI data is automatically cached.
- - Point/ConeSound nodes that use MIDI MediaContainers can not be
- panned or delayed to simulate Interaural Intensity or Time
- Differences due to the limitiation of the underlying technology
- used in this implementation.
-
- InputStreams as MediaContainers are not supported for Point or
- ConeSounds in this implementation.
-
- Reverberation
- -------------
- The Headspace engine supports these 5 reverberation environments:
- "Closet" very small area, very absorptive surfaces
- "Acoustic Lab" med. small area, equally absorptive/reflective
- "Garage" med. large area, somewhat reflective surfaces
- "Dungeon" medium area, reflective surfaces
- "Cavern" large area, highly reflective surfaces
-
- The AuralAttributes parameters dealing with reverb -
- early and late reflection coefficient and delay time, reverb decay
- time - are compared to choose one of these five software aural
- environments offered as part of the Headspace engine.
- Decay speed, paired with the explicit or implicit size of the space,
- determine the Headspace Reverb type that is set:
-
- | Short: Long:
- Size Delay Time | Decay <= 1500ms Decay > 1500ms
- ---------------------------------------------------------------
- small (< 100ms) | 2 "Closet" 4 "Acoustic Lab"
- medium (<=500ms) | 3 "Garage" 6 "Dungeon"
- large (> 500ms) | 6 "Dungeon" 5 "Cavern"
-
- A "feature" of this engines 'Dungeon' reverb type is that the
- reverberation is added to the opposite pan position from the
- sound's position. This creates an aural effect that sounds
- like the reverberation is bouncing off the opposite wall of
- the 'Dungeon'.
-
-= = = = = = = = = = = = = = = = = = = = = = =
-JavaSoundMixer AudioDevice3DL2 Implememtation
-= = = = = = = = = = = = = = = = = = = = = = =
-
- The JavaSoundMixer implementation is part of the Sun Java 3D
- com.sun.j3d.audioengines.javasound package. This implementation uses
- the Java Sound API. All low-level access to the platforms audio device
- are dependent on the Java Sound mixer implementation(s) installed on
- the machine you're running on.
-
- The JavaSoundMixer Java 3D audio device implementation uses Java Sound
- SourceDataLine streams for non-cached data and Java Sound Clips for
- cached data. Support for specific sound cards, the exact input formats
- that can be passed as data to Java 3D MediaContainers, and which feature
- are rendered in software verses accelleration hardware is dependent on
- the Java Sound implementation installed on your machine.
- There is guarenteed to be at least one Java Sound mixer implementation
- available with all J2SE releases (such as Sun's JDK 1.3 and above).
-
- Audio Features Not Supported with this release:
- -----------------------------------------------
- The JavaSoundMixer is a brand new implementation as of 1.3 Beta 1
- release. While much of the Java 3D Audio API has been implemented
- but there are known problems and limitations. Additionally, some Java
- 3D Audio features are only partially implemented.
-
- - Non-linear file formats (A-law and u-law) are not converted.
- - MIDI files for all sound types are not implemented.
- - There are several timing and channel synchronization problems
- encountered when Point and Cone Sounds are rendered.
- - Distance and angular low-pass filtering of sound source is not
- implemented.
- - Spatialization of positional and directional sound is very rudimentary.
- See notes above under HeadspaceMixer.
- - Cross-talk cancellation for speaker playback is not performed.
-
- Until these isues are fixed in next Beta 2 release it is recommended
- that you use the the HeadspaceMixer implementation.
-
- Supported MediaContainers data
- ------------------------------
- The intent is that all MediaContainer input data types supported by
- Java Sound will also be supported by the JavaSoundMixer implementation.
- This implementation will not have the restrictions on InputStreams as
- the HeadspaceMixer implementation has.
-
- Reverberation
- -------------
- Java 3D reverberation parameters map to a corresponding set
- reverb control parameters available thru JavaSound API for Clips
- (cached MediaContainers). The exact auralization rendering based
- on these parameters is dependent on the Java Sound mixer implementation
- choosen.
-
-= = = = = = = = = = = = = = = = = = = = = = =
-Use
-= = = = = = = = = = = = = = = = = = = = = = =
-Any Java 3D program that wants to render sounds must create and initialize
-an instance of either HeadspaceMixer or JavaSoundMixer directly or indirectly
-(using SimpleUniverse utilities).
-
-All of the sound example programs included in this release use the
-com.sun.j3d.utils.universe.SimpleUniverse class to create and initialize
-an instance of the HeadspaceMixer with the following code:
-
- Canvas3D c = new Canvas3D(null);
- SimpleUniverse u = new SimpleUniverse(c);
- AudioDevice audioDev = u.getViewer().createAudioDevice();
-
-As application can initialize the HeadspaceMixer implementation directly
-with code like following:
-
- import com.sun.j3d.audioengines.headspace.HeadspaceMixer;
- :
- Canvas3D canvas = new Canvas3D(null);
- SimpleUniverse univ = new SimpleUniverse(canvas);
- univ.getViewingPlatform().setNominalViewingTransform();
- PhysicalEnvironment physicalEnv =
- univ.getViewer().getPhysicalEnvironment();
- if (physicalEnv != null) {
- HeadspaceMixer mixer = new HeadspaceMixer(physicalEnv);
- if (mixer == null)
- System.out.println("creation of audio device failed");
- mixer.initialize();
- }
-
-NOTE: Sun JDK has an implementation of the javax.sound.sampled.Mixer
-interface named 'HeadspaceMixer'. If your application also imports the
-javax.sound.sampled package you'll need to explicitly differentiate by
-specifying the full Java 3D package when referencing HeadspaceMixer:
- :
- com.sun.j3d.audioengines.headspace.HeadspaceMixer mixer =
- new com.sun.j3d.audioengines.headspace.HeadspaceMixer(physicalEnv);
- :
-
-
-==========================================================================
-General Installation Notes:
-==========================================================================
- If your Java 3D application has trouble acquiring the AudioDevice
- ("Audio Device unavailable" exception occurs) you may need to exit
- other applications that use sound. NOTE: If this occurs we would
- appreciate being informed as to which sound application Java 3D had
- problems running simultaneously with.
-
- Combining calls to JMF 1.0 methods in your Java 3D sound application
- is still dangerous. The engines used by both APIs may not yet be
- robust enough to handle supporting both of these concurrently.
diff --git a/src/Sound/ReverberateSound.html b/src/Sound/ReverberateSound.html
deleted file mode 100644
index 7bdee49..0000000
--- a/src/Sound/ReverberateSound.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ReverberateSound</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="ReverberateSound.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Sound/ReverberateSound.java b/src/Sound/ReverberateSound.java
deleted file mode 100644
index dbe1aa5..0000000
--- a/src/Sound/ReverberateSound.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-/*
- * ReverberateSound
- *
- * Same as MoveSound except this calls UniverseBuilderJS to use the
- * JavaSoundMixer AudioDevice rather than the HolosketchMixer device.
- *
- * NOTE: To run this anywhere but the Solaris Eng Menlo Park network
- * the URL path must be set to the java3d/javaone directory.
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.universe.*;
-import java.io.File;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class ReverberateSound extends Applet {
-
- // File name of sound sample
- private static String[] filename = new String[1];
- private static String path = null;
- private static int filenamesGiven = 0;
- private static boolean filenamesSet = false;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the subgraph
- BranchGroup objRoot = new BranchGroup();
-
- // Create the transform group node and initialize it to the identity.
- // Enable the TRANSFORM_WRITE capability so that our behavior code
- // can modify it at runtime. Add it to the root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
-
- // Create a simple shape leaf node and add it into the scene graph.
- objTrans.addChild(new ColorCube(0.4));
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotation = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 20000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator =
- new RotationInterpolator(rotation,
- objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
-
- //
- // Create an AuralAttribute with reverb params set
- //
- Soundscape soundScape2 = new Soundscape();
- AuralAttributes attributes2 = new AuralAttributes();
- attributes2.setReverbOrder(6);
- attributes2.setCapability(AuralAttributes.ALLOW_REVERB_ORDER_WRITE);
- attributes2.setCapability(AuralAttributes.ALLOW_REVERB_DELAY_WRITE);
- attributes2.setCapability(AuralAttributes.ALLOW_REFLECTION_COEFFICIENT_WRITE);
- soundScape2.setApplicationBounds(bounds);
- soundScape2.setAuralAttributes(attributes2);
- objRoot.addChild(soundScape2);
-
- //
- // Create a sound node and add it to the scene graph
- //
- PointSound sound = new PointSound();
- sound.setCapability(PointSound.ALLOW_ENABLE_WRITE);
- sound.setCapability(PointSound.ALLOW_INITIAL_GAIN_WRITE);
- sound.setCapability(PointSound.ALLOW_SOUND_DATA_WRITE);
- sound.setCapability(PointSound.ALLOW_DURATION_READ);
- sound.setCapability(PointSound.ALLOW_POSITION_WRITE);
- sound.setCapability(PointSound.ALLOW_LOOP_WRITE);
- sound.setSchedulingBounds(bounds);
-
- objTrans.addChild(sound);
- //
- // Create a new Behavior object that will play the sound
- //
- AudioReverberate player = new AudioReverberate(sound, filename[0],
- attributes2);
- player.setSchedulingBounds(bounds);
- objTrans.addChild(player);
-
-
- return objRoot;
- }
-
- public ReverberateSound() {
- }
-
- public void init() {
- if (!filenamesSet) {
- // path is null if started from applet
- if (path == null) {
- // the path for an applet
- path = getCodeBase().toString();
- }
-
- /*
- * append given file name to given URL path
- */
- if (filenamesGiven > 0) {
- filename[0] = new String(path + "/" + filename[0]);
- }
- else {
- // fill in default file names if all three not given
- filename[0] = new String(path + "/hello_universe.au");
- }
- filenamesSet = true;
- }
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- /*
- * Create a simple scene and attach it to the virtual universe
- */
- u = new SimpleUniverse(c);
- AudioDevice audioDev = u.getViewer().createAudioDevice();
- BranchGroup scene = createSceneGraph();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows ReverberateSound to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- if (args.length > 0) {
- if ( (args[0].startsWith("file"+File.pathSeparator)) ||
- (args[0].startsWith("http"+File.pathSeparator)) ) {
- path = args[0];
- }
- else {
- path = "file:" + args[0];
- }
- }
- else {
- path = "file:.";
- }
-
- if (args.length > 1) {
- filename[0] = args[1];
- if (filename[0] != null) {
- filenamesGiven++ ;
- }
- }
-
- new MainFrame(new ReverberateSound(), 256, 256);
- }
-}
diff --git a/src/Sound/ReverberateSound_plugin.html b/src/Sound/ReverberateSound_plugin.html
deleted file mode 100644
index a3cd545..0000000
--- a/src/Sound/ReverberateSound_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>ReverberateSound</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "ReverberateSound.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "ReverberateSound.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "ReverberateSound.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Sound/SimpleSounds.html b/src/Sound/SimpleSounds.html
deleted file mode 100644
index 1330e5f..0000000
--- a/src/Sound/SimpleSounds.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Simple Sound test</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="SimpleSounds.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Simple Sound test instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Sound/SimpleSounds.java b/src/Sound/SimpleSounds.java
deleted file mode 100644
index 6113a28..0000000
--- a/src/Sound/SimpleSounds.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.net.URL;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.universe.*;
-import java.io.File;
-import java.security.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-/*
- * This Java3D program:
- * Creates an instance of the JavaSoundMixer AudioDevice, initializing it
- * and attaching it to the PhysicalEnvironment by using
- * SimpleUniverse.
- * Creates one cached Background and two cached Point sound sources.
- * Creates and executes a custom behavior (SimpleSoundsBehavior) that
- * starts the sound playing and transforms the PointSound source
- * by modifying the TransformGroup that contains the Sound nodes.
- *
- * Usage:
- * java SimpleSounds [URLpath [name1 [name2 [name2]]]]
- *
- * The first optional command line parameter is the URL path to directory
- * containing "file:" or "http:" and then directory path string.
- * If you are using the suppled default sound files in the same directory
- * as this test program then only the URLpath need be supplied on the
- * command line.
- * If this parameter is not included then the current path to the directory
- * this program is running in is used for an application
- * and the codebase is used for an applet.
- * The second thru fourth optional command line parameters are sound file names
- * If not given, the default file names are:
- * techno_machine.au
- * hello_universe.au
- * roar.au
- * that correspond to the 3 'voice' quality, 8-bit, u-law, 8-kHz samples
- * included in the same directory as this test program.
- *
- * Java Sound engine has been advertised to support the following 8- and 16-
- * bit, linear and u-law, mono and stereo sound sample file formats: AU,
- * AIFF, WAV, and PCM. Non-cached MIDI and RMF files are also supported.
- * Neither compressed formats (DVI, GSM, MOD) nor A-law formated files are
- * supported at this time, but they will be converted.
- */
-
-public class SimpleSounds extends Applet {
-
- // File name of sound sample
- private static int filenamesGiven = 0;
- private static URL[] url = new URL[3];
- private static String[] filename = new String[3];
- private static String path = null;
- private static boolean filenamesSet = false;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the subgraph
- BranchGroup objRoot = new BranchGroup();
-
- // Create the transform group node and initialize it to the identity.
- // Enable the TRANSFORM_WRITE capability so that our behavior code
- // can modify it at runtime. Add it to the root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
-
- // Create a simple shape leaf node and add it into the scene graph.
- objTrans.addChild(new ColorCube(0.4));
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotation = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 20000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator =
- new RotationInterpolator(rotation,
- objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
- /*
- * Create a sound node and add it to the scene graph
- */
- BackgroundSound sound1 = new BackgroundSound();
- PointSound sound2 = new PointSound();
- PointSound sound3 = new PointSound();
- sound1.setCapability(PointSound.ALLOW_ENABLE_WRITE);
- sound1.setCapability(PointSound.ALLOW_INITIAL_GAIN_WRITE);
- sound1.setCapability(PointSound.ALLOW_SOUND_DATA_WRITE);
- sound1.setCapability(PointSound.ALLOW_SCHEDULING_BOUNDS_WRITE);
- sound1.setCapability(PointSound.ALLOW_CONT_PLAY_WRITE);
- sound1.setCapability(PointSound.ALLOW_RELEASE_WRITE);
- sound1.setCapability(PointSound.ALLOW_DURATION_READ);
- sound1.setCapability(PointSound.ALLOW_IS_PLAYING_READ);
- sound1.setCapability(PointSound.ALLOW_LOOP_WRITE);
- sound2.setCapability(PointSound.ALLOW_ENABLE_WRITE);
- sound2.setCapability(PointSound.ALLOW_INITIAL_GAIN_WRITE);
- sound2.setCapability(PointSound.ALLOW_SOUND_DATA_WRITE);
- sound2.setCapability(PointSound.ALLOW_SCHEDULING_BOUNDS_WRITE);
- sound2.setCapability(PointSound.ALLOW_CONT_PLAY_WRITE);
- sound2.setCapability(PointSound.ALLOW_RELEASE_WRITE);
- sound2.setCapability(PointSound.ALLOW_DURATION_READ);
- sound2.setCapability(PointSound.ALLOW_IS_PLAYING_READ);
- sound2.setCapability(PointSound.ALLOW_POSITION_WRITE);
- sound2.setCapability(PointSound.ALLOW_LOOP_WRITE);
- sound3.setCapability(PointSound.ALLOW_ENABLE_WRITE);
- sound3.setCapability(PointSound.ALLOW_INITIAL_GAIN_WRITE);
- sound3.setCapability(PointSound.ALLOW_SOUND_DATA_WRITE);
- sound3.setCapability(PointSound.ALLOW_SCHEDULING_BOUNDS_WRITE);
- sound3.setCapability(PointSound.ALLOW_CONT_PLAY_WRITE);
- sound3.setCapability(PointSound.ALLOW_RELEASE_WRITE);
- sound3.setCapability(PointSound.ALLOW_DURATION_READ);
- sound3.setCapability(PointSound.ALLOW_IS_PLAYING_READ);
- sound3.setCapability(PointSound.ALLOW_POSITION_WRITE);
-
- BoundingSphere soundBounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- sound1.setSchedulingBounds(soundBounds);
- sound2.setSchedulingBounds(soundBounds);
- sound3.setSchedulingBounds(soundBounds);
- objTrans.addChild(sound1);
- objTrans.addChild(sound2);
- objTrans.addChild(sound3);
-
-
- /*
- * Create a new Behavior object that will play the sound
- */
- SimpleSoundsBehavior player = new SimpleSoundsBehavior(
- sound1, sound2, sound3,
- url[0], url[1], url[2], soundBounds);
- player.setSchedulingBounds(soundBounds);
- objTrans.addChild(player);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public SimpleSounds() {
- }
-
- public void init() {
- if (!filenamesSet) {
- // path is null if started from appletviewer/browser
- if (path == null) {
- // the path for an applet
- path = getCodeBase().toString();
- }
- int j;
- /*
- * append given file name to given URL path
- */
- for (j=0; j<filenamesGiven; j++)
- filename[j] = new String(path + "/" + filename[j]);
- /*
- * fill in default file names if all three not given
- */
- for (int i=j; i<3; i++) {
- if (i == 0)
- filename[0] = new String(path + "/techno_machine.au");
- if (i == 1)
- filename[1] = new String(path + "/hello_universe.au");
- if (i == 2)
- filename[2] = new String(path + "/roar.au");
- }
- filenamesSet = true;
- }
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- /*
- * Change filenames into URLs
- */
- for (int i=0; i<3; i++) {
- try {
- url[i] = new URL(filename[i]);
- }
- catch (Exception e) {
- System.out.println(e.getMessage());
- return;
- }
- }
-
- /*
- * Create a simple scene and attach it to the virtual universe
- */
- u = new SimpleUniverse(c);
- AudioDevice audioDev = u.getViewer().createAudioDevice();
- BranchGroup scene = createSceneGraph();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- /*
- * The following allows SimpleSounds to be run as an application
- * as well as an applet
- */
- public static void main(String[] args) {
- if (args.length > 0) {
- if ( (args[0].startsWith("file"+File.pathSeparator)) ||
- (args[0].startsWith("http"+File.pathSeparator)) ) {
- path = args[0];
- }
- else {
- path = "file:" + args[0];
- }
- }
- else {
- path = "file:.";
- }
-
- for (int i=0; i<3; i++) {
- if (args.length > (i+1)) {
- filename[i] = args[i+1];
- if (filename[i] != null) {
- filenamesGiven++ ;
- }
- }
- else
- break;
- }
- new MainFrame(new SimpleSounds(), args, 256, 256);
- }
-}
diff --git a/src/Sound/SimpleSoundsBehavior.java b/src/Sound/SimpleSoundsBehavior.java
deleted file mode 100644
index 22ff9f5..0000000
--- a/src/Sound/SimpleSoundsBehavior.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.net.URL;
-import java.util.Enumeration;
-
-// User defined audio behavior class
-public class SimpleSoundsBehavior extends Behavior {
- WakeupOnElapsedTime wt;
- WakeupOnBehaviorPost wp;
- BackgroundSound sound1 = new BackgroundSound();
- PointSound sound2 = new PointSound();
- PointSound sound3 = new PointSound();
- static int WAKEUP_SOUND = 0;
- int soundIndex = 0;
- URL URLName1;
- URL URLName2;
- URL URLName3;
- BoundingSphere bounds;
-
- // Override Behavior's initialize method to setup wakeup criteria
- public void initialize() {
- MediaContainer sample1 = new MediaContainer();
- MediaContainer sample2 = new MediaContainer();
- MediaContainer sample3 = new MediaContainer();
- sample1.setCapability(MediaContainer.ALLOW_URL_WRITE);
- sample1.setCapability(MediaContainer.ALLOW_URL_READ);
- sample1.setURLObject(URLName1);
- //sample1.setCacheEnable(false);
- sound1.setLoop(0);
- sound1.setContinuousEnable(false);
- sound1.setReleaseEnable(false);
- sound1.setSoundData(sample1);
- sound1.setInitialGain(0.7f);
- sample2.setCapability(MediaContainer.ALLOW_URL_WRITE);
- sample2.setCapability(MediaContainer.ALLOW_URL_READ);
- sample2.setURLObject(URLName2);
- sound2.setLoop(Sound.INFINITE_LOOPS);
- sound2.setContinuousEnable(false);
- sound2.setReleaseEnable(false);
- sound2.setSoundData(sample2);
- sound2.setInitialGain(2.0f);
- Point3f sound2Pos = new Point3f(-30.0f, 0.0f, 0.0f);
- sound2.setPosition(sound2Pos);
- sample3.setCapability(MediaContainer.ALLOW_URL_WRITE);
- sample3.setCapability(MediaContainer.ALLOW_URL_READ);
- sample3.setURLObject(URLName3);
- sound3.setContinuousEnable(false);
- sound3.setReleaseEnable(false);
- sound3.setSoundData(sample3);
- sound3.setInitialGain(4.0f);
- Point3f sound3Pos = new Point3f(30.0f, 0.0f, 0.0f);
- sound3.setPosition(sound3Pos);
-
- wt = new WakeupOnElapsedTime(2000);
- WakeupOnElapsedTime wp = new WakeupOnElapsedTime(5000);
- wakeupOn(wp);
- }
-
- // Override Behavior's stimulus method to handle the event
- public void processStimulus(Enumeration criteria) {
-
- switch (soundIndex)
- {
- // Active
- case 0:
- // System.out.println("****Enable First Sound");
- sound1.setEnable(true);
- wakeupOn(wt);
- break;
- case 1:
- // System.out.println("********Enable Second Sound");
- sound2.setEnable(true);
- wakeupOn(wt);
- break;
- case 2:
- case 4:
- case 6:
- case 8:
- case 10:
- // System.out.println("************Enable Third Sound");
- sound3.setEnable(true);
- wakeupOn(wt);
- break;
- case 3:
- case 5:
- case 7:
- case 9:
- // System.out.println("************Disable Third Sound");
- sound3.setEnable(false);
- wakeupOn(wt);
- break;
-
- case 11:
- // System.out.println("********Disable Second Sound");
- sound2.setEnable(false) ;
- wakeupOn(wt);
- break;
- case 12:
- // System.out.println("****Disable First Sound");
- sound1.setEnable(false) ;
- System.out.println("SimpleSounds: test complete");
- wt = new WakeupOnElapsedTime(400000);
- wakeupOn(wt);
- break;
-
- default:
- break;
- }
- soundIndex++;
- }
-
- //
- // Constructor for rotation behavior.
- // Parameters: sound node
- // sample file name
- // sound node's bounds
- //
- public SimpleSoundsBehavior(BackgroundSound sound1,
- PointSound sound2,
- PointSound sound3,
- URL urlName1,
- URL urlName2,
- URL urlName3,
- BoundingSphere soundBounds) {
- this.sound1 = sound1;
- this.sound2 = sound2;
- this.sound3 = sound3;
- this.URLName1 = urlName1;
- this.URLName2 = urlName2;
- this.URLName3 = urlName3;
- this.bounds = (BoundingSphere)soundBounds.clone();
- }
-}
diff --git a/src/Sound/SimpleSounds_plugin.html b/src/Sound/SimpleSounds_plugin.html
deleted file mode 100644
index 55d834e..0000000
--- a/src/Sound/SimpleSounds_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Simple Sound test</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "SimpleSounds.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "SimpleSounds.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Simple Sound test instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "SimpleSounds.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Simple Sound test instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Sound/build.xml b/src/Sound/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/Sound/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Sound/hello_universe.au b/src/Sound/hello_universe.au
deleted file mode 100644
index 08d7456..0000000
--- a/src/Sound/hello_universe.au
+++ /dev/null
Binary files differ
diff --git a/src/Sound/roar.au b/src/Sound/roar.au
deleted file mode 100644
index 202b628..0000000
--- a/src/Sound/roar.au
+++ /dev/null
Binary files differ
diff --git a/src/Sound/techno_machine.au b/src/Sound/techno_machine.au
deleted file mode 100644
index 12e47ea..0000000
--- a/src/Sound/techno_machine.au
+++ /dev/null
Binary files differ
diff --git a/src/SphereMotion/SphereMotion.html b/src/SphereMotion/SphereMotion.html
deleted file mode 100644
index 7656224..0000000
--- a/src/SphereMotion/SphereMotion.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Moving lit sphere</TITLE>
-</HEAD>
-<BODY BGCOLOR="#0C0C33">
-<applet align=middle code="SphereMotion.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a moving lit sphere instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/SphereMotion/SphereMotion.java b/src/SphereMotion/SphereMotion.java
deleted file mode 100644
index a2ac065..0000000
--- a/src/SphereMotion/SphereMotion.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.Sphere;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.util.Enumeration;
-
-public class SphereMotion extends Applet {
-
- // Constants for type of light to use
- private static final int DIRECTIONAL_LIGHT = 0;
- private static final int POINT_LIGHT = 1;
- private static final int SPOT_LIGHT = 2;
-
- // Flag indicates type of lights: directional, point, or spot
- // lights. This flag is set based on command line argument
- private static int lightType = POINT_LIGHT;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(SimpleUniverse u) {
- Color3f eColor = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f sColor = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f objColor = new Color3f(0.6f, 0.6f, 0.6f);
- Color3f lColor1 = new Color3f(1.0f, 0.0f, 0.0f);
- Color3f lColor2 = new Color3f(0.0f, 1.0f, 0.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
-
- Transform3D t;
-
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and lights
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objScale.addChild(bg);
-
- // Create a Sphere object, generate one copy of the sphere,
- // and add it into the scene graph.
- Material m = new Material(objColor, eColor, objColor, sColor, 100.0f);
- Appearance a = new Appearance();
- m.setLightingEnable(true);
- a.setMaterial(m);
- Sphere sph = new Sphere(1.0f, Sphere.GENERATE_NORMALS, 80, a);
- objScale.addChild(sph);
-
- // Create the transform group node for the each light and initialize
- // it to the identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add them to the root
- // of the subgraph.
- TransformGroup l1RotTrans = new TransformGroup();
- l1RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(l1RotTrans);
-
- TransformGroup l2RotTrans = new TransformGroup();
- l2RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(l2RotTrans);
-
- // Create transformations for the positional lights
- t = new Transform3D();
- Vector3d lPos1 = new Vector3d(0.0, 0.0, 2.0);
- t.set(lPos1);
- TransformGroup l1Trans = new TransformGroup(t);
- l1RotTrans.addChild(l1Trans);
-
- t = new Transform3D();
- Vector3d lPos2 = new Vector3d(0.5, 0.8, 2.0);
- t.set(lPos2);
- TransformGroup l2Trans = new TransformGroup(t);
- l2RotTrans.addChild(l2Trans);
-
- // Create Geometry for point lights
- ColoringAttributes caL1 = new ColoringAttributes();
- ColoringAttributes caL2 = new ColoringAttributes();
- caL1.setColor(lColor1);
- caL2.setColor(lColor2);
- Appearance appL1 = new Appearance();
- Appearance appL2 = new Appearance();
- appL1.setColoringAttributes(caL1);
- appL2.setColoringAttributes(caL2);
- l1Trans.addChild(new Sphere(0.05f, appL1));
- l2Trans.addChild(new Sphere(0.05f, appL2));
-
- // Create lights
- AmbientLight aLgt = new AmbientLight(alColor);
-
- Light lgt1 = null;
- Light lgt2 = null;
-
- Point3f lPoint = new Point3f(0.0f, 0.0f, 0.0f);
- Point3f atten = new Point3f(1.0f, 0.0f, 0.0f);
- Vector3f lDirect1 = new Vector3f(lPos1);
- Vector3f lDirect2 = new Vector3f(lPos2);
- lDirect1.negate();
- lDirect2.negate();
-
- switch (lightType) {
- case DIRECTIONAL_LIGHT:
- lgt1 = new DirectionalLight(lColor1, lDirect1);
- lgt2 = new DirectionalLight(lColor2, lDirect2);
- break;
- case POINT_LIGHT:
- lgt1 = new PointLight(lColor1, lPoint, atten);
- lgt2 = new PointLight(lColor2, lPoint, atten);
- break;
- case SPOT_LIGHT:
- lgt1 = new SpotLight(lColor1, lPoint, atten, lDirect1,
- 25.0f * (float)Math.PI / 180.0f, 10.0f);
- lgt2 = new SpotLight(lColor2, lPoint, atten, lDirect2,
- 25.0f * (float)Math.PI / 180.0f, 10.0f);
- break;
- }
-
- // Set the influencing bounds
- aLgt.setInfluencingBounds(bounds);
- lgt1.setInfluencingBounds(bounds);
- lgt2.setInfluencingBounds(bounds);
-
- // Add the lights into the scene graph
- objScale.addChild(aLgt);
- l1Trans.addChild(lgt1);
- l2Trans.addChild(lgt2);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotor1Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator1 =
- new RotationInterpolator(rotor1Alpha,
- l1RotTrans,
- yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator1.setSchedulingBounds(bounds);
- l1RotTrans.addChild(rotator1);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into the
- // scene graph.
- Alpha rotor2Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 1000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator2 =
- new RotationInterpolator(rotor2Alpha,
- l2RotTrans,
- yAxis,
- 0.0f, 0.0f);
- bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator2.setSchedulingBounds(bounds);
- l2RotTrans.addChild(rotator2);
-
- // Create a position interpolator and attach it to the view
- // platform
- TransformGroup vpTrans =
- u.getViewingPlatform().getViewPlatformTransform();
- Transform3D axisOfTranslation = new Transform3D();
- Alpha transAlpha = new Alpha(-1,
- Alpha.INCREASING_ENABLE |
- Alpha.DECREASING_ENABLE,
- 0, 0,
- 5000, 0, 0,
- 5000, 0, 0);
- axisOfTranslation.rotY(-Math.PI/2.0);
- PositionInterpolator translator =
- new PositionInterpolator(transAlpha,
- vpTrans,
- axisOfTranslation,
- 2.0f, 3.5f);
- translator.setSchedulingBounds(bounds);
- objScale.addChild(translator);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public SphereMotion() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- u = new SimpleUniverse(c);
- BranchGroup scene = createSceneGraph(u);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows SphereMotion to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- // Parse the Input Arguments
- String usage = "Usage: java SphereMotion [-point | -spot | -dir]";
- for (int i = 0; i < args.length; i++) {
- if (args[i].startsWith("-")) {
- if (args[i].equals("-point")) {
- System.out.println("Using point lights");
- lightType = POINT_LIGHT;
- }
- else if (args[i].equals("-spot")) {
- System.out.println("Using spot lights");
- lightType = SPOT_LIGHT;
- }
- else if (args[i].equals("-dir")) {
- System.out.println("Using directional lights");
- lightType = DIRECTIONAL_LIGHT;
- }
- else {
- System.out.println(usage);
- System.exit(0);
- }
- }
- else {
- System.out.println(usage);
- System.exit(0);
- }
- }
-
- new MainFrame(new SphereMotion(), 700, 700);
- }
-}
diff --git a/src/SphereMotion/SphereMotion_plugin.html b/src/SphereMotion/SphereMotion_plugin.html
deleted file mode 100644
index 7d3a632..0000000
--- a/src/SphereMotion/SphereMotion_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Moving lit sphere</TITLE>
-</HEAD>
-<BODY BGCOLOR="#0C0C33">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "SphereMotion.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "SphereMotion.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a moving lit sphere instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "SphereMotion.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a moving lit sphere instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/SphereMotion/build.xml b/src/SphereMotion/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/SphereMotion/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/SplineAnim/SplineAnim.html b/src/SplineAnim/SplineAnim.html
deleted file mode 100644
index 0aa2198..0000000
--- a/src/SplineAnim/SplineAnim.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>SplineAnim</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="SplineAnim.class" width=500 height=600>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/SplineAnim/SplineAnim.java b/src/SplineAnim/SplineAnim.java
deleted file mode 100644
index c106903..0000000
--- a/src/SplineAnim/SplineAnim.java
+++ /dev/null
@@ -1,601 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.io.*;
-import java.applet.Applet;
-import java.awt.FlowLayout;
-import java.awt.*;
-import java.awt.event.*;
-import java.util.Hashtable;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.*;
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.loaders.Scene;
-import com.sun.j3d.loaders.objectfile.ObjectFile;
-import com.sun.j3d.loaders.ParsingErrorException;
-import com.sun.j3d.loaders.IncorrectFormatException;
-import com.sun.j3d.utils.behaviors.vp.*;
-import com.sun.j3d.utils.behaviors.interpolators.*;
-
-
-
-/*
- * This program demonstrates the use of KBRotPosScaleSplinePathInterpolator
- * in order to to do spline animation paths using Kochanek-Bartels (also
- * known as TCB or Tension-Continuity-Bias ) splines. A cone red cone
- * is animated along a spline path specified by 5 knot points, which
- * are showns as cyan spheres.
- *
- * Use the left mouse button to changes orientation of scene.
- * Use the middle mouse button to zoom in/out
- * Use the right mouse button to pan the scene
- */
-public class SplineAnim extends Applet implements ActionListener,
- AdjustmentListener,
- ItemListener {
-
- // 3D Canvas
- Canvas3D canvas;
-
- // UI Components
- Panel controlPanel;
- Panel canvasPanel;
- Button animateButton;
- Choice interpChoice;
- Scrollbar speedSlider;
- Label speedLabel;
- Label interpLabel;
-
- // Scene Graph
- BoundingSphere bounds;
- BranchGroup root;
- BranchGroup behaviorBranch;
- Transform3D sceneTransform;
- TransformGroup sceneTransformGroup;
- Transform3D objTransform;
- TransformGroup objTransformGroup;
- Transform3D lightTransform1;
- Transform3D lightTransform2;
- TransformGroup light1TransformGroup;
- TransformGroup light2TransformGroup;
-
- // Key Frames & Interpolator
- int duration = 5000;
- Alpha animAlpha;
- Transform3D yAxis;
- KBKeyFrame[] linearKeyFrames = new KBKeyFrame[6];
- KBKeyFrame[] splineKeyFrames = new KBKeyFrame[6];
- KBRotPosScaleSplinePathInterpolator splineInterpolator;
- KBRotPosScaleSplinePathInterpolator linearInterpolator;
-
- // Data: Knot positions & transform groups
- Vector3f pos0 = new Vector3f(-5.0f, -5.0f, 0.0f);
- Vector3f pos1 = new Vector3f(-5.0f, 5.0f, 0.0f);
- Vector3f pos2 = new Vector3f( 0.0f, 5.0f, 0.0f);
- Vector3f pos3 = new Vector3f( 0.0f, -5.0f, 0.0f);
- Vector3f pos4 = new Vector3f( 5.0f, -5.0f, 0.0f);
- Vector3f pos5 = new Vector3f( 5.0f, 5.0f, 0.0f);
- TransformGroup k0TransformGroup;
- TransformGroup k1TransformGroup;
- TransformGroup k2TransformGroup;
- TransformGroup k3TransformGroup;
- TransformGroup k4TransformGroup;
- TransformGroup k5TransformGroup;
-
- // Flags
- boolean animationOn = true;
- boolean linear = false;
-
- private SimpleUniverse u = null;
-
- public SplineAnim() {
- }
-
- public void init() {
- this.setLayout(new FlowLayout());
-
- // Create the canvas and the UI
- canvasPanel = new Panel();
- controlPanel = new Panel();
- createCanvasPanel(canvasPanel);
- this.add(canvasPanel);
- createControlPanel(controlPanel);
- this.add(controlPanel);
-
- // Create the scene.
- BranchGroup scene = createSceneGraph();
-
- // Setup keyframe data for our animation
- setupSplineKeyFrames ();
- setupLinearKeyFrames ();
-
- // Setup alpha, create the interpolators and start them. We
- // create both a linear and a spline interpolator and turn on
- // one depending on user selection. The default is spline.
- setupAnimationData ();
- createInterpolators();
- startInterpolator();
-
- // Add viewing platform
- u = new SimpleUniverse(canvas);
-
- // add mouse behaviors to ViewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- viewingPlatform.setNominalViewingTransform();
-
- // add orbit behavior to the ViewingPlatform
- OrbitBehavior orbit = new OrbitBehavior(canvas,
- OrbitBehavior.REVERSE_ALL);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- /*
- * This creates the control panel which contains a choice menu to
- * toggle between spline and linear interpolation, a slider to
- * adjust the speed of the animation and a animation start/stop
- * button.
- */
- private void createControlPanel(Panel p) {
-
- GridBagLayout gl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
-
- p.setLayout (gl);
- gbc.weightx = 100; gbc.weighty = 100;
- gbc.fill = GridBagConstraints.BOTH;
-
- gbc.gridx = 0; gbc.gridy = 0;
- gbc.gridwidth = 1; gbc.gridheight = 1;
- interpLabel = new Label("Interpolation Type", Label.LEFT);
- p.add(interpLabel, gbc);
-
- gbc.gridx = 1; gbc.gridy = 0;
- gbc.gridwidth = 1; gbc.gridheight = 1;
- interpChoice = new Choice();
- interpChoice.add("Spline");
- interpChoice.add("Linear");
- p.add(interpChoice, gbc);
- interpChoice.addItemListener (this);
-
- gbc.gridx = 0; gbc.gridy = 2;
- gbc.gridwidth = 2; gbc.gridheight = 1;
- speedSlider = new Scrollbar(Scrollbar.HORIZONTAL, 2, 1, 0, 11);
- speedSlider.setUnitIncrement (1);
- p.add(speedSlider, gbc);
- speedSlider.addAdjustmentListener(this);
-
- gbc.gridx = 0; gbc.gridy = 3;
- gbc.gridwidth = 2; gbc.gridheight = 1;
- speedLabel = new Label(" - Animation Speed +", Label.CENTER);
- p.add(speedLabel, gbc);
-
- gbc.gridx = 0; gbc.gridy = 5;
- gbc.gridwidth = 2; gbc.gridheight = 1;
- animateButton = new Button("Stop Animation");
- p.add(animateButton, gbc);
- animateButton.addActionListener (this);
-
-
- }
-
- /*
- * This creates the Java3D canvas
- */
- private void createCanvasPanel(Panel p) {
-
- GridBagLayout gl = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints();
-
- p.setLayout(gl);
- gbc.gridx = 0; gbc.gridy = 0;
- gbc.gridwidth = 5; gbc.gridheight = 5;
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- canvas = new Canvas3D(config);
- canvas.setSize(490,490);
- p.add(canvas,gbc);
-
- }
-
- /*
- * This creates the scene with 5 knot points represented by cyan
- * spheres, a cone obejct that will be transformed, and two directional
- * lights + and ambient light.
- */
- public BranchGroup createSceneGraph() {
-
- // Colors for lights and objects
- Color3f aColor = new Color3f(0.2f, 0.2f, 0.2f);
- Color3f eColor = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f sColor = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f coneColor = new Color3f(0.9f, 0.1f, 0.1f);
- Color3f sphereColor= new Color3f(0.1f, 0.7f, 0.9f);
- Color3f bgColor = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f lightColor = new Color3f(1.0f, 1.0f, 1.0f);
-
- // Root of the branch grsph
- BranchGroup root = new BranchGroup();
-
- // Create transforms such that all objects appears in the scene
- sceneTransform = new Transform3D();
- sceneTransform.setScale(0.14f);
- Transform3D yrot = new Transform3D();
- yrot.rotY(-Math.PI/5.0d);
- sceneTransform.mul(yrot);
- sceneTransformGroup = new TransformGroup(sceneTransform);
- sceneTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- sceneTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- root.addChild(sceneTransformGroup);
-
- // Create bounds for the background and lights
- bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0f);
-
- // Set up the background
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- sceneTransformGroup.addChild(bg);
-
- // Create the transform group node for the lights
- lightTransform1 = new Transform3D();
- lightTransform2 = new Transform3D();
- Vector3d lightPos1 = new Vector3d(0.0, 0.0, 2.0);
- Vector3d lightPos2 = new Vector3d(1.0, 0.0, -2.0);
- lightTransform1.set(lightPos1);
- lightTransform2.set(lightPos2);
- light1TransformGroup = new TransformGroup(lightTransform1);
- light2TransformGroup = new TransformGroup(lightTransform2);
- sceneTransformGroup.addChild(light1TransformGroup);
- sceneTransformGroup.addChild(light2TransformGroup);
-
- // Create lights
- AmbientLight ambLight = new AmbientLight(aColor);
- Light dirLight1;
- Light dirLight2;
-
- Vector3f lightDir1 = new Vector3f(lightPos1);
- Vector3f lightDir2 = new Vector3f(lightPos2);
- lightDir1.negate();
- lightDir2.negate();
- dirLight1 = new DirectionalLight(lightColor, lightDir1);
- dirLight2 = new DirectionalLight(lightColor, lightDir2);
-
- // Set the influencing bounds
- ambLight.setInfluencingBounds(bounds);
- dirLight1.setInfluencingBounds(bounds);
- dirLight2.setInfluencingBounds(bounds);
-
- // Add the lights into the scene graph
- sceneTransformGroup.addChild(ambLight);
- sceneTransformGroup.addChild(dirLight1);
- sceneTransformGroup.addChild(dirLight2);
-
- // Create a cone and add it to the scene graph.
- objTransform = new Transform3D();
- objTransformGroup = new TransformGroup(objTransform);
- objTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- sceneTransformGroup.addChild(objTransformGroup);
-
- Material m = new Material(coneColor, eColor, coneColor, sColor, 100.0f);
- Appearance a = new Appearance();
- m.setLightingEnable(true);
- a.setMaterial(m);
- Cone cone = new Cone(0.4f, 1.0f);
- cone.setAppearance(a);
- objTransformGroup.addChild(cone);
-
- // Create transform groups for each knot point
- // knot point 0
- Transform3D t3dKnot = new Transform3D();
- t3dKnot.set (pos0);
- TransformGroup k0TransformGroup = new TransformGroup(t3dKnot);
- sceneTransformGroup.addChild(k0TransformGroup);
-
- // knot point 1
- t3dKnot = new Transform3D();
- t3dKnot.set (pos1);
- TransformGroup k1TransformGroup = new TransformGroup(t3dKnot);
- sceneTransformGroup.addChild(k1TransformGroup);
-
- // knot point 2
- t3dKnot = new Transform3D();
- t3dKnot.set (pos2);
- TransformGroup k2TransformGroup = new TransformGroup(t3dKnot);
- sceneTransformGroup.addChild(k2TransformGroup);
-
- // knot point 3
- t3dKnot = new Transform3D();
- t3dKnot.set (pos3);
- TransformGroup k3TransformGroup = new TransformGroup(t3dKnot);
- sceneTransformGroup.addChild(k3TransformGroup);
-
- // knot point 4
- t3dKnot = new Transform3D();
- t3dKnot.set (pos4);
- TransformGroup k4TransformGroup = new TransformGroup(t3dKnot);
- sceneTransformGroup.addChild(k4TransformGroup);
-
- // knot point 5
- t3dKnot = new Transform3D();
- t3dKnot.set (pos5);
- TransformGroup k5TransformGroup = new TransformGroup(t3dKnot);
- sceneTransformGroup.addChild(k5TransformGroup);
-
- // Create spheres for each knot point's transform group
- ColoringAttributes sphereColorAttr = new ColoringAttributes();
- sphereColorAttr.setColor(sphereColor);
- Appearance sphereAppearance = new Appearance();
- sphereAppearance.setColoringAttributes(sphereColorAttr);
- k0TransformGroup.addChild(new Sphere(0.10f, sphereAppearance));
- k1TransformGroup.addChild(new Sphere(0.10f, sphereAppearance));
- k2TransformGroup.addChild(new Sphere(0.10f, sphereAppearance));
- k3TransformGroup.addChild(new Sphere(0.10f, sphereAppearance));
- k4TransformGroup.addChild(new Sphere(0.10f, sphereAppearance));
- k5TransformGroup.addChild(new Sphere(0.10f, sphereAppearance));
-
- return root;
- }
-
- /*
- * This sets up the key frame data for the spline interpolator. Each knot
- * point has a scale and rotation component specified. The second argument
- * to KBKeyFrame (in this case 0) tells the interpolator that this is
- * to be interpolated using splines. The last three arguments to
- * KBKeyFrame are Tension, Continuity, and Bias components for each
- * key frame.
- */
- private void setupSplineKeyFrames () {
- // Prepare spline keyframe data
- Point3f p = new Point3f (pos0); // position
- float head = (float)Math.PI/2.0f; // heading
- float pitch = 0.0f; // pitch
- float bank = 0.0f; // bank
- Point3f s = new Point3f(1.0f, 1.0f, 1.0f); // uniform scale
- splineKeyFrames[0] =
- new KBKeyFrame(0.0f, 0, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
-
- p = new Point3f (pos1);
- head = 0.0f; // heading
- pitch = 0.0f; // pitch
- bank = (float)-Math.PI/2.0f; // bank
- s = new Point3f(1.0f, 1.0f, 1.0f); // uniform scale
- splineKeyFrames[1] =
- new KBKeyFrame(0.2f, 0, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
-
- p = new Point3f (pos2);
- head = 0.0f; // heading
- pitch = 0.0f; // pitch
- bank = 0.0f; // bank
- s = new Point3f(0.7f, 0.7f, 0.7f); // uniform scale
- splineKeyFrames[2] =
- new KBKeyFrame(0.4f, 0, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
-
- p = new Point3f (pos3);
- head = (float)Math.PI/2.0f; // heading
- pitch = 0.0f; // pitch
- bank = (float)Math.PI/2.0f; // bank
- s = new Point3f(0.5f, 0.5f, 0.5f); // uniform scale
- splineKeyFrames[3] =
- new KBKeyFrame(0.6f, 0, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
-
- p = new Point3f (pos4);
- head = (float)-Math.PI/2.0f; // heading
- pitch = (float)-Math.PI/2.0f; // pitch
- bank = (float)Math.PI/2.0f; // bank
- s = new Point3f(0.4f, 0.4f, 0.4f); // uniform scale
- splineKeyFrames[4] =
- new KBKeyFrame(0.8f, 0, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
-
- p = new Point3f (pos5);
- head = 0.0f; // heading
- pitch = 0.0f; // pitch
- bank = 0.0f; // bank
- s = new Point3f(1.0f, 1.0f, 1.0f); // uniform scale
- splineKeyFrames[5] =
- new KBKeyFrame(1.0f, 0, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
- }
-
- /*
- * This sets up the key frame data for the linear interpolator. Each knot
- * point has a scale and rotation component specified. The second argument
- * to KBKeyFrame (in this case 1) tells the interpolator that this is
- * to be interpolated linearly. The last three arguments to TCBKeyFrame
- * are Tension, Continuity, and Bias components for each key frame.
- */
- private void setupLinearKeyFrames () {
- // Prepare linear keyframe data
- Point3f p = new Point3f (pos0);
- float head = 0.0f; // heading
- float pitch = 0.0f; // pitch
- float bank = 0.0f; // bank
- Point3f s = new Point3f(1.0f, 1.0f, 1.0f); // uniform scale
- linearKeyFrames[0] =
- new KBKeyFrame(0.0f, 1, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
-
- p = new Point3f (pos1);
- linearKeyFrames[1] =
- new KBKeyFrame(0.2f, 1, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
-
- p = new Point3f (pos2);
- linearKeyFrames[2] =
- new KBKeyFrame(0.4f, 1, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
-
- p = new Point3f (pos3);
- linearKeyFrames[3] =
- new KBKeyFrame(0.6f, 1, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
-
- p = new Point3f (pos4);
- linearKeyFrames[4] =
- new KBKeyFrame(0.8f, 1, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
-
- p = new Point3f (pos5);
- linearKeyFrames[5] =
- new KBKeyFrame(1.0f, 1, p, head, pitch, bank, s, 0.0f, 0.0f, 0.0f);
- }
-
-
- /*
- * This sets up alpha for the interpolator
- */
- private void setupAnimationData () {
- yAxis = new Transform3D();
- animAlpha = new Alpha (-1,Alpha.INCREASING_ENABLE,0,0,duration,0,0,0,0,0);
- }
-
- /*
- * create a spline and a linear interpolator, but we will activate only
- * one in startInterpolator()
- */
- private void createInterpolators () {
-
- behaviorBranch = new BranchGroup();
-
- // create spline interpolator
- splineInterpolator =
- new KBRotPosScaleSplinePathInterpolator(animAlpha, objTransformGroup,
- yAxis, splineKeyFrames);
- splineInterpolator.setSchedulingBounds(bounds);
- behaviorBranch.addChild(splineInterpolator);
-
- // create linear interpolator
- linearInterpolator =
- new KBRotPosScaleSplinePathInterpolator(animAlpha, objTransformGroup,
- yAxis, linearKeyFrames);
- linearInterpolator.setSchedulingBounds(bounds);
- behaviorBranch.addChild(linearInterpolator);
- objTransformGroup.addChild(behaviorBranch);
-
- }
-
- /*
- * This activates one of the interpolators depending on the state of the
- * linear boolean flag which may be toggled by the user using the choice
- * menu.
- */
- public void startInterpolator () {
- if (animationOn) {
- if (linear) {
- splineInterpolator.setEnable(false);
- linearInterpolator.setEnable(true);
- } else {
- linearInterpolator.setEnable(false);
- splineInterpolator.setEnable(true);
- }
- }
- }
-
-
- /*
- * Toggle animation
- */
- public void actionPerformed (ActionEvent event) {
- Object source = event.getSource();
- if (source == animateButton) {
- try {
- // toggle animation
- if (animationOn) {
- animationOn = false;
- splineInterpolator.setEnable(false);
- linearInterpolator.setEnable(false);
- animateButton.setLabel("Start Animation");
- } else {
- animationOn = true;
- startInterpolator();
- animateButton.setLabel("Stop Animation");
- }
- } catch (Exception e) {
- System.err.println ("Exception " + e);
- }
- }
- }
-
- /*
- * Toggle the interpolators
- */
- public void itemStateChanged (ItemEvent event) {
- Object source = event.getSource();
- ItemSelectable ie = event.getItemSelectable();
- if (source == interpChoice) {
- try {
- if (ie.getSelectedObjects()[0] == "Spline") {
- linear = false;
- }
- if (ie.getSelectedObjects()[0] == "Linear") {
- linear = true;
- }
- startInterpolator();
- } catch (Exception e) {
- System.err.println ("Exception " + e);
- }
- }
- }
-
-
- /*
- * Adjust the speed of the animations
- */
- public void adjustmentValueChanged (AdjustmentEvent e) {
- int value = e.getValue();
- duration = 6000 - (500 * value);
- animAlpha.setIncreasingAlphaDuration(duration);
- }
-
-
-
- public static void main(String[] args) {
- Frame frame = new MainFrame(new SplineAnim(), 500, 600);
- }
-}
diff --git a/src/SplineAnim/SplineAnim_plugin.html b/src/SplineAnim/SplineAnim_plugin.html
deleted file mode 100644
index d6885c8..0000000
--- a/src/SplineAnim/SplineAnim_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>SplineAnim</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 500 HEIGHT = 600 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "SplineAnim.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "SplineAnim.class" WIDTH = 500 HEIGHT = 600 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "SplineAnim.class" WIDTH = 500 HEIGHT = 600 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/SplineAnim/build.xml b/src/SplineAnim/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/SplineAnim/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/SwingInteraction/SwingInteraction.form b/src/SwingInteraction/SwingInteraction.form
deleted file mode 100644
index 591580c..0000000
--- a/src/SwingInteraction/SwingInteraction.form
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.0" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <NonVisualComponents>
- <Menu class="javax.swing.JMenuBar" name="jMenuBar1">
- <SubComponents>
- <Menu class="javax.swing.JMenu" name="fileMenu">
- <Properties>
- <Property name="text" type="java.lang.String" value="File"/>
- </Properties>
- <SubComponents>
- <MenuItem class="javax.swing.JMenuItem" name="exitMenuItem">
- <Properties>
- <Property name="text" type="java.lang.String" value="Exit"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="exitMenuItemActionPerformed"/>
- </Events>
- </MenuItem>
- </SubComponents>
- </Menu>
- </SubComponents>
- </Menu>
- </NonVisualComponents>
- <Properties>
- <Property name="defaultCloseOperation" type="int" value="3"/>
- <Property name="title" type="java.lang.String" value="Swing Interaction Test"/>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="menuBar" type="java.lang.String" value="jMenuBar1"/>
- <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
- </SyntheticProperties>
- <AuxValues>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
- </AuxValues>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="guiPanel">
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
- <BorderConstraints direction="North"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
- <SubComponents>
- <Component class="javax.swing.JButton" name="rotateButton">
- <Properties>
- <Property name="text" type="java.lang.String" value="Rotate"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="rotateButtonActionPerformed"/>
- </Events>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
- <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="4" insetsLeft="4" insetsBottom="4" insetsRight="4" anchor="10" weightX="0.0" weightY="0.0"/>
- </Constraint>
- </Constraints>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="drawingPanel">
- <Properties>
- <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[500, 500]"/>
- </Property>
- </Properties>
- <Constraints>
- <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
- <BorderConstraints direction="Center"/>
- </Constraint>
- </Constraints>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
- </Container>
- </SubComponents>
-</Form>
diff --git a/src/SwingInteraction/SwingInteraction.java b/src/SwingInteraction/SwingInteraction.java
deleted file mode 100644
index 0d90062..0000000
--- a/src/SwingInteraction/SwingInteraction.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.geometry.ColorCube;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.awt.GraphicsConfiguration;
-import java.awt.event.ActionEvent;
-import java.awt.event.MouseEvent;
-import java.util.Enumeration;
-import javax.swing.JPopupMenu;
-
-/**
- * Simple Java 3D test program created in NetBeans to illustrate interacting
- * with a Java 3D scene graph from an Swing-based program.
- */
-public class SwingInteraction extends javax.swing.JFrame {
-
- private SimpleUniverse univ = null;
- private BranchGroup scene = null;
-
- private TransformGroup objTrans;
- private RotateBehavior awtBehavior;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
-
- // Create a simple shape leaf node, add it to the scene graph.
- objTrans.addChild(new ColorCube(0.4));
-
- // create the RotateBehavior
- awtBehavior = new RotateBehavior(objTrans);
- BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0),
- 100.0);
- awtBehavior.setSchedulingBounds(bounds);
- objRoot.addChild(awtBehavior);
-
- return objRoot;
- }
-
- private Canvas3D createUniverse() {
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
-
- univ = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- univ.getViewingPlatform().setNominalViewingTransform();
-
- // Ensure at least 5 msec per frame (i.e., < 200Hz)
- univ.getViewer().getView().setMinimumFrameCycleTime(5);
-
- return c;
- }
-
- /**
- * Creates new form SwingInteraction
- */
- public SwingInteraction() {
- // Initialize the GUI components
- JPopupMenu.setDefaultLightWeightPopupEnabled(false);
- initComponents();
-
- // Create Canvas3D and SimpleUniverse; add canvas to drawing panel
- Canvas3D c = createUniverse();
- drawingPanel.add(c, java.awt.BorderLayout.CENTER);
-
- // Create the content branch and add it to the universe
- scene = createSceneGraph();
- univ.addBranchGraph(scene);
- }
-
- /**
- * Behavior class that waits for a behavior post from the AWT event handler
- */
- class RotateBehavior extends Behavior {
-
- private TransformGroup transformGroup;
- private Transform3D trans = new Transform3D();
- private WakeupCriterion criterion;
- private float angle = 0.0f;
-
- private final int ROTATE = 1;
-
- // create a new RotateBehavior
- RotateBehavior(TransformGroup tg) {
- transformGroup = tg;
- }
-
- // initialize behavior to wakeup on a behavior post with id = ROTATE
- public void initialize() {
- criterion = new WakeupOnBehaviorPost(this, ROTATE);
- wakeupOn(criterion);
- }
-
- // processStimulus to rotate the cube
- public void processStimulus(Enumeration criteria) {
- angle += Math.toRadians(10.0);
- trans.rotY(angle);
- transformGroup.setTransform(trans);
- wakeupOn(criterion);
- }
-
- // when the mouse is clicked, postId for the behavior
- void rotate() {
- postId(ROTATE);
- }
- }
-
- // ----------------------------------------------------------------
-
- /** This method is called from within the constructor to
- * initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents() {
- java.awt.GridBagConstraints gridBagConstraints;
-
- guiPanel = new javax.swing.JPanel();
- rotateButton = new javax.swing.JButton();
- drawingPanel = new javax.swing.JPanel();
- jMenuBar1 = new javax.swing.JMenuBar();
- fileMenu = new javax.swing.JMenu();
- exitMenuItem = new javax.swing.JMenuItem();
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("Swing Interaction Test");
- guiPanel.setLayout(new java.awt.GridBagLayout());
-
- rotateButton.setText("Rotate");
- rotateButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- rotateButtonActionPerformed(evt);
- }
- });
-
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
- guiPanel.add(rotateButton, gridBagConstraints);
-
- getContentPane().add(guiPanel, java.awt.BorderLayout.NORTH);
-
- drawingPanel.setLayout(new java.awt.BorderLayout());
-
- drawingPanel.setPreferredSize(new java.awt.Dimension(500, 500));
- getContentPane().add(drawingPanel, java.awt.BorderLayout.CENTER);
-
- fileMenu.setText("File");
- exitMenuItem.setText("Exit");
- exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- exitMenuItemActionPerformed(evt);
- }
- });
-
- fileMenu.add(exitMenuItem);
-
- jMenuBar1.add(fileMenu);
-
- setJMenuBar(jMenuBar1);
-
- pack();
- }// </editor-fold>//GEN-END:initComponents
-
- private void rotateButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rotateButtonActionPerformed
- awtBehavior.rotate();
- }//GEN-LAST:event_rotateButtonActionPerformed
-
- private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitMenuItemActionPerformed
- System.exit(0);
- }//GEN-LAST:event_exitMenuItemActionPerformed
-
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- new SwingInteraction().setVisible(true);
- }
- });
- }
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JPanel drawingPanel;
- private javax.swing.JMenuItem exitMenuItem;
- private javax.swing.JMenu fileMenu;
- private javax.swing.JPanel guiPanel;
- private javax.swing.JMenuBar jMenuBar1;
- private javax.swing.JButton rotateButton;
- // End of variables declaration//GEN-END:variables
-
-}
diff --git a/src/SwingInteraction/build.xml b/src/SwingInteraction/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/SwingInteraction/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Text2D/MoverBehavior.java b/src/Text2D/MoverBehavior.java
deleted file mode 100644
index 752ac9c..0000000
--- a/src/Text2D/MoverBehavior.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.event.*;
-import java.awt.AWTEvent;
-import javax.media.j3d.*;
-import java.util.Enumeration;
-import javax.vecmath.*;
-
-// Mover behavior class - used to allow viewer to move using arrow keys
-class MoverBehavior extends Behavior
-{
- WakeupOnAWTEvent w1 = new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED);
- WakeupCriterion[] w2 = {w1};
- WakeupCondition w = new WakeupOr(w2);
- TransformGroup viewTransformGroup;
- double rotation = 0.0; // holds current rotation radians
-
- public void initialize() {
- // Establish initial wakeup criteria
- wakeupOn(w);
- }
-
-
- /**
- * Override Behavior's stimulus method to handle the event.
- */
- public void processStimulus(Enumeration criteria) {
- WakeupOnAWTEvent ev;
- WakeupCriterion genericEvt;
- AWTEvent[] events;
-
- while (criteria.hasMoreElements()) {
- genericEvt = (WakeupCriterion) criteria.nextElement();
- if (genericEvt instanceof WakeupOnAWTEvent) {
- ev = (WakeupOnAWTEvent) genericEvt;
- events = ev.getAWTEvent();
- processManualEvent(events);
- }
- }
- // Set wakeup criteria for next time
- wakeupOn(w);
- }
-
-
- /**
- * Process a keyboard event to move or rotate the viewer.
- */
- void processManualEvent(AWTEvent[] events) {
-
- for (int i = 0; i < events.length; ++i) {
- if (events[i] instanceof KeyEvent) {
- KeyEvent event = (KeyEvent)events[i];
- if (event.getKeyCode() == KeyEvent.VK_EQUALS) {
- continue;
- }
- Transform3D t = new Transform3D();
- viewTransformGroup.getTransform(t);
- Vector3f viewDir = new Vector3f(0f, 0f, -1f);
- Vector3f translation = new Vector3f();
- t.get(translation);
- t.transform(viewDir);
- if (event.getKeyCode() == KeyEvent.VK_UP) {
- translation.x += viewDir.x;
- translation.y += viewDir.y;
- translation.z += viewDir.z;
- }
- else if (event.getKeyCode() == KeyEvent.VK_DOWN) {
- translation.x -= viewDir.x;
- translation.y -= viewDir.y;
- translation.z -= viewDir.z;
- }
- else if (event.getKeyCode() == KeyEvent.VK_RIGHT) {
- rotation += -.1;
- }
- else if (event.getKeyCode() == KeyEvent.VK_LEFT) {
- rotation += .1;
- }
- t.rotY(rotation);
- t.setTranslation(translation);
- viewTransformGroup.setTransform(t);
- }
- }
- }
-
-
- /**
- * Constructor
- */
- public MoverBehavior(TransformGroup trans) {
- viewTransformGroup = trans;
- Bounds bound = new BoundingSphere(new Point3d(0.0,0.0,0.0),10000.0);
- this.setSchedulingBounds(bound);
- }
-}
-
-
-
diff --git a/src/Text2D/Text2DTest.html b/src/Text2D/Text2DTest.html
deleted file mode 100644
index 316540b..0000000
--- a/src/Text2D/Text2DTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Text2DTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="Text2DTest.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Text2D/Text2DTest.java b/src/Text2D/Text2DTest.java
deleted file mode 100644
index 7815df9..0000000
--- a/src/Text2D/Text2DTest.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.Font;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.Text2D;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Text2DTest extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- TransformGroup textTranslationGroup;
- Transform3D textTranslation;
- float yPos = -.5f;
- Shape3D textObject = new Text2D("Rotating Yellow Text",
- new Color3f(1f, 1f, 0f),
- "Serif",
- 60,
- Font.BOLD);
- Appearance app = textObject.getAppearance();
-
- PolygonAttributes pa = app.getPolygonAttributes();
- if (pa == null)
- pa = new PolygonAttributes();
- pa.setCullFace(PolygonAttributes.CULL_NONE);
- if (app.getPolygonAttributes() == null)
- app.setPolygonAttributes(pa);
- objTrans.addChild(textObject);
-
-
- textTranslation = new Transform3D();
- textTranslation.setTranslation(new Vector3f(0f, yPos, 0f));
- textTranslationGroup = new TransformGroup(textTranslation);
- textTranslationGroup.addChild(objTrans);
- objScale.addChild(textTranslationGroup);
- yPos += .5f;
-
- /* Blue 40point text*/
- textObject = new Text2D("Blue 40point Text",
- new Color3f(0f, 0f, 1f),
- "Serif",
- 40,
- Font.BOLD);
- textTranslation = new Transform3D();
- textTranslation.setTranslation(new Vector3f(0f, yPos, 0f));
- textTranslationGroup = new TransformGroup(textTranslation);
- textTranslationGroup.addChild(textObject);
- objScale.addChild(textTranslationGroup);
- yPos += .5f;
-
- /* Green italic text*/
- textObject = new Text2D("Green Italic Text",
- new Color3f(0f, 1f, 0f),
- "Serif",
- 70,
- Font.ITALIC);
- textTranslation = new Transform3D();
- textTranslation.setTranslation(new Vector3f(0f, yPos, 0f));
- textTranslationGroup = new TransformGroup(textTranslation);
- textTranslationGroup.addChild(textObject);
- objScale.addChild(textTranslationGroup);
- yPos += .5f;
-
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
-
- return objRoot;
- }
-
- public Text2DTest() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
- MoverBehavior navigator =
- new MoverBehavior(u.getViewingPlatform().getViewPlatformTransform());
- scene.addChild(navigator);
-
- // Have Java 3D perform optimizations on this scene graph.
- scene.compile();
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows HelloUniverse to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new Text2DTest(), 256, 256);
- }
-}
diff --git a/src/Text2D/Text2DTest_plugin.html b/src/Text2D/Text2DTest_plugin.html
deleted file mode 100644
index c19ec04..0000000
--- a/src/Text2D/Text2DTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Text2DTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "Text2DTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "Text2DTest.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "Text2DTest.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Text2D/build.xml b/src/Text2D/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/Text2D/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Text3D/Text3DLoad.html b/src/Text3D/Text3DLoad.html
deleted file mode 100644
index a2b4d5b..0000000
--- a/src/Text3D/Text3DLoad.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Text3DLoad</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="Text3DLoad.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Text3D/Text3DLoad.java b/src/Text3D/Text3DLoad.java
deleted file mode 100644
index 453b4ce..0000000
--- a/src/Text3D/Text3DLoad.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.loaders.objectfile.*;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.io.*;
-import com.sun.j3d.utils.behaviors.vp.*;
-import com.sun.j3d.utils.behaviors.keyboard.*;
-
-public class Text3DLoad extends Applet implements ActionListener {
-
- private String fontName = "TestFont";
- private String textString = null;
- private double tessellation = 0.0;
-
- private SimpleUniverse u;
-
- private Button button;
- private boolean behaviorsOn = false;
- private OrbitBehavior orbit;
-
- public BranchGroup createSceneGraph() {
- float sl = textString.length();
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- // Assuming uniform size chars, set scale to fit string in view
- t3d.setScale(1.2/sl);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
- objScale.addChild(objTrans);
-
- Font3D f3d;
- if (tessellation > 0.0) {
- f3d = new Font3D(new Font(fontName, Font.PLAIN, 2),
- tessellation,
- new FontExtrusion());
- }
- else {
- f3d = new Font3D(new Font(fontName, Font.PLAIN, 2),
- new FontExtrusion());
- }
- Text3D txt = new Text3D(f3d, textString,
- new Point3f( -sl/2.0f, -1.f, -1.f));
- Shape3D sh = new Shape3D();
- Appearance app = new Appearance();
- Material mm = new Material();
- mm.setLightingEnable(true);
- app.setMaterial(mm);
- sh.setGeometry(txt);
- sh.setAppearance(app);
- objTrans.addChild(sh);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- if (false) {
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
- }
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
- Background bgNode = new Background(bgColor);
- bgNode.setApplicationBounds(bounds);
- objRoot.addChild(bgNode);
-
- // Set up the ambient light
- Color3f ambientColor = new Color3f(0.3f, 0.3f, 0.3f);
- AmbientLight ambientLightNode = new AmbientLight(ambientColor);
- ambientLightNode.setInfluencingBounds(bounds);
- objRoot.addChild(ambientLightNode);
-
- // Set up the directional lights
- Color3f light1Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light1Direction = new Vector3f(1.0f, 1.0f, 1.0f);
- Color3f light2Color = new Color3f(1.0f, 1.0f, 0.9f);
- Vector3f light2Direction = new Vector3f(-1.0f, -1.0f, -1.0f);
-
- DirectionalLight light1
- = new DirectionalLight(light1Color, light1Direction);
- light1.setInfluencingBounds(bounds);
- objRoot.addChild(light1);
-
- DirectionalLight light2
- = new DirectionalLight(light2Color, light2Direction);
- light2.setInfluencingBounds(bounds);
- objRoot.addChild(light2);
-
- return objRoot;
- }
-
- private void usage()
- {
- System.out.println(
- "Usage: java Text3DLoad [-f fontname] [-t tessellation] [<text>]");
- System.exit(0);
- } // End of usage
-
- public Text3DLoad() {}
-
- public Text3DLoad(String args[]) {
-
- if (args.length == 0) {
-// usage();
- textString = "Java3D";
- }
- else {
- for (int i = 0 ; i < args.length ; i++) {
- if (args[i].startsWith("-")) {
- if (args[i].equals("-f")) {
- if (i < args.length - 1) {
- fontName = args[++i];
- }
- else {
- usage();
- }
- }
- else if (args[i].equals("-t")) {
- if (i < args.length - 1) {
- tessellation = Double.parseDouble(args[++i]);
- }
- else {
- usage();
- }
- }
- else {
- System.err.println("Argument '" + args[i] +
- "' ignored.");
- }
- }
- else {
- textString = args[i];
- }
- }
- }
-
- if (textString == null) {
- usage();
- }
-
- }
-
- public void init() {
-
- if (textString == null) {
- textString = "Java3D";
- }
- setLayout(new BorderLayout());
-
- button = new Button("remove behaviors");
- button.addActionListener(this);
- Panel p = new Panel();
- p.add(button);
- add("South", p);
-
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
-
- // create a SimpleUniverse with 4 TransformGroups for the mouse
- // behaviors
- u = new SimpleUniverse(c);
-
- // add the behaviors to the ViewingPlatform
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
-
- viewingPlatform.setNominalViewingTransform();
-
- // add orbit behavior to ViewingPlatform
- orbit = new OrbitBehavior(c, OrbitBehavior.REVERSE_ALL |
- OrbitBehavior.STOP_ZOOM);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- behaviorsOn = true;
-
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == button) {
- ViewingPlatform v = u.getViewingPlatform();
- if (behaviorsOn) {
- v.setViewPlatformBehavior(null);
- button.setLabel("add behaviors");
- behaviorsOn = false;
- }
- else {
- v.setViewPlatformBehavior(orbit);
- button.setLabel("remove behaviors");
- behaviorsOn = true;
- }
- }
- }
-
- //
- // The following allows Text3DLoad to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new Text3DLoad(args), 700, 700);
- }
-}
diff --git a/src/Text3D/Text3DLoad_plugin.html b/src/Text3D/Text3DLoad_plugin.html
deleted file mode 100644
index 65aa63f..0000000
--- a/src/Text3D/Text3DLoad_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Text3DLoad</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "Text3DLoad.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "Text3DLoad.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "Text3DLoad.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Text3D/build.xml b/src/Text3D/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/Text3D/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/TextureByReference/AnimateTexturesBehavior.java b/src/TextureByReference/AnimateTexturesBehavior.java
deleted file mode 100644
index a580ba2..0000000
--- a/src/TextureByReference/AnimateTexturesBehavior.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import java.awt.image.BufferedImage;
-import java.awt.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import java.util.Enumeration;
-
-public class AnimateTexturesBehavior extends Behavior {
-
-
- // what image are we on
- private int current;
- private int max;
-
- // the images
- private ImageComponent2D[] images;
-
- // the target
- private Texture2D texture;
- private Appearance appearance;
-
- // the wakeup criterion
- private WakeupCriterion wakeupC;
-
- // are the images flipped?
- private boolean flip;
-
- // need the current type because by copy changes all images
- // to TYPE_INT_ARGB
- private int currentType;
-
- // for custom types
- public static final int TYPE_CUSTOM_RGBA = 0x01;
- public static final int TYPE_CUSTOM_RGB = 0x02;
-
- private int customType;
-
- // create a new AnimateTextureBehavior
- // initialize the images
- public AnimateTexturesBehavior(Texture2D texP,
- java.net.URL[] fnames,
- Appearance appP,
- TextureByReference applet) {
- int size = fnames.length;
- images = new ImageComponent2D[size];
- BufferedImage bImage;
- TextureLoader loader;
- for (int i = 0; i < size; i++) {
- loader = new TextureLoader(fnames[i],
- TextureLoader.BY_REFERENCE |
- TextureLoader.Y_UP, applet);
- images[i] = loader.getImage();
- bImage = images[i].getImage();
-
- // convert the image to TYPE_4BYTE_ABGR
- currentType = BufferedImage.TYPE_4BYTE_ABGR;
- bImage = ImageOps.convertImage(bImage, currentType);
- // flip the image
- flip = true;
- ImageOps.flipImage(bImage);
-
- // set the image on the ImageComponent to the new one
- images[i].set(bImage);
-
- images[i].setCapability(ImageComponent.ALLOW_IMAGE_READ);
- images[i].setCapability(ImageComponent.ALLOW_FORMAT_READ);
- }
- texture = texP;
- current = 0;
- max = size;
- wakeupC = new WakeupOnElapsedFrames(20);
- appearance = appP;
- }
-
- // initialize to the first image
- public void initialize() {
- texture.setImage(0, images[current]);
- if (current < max-1) current++;
- else current = 0;
- wakeupOn(wakeupC);
- }
-
- // procesStimulus changes the ImageComponent of the texture
- public void processStimulus(Enumeration criteria) {
- // ImageOps.printType(images[current].getImage());
- texture.setImage(0, images[current]);
- appearance.setTexture(texture);
- if (current < max-1) current++;
- else current = 0;
- wakeupOn(wakeupC);
- }
-
- // flip the image -- useful depending on yUp
- public void setFlipImages(boolean b) {
- // double check that flipping is necessary
- if (b != flip) {
- BufferedImage bImage;
-
- // these are the same for all images so get info once
- int format = images[0].getFormat();
- boolean byRef = images[0].isByReference();
- boolean yUp = images[0].isYUp();
-
- // flip all the images
- // have to new ImageComponents because can't set the image at runtime
- for (int i = 0; i < images.length; i++) {
- bImage = images[i].getImage();
- ImageOps.flipImage(bImage);
- // if we are byRef and the bImage type does not match currentType
- // we need to convert it. If we are not byRef we will
- // save converting until it is changed to byRef
- if (byRef && bImage.getType() != currentType) {
- if (currentType != BufferedImage.TYPE_CUSTOM) {
- bImage = ImageOps.convertImage(bImage, currentType);
- }
- else if (customType == this.TYPE_CUSTOM_RGBA) {
- bImage = ImageOps.convertToCustomRGBA(bImage);
- }
- else {
- bImage = ImageOps.convertToCustomRGB(bImage);
- }
- }
- images[i] = new ImageComponent2D(format, bImage, byRef, yUp);
- images[i].setCapability(ImageComponent.ALLOW_IMAGE_READ);
- images[i].setCapability(ImageComponent.ALLOW_FORMAT_READ);
- }
-
- // set flip to new value
- flip = b;
- }
- }
-
- // create new ImageComponents with yUp set to the parameter. yUp on
- // an ImageComponent cannot be changed at runtim
- public void setYUp(boolean b) {
- // double check that changing yUp is necessary
- if (b != images[0].isYUp()) {
-
- // these are the same for all images so get info once
- int format = images[0].getFormat();
- boolean byRef = images[0].isByReference();
-
- // reset yUp on all the images -- have to new ImageComponents because
- // cannot change the value at runtime
- for (int i = 0; i < images.length; i++) {
- // if we are byRef and the bImage type does not match currentType
- // we need to convert it. If we are not byRef we will
- // save converting until it is changed to byRef
- BufferedImage bImage = images[i].getImage();
- if (byRef && bImage.getType() != currentType) {
- // bImage = ImageOps.convertImage(bImage, currentType);
- if (currentType != BufferedImage.TYPE_CUSTOM) {
- bImage = ImageOps.convertImage(bImage, currentType);
- }
- else if (customType == this.TYPE_CUSTOM_RGBA) {
- bImage = ImageOps.convertToCustomRGBA(bImage);
- }
- else {
- bImage = ImageOps.convertToCustomRGB(bImage);
- }
- }
- images[i] = new ImageComponent2D(format, bImage,
- byRef, b);
- images[i].setCapability(ImageComponent.ALLOW_IMAGE_READ);
- images[i].setCapability(ImageComponent.ALLOW_FORMAT_READ);
- }
- }
- }
-
- // create new ImageComponents with ByReference set by parameter.
- // by reference cannot be changed on an image component at runtime
- public void setByReference(boolean b) {
- // double check that changing is necessary
- if (b != images[0].isByReference()) {
-
- // these are the same for all images so get info once
- int format = images[0].getFormat();
- boolean yUp = images[0].isYUp();
-
- // reset yUp on all the images
- // have to new ImageComponents because cannot set value
- for (int i = 0; i < images.length; i++) {
- // if the bImage type does not match currentType and we are setting
- // to byRef we need to convert it
- BufferedImage bImage = images[i].getImage();
- if (bImage.getType() != currentType && b) {
- // bImage = ImageOps.convertImage(bImage, currentType);
- if (currentType != BufferedImage.TYPE_CUSTOM) {
- bImage = ImageOps.convertImage(bImage, currentType);
- }
- else if (customType == this.TYPE_CUSTOM_RGBA) {
- bImage = ImageOps.convertToCustomRGBA(bImage);
- }
- else {
- bImage = ImageOps.convertToCustomRGB(bImage);
- }
- }
- images[i] = new ImageComponent2D(format, bImage, b, yUp);
- images[i].setCapability(ImageComponent.ALLOW_IMAGE_READ);
- images[i].setCapability(ImageComponent.ALLOW_FORMAT_READ);
- }
- }
- }
-
- // make a new wakeup criterion object based on the new delay time
- public void setFrameDelay(int delay) {
- wakeupC = new WakeupOnElapsedFrames(delay);
- }
-
- //change the type of image
- public void setImageType(int newType) {
- currentType = newType;
-
- // only need to change the images if we are byRef otherwise will change
- // them when we chnage to byRef
- if (images[0].isByReference() == true) {
- // this information is the same for all
- int format = images[0].getFormat();
- boolean yUp = images[0].isYUp();
- boolean byRef = true;
- for (int i = 0; i < images.length; i++) {
- BufferedImage bImage = images[i].getImage();
- bImage = ImageOps.convertImage(bImage, currentType);
- images[i] = new ImageComponent2D(format, bImage, byRef, yUp);
- images[i].setCapability(ImageComponent.ALLOW_IMAGE_READ);
- images[i].setCapability(ImageComponent.ALLOW_FORMAT_READ);
- }
- }
- }
-
- public void setImageTypeCustomRGBA() {
- currentType = BufferedImage.TYPE_CUSTOM;
- customType = this.TYPE_CUSTOM_RGBA;
-
- // only need to change images if we are byRef otherwise will change
- // them when we change to byRef
- if (images[0].isByReference()) {
- // this information is the same for all
- int format = images[0].getFormat();
- boolean yUp = images[0].isYUp();
- boolean byRef = true;
- for (int i = 0; i < images.length; i++) {
- BufferedImage bImage = images[i].getImage();
- bImage = ImageOps.convertToCustomRGBA(bImage);
- images[i] = new ImageComponent2D(format, bImage, byRef, yUp);
- images[i].setCapability(ImageComponent.ALLOW_IMAGE_READ);
- images[i].setCapability(ImageComponent.ALLOW_FORMAT_READ);
- }
- }
- }
-
- public void setImageTypeCustomRGB() {
- currentType = BufferedImage.TYPE_CUSTOM;
- customType = this.TYPE_CUSTOM_RGB;
-
- // only need to change images if we are byRef otherwise will change
- // them when we change to byRef
- if (images[0].isByReference()) {
- // this information is the same for all
- int format = images[0].getFormat();
- boolean yUp = images[0].isYUp();
- boolean byRef = true;
- for (int i = 0; i < images.length; i++) {
- BufferedImage bImage = images[i].getImage();
- bImage = ImageOps.convertToCustomRGB(bImage);
- images[i] = new ImageComponent2D(format, bImage, byRef, yUp);
- images[i].setCapability(ImageComponent.ALLOW_IMAGE_READ);
- images[i].setCapability(ImageComponent.ALLOW_FORMAT_READ);
- }
- }
- }
-}
diff --git a/src/TextureByReference/ImageOps.java b/src/TextureByReference/ImageOps.java
deleted file mode 100644
index d5a8bec..0000000
--- a/src/TextureByReference/ImageOps.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-import java.awt.image.*;
-import java.awt.color.*;
-
-// some useful, static image operations
-
-public class ImageOps {
-
- // flip the image
- public static void flipImage(BufferedImage bImage) {
- int width = bImage.getWidth();
- int height = bImage.getHeight();
- int[] rgbArray = new int[width*height];
- bImage.getRGB(0, 0, width, height, rgbArray, 0, width);
- int[] tempArray = new int[width*height];
- int y2 = 0;
- for (int y = height-1; y >= 0; y--) {
- for (int x = 0; x < width; x++) {
- tempArray[y2*width+x] = rgbArray[y*width+x];
- }
- y2++;
- }
- bImage.setRGB(0, 0, width, height, tempArray, 0, width);
- }
-
-
- // convert the image to a specified BufferedImage type and return it
- public static BufferedImage convertImage(BufferedImage bImage, int type) {
- int width = bImage.getWidth();
- int height = bImage.getHeight();
- BufferedImage newImage = new BufferedImage(width, height, type);
- int[] rgbArray = new int[width*height];
- bImage.getRGB(0, 0, width, height, rgbArray, 0, width);
- newImage.setRGB(0, 0, width, height, rgbArray, 0, width);
- return newImage;
- }
-
- // print out some of the types of BufferedImages
- static void printType(BufferedImage bImage) {
- int type = bImage.getType();
- if (type == BufferedImage.TYPE_4BYTE_ABGR) {
- System.out.println("TYPE_4BYTE_ABGR");
- }
- else if (type == BufferedImage.TYPE_INT_ARGB) {
- System.out.println("TYPE_INT_ARGB");
- }
- else if (type == BufferedImage.TYPE_3BYTE_BGR) {
- System.out.println("TYPE_3BYTE_BGR");
- }
- else if (type == BufferedImage.TYPE_CUSTOM) {
- System.out.println("TYPE_CUSTOM");
- }
- else System.out.println(type);
- }
-
- public static BufferedImage convertToCustomRGBA(BufferedImage bImage) {
- if (bImage.getType() != BufferedImage.TYPE_INT_ARGB) {
- ImageOps.convertImage(bImage, BufferedImage.TYPE_INT_ARGB);
- }
-
- int width = bImage.getWidth();
- int height = bImage.getHeight();
-
- ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
- int[] nBits = {8, 8, 8, 8};
- ColorModel cm = new ComponentColorModel(cs, nBits, true, false,
- Transparency.OPAQUE, 0);
- int[] bandOffset = {0, 1, 2, 3};
-
- WritableRaster newRaster =
- Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height,
- width*4, 4, bandOffset, null);
- byte[] byteData = ((DataBufferByte)newRaster.getDataBuffer()).getData();
- Raster origRaster = bImage.getData();
- int[] pixel = new int[4];
- int k = 0;
- for (int j = 0; j < height; j++) {
- for (int i = 0; i < width; i++) {
- pixel = origRaster.getPixel(i, j, pixel);
- byteData[k++] = (byte)(pixel[0]);
- byteData[k++] = (byte)(pixel[1]);
- byteData[k++] = (byte)(pixel[2]);
- byteData[k++] = (byte)(pixel[3]);
- }
- }
- BufferedImage newImage = new BufferedImage(cm, newRaster, false, null);
-// if (newImage.getType() == BufferedImage.TYPE_CUSTOM) {
-// System.out.println("Type is custom");
-// }
- return newImage;
- }
-
- public static BufferedImage convertToCustomRGB(BufferedImage bImage) {
- if (bImage.getType() != BufferedImage.TYPE_INT_ARGB) {
- ImageOps.convertImage(bImage, BufferedImage.TYPE_INT_ARGB);
- }
-
- int width = bImage.getWidth();
- int height = bImage.getHeight();
-
- ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
- int[] nBits = {8, 8, 8};
- ColorModel cm = new ComponentColorModel(cs, nBits, false, false,
- Transparency.OPAQUE, 0);
- int[] bandOffset = {0, 1, 2};
-
- WritableRaster newRaster =
- Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height,
- width*3, 3, bandOffset, null);
- byte[] byteData = ((DataBufferByte)newRaster.getDataBuffer()).getData();
- Raster origRaster = bImage.getData();
- int[] pixel = new int[4];
- int k = 0;
- for (int j = 0; j < height; j++) {
- for (int i = 0; i < width; i++) {
- pixel = origRaster.getPixel(i, j, pixel);
- byteData[k++] = (byte)(pixel[0]);
- byteData[k++] = (byte)(pixel[1]);
- byteData[k++] = (byte)(pixel[2]);
- }
- }
- BufferedImage newImage = new BufferedImage(cm, newRaster, false, null);
-// if (newImage.getType() == BufferedImage.TYPE_CUSTOM) {
-// System.out.println("Type is custom");
-// }
- return newImage;
- }
-}
-
diff --git a/src/TextureByReference/Tetrahedron.java b/src/TextureByReference/Tetrahedron.java
deleted file mode 100644
index 11d4a89..0000000
--- a/src/TextureByReference/Tetrahedron.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-
-public class Tetrahedron extends Shape3D {
-
- private static final float sqrt3 = (float) Math.sqrt(3.0);
- private static final float sqrt3_3 = sqrt3 / 3.0f;
- private static final float sqrt24_3 = (float) Math.sqrt(24.0) / 3.0f;
-
- private static final float ycenter = 0.5f * sqrt24_3;
- private static final float zcenter = -sqrt3_3;
-
- private static final Point3f p1 = new Point3f(-1.0f, -ycenter, -zcenter);
- private static final Point3f p2 = new Point3f(1.0f, -ycenter, -zcenter);
- private static final Point3f p3 = new Point3f(0.0f, -ycenter, -sqrt3 - zcenter);
- private static final Point3f p4 = new Point3f(0.0f, sqrt24_3 - ycenter, 0.0f);
-
- private static final Point3f[] verts = {
- p1, p2, p4, // front face
- p1, p4, p3, // left, back face
- p2, p3, p4, // right, back face
- p1, p3, p2, // bottom face
- };
-
- private Point2f texCoord[] = {
- new Point2f(-0.25f, 0.0f),
- new Point2f(1.25f, 0.0f),
- new Point2f(0.5f, 2.0f),
- };
-
- private TriangleArray geometryByRef;
- private TriangleArray geometryByCopy;
-
- // for geometry by reference
- private Point3f[] verticesArray = new Point3f[12];
- private TexCoord2f[] textureCoordsArray = new TexCoord2f[12];
- private Vector3f[] normalsArray = new Vector3f[12];
-
- // default to geometry by copy
- public Tetrahedron() {
- this(false);
- }
-
- // creates a tetrahedron with geometry by reference or by copy depending on
- // the byRef parameter
- public Tetrahedron(boolean byRef) {
- if (byRef) {
- createGeometryByRef();
- this.setGeometry(geometryByRef);
- }
- else {
- createGeometryByCopy();
- this.setGeometry(geometryByCopy);
- }
- this.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
- this.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);
- setAppearance(new Appearance());
- }
-
- // create the geometry by reference and
- // store it in the geometryByRef variable
- public void createGeometryByRef() {
-// System.out.println("createGeometryByRef");
- geometryByRef = new TriangleArray(12, TriangleArray.COORDINATES |
- TriangleArray.NORMALS |
- TriangleArray.TEXTURE_COORDINATE_2 |
- TriangleArray.BY_REFERENCE);
-
- int i;
-
- // the coordinates
- for (i = 0; i < 12; i++) {
- verticesArray[i] = new Point3f(verts[i]);
- }
- geometryByRef.setCoordRef3f(verticesArray);
-// System.out.println("coordinates set");
-// Point3f[] temp1 = geometryByRef.getCoordRef3f();
-// for (i = 0; i < 12; i++) {
-// System.out.println(temp1[i]);
-// }
-
- // the texture coordinates
- for (i = 0; i < 12; i++) {
- textureCoordsArray[i] = new TexCoord2f(texCoord[i%3]);
- }
- geometryByRef.setTexCoordRef2f(0, textureCoordsArray);
-// System.out.println("texture coords set");
-// TexCoord2f[] temp2 = geometryByRef.getTexCoordRef2f(0);
-// for (i = 0; i < 12; i++) {
-// System.out.println(temp2[i]);
-// }
-
- // the normals
- Vector3f normal = new Vector3f();
- Vector3f v1 = new Vector3f();
- Vector3f v2 = new Vector3f();
- Point3f[] pts = new Point3f[3];
- for (int face = 0; face < 4; face++) {
- pts[0] = new Point3f(verts[face*3]);
- pts[1] = new Point3f(verts[face*3+1]);
- pts[2] = new Point3f(verts[face*3+2]);
- v1.sub(pts[1], pts[0]);
- v2.sub(pts[2], pts[0]);
- normal.cross(v1, v2);
- normal.normalize();
- for (i = 0; i < 3; i++) {
- normalsArray[face*3+i] = new Vector3f(normal);
- }
- }
- geometryByRef.setNormalRef3f(normalsArray);
-// System.out.println("normals set");
-// Vector3f[] temp3 = geometryByRef.getNormalRef3f();
-// for (i = 0; i < 12; i++) {
-// System.out.println(temp3[i]);
-// }
- }
-
- // create the geometry by copy and store it in the geometryByCopy variable
- public void createGeometryByCopy() {
- int i;
- geometryByCopy = new TriangleArray(12, TriangleArray.COORDINATES |
- TriangleArray.NORMALS |
- TriangleArray.TEXTURE_COORDINATE_2);
-
- geometryByCopy.setCoordinates(0, verts);
-
- for (i = 0; i < 12; i++) {
- geometryByCopy.setTextureCoordinate(0, i,
- new TexCoord2f(texCoord[i%3]));
- }
-
- int face;
- Vector3f normal = new Vector3f();
- Vector3f v1 = new Vector3f();
- Vector3f v2 = new Vector3f();
- Point3f [] pts = new Point3f[3];
- for (i = 0; i < 3; i++) pts[i] = new Point3f();
-
- for (face = 0; face < 4; face++) {
- geometryByCopy.getCoordinates(face*3, pts);
- v1.sub(pts[1], pts[0]);
- v2.sub(pts[2], pts[0]);
- normal.cross(v1, v2);
- normal.normalize();
- for (i = 0; i < 3; i++) {
- geometryByCopy.setNormal((face * 3 + i), normal);
- }
- }
- }
-
- // set the geometry to geometryByRef or geometryByCopy depending on the
- // parameter. Create geometryByRef or geometryByCopy if necessary
- public void setByReference(boolean b) {
-// System.out.println("Tetrahedron.setByReference " + b);
- // by reference is true
- if (b) {
- // if there is no geometryByRef, create it
- if (geometryByRef == null) {
- createGeometryByRef();
- }
- // set the geometry
- this.setGeometry(geometryByRef);
- }
- // by reference is false
- else {
- // if there is no geometryByCopy, create it
- if (geometryByCopy == null) {
- createGeometryByCopy();
- }
- // set the geometry
- this.setGeometry(geometryByCopy);
- }
- }
-}
-
-
diff --git a/src/TextureByReference/TextureByReference.html b/src/TextureByReference/TextureByReference.html
deleted file mode 100644
index 7d7be3e..0000000
--- a/src/TextureByReference/TextureByReference.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>TextureByReference</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="TextureByReference.class" width=600 height=750>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see the TextureByReference applet instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML> \ No newline at end of file
diff --git a/src/TextureByReference/TextureByReference.java b/src/TextureByReference/TextureByReference.java
deleted file mode 100644
index 8e2507c..0000000
--- a/src/TextureByReference/TextureByReference.java
+++ /dev/null
@@ -1,530 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.awt.image.*;
-import java.awt.color.ColorSpace;
-import com.sun.j3d.utils.image.TextureLoader;
-import javax.swing.*;
-import javax.swing.event.*;
-
-
-public class TextureByReference extends Applet
-implements ItemListener, ActionListener, ChangeListener {
-
- // need reference to animation behavior
- private AnimateTexturesBehavior animate;
-
- // need reference to tetrahedron
- private Tetrahedron tetra;
-
- // the gui buttons
- private JCheckBox flipB;
- private JRadioButton texByRef;
- private JRadioButton texByCopy;
- private JRadioButton geomByRef;
- private JRadioButton geomByCopy;
- private JRadioButton img4ByteABGR;
- private JRadioButton img3ByteBGR;
- private JRadioButton imgIntARGB;
- private JRadioButton imgCustomRGBA;
- private JRadioButton imgCustomRGB;
- private JRadioButton yUp;
- private JRadioButton yDown;
- private JButton animationB;
- private JSlider frameDelay;
-
- private SimpleUniverse universe = null;
-
- // image files used for the Texture animation for the applet,
- // or if no parameters are passed in for the application
- public static final String[] defaultFiles = {
- "../images/animation1.gif",
- "../images/animation2.gif",
- "../images/animation3.gif",
- "../images/animation4.gif",
- "../images/animation5.gif",
- "../images/animation6.gif",
- "../images/animation7.gif",
- "../images/animation8.gif",
- "../images/animation9.gif",
- "../images/animation10.gif"};
-
- private java.net.URL[] urls = null;
-
-
- public TextureByReference() {
- }
-
- public TextureByReference(java.net.URL[] fnamesP) {
- urls = fnamesP;
- }
-
- public void init() {
- if (urls == null) {
- urls = new java.net.URL[defaultFiles.length];
- for (int i = 0; i < defaultFiles.length; i++) {
- try {
- urls[i] = new java.net.URL(getCodeBase().toString() +
- defaultFiles[i]);
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- }
- setLayout(new BorderLayout());
- GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D canvas = new Canvas3D(config);
-
- add("Center", canvas);
-
- // create a simple scene graph and attach it to a simple universe
- BranchGroup scene = createSceneGraph();
- universe = new SimpleUniverse(canvas);
- universe.getViewingPlatform().setNominalViewingTransform();
- universe.addBranchGraph(scene);
-
- // create the gui
- JPanel gui = buildGui();
-
- this.add("South", gui);
- }
-
- public void destroy() {
- universe.cleanup();
- }
-
- public JPanel buildGui() {
- flipB = new JCheckBox("flip image", true);
- flipB.addItemListener(this);
- javax.swing.Box flipBox = new javax.swing.Box(BoxLayout.Y_AXIS);
- flipBox.add(flipB);
- Component strut1 = flipBox.createVerticalStrut(flipB.getPreferredSize().height);
- Component strut2 = flipBox.createVerticalStrut(flipB.getPreferredSize().height);
- Component strut3 = flipBox.createVerticalStrut(flipB.getPreferredSize().height);
- Component strut4 = flipBox.createVerticalStrut(flipB.getPreferredSize().height);
- Component strut5 = flipBox.createVerticalStrut(flipB.getPreferredSize().height);
- flipBox.add(strut1);
- flipBox.add(strut2);
- flipBox.add(strut3);
- flipBox.add(strut4);
- flipBox.add(strut5);
-
- yUp = new JRadioButton("y up");
- yUp.addActionListener(this);
- yUp.setSelected(true);
- yDown = new JRadioButton("y down");
- yDown.addActionListener(this);
- ButtonGroup yGroup = new ButtonGroup();
- yGroup.add(yUp);
- yGroup.add(yDown);
- JLabel yLabel = new JLabel("Image Orientation:");
- javax.swing.Box yBox = new javax.swing.Box(BoxLayout.Y_AXIS);
- yBox.add(yLabel);
- yBox.add(yUp);
- yBox.add(yDown);
- strut1 = yBox.createVerticalStrut(yUp.getPreferredSize().height);
- strut2 = yBox.createVerticalStrut(yUp.getPreferredSize().height);
- strut3 = yBox.createVerticalStrut(yUp.getPreferredSize().height);
- yBox.add(strut1);
- yBox.add(strut2);
- yBox.add(strut3);
-
- texByRef = new JRadioButton("by reference");
- texByRef.addActionListener(this);
- texByRef.setSelected(true);
- texByCopy = new JRadioButton("by copy");
- texByCopy.addActionListener(this);
- ButtonGroup texGroup = new ButtonGroup();
- texGroup.add(texByRef);
- texGroup.add(texByCopy);
- JLabel texLabel = new JLabel("Texture:*");
- javax.swing.Box texBox = new javax.swing.Box(BoxLayout.Y_AXIS);
- texBox.add(texLabel);
- texBox.add(texByRef);
- texBox.add(texByCopy);
- strut1 = texBox.createVerticalStrut(texByRef.getPreferredSize().height);
- strut2 = texBox.createVerticalStrut(texByRef.getPreferredSize().height);
- strut3 = texBox.createVerticalStrut(texByRef.getPreferredSize().height);
- texBox.add(strut1);
- texBox.add(strut2);
- texBox.add(strut3);
-
- geomByRef = new JRadioButton("by reference");
- geomByRef.addActionListener(this);
- geomByRef.setSelected(true);
- geomByCopy = new JRadioButton("by copy");
- geomByCopy.addActionListener(this);
- ButtonGroup geomGroup = new ButtonGroup();
- geomGroup.add(geomByRef);
- geomGroup.add(geomByCopy);
- JLabel geomLabel = new JLabel("Geometry:");
- javax.swing.Box geomBox = new javax.swing.Box(BoxLayout.Y_AXIS);
- geomBox.add(geomLabel);
- geomBox.add(geomByRef);
- geomBox.add(geomByCopy);
- strut1 = geomBox.createVerticalStrut(geomByRef.getPreferredSize().height);
- strut2 = geomBox.createVerticalStrut(geomByRef.getPreferredSize().height);
- strut3 = geomBox.createVerticalStrut(geomByRef.getPreferredSize().height);
- geomBox.add(strut1);
- geomBox.add(strut2);
- geomBox.add(strut3);
-
- img4ByteABGR = new JRadioButton("TYPE_4BYTE_ABGR");
- img4ByteABGR.addActionListener(this);
- img4ByteABGR.setSelected(true);
- img3ByteBGR = new JRadioButton("TYPE_3BYTE_BGR");
- img3ByteBGR.addActionListener(this);
- imgIntARGB = new JRadioButton("TYPE_INT_ARGB");
- imgIntARGB.addActionListener(this);
- imgCustomRGBA = new JRadioButton("TYPE_CUSTOM RGBA");
- imgCustomRGBA.addActionListener(this);
- imgCustomRGB = new JRadioButton("TYPE_CUSTOM RGB");
- imgCustomRGB.addActionListener(this);
- ButtonGroup imgGroup = new ButtonGroup();
- imgGroup.add(img4ByteABGR);
- imgGroup.add(img3ByteBGR);
- imgGroup.add(imgIntARGB);
- imgGroup.add(imgCustomRGBA);
- imgGroup.add(imgCustomRGB);
- JLabel imgLabel = new JLabel("Image Type:*");
- javax.swing.Box imgBox = new javax.swing.Box(BoxLayout.Y_AXIS);
- imgBox.add(imgLabel);
- imgBox.add(img4ByteABGR);
- imgBox.add(img3ByteBGR);
- imgBox.add(imgIntARGB);
- imgBox.add(imgCustomRGBA);
- imgBox.add(imgCustomRGB);
-
- javax.swing.Box topBox = new javax.swing.Box(BoxLayout.X_AXIS);
- topBox.add(flipBox);
- topBox.add(texBox);
- topBox.add(geomBox);
- topBox.add(yBox);
- Component strut = topBox.createRigidArea(new Dimension(10, 10));
- topBox.add(strut);
- topBox.add(imgBox);
-
- frameDelay = new JSlider(0, 50, 0);
- frameDelay.addChangeListener(this);
- frameDelay.setSnapToTicks(true);
- frameDelay.setPaintTicks(true);
- frameDelay.setPaintLabels(true);
- frameDelay.setMajorTickSpacing(10);
- frameDelay.setMinorTickSpacing(1);
- frameDelay.setValue(20);
- JLabel delayL = new JLabel("frame delay");
- javax.swing.Box delayBox = new javax.swing.Box(BoxLayout.X_AXIS);
- delayBox.add(delayL);
- delayBox.add(frameDelay);
-
- animationB = new JButton(" stop animation ");
- animationB.addActionListener(this);
-
- JLabel texInfo1 = new JLabel("*To use ImageComponent by reference feature, use TYPE_4BYTE_ABGR on Solaris");
- JLabel texInfo2 = new JLabel("and TYPE_3BYTE_BGR on Windows");
-
- JPanel buttonP = new JPanel();
- GridBagLayout gridbag = new GridBagLayout();
- GridBagConstraints c = new GridBagConstraints();
- buttonP.setLayout(gridbag);
- c.anchor = GridBagConstraints.CENTER;
- c.gridwidth = GridBagConstraints.REMAINDER;
- gridbag.setConstraints(topBox, c);
- buttonP.add(topBox);
- gridbag.setConstraints(delayBox, c);
- buttonP.add(delayBox);
- gridbag.setConstraints(animationB, c);
- buttonP.add(animationB);
- gridbag.setConstraints(texInfo1, c);
- buttonP.add(texInfo1);
- gridbag.setConstraints(texInfo2, c);
- buttonP.add(texInfo2);
-
- return buttonP;
-
- }
-
- public BranchGroup createSceneGraph() {
-
- // create the root of the branch group
- BranchGroup objRoot = new BranchGroup();
-
- // create the transform group node and initialize it
- // enable the TRANSFORM_WRITE capability so that it can be modified
- // at runtime. Add it to the root of the subgraph
- Transform3D rotate = new Transform3D();
- TransformGroup objTrans = new TransformGroup(rotate);
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
-
- // bounds
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // set up some light
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -0.5f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
-
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- objRoot.addChild(aLgt);
- objRoot.addChild(lgt1);
-
-
- Appearance appearance = new Appearance();
-
- // enable the TEXTURE_WRITE so we can modify it at runtime
- appearance.setCapability(Appearance.ALLOW_TEXTURE_WRITE);
-
- // load the first texture
- TextureLoader loader = new TextureLoader(urls[0],
- TextureLoader.BY_REFERENCE |
- TextureLoader.Y_UP,
- this);
- // get the texture from the loader
- Texture2D tex = (Texture2D)loader.getTexture();
-
- // get the BufferedImage to convert to TYPE_4BYTE_ABGR and flip
- // get the ImageComponent because we need it anyway
- ImageComponent2D imageComp = (ImageComponent2D)tex.getImage(0);
- BufferedImage bImage = imageComp.getImage();
- // convert the image
- bImage = ImageOps.convertImage(bImage, BufferedImage.TYPE_4BYTE_ABGR);
- // flip the image
- ImageOps.flipImage(bImage);
- imageComp.set(bImage);
-
- tex.setCapability(Texture.ALLOW_IMAGE_WRITE);
- tex.setBoundaryModeS(Texture.CLAMP);
- tex.setBoundaryModeT(Texture.CLAMP);
- tex.setBoundaryColor(1.0f, 1.0f, 1.0f, 1.0f);
-
- // set the image of the texture
- tex.setImage(0, imageComp);
-
- // set the texture on the appearance
- appearance.setTexture(tex);
-
- // set texture attributes
- TextureAttributes texAttr = new TextureAttributes();
- texAttr.setTextureMode(TextureAttributes.MODULATE);
- appearance.setTextureAttributes(texAttr);
-
- // set material properties
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- appearance.setMaterial(new Material(white, black, white, black, 1.0f));
-
- // create a scale transform
- Transform3D scale = new Transform3D();
- scale.set(.6);
- TransformGroup objScale = new TransformGroup(scale);
- objTrans.addChild(objScale);
-
- tetra = new Tetrahedron(true);
- tetra.setAppearance(appearance);
- objScale.addChild(tetra);
-
- // create the behavior
- animate = new AnimateTexturesBehavior(tex,
- urls,
- appearance,
- this);
- animate.setSchedulingBounds(bounds);
-
- objTrans.addChild(animate);
-
- // add a rotation behavior so we can see all sides of the tetrahedron
- Transform3D yAxis = new Transform3D();
- Alpha rotorAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator =
- new RotationInterpolator(rotorAlpha,
- objTrans,
- yAxis,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
-
-
- // have java3d perform optimizations on this scene graph
- objRoot.compile();
-
- return objRoot;
- }
-
- // callback for the animation button and delay text field
- public void actionPerformed(ActionEvent e) {
- Object o = e.getSource();
-
- // for the animation button
- if (o == animationB) {
- if (animate.getEnable()) {
- animate.setEnable(false);
- animationB.setText("start animation");
- }
- else {
- animate.setEnable(true);
- animationB.setText(" stop animation ");
- }
- }
-
- // for the texByRef button
- else if (o == texByRef && texByRef.isSelected()) {
- animate.setByReference(true);
- }
- // texByCopy button
- else if (o == texByCopy && texByCopy.isSelected()) {
- animate.setByReference(false);
- }
- // yUp button
- else if (o == yUp && yUp.isSelected()) {
- animate.setYUp(true);
- }
- // ydown button
- else if (o == yDown && yDown.isSelected()) {
- animate.setYUp(false);
- }
- //geomByRef button
- else if (o == geomByRef) {
- tetra.setByReference(true);
- }
- // geomByCopy button
- else if (o == geomByCopy) {
- tetra.setByReference(false);
- }
- // TYPE_INT_ARGB
- else if (o == imgIntARGB) {
- animate.setImageType(BufferedImage.TYPE_INT_ARGB);
- }
- // TYPE_4BYTE_ABGR
- else if (o == img4ByteABGR) {
- animate.setImageType(BufferedImage.TYPE_4BYTE_ABGR);
- }
- // TYPE_3BYTE_BGR
- else if (o == img3ByteBGR) {
- animate.setImageType(BufferedImage.TYPE_3BYTE_BGR);
- }
- // TYPE_CUSTOM RGBA
- else if (o == imgCustomRGBA) {
- animate.setImageTypeCustomRGBA();
- }
- // TYPE_CUSTOM RGB
- else if (o == imgCustomRGB) {
- animate.setImageTypeCustomRGB();
- }
- }
-
- // callback for the checkboxes
- public void itemStateChanged(ItemEvent e) {
- Object o = e.getSource();
- // for the flip checkbox
- if (o == flipB) {
- if (e.getStateChange() == ItemEvent.DESELECTED) {
- animate.setFlipImages(false);
- }
- else animate.setFlipImages(true);
- }
- }
-
- // callback for the slider
- public void stateChanged(ChangeEvent e) {
- Object o = e.getSource();
- // for the frame delay
- if (o == frameDelay) {
- animate.setFrameDelay(frameDelay.getValue());
- }
- }
-
- // allows TextureByReference to be run as an application as well as an applet
- public static void main(String[] args) {
- java.net.URL fnames[] = null;
- if (args.length > 1) {
- fnames = new java.net.URL[args.length];
- for (int i = 0; i < args.length; i++) {
- try {
- fnames[i] = new java.net.URL("file:" + args[i]);
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- }
- }
- }
- else {
- fnames = new java.net.URL[TextureByReference.defaultFiles.length];
- for (int i = 0; i < TextureByReference.defaultFiles.length; i++) {
- try {
- fnames[i] = new java.net.URL("file:" +
- TextureByReference.defaultFiles[i]);
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- }
- new MainFrame((new TextureByReference(fnames)), 650, 750);
- }
-}
-
-
-
-
-
-
diff --git a/src/TextureByReference/TextureByReference_plugin.html b/src/TextureByReference/TextureByReference_plugin.html
deleted file mode 100644
index ef0d161..0000000
--- a/src/TextureByReference/TextureByReference_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>TextureByReference</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 600 HEIGHT = 750 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "TextureByReference.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "TextureByReference.class" WIDTH = 600 HEIGHT = 750 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see the TextureByReference applet instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "TextureByReference.class" WIDTH = 600 HEIGHT = 750 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see the TextureByReference applet instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/TextureByReference/build.xml b/src/TextureByReference/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/TextureByReference/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/TextureTest/MultiTextureTest.html b/src/TextureTest/MultiTextureTest.html
deleted file mode 100644
index bc60c6c..0000000
--- a/src/TextureTest/MultiTextureTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>MultiTextureTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="MultiTextureTest.class" width=750 height=750>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/TextureTest/MultiTextureTest.java b/src/TextureTest/MultiTextureTest.java
deleted file mode 100644
index e38eb71..0000000
--- a/src/TextureTest/MultiTextureTest.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import com.sun.j3d.utils.image.TextureLoader;
-import com.sun.j3d.utils.geometry.Box;
-import com.sun.j3d.utils.behaviors.vp.*;
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.awt.image.BufferedImage;
-
-public class MultiTextureTest extends Applet implements ItemListener{
-
- Choice choice;
- TextureUnitState textureUnitState[] = new TextureUnitState[2];
- Texture stoneTex;
- Texture skyTex;
- Texture lightTex;
-
- private java.net.URL stoneImage = null;
- private java.net.URL skyImage = null;
-
- private SimpleUniverse u = null;
-
- public Texture createLightMap(){
-
- int width = 128;
- int height = 128;
- BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
- int [] rgbArray = new int[width * height];
- int index, index2;
- int rgbInc = 256 / (width / 2 - 20);
- int rgbValue = 0;
- int k = width/2 - 5;
- int i, j, rgb;
-
- rgb = 0xff;
- rgbValue = rgb | (rgb << 8) | (rgb << 16) | (rgb << 24);
- for ( i = width / 2 - 1, j = 0; j < 10; j++, i--) {
- rgbArray[i] = rgbValue;
- }
-
- for (; i > 8; i--, rgb -= rgbInc) {
- rgbValue = rgb | (rgb << 8) | (rgb << 16) | (rgb << 24);
- rgbArray[i] = rgbValue;
- }
-
- for (; i >= 0; i--) {
- rgbArray[i] = rgbValue;
- }
-
- for (i = 0; i < width/2; i++) {
- rgbValue = rgbArray[i];
- index = i;
- index2 = (width - i - 1);
- for (j = 0; j < height; j++) {
- rgbArray[index] = rgbArray[index2] = rgbValue;
- index += width;
- index2 += width;
- }
- }
-
- bimage.setRGB(0, 0, width, height, rgbArray, 0, width);
-
-
- ImageComponent2D grayImage = new ImageComponent2D(ImageComponent.FORMAT_RGB, bimage);
-
- lightTex = new Texture2D(Texture.BASE_LEVEL, Texture.RGB, width, height);
- lightTex.setImage(0, grayImage);
-
- return lightTex;
- }
-
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- TransformGroup objTrans = new TransformGroup();
- //write-enable for behaviors
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans.setCapability( TransformGroup.ALLOW_TRANSFORM_READ );
- objTrans.setCapability(TransformGroup.ENABLE_PICK_REPORTING);
- objScale.addChild(objTrans);
-
- Appearance ap = new Appearance();
-
- // load textures
- TextureAttributes texAttr1 = new TextureAttributes();
- texAttr1.setTextureMode(TextureAttributes.DECAL);
- TextureAttributes texAttr2 = new TextureAttributes();
- texAttr2.setTextureMode(TextureAttributes.MODULATE);
-
- TextureLoader tex = new TextureLoader(stoneImage, new String("RGB"), this);
- if (tex == null)
- return null;
- stoneTex = tex.getTexture();
-
- tex = new TextureLoader(skyImage, new String("RGB"), this);
- if (tex == null)
- return null;
- skyTex = tex.getTexture();
-
- lightTex = createLightMap();
-
-
- textureUnitState[0] = new TextureUnitState(stoneTex, texAttr1, null);
- textureUnitState[0].setCapability(TextureUnitState.ALLOW_STATE_WRITE);
-
- textureUnitState[1] = new TextureUnitState(lightTex, texAttr2, null);
- textureUnitState[1].setCapability(TextureUnitState.ALLOW_STATE_WRITE);
-
- ap.setTextureUnitState(textureUnitState);
-
- //Create a Box
- Box BoxObj = new Box(1.5f, 1.5f, 0.8f, Box.GENERATE_NORMALS |
- Box.GENERATE_TEXTURE_COORDS, ap, 2);
- // add it to the scene graph.
- objTrans.addChild(BoxObj);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- //Shine it with two lights.
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Color3f lColor2 = new Color3f(0.2f, 0.2f, 0.1f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Vector3f lDir2 = new Vector3f(0.0f, 0.0f, -1.0f);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- DirectionalLight lgt2 = new DirectionalLight(lColor2, lDir2);
- lgt1.setInfluencingBounds(bounds);
- lgt2.setInfluencingBounds(bounds);
- objScale.addChild(lgt1);
- objScale.addChild(lgt2);
-
- // Let Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public MultiTextureTest (){
- }
-
- public MultiTextureTest(java.net.URL stoneURL, java.net.URL skyURL) {
- stoneImage = stoneURL;
- skyImage = skyURL;
- }
-
- public void init() {
- if (stoneImage == null) {
- // the path to the image for an applet
- try {
- stoneImage = new java.net.URL(getCodeBase().toString() +
- "../images/stone.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- if (skyImage == null) {
- // the path to the image for an applet
- try {
- skyImage = new java.net.URL(getCodeBase().toString() +
- "../images/bg.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- ViewingPlatform viewingPlatform = u.getViewingPlatform();
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- viewingPlatform.setNominalViewingTransform();
-
- // add orbit behavior but disable translate
- OrbitBehavior orbit =
- new OrbitBehavior(c, OrbitBehavior.REVERSE_ALL |
- OrbitBehavior.DISABLE_TRANSLATE);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
- orbit.setSchedulingBounds(bounds);
- viewingPlatform.setViewPlatformBehavior(orbit);
-
- u.addBranchGraph(scene);
-
- // create the gui
- choice = new Choice();
- choice.addItem("stone + light");
- choice.addItem("stone");
- choice.addItem("lightMap");
- choice.addItem("sky");
- choice.addItem("stone + sky");
- choice.addItemListener(this);
- add("North", choice);
-
- }
-
- public void destroy() {
- // Cleanup reference to Java3D
- textureUnitState = new TextureUnitState[2];
- u.cleanup();
- }
-
- public void itemStateChanged(ItemEvent e)
- {
- int index = choice.getSelectedIndex();
-
- switch (index) {
- case 0 : /* stone + light */
- textureUnitState[0].setTexture(stoneTex);
- textureUnitState[1].setTexture(lightTex);
- break;
- case 1 : /* stone */
- textureUnitState[0].setTexture(stoneTex);
- textureUnitState[1].setTexture(null);
- break;
- case 2 : /* light */
- textureUnitState[0].setTexture(null);
- textureUnitState[1].setTexture(lightTex);
- break;
- case 3 : /* sky */
- textureUnitState[0].setTexture(null);
- textureUnitState[1].setTexture(skyTex);
- break;
- case 4 : /* stone + sky */
- textureUnitState[0].setTexture(stoneTex);
- textureUnitState[1].setTexture(skyTex);
- break;
- default: /* both */
- break;
- }
- }
-
- public static void main(String argv[])
- {
- java.net.URL stoneURL = null;
- java.net.URL skyURL = null;
- // the path to the image for an application
- try {
- stoneURL = new java.net.URL("file:../images/stone.jpg");
- skyURL = new java.net.URL("file:../images/bg.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- new MainFrame(new MultiTextureTest(stoneURL, skyURL), 750, 750);
- }
-}
-
diff --git a/src/TextureTest/MultiTextureTest_plugin.html b/src/TextureTest/MultiTextureTest_plugin.html
deleted file mode 100644
index 92ef05c..0000000
--- a/src/TextureTest/MultiTextureTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>MultiTextureTest</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 750 HEIGHT = 750 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "MultiTextureTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "MultiTextureTest.class" WIDTH = 750 HEIGHT = 750 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "MultiTextureTest.class" WIDTH = 750 HEIGHT = 750 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/TextureTest/TextureImage.html b/src/TextureTest/TextureImage.html
deleted file mode 100644
index 5fd0a2c..0000000
--- a/src/TextureTest/TextureImage.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>TextureImage</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="TextureImage.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/TextureTest/TextureImage.java b/src/TextureTest/TextureImage.java
deleted file mode 100644
index 7516d37..0000000
--- a/src/TextureTest/TextureImage.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import com.sun.j3d.utils.geometry.Box;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class TextureImage extends Applet {
-
- private java.net.URL texImage = null;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create the transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime. Add it to the
- // root of the subgraph.
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
-
- // Create appearance object for textured cube
- Appearance app = new Appearance();
- Texture tex = new TextureLoader(texImage, this).getTexture();
- app.setTexture(tex);
- TextureAttributes texAttr = new TextureAttributes();
- texAttr.setTextureMode(TextureAttributes.MODULATE);
- app.setTextureAttributes(texAttr);
-
- // Create textured cube and add it to the scene graph.
- Box textureCube = new Box(0.4f, 0.4f, 0.4f,
- Box.GENERATE_TEXTURE_COORDS, app);
- objTrans.addChild(textureCube);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
- public TextureImage() {
- }
-
- public TextureImage(java.net.URL url) {
- texImage = url;
- }
-
- public void init() {
- if (texImage == null) {
- // the path to the image for an applet
- try {
- texImage = new java.net.URL(getCodeBase().toString() +
- "../images/stone.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows TextureImage to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- java.net.URL url = null;
- if (args.length > 0) {
- try {
- url = new java.net.URL("file:" + args[0]);
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- else {
- // the path to the image for an application
- try {
- url = new java.net.URL("file:../images/stone.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
- new MainFrame(new TextureImage(url), 256, 256);
- }
-
-}
diff --git a/src/TextureTest/TextureImage_plugin.html b/src/TextureTest/TextureImage_plugin.html
deleted file mode 100644
index 0608f44..0000000
--- a/src/TextureTest/TextureImage_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>TextureImage</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 256 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "TextureImage.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "TextureImage.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "TextureImage.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/TextureTest/build.xml b/src/TextureTest/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/TextureTest/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/TickTockCollision/Box.java b/src/TickTockCollision/Box.java
deleted file mode 100644
index cb133a9..0000000
--- a/src/TickTockCollision/Box.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Box extends Shape3D {
-
- public Box(double xsize, double ysize, double zsize) {
- super();
- double xmin = -xsize/2.0;
- double xmax = xsize/2.0;
- double ymin = -ysize/2.0;
- double ymax = ysize/2.0;
- double zmin = -zsize/2.0;
- double zmax = zsize/2.0;
-
- QuadArray box = new QuadArray(24, QuadArray.COORDINATES);
-
- Point3d verts[] = new Point3d[24];
-
- // front face
- verts[0] = new Point3d(xmax, ymin, zmax);
- verts[1] = new Point3d(xmax, ymax, zmax);
- verts[2] = new Point3d(xmin, ymax, zmax);
- verts[3] = new Point3d(xmin, ymin, zmax);
- // back face
- verts[4] = new Point3d(xmin, ymin, zmin);
- verts[5] = new Point3d(xmin, ymax, zmin);
- verts[6] = new Point3d(xmax, ymax, zmin);
- verts[7] = new Point3d(xmax, ymin, zmin);
- // right face
- verts[8] = new Point3d(xmax, ymin, zmin);
- verts[9] = new Point3d(xmax, ymax, zmin);
- verts[10] = new Point3d(xmax, ymax, zmax);
- verts[11] = new Point3d(xmax, ymin, zmax);
- // left face
- verts[12] = new Point3d(xmin, ymin, zmax);
- verts[13] = new Point3d(xmin, ymax, zmax);
- verts[14] = new Point3d(xmin, ymax, zmin);
- verts[15] = new Point3d(xmin, ymin, zmin);
- // top face
- verts[16] = new Point3d(xmax, ymax, zmax);
- verts[17] = new Point3d(xmax, ymax, zmin);
- verts[18] = new Point3d(xmin, ymax, zmin);
- verts[19] = new Point3d(xmin, ymax, zmax);
- // bottom face
- verts[20] = new Point3d(xmin, ymin, zmax);
- verts[21] = new Point3d(xmin, ymin, zmin);
- verts[22] = new Point3d(xmax, ymin, zmin);
- verts[23] = new Point3d(xmax, ymin, zmax);
-
- box.setCoordinates(0, verts);
- setGeometry(box);
- setAppearance(new Appearance());
- }
-}
diff --git a/src/TickTockCollision/CollisionDetector.java b/src/TickTockCollision/CollisionDetector.java
deleted file mode 100644
index 77c846f..0000000
--- a/src/TickTockCollision/CollisionDetector.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.util.Enumeration;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class CollisionDetector extends Behavior {
- private static final Color3f highlightColor =
- new Color3f(0.0f, 1.0f, 0.0f);
- private static final ColoringAttributes highlight =
- new ColoringAttributes(highlightColor,
- ColoringAttributes.SHADE_GOURAUD);
-
- private boolean inCollision = false;
- private Shape3D shape;
- private ColoringAttributes shapeColoring;
- private Appearance shapeAppearance;
-
- private WakeupOnCollisionEntry wEnter;
- private WakeupOnCollisionExit wExit;
-
-
- public CollisionDetector(Shape3D s) {
- shape = s;
- shapeAppearance = shape.getAppearance();
- shapeColoring = shapeAppearance.getColoringAttributes();
- inCollision = false;
- }
-
- public void initialize() {
- wEnter = new WakeupOnCollisionEntry(shape);
- wExit = new WakeupOnCollisionExit(shape);
- wakeupOn(wEnter);
- }
-
- public void processStimulus(Enumeration criteria) {
- inCollision = !inCollision;
-
- if (inCollision) {
- shapeAppearance.setColoringAttributes(highlight);
- wakeupOn(wExit);
- }
- else {
- shapeAppearance.setColoringAttributes(shapeColoring);
- wakeupOn(wEnter);
- }
- }
-}
diff --git a/src/TickTockCollision/TickTockCollision.html b/src/TickTockCollision/TickTockCollision.html
deleted file mode 100644
index bfe7f29..0000000
--- a/src/TickTockCollision/TickTockCollision.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Tick, Tock Collision!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#0C0C33">
-<applet align=middle code="TickTockCollision.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a Tick, Tock Collision instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/TickTockCollision/TickTockCollision.java b/src/TickTockCollision/TickTockCollision.java
deleted file mode 100644
index 854a2bc..0000000
--- a/src/TickTockCollision/TickTockCollision.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class TickTockCollision extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and behaviors
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objScale.addChild(bg);
-
- // Create a pair of transform group nodes and initialize them to
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behaviors can modify them at runtime. Add them to the
- // root of the subgraph.
- TransformGroup objTrans1 = new TransformGroup();
- objTrans1.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(objTrans1);
-
- TransformGroup objTrans2 = new TransformGroup();
- objTrans2.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans1.addChild(objTrans2);
-
- // Create the positioning and scaling transform group node.
- Transform3D t = new Transform3D();
- t.set(0.3, new Vector3d(0.0, -1.5, 0.0));
- TransformGroup objTrans3 = new TransformGroup(t);
- objTrans2.addChild(objTrans3);
-
- // Create a simple shape leaf node, add it to the scene graph.
- objTrans3.addChild(new ColorCube());
-
- // Create a new Behavior object that will perform the desired
- // rotation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis1 = new Transform3D();
- yAxis1.rotX(Math.PI/2.0);
- Alpha tickTockAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE |
- Alpha.DECREASING_ENABLE,
- 0, 0,
- 5000, 2500, 200,
- 5000, 2500, 200);
-
- RotationInterpolator tickTock =
- new RotationInterpolator(tickTockAlpha, objTrans1, yAxis1,
- -(float) Math.PI/2.0f,
- (float) Math.PI/2.0f);
- tickTock.setSchedulingBounds(bounds);
- objTrans2.addChild(tickTock);
-
- // Create a new Behavior object that will perform the desired
- // rotation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis2 = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans2, yAxis2,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans2.addChild(rotator);
-
- // Now create a pair of rectangular boxes, each with a collision
- // detection behavior attached. The behavior will highlight the
- // object when it is in a state of collision.
-
- Group box1 = createBox(0.3, new Vector3d(-1.3, 0.0, 0.0));
- Group box2 = createBox(0.3, new Vector3d( 1.3, 0.0, 0.0));
-
- objScale.addChild(box1);
- objScale.addChild(box2);
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
-
- private Group createBox(double scale, Vector3d pos) {
- // Create a transform group node to scale and position the object.
- Transform3D t = new Transform3D();
- t.set(scale, pos);
- TransformGroup objTrans = new TransformGroup(t);
-
- // Create a simple shape leaf node and add it to the scene graph
- Shape3D shape = new Box(0.5, 5.0, 1.0);
- objTrans.addChild(shape);
-
- // Create a new ColoringAttributes object for the shape's
- // appearance and make it writable at runtime.
- Appearance app = shape.getAppearance();
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(0.6f, 0.3f, 0.0f);
- app.setCapability(app.ALLOW_COLORING_ATTRIBUTES_WRITE);
- app.setColoringAttributes(ca);
-
- // Create a new Behavior object that will perform the collision
- // detection on the specified object, and add it into
- // the scene graph.
- CollisionDetector cd = new CollisionDetector(shape);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- cd.setSchedulingBounds(bounds);
-
- // Add the behavior to the scene graph
- objTrans.addChild(cd);
-
- return objTrans;
- }
-
-
- public TickTockCollision() {
- }
-
- public void init() {
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows TickTockCollision to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- new MainFrame(new TickTockCollision(), 700, 700);
- }
-}
diff --git a/src/TickTockCollision/TickTockCollision_plugin.html b/src/TickTockCollision/TickTockCollision_plugin.html
deleted file mode 100644
index 9c93741..0000000
--- a/src/TickTockCollision/TickTockCollision_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Tick, Tock Collision!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#0C0C33">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "TickTockCollision.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "TickTockCollision.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a Tick, Tock Collision instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "TickTockCollision.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a Tick, Tock Collision instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/TickTockCollision/build.xml b/src/TickTockCollision/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/TickTockCollision/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/TickTockPicking/Cube.java b/src/TickTockPicking/Cube.java
deleted file mode 100644
index ab0977d..0000000
--- a/src/TickTockPicking/Cube.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Cube extends Shape3D {
- private static final float[] verts = {
- // front face
- 1.0f, -1.0f, 1.0f,
- 1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, 1.0f,
- -1.0f, -1.0f, 1.0f,
- // back face
- -1.0f, -1.0f, -1.0f,
- -1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, -1.0f,
- 1.0f, -1.0f, -1.0f,
- // right face
- 1.0f, -1.0f, -1.0f,
- 1.0f, 1.0f, -1.0f,
- 1.0f, 1.0f, 1.0f,
- 1.0f, -1.0f, 1.0f,
- // left face
- -1.0f, -1.0f, 1.0f,
- -1.0f, 1.0f, 1.0f,
- -1.0f, 1.0f, -1.0f,
- -1.0f, -1.0f, -1.0f,
- // top face
- 1.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, -1.0f,
- -1.0f, 1.0f, 1.0f,
- // bottom face
- -1.0f, -1.0f, 1.0f,
- -1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, -1.0f,
- 1.0f, -1.0f, 1.0f,
- };
-
- private static final Vector3f[] normals = {
- new Vector3f( 0.0f, 0.0f, 1.0f), // front face
- new Vector3f( 0.0f, 0.0f, -1.0f), // back face
- new Vector3f( 1.0f, 0.0f, 0.0f), // right face
- new Vector3f(-1.0f, 0.0f, 0.0f), // left face
- new Vector3f( 0.0f, 1.0f, 0.0f), // top face
- new Vector3f( 0.0f, -1.0f, 0.0f), // bottom face
- };
-
- public Cube() {
- super();
-
- int i;
-
- QuadArray cube = new QuadArray(24, QuadArray.COORDINATES |
- QuadArray.NORMALS);
-
- cube.setCoordinates(0, verts);
- for (i = 0; i < 24; i++) {
- cube.setNormal(i, normals[i/4]);
- }
-
- cube.setCapability(Geometry.ALLOW_INTERSECT);
- setGeometry(cube);
- setAppearance(new Appearance());
- }
-}
diff --git a/src/TickTockPicking/PickHighlightBehavior.java b/src/TickTockPicking/PickHighlightBehavior.java
deleted file mode 100644
index 3469c73..0000000
--- a/src/TickTockPicking/PickHighlightBehavior.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import com.sun.j3d.utils.picking.PickTool;
-import com.sun.j3d.utils.picking.PickResult;
-import com.sun.j3d.utils.picking.behaviors.PickMouseBehavior;
-import java.util.*;
-import java.awt.*;
-import java.awt.Event;
-import java.awt.AWTEvent;
-import java.awt.event.MouseEvent;
-import javax.vecmath.*;
-
-public class PickHighlightBehavior extends PickMouseBehavior {
- Appearance savedAppearance = null;
- Shape3D oldShape = null;
- Appearance highlightAppearance;
-
- public PickHighlightBehavior(Canvas3D canvas, BranchGroup root,
- Bounds bounds) {
- super(canvas, root, bounds);
- this.setSchedulingBounds(bounds);
- root.addChild(this);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f highlightColor = new Color3f(0.0f, 1.0f, 0.0f);
- Material highlightMaterial = new Material(highlightColor, black,
- highlightColor, white,
- 80.0f);
- highlightAppearance = new Appearance();
- highlightAppearance.setMaterial(new Material(highlightColor, black,
- highlightColor, white,
- 80.0f));
-
- pickCanvas.setMode(PickTool.BOUNDS);
- }
-
- public void updateScene(int xpos, int ypos) {
- PickResult pickResult = null;
- Shape3D shape = null;
-
- pickCanvas.setShapeLocation(xpos, ypos);
-
- pickResult = pickCanvas.pickClosest();
- if (pickResult != null) {
- shape = (Shape3D) pickResult.getNode(PickResult.SHAPE3D);
- }
-
- if (oldShape != null){
- oldShape.setAppearance(savedAppearance);
- }
- if (shape != null) {
- savedAppearance = shape.getAppearance();
- oldShape = shape;
- shape.setAppearance(highlightAppearance);
- }
- }
-}
diff --git a/src/TickTockPicking/Tetrahedron.java b/src/TickTockPicking/Tetrahedron.java
deleted file mode 100644
index 5cd2fa8..0000000
--- a/src/TickTockPicking/Tetrahedron.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class Tetrahedron extends Shape3D {
- private static final float sqrt3 = (float) Math.sqrt(3.0);
- private static final float sqrt3_3 = sqrt3 / 3.0f;
- private static final float sqrt24_3 = (float) Math.sqrt(24.0) / 3.0f;
-
- private static final float ycenter = 0.5f * sqrt24_3;
- private static final float zcenter = -sqrt3_3;
-
- private static final Point3f p1 = new Point3f(-1.0f, -ycenter, -zcenter);
- private static final Point3f p2 = new Point3f(1.0f, -ycenter, -zcenter);
- private static final Point3f p3 =
- new Point3f(0.0f, -ycenter, -sqrt3 - zcenter);
- private static final Point3f p4 =
- new Point3f(0.0f, sqrt24_3 - ycenter, 0.0f);
-
- private static final Point3f[] verts = {
- p1, p2, p4, // front face
- p1, p4, p3, // left, back face
- p2, p3, p4, // right, back face
- p1, p3, p2, // bottom face
- };
-
- private TexCoord2f texCoord[] = {
- new TexCoord2f(0.0f, 0.0f),
- new TexCoord2f(1.0f, 0.0f),
- new TexCoord2f(0.5f, sqrt3 / 2.0f),
- };
-
- public Tetrahedron() {
- int i;
-
- TriangleArray tetra = new TriangleArray(12, TriangleArray.COORDINATES |
- TriangleArray.NORMALS | TriangleArray.TEXTURE_COORDINATE_2);
-
- tetra.setCoordinates(0, verts);
- for (i = 0; i < 12; i++) {
- tetra.setTextureCoordinate(0, i, texCoord[i%3]);
- }
-
- int face;
- Vector3f normal = new Vector3f();
- Vector3f v1 = new Vector3f();
- Vector3f v2 = new Vector3f();
- Point3f [] pts = new Point3f[3];
- for (i = 0; i < 3; i++) pts[i] = new Point3f();
-
- for (face = 0; face < 4; face++) {
- tetra.getCoordinates(face*3, pts);
- v1.sub(pts[1], pts[0]);
- v2.sub(pts[2], pts[0]);
- normal.cross(v1, v2);
- normal.normalize();
- for (i = 0; i < 3; i++) {
- tetra.setNormal((face * 3 + i), normal);
- }
- }
-
- tetra.setCapability(Geometry.ALLOW_INTERSECT);
-
- this.setGeometry(tetra);
- this.setAppearance(new Appearance());
- }
-}
diff --git a/src/TickTockPicking/TickTockPicking.html b/src/TickTockPicking/TickTockPicking.html
deleted file mode 100644
index 2a4fc41..0000000
--- a/src/TickTockPicking/TickTockPicking.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Tick, Tock Picking!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#0C0C33">
-<applet align=middle code="TickTockPicking.class" width=700 height=700>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a Tick, Tock Picking instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/TickTockPicking/TickTockPicking.java b/src/TickTockPicking/TickTockPicking.java
deleted file mode 100644
index ee77935..0000000
--- a/src/TickTockPicking/TickTockPicking.java
+++ /dev/null
@@ -1,446 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.universe.*;
-import com.sun.j3d.utils.image.TextureLoader;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class TickTockPicking extends Applet {
-
- // path the the texture map image
- private java.net.URL texImage = null;
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph(Canvas3D c) {
- // Create the root of the branch graph
- BranchGroup objRoot = new BranchGroup();
-
- // Create a Transformgroup to scale all objects so they
- // appear in the scene.
- TransformGroup objScale = new TransformGroup();
- Transform3D t3d = new Transform3D();
- t3d.setScale(0.4);
- objScale.setTransform(t3d);
- objRoot.addChild(objScale);
-
- // Create a bounds for the background and behaviors
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- // Set up the background
- Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
- Background bg = new Background(bgColor);
- bg.setApplicationBounds(bounds);
- objScale.addChild(bg);
-
- // Set up the global lights
- Color3f lColor1 = new Color3f(0.7f, 0.7f, 0.7f);
- Vector3f lDir1 = new Vector3f(-1.0f, -1.0f, -1.0f);
- Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
-
- AmbientLight aLgt = new AmbientLight(alColor);
- aLgt.setInfluencingBounds(bounds);
- DirectionalLight lgt1 = new DirectionalLight(lColor1, lDir1);
- lgt1.setInfluencingBounds(bounds);
- objScale.addChild(aLgt);
- objScale.addChild(lgt1);
-
- // Create a pair of transform group nodes and initialize them to
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behaviors can modify them at runtime. Add them to the
- // root of the subgraph.
- TransformGroup objTrans1 = new TransformGroup();
- objTrans1.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objScale.addChild(objTrans1);
-
- TransformGroup objTrans2 = new TransformGroup();
- objTrans2.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objTrans1.addChild(objTrans2);
-
- // Create the positioning and scaling transform group node.
- Transform3D t = new Transform3D();
- t.set(0.3, new Vector3d(0.0, -1.5, 0.0));
- TransformGroup objTrans3 = new TransformGroup(t);
- objTrans2.addChild(objTrans3);
-
- // Create a simple shape leaf node, set it's appearance, and
- // add it to the scene graph.
- Shape3D shape = new Cube();
- Appearance a = new Appearance();
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- a.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- shape.setAppearance(a);
- shape.setCapability(shape.ALLOW_APPEARANCE_READ);
- shape.setCapability(shape.ALLOW_APPEARANCE_WRITE);
- objTrans3.addChild(shape);
-
- // Create a new Behavior object that will perform the desired
- // rotation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis1 = new Transform3D();
- yAxis1.rotX(Math.PI/2.0);
- Alpha tickTockAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE |
- Alpha.DECREASING_ENABLE,
- 0, 0,
- 5000, 2500, 200,
- 5000, 2500, 200);
-
- RotationInterpolator tickTock =
- new RotationInterpolator(tickTockAlpha, objTrans1, yAxis1,
- -(float) Math.PI/2.0f,
- (float) Math.PI/2.0f);
- tickTock.setSchedulingBounds(bounds);
- objTrans2.addChild(tickTock);
-
- // Create a new Behavior object that will perform the desired
- // rotation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis2 = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans2, yAxis2,
- 0.0f, (float) Math.PI*2.0f);
- rotator.setSchedulingBounds(bounds);
- objTrans2.addChild(rotator);
-
- // Now create the simple picking behavior
- PickHighlightBehavior pickBeh = new
- PickHighlightBehavior(c, objRoot, bounds);
-
- // Create a bunch of objects with a behavior and add them
- // into the scene graph.
-
- int row, col;
- Appearance[][] app = new Appearance[3][3];
-
- for (row = 0; row < 3; row++)
- for (col = 0; col < 3; col++)
- app[row][col] = createAppearance(row * 3 + col);
-
- for (int i = 0; i < 3; i++) {
- double ypos = (double)(i - 1) * 1.5;
- for (int j = 0; j < 3; j++) {
- double xpos = (double)(j - 1) * 1.5;
- objScale.addChild(createObject(app[i][j], 0.3, xpos, ypos));
- }
- }
-
- // Have Java 3D perform optimizations on this scene graph.
- objRoot.compile();
-
- return objRoot;
- }
-
-
- private Appearance createAppearance(int idx) {
- Appearance app = new Appearance();
-
- // Globally used colors
- Color3f black = new Color3f(0.0f, 0.0f, 0.0f);
- Color3f white = new Color3f(1.0f, 1.0f, 1.0f);
-
- switch (idx) {
- // Unlit solid
- case 0:
- {
- // Set up the coloring properties
- Color3f objColor = new Color3f(1.0f, 0.2f, 0.4f);
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(objColor);
- app.setColoringAttributes(ca);
- break;
- }
-
-
- // Unlit wire frame
- case 1:
- {
- // Set up the coloring properties
- Color3f objColor = new Color3f(1.0f, 0.4f, 0.0f);
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(objColor);
- app.setColoringAttributes(ca);
-
- // Set up the polygon attributes
- PolygonAttributes pa = new PolygonAttributes();
- pa.setPolygonMode(pa.POLYGON_LINE);
- pa.setCullFace(pa.CULL_NONE);
- app.setPolygonAttributes(pa);
- break;
- }
-
- // Unlit points
- case 2:
- {
- // Set up the coloring properties
- Color3f objColor = new Color3f(1.0f, 1.0f, 0.0f);
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(objColor);
- app.setColoringAttributes(ca);
-
- // Set up the polygon attributes
- PolygonAttributes pa = new PolygonAttributes();
- pa.setPolygonMode(pa.POLYGON_POINT);
- pa.setCullFace(pa.CULL_NONE);
- app.setPolygonAttributes(pa);
-
- // Set up point attributes
- PointAttributes pta = new PointAttributes();
- pta.setPointSize(5.0f);
- app.setPointAttributes(pta);
- break;
- }
-
- // Lit solid
- case 3:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- break;
- }
-
- // Texture mapped, lit solid
- case 4:
- {
- // Set up the texture map
- TextureLoader tex = new TextureLoader(texImage, this);
- app.setTexture(tex.getTexture());
-
- TextureAttributes texAttr = new TextureAttributes();
- texAttr.setTextureMode(TextureAttributes.MODULATE);
- app.setTextureAttributes(texAttr);
-
- // Set up the material properties
- app.setMaterial(new Material(white, black, white, black, 1.0f));
- break;
- }
-
- // Transparent, lit solid
- case 5:
- {
- // Set up the transparency properties
- TransparencyAttributes ta = new TransparencyAttributes();
- ta.setTransparencyMode(ta.BLENDED);
- ta.setTransparency(0.6f);
- app.setTransparencyAttributes(ta);
-
- // Set up the polygon attributes
- PolygonAttributes pa = new PolygonAttributes();
- pa.setCullFace(pa.CULL_NONE);
- app.setPolygonAttributes(pa);
-
- // Set up the material properties
- Color3f objColor = new Color3f(0.7f, 0.8f, 1.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- black, 1.0f));
- break;
- }
-
- // Lit solid, no specular
- case 6:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- black, 80.0f));
- break;
- }
-
- // Lit solid, specular only
- case 7:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.0f, 0.0f);
- app.setMaterial(new Material(black, black, black,
- white, 80.0f));
- break;
- }
-
- // Another lit solid with a different color
- case 8:
- {
- // Set up the material properties
- Color3f objColor = new Color3f(0.8f, 0.8f, 0.0f);
- app.setMaterial(new Material(objColor, black, objColor,
- white, 80.0f));
- break;
- }
-
- default:
- {
- ColoringAttributes ca = new ColoringAttributes();
- ca.setColor(new Color3f(0.0f, 1.0f, 0.0f));
- app.setColoringAttributes(ca);
- }
- }
-
- return app;
- }
-
-
- private Group createObject(Appearance app, double scale,
- double xpos, double ypos) {
-
- // Create a transform group node to scale and position the object.
- Transform3D t = new Transform3D();
- t.set(scale, new Vector3d(xpos, ypos, 0.0));
- TransformGroup objTrans = new TransformGroup(t);
-
- // Create a second transform group node and initialize it to the
- // identity. Enable the TRANSFORM_WRITE capability so that
- // our behavior code can modify it at runtime.
- TransformGroup spinTg = new TransformGroup();
- spinTg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- spinTg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
-
- // Create a simple shape leaf node and set the appearance
- Shape3D shape = new Tetrahedron();
- shape.setAppearance(app);
- shape.setCapability(shape.ALLOW_APPEARANCE_READ);
- shape.setCapability(shape.ALLOW_APPEARANCE_WRITE);
-
- // add it to the scene graph.
- spinTg.addChild(shape);
-
- // Create a new Behavior object that will perform the desired
- // operation on the specified transform object and add it into
- // the scene graph.
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 5000, 0, 0,
- 0, 0, 0);
-
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, spinTg, yAxis,
- 0.0f, (float) Math.PI*2.0f);
-
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
-
- rotator.setSchedulingBounds(bounds);
-
- // Add the behavior and the transform group to the object
- objTrans.addChild(rotator);
- objTrans.addChild(spinTg);
-
- return objTrans;
- }
-
-
- public TickTockPicking() {
- }
-
- public TickTockPicking(java.net.URL url) {
- texImage = url;
- }
-
- public void init() {
- if (texImage == null) {
- // the path to the image for an applet
- try {
- texImage = new java.net.URL(getCodeBase().toString() +
- "../images/apimage.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- }
-
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph(c);
- u = new SimpleUniverse(c);
-
- // This will move the ViewPlatform back a bit so the
- // objects in the scene can be viewed.
- u.getViewingPlatform().setNominalViewingTransform();
-
- u.addBranchGraph(scene);
-
- }
-
- public void destroy() {
- u.cleanup();
- }
-
- //
- // The following allows TickTockPicking to be run as an application
- // as well as an applet
- //
- public static void main(String[] args) {
- // the path the the texture map for an application
- java.net.URL url = null;
- try {
- url = new java.net.URL("file:../images/apimage.jpg");
- }
- catch (java.net.MalformedURLException ex) {
- System.out.println(ex.getMessage());
- System.exit(1);
- }
- new MainFrame(new TickTockPicking(url), 700, 700);
- }
-}
diff --git a/src/TickTockPicking/TickTockPicking_plugin.html b/src/TickTockPicking/TickTockPicking_plugin.html
deleted file mode 100644
index 7030770..0000000
--- a/src/TickTockPicking/TickTockPicking_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Tick, Tock Picking!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#0C0C33">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 700 HEIGHT = 700 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "TickTockPicking.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "TickTockPicking.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a Tick, Tock Picking instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "TickTockPicking.class" WIDTH = 700 HEIGHT = 700 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see a Tick, Tock Picking instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/TickTockPicking/build.xml b/src/TickTockPicking/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/TickTockPicking/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/Timer/TimerTest.html b/src/Timer/TimerTest.html
deleted file mode 100644
index 5da3035..0000000
--- a/src/Timer/TimerTest.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Hello, Universe!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="TimerTest.class" width=256 height=256>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/Timer/TimerTest.java b/src/Timer/TimerTest.java
deleted file mode 100644
index 37f0f7c..0000000
--- a/src/Timer/TimerTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.Panel;
-import java.awt.TextArea;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.timer.J3DTimer;
-
-public class TimerTest extends Applet {
-
- long[] ticks = new long[10];
- long[] sysTime = new long[ticks.length];
-
- public TimerTest() {
- }
-
- public void init() {
- Panel panel = new Panel();
- String header = new String(" J3D Timer System Timer\n");
- TextArea textArea = new TextArea(header, 12, 35, TextArea.SCROLLBARS_NONE );
- panel.add(textArea);
- this.add(panel);
-
-
- for(int i=0; i<ticks.length; i++) {
- ticks[i] = J3DTimer.getValue();
- sysTime[i] = System.currentTimeMillis();
- }
-
- for(int i=0; i<ticks.length; i++)
- //System.out.println("tick "+ticks[i]+" "+sysTime[i] );
- textArea.append("tick "+ticks[i]+" "+sysTime[i] + "\n" );
- //System.out.println("Resolution "+J3DTimer.getResolution() );
- textArea.append("Resolution "+J3DTimer.getResolution() + "\n" );
-
- }
-
- public static void main( String args[] ) {
- new MainFrame(new TimerTest(), 380, 256);
- }
-
-}
diff --git a/src/Timer/TimerTest_plugin.html b/src/Timer/TimerTest_plugin.html
deleted file mode 100644
index 56b4cef..0000000
--- a/src/Timer/TimerTest_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Hello, Universe!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 512 HEIGHT = 256 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "TimerTest.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "TimerTest.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "TimerTest.class" WIDTH = 256 HEIGHT = 256 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/Timer/build.xml b/src/Timer/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/Timer/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/VirtualInputDevice/ButtonPositionControls.java b/src/VirtualInputDevice/ButtonPositionControls.java
deleted file mode 100644
index 73fccbe..0000000
--- a/src/VirtualInputDevice/ButtonPositionControls.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-import java.awt.event.*;
-import javax.vecmath.*;
-import javax.media.j3d.*;
-
-public class ButtonPositionControls extends Panel implements PositionControls, MouseListener {
- private final static int STILL=0;
- private final static int MOVING_UP=1;
- private final static int MOVING_DOWN=2;
- private final static int MOVING_LEFT=3;
- private final static int MOVING_RIGHT=4;
- private final static int MOVING_FORWARD=5;
- private final static int MOVING_BACK=6;
-
- // initial mode
- private int mode = STILL;
-
- Vector3f position = new Vector3f();
- Vector3f orig_position = new Vector3f();
-
- private Button leftB = new Button("Move Left");
- private Button rightB = new Button("Move Right");
- private Button upB = new Button("Move Up");
- private Button downB = new Button("Move Down");
-
- private Button forwardB = new Button("Move Forward");
- private Button backwardB = new Button("Move Back");
-
- private Button reset = new Button("Reset");
- private InputDevice device;
-
- private float step_rate = 0.0023f; // movement rate per millisecond
- private long time_last_state_change = System.currentTimeMillis();
-
- // the constructor arguments are the intitial X, Y, and Z positions
- public ButtonPositionControls( float x, float y, float z ) {
-
- // up, down, right, and left movement buttons
- Panel panPanel = new Panel();
- panPanel.setLayout( new BorderLayout() );
- panPanel.add("North", upB);
- panPanel.add("East", rightB);
- panPanel.add("South", downB);
- panPanel.add("West", leftB);
-
- // forward, backward, and reset buttons
- Panel p = new Panel();
- p.setLayout( new GridLayout(0,1,0,0) );
- p.add(forwardB);
- p.add(backwardB);
- p.add(reset);
-
- // set the initial position
- position.x = x;
- position.y = y;
- position.z = z;
- orig_position.set(position);
-
- // add a mouse listener to each button
- upB.addMouseListener(this);
- downB.addMouseListener(this);
- leftB.addMouseListener(this);
- rightB.addMouseListener(this);
- forwardB.addMouseListener(this);
- backwardB.addMouseListener(this);
- reset.addMouseListener(this);
-
- this.setLayout( new BorderLayout() );
- add("East", p );
- add("West", panPanel );
- }
-
- public void setDevice ( InputDevice device) {
- this.device = device;
- }
-
- public void getPosition(Vector3f pos ) {
- calculateMotion();
- pos.set(position);
- }
-
- public void setPosition(Vector3f pos ) {
- position.set(pos);
- }
-
- public void setStepRate( float stepRate ) {
- step_rate = stepRate;
- }
-
- private void calculateMotion() {
-
- long current_time = System.currentTimeMillis();
- long elapsed_time = current_time - time_last_state_change;
-
- switch(mode) {
- case STILL:
- break;
- case MOVING_LEFT:
- position.x = orig_position.x - step_rate*elapsed_time;
- break;
- case MOVING_RIGHT:
- position.x = orig_position.x + step_rate*elapsed_time;
- break;
- case MOVING_UP:
- position.y = orig_position.y + step_rate*elapsed_time;
- break;
- case MOVING_DOWN:
- position.y = orig_position.y - step_rate*elapsed_time;
- break;
- case MOVING_FORWARD:
- position.z = orig_position.z - step_rate*elapsed_time;
- break;
- case MOVING_BACK:
- position.z = orig_position.z + step_rate*elapsed_time;
- break;
- default:
- throw( new RuntimeException("Unknown motion"));
- }
- }
-
- public void mouseClicked( MouseEvent e ) {
- }
-
- public void mouseEntered( MouseEvent e ) {
- }
-
- public void mouseExited( MouseEvent e ) {
- }
-
- public void mousePressed( MouseEvent e ) {
- if (e.getSource()==leftB && mode != MOVING_LEFT) {
- time_last_state_change = System.currentTimeMillis();
- mode = MOVING_LEFT;
- orig_position.set(position);
- } else if (e.getSource()==rightB && mode != MOVING_RIGHT) {
- time_last_state_change = System.currentTimeMillis();
- mode = MOVING_RIGHT;
- orig_position.set(position);
- } else if (e.getSource()==upB && mode != MOVING_UP) {
- time_last_state_change = System.currentTimeMillis();
- mode = MOVING_UP;
- orig_position.set(position);
- } else if (e.getSource()==downB && mode != MOVING_DOWN) {
- time_last_state_change = System.currentTimeMillis();
- mode = MOVING_DOWN;
- orig_position.set(position);
- } else if (e.getSource()==forwardB && mode != MOVING_FORWARD) {
- time_last_state_change = System.currentTimeMillis();
- mode = MOVING_FORWARD;
- orig_position.set(position);
- } else if (e.getSource()==backwardB && mode != MOVING_BACK) {
- time_last_state_change = System.currentTimeMillis();
- mode = MOVING_BACK;
- orig_position.set(position);
- } else if (e.getSource()==reset) {
- device.setNominalPositionAndOrientation();
- }
- }
-
- public void mouseReleased( MouseEvent e ) {
- mode = STILL;
- }
-}
diff --git a/src/VirtualInputDevice/HelloUniverse.html b/src/VirtualInputDevice/HelloUniverse.html
deleted file mode 100644
index cd8d3de..0000000
--- a/src/VirtualInputDevice/HelloUniverse.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Hello, Universe!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<applet align=middle code="HelloUniverse.class" width=350 height=350>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</applet>
-</BODY>
-</HTML>
diff --git a/src/VirtualInputDevice/HelloUniverse.java b/src/VirtualInputDevice/HelloUniverse.java
deleted file mode 100644
index 3632727..0000000
--- a/src/VirtualInputDevice/HelloUniverse.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.applet.Applet;
-import java.awt.*;
-import java.awt.event.*;
-import com.sun.j3d.utils.applet.MainFrame;
-import com.sun.j3d.utils.geometry.ColorCube;
-import com.sun.j3d.utils.universe.*;
-import javax.media.j3d.*;
-import javax.vecmath.*;
-
-public class HelloUniverse extends Applet {
-
- private SimpleUniverse u = null;
-
- public BranchGroup createSceneGraph() {
-
- BranchGroup objRoot = new BranchGroup();
- TransformGroup objTrans = new TransformGroup();
- objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
- objRoot.addChild(objTrans);
- objTrans.addChild(new ColorCube(0.2));
- Transform3D yAxis = new Transform3D();
- Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
- 0, 0,
- 4000, 0, 0,
- 0, 0, 0);
- RotationInterpolator rotator =
- new RotationInterpolator(rotationAlpha, objTrans, yAxis,
- 0.0f, (float) Math.PI*2.0f);
- BoundingSphere bounds =
- new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
- rotator.setSchedulingBounds(bounds);
- objTrans.addChild(rotator);
- return objRoot;
- }
-
-
- public HelloUniverse() {
-
- }
-
- public void init() {
- // These are the string arguments given to the VirtualInputDevice
- // constructor. These are settable parameters. Look in the
- // VirtualInputDevice constructor for a complete list.
- String[] args = new String[10];
- args[0] = "printvalues";
- args[1] = "true";
- args[2] = "yscreeninitloc";
- args[3] = "50";
- args[4] = null;
-
- InputDevice device = new VirtualInputDevice( args );
-
- // now create the HelloUniverse Canvas
- setLayout(new BorderLayout());
- GraphicsConfiguration config =
- SimpleUniverse.getPreferredConfiguration();
-
- Canvas3D c = new Canvas3D(config);
- add("Center", c);
-
- // Create a simple scene and attach it to the virtual universe
- BranchGroup scene = createSceneGraph();
- u = new SimpleUniverse(c);
-
- // The InputDevice must be initialized before registering it
- // with the PhysicalEnvironment object.
- device.initialize();
-
- // Register the VirtualInputDevice with Java 3D
- u.getViewer().getPhysicalEnvironment().addInputDevice( device );
-
- TransformGroup viewTrans =
- u.getViewingPlatform().getViewPlatformTransform();
- SensorBehavior s = new SensorBehavior( viewTrans, device.getSensor(0) );
- s.setSchedulingBounds( new BoundingSphere
- ( new Point3d(0.0,0.0,0.0), Float.MAX_VALUE ));
- scene.addChild( s );
- u.addBranchGraph(scene);
- }
-
- public void destroy() {
- u.cleanup();
- }
-
-
- public static void main(String[] args) {
- new MainFrame(new HelloUniverse(), 350, 350);
- }
-}
diff --git a/src/VirtualInputDevice/HelloUniverse_plugin.html b/src/VirtualInputDevice/HelloUniverse_plugin.html
deleted file mode 100644
index d3619d9..0000000
--- a/src/VirtualInputDevice/HelloUniverse_plugin.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Hello, Universe!</TITLE>
-</HEAD>
-<BODY BGCOLOR="#000000">
-<!--"CONVERTED_APPLET"-->
-<!-- CONVERTER VERSION 1.3 -->
-<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
-WIDTH = 350 HEIGHT = 350 ALIGN = middle codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
-<PARAM NAME = CODE VALUE = "HelloUniverse.class" >
-
-<PARAM NAME="type" VALUE="application/x-java-applet;version=1.2.2">
-<PARAM NAME="scriptable" VALUE="false">
-<COMMENT>
-<EMBED type="application/x-java-applet;version=1.2.2" CODE = "HelloUniverse.class" WIDTH = 350 HEIGHT = 350 ALIGN = middle scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-</NOEMBED></EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "HelloUniverse.class" WIDTH = 350 HEIGHT = 350 ALIGN = middle>
-<blockquote>
-<hr>
-If you were using a Java-capable browser,
-you would see Hello Universe! instead of this paragraph.
-<hr>
-</blockquote>
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-</BODY>
-</HTML>
diff --git a/src/VirtualInputDevice/PositionControls.java b/src/VirtualInputDevice/PositionControls.java
deleted file mode 100644
index e5ea536..0000000
--- a/src/VirtualInputDevice/PositionControls.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.Component;
-import javax.vecmath.Vector3f;
-
-// Classes that implement this interface must be a
-// subclass of java.awt.Component
-public interface PositionControls {
-
- /**
- * Get the position
- */
- public void getPosition( Vector3f pos);
-
- /**
- * Set the position
- */
- public void setPosition( Vector3f pos);
-
- /**
- * Increment added to position each time mouse is pressed
- * or if the mouse is held down each time the Sensor is
- * read
- */
- public void setStepRate( float stepRate );
-}
diff --git a/src/VirtualInputDevice/README b/src/VirtualInputDevice/README
deleted file mode 100644
index efc4b7b..0000000
--- a/src/VirtualInputDevice/README
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
- Java 3D (TM) Input Device Driver Development Guide
-
-Topics
-
- * Write Once, Run Anywhere (TM)
- * Overview of the InputDevice and Sensor APIs
- * Recipe for an Application Program that Uses Input Devices
- * Location for Installation of Device Drivers
- * Using a Preexistent Native Driver
- * Package Naming Conventions
- * Device Driver Constructor
- * Driver Scheduling and Blocking Semantics
-
-
-Write Once, Run Anywhere
-
-Platform independence is the cornerstone of the Java (TM) platform.
-This vision now extends to external input devices as well. The
-overarching goal of the Java 3D input device architecture is to enable
-Java programs that use devices to run in a platform independent
-manner.
-
-We encourage developers to use Java APIs for their drivers. APIs such
-as the javax.comm API allow platform independent access to serial and
-parallel ports. However, even if a driver is partially written with
-native code, the Java 3D InputDevice interface is layered on top of the
-driver such that once the native portion of the driver has been
-installed into the local JRE, the application code is platform
-independent.
-
-In a future release, the Java 3D team is going to release a registry
-mechanism that will reside in the JRE as part of the Java 3D
-installation and allow registration of device drivers. The
-SimpleUniverse utility will be modified to allow querying of devices by
-generic characteristics, and will subsequently look up and instantiate
-the appropriate device driver registered with the registry mechanism.
-The Java 3D team also expects to release a set of generic mappings for
-devices. This will enable applications to count on the same behavior
-from different drivers for similar types of devices. There will also
-be personalized profiles that enable a user to specify device mappings
-for features like dominant hand preference and eye position.
-
-
-Overview of the InputDevice and Sensor APIs
-
-Java 3D abstracts the concept of a device via the InputDevice
-interface. The developer's implementation of the InputDevice interface
-is layered on top of the device driver. The device may be a real
-device such as a joystick or it may be a virtual device such as a piece
-of Java code that does transform calculations.
-
-A device sends data back to Java 3D by placing values into Sensor
-objects which the device code manages and updates. The Sensor class
-encapsulates a transform and a timestamp. The transform is specified
-in the TrackerBase coordinate system.
-
-Java 3D schedules calls to the device's pollAndProcessInput routine,
-which is a method in the InputDevice interface. This method is
-responsible for updating the devices sensor values. The sensors'
-values and time stamps are read by a user's behavior code and/or each
-frame (by the Java 3D implementation) when head tracking is enabled.
-There are several options for scheduling, and they are detailed in the
-InputDevice javadoc and in the section below entitled "Driver
-Scheduling and Blocking Semantics."
-
-Please read the javadocs for InputDevice and Sensor for more detailed
-information. There is also a sample program in the Java 3D release
-called VirtualInputDevice, which implements these concepts in Java code.
-
-
-Recipe for an Application Program that Uses Input Devices
-
-Please see the Java 3D example program in the examples directory called
-VirtualInputDevice for an example of using this code recipe:
- 1) Implement the InputDevice interface with a class of your own
- 2) Call the device's constructor from your main program
- 3) Call initialize() on the device
- 4) Call PhysicalEnvironment.addInputDevice(InputDevice) or if you are
- using SimpleUniverse, call SimpleUniverse.getViewer().
- getPhysicalEnvironment().addInputDevice(InputDevice)
- 5) Assuming you want to modify the viewer's transform with the device:
- add a WakeupOnElapsedFrames behavior to your scene graph that wakes
- up every frame and in the processStimulus method modify the view
- transform with the transform you pull out of Sensor.getRead.
-
-In a future release, it will be possible to replace steps 2, 3, & 4 with
-a single method call to the SimpleUniverse utility.
-
-
-Location for Installation of Device Drivers
-
-There are two suggested ways to package and distribute drivers.
-
-If a driver is written entirely in Java and if it is tightly coupled
-with a particular application without the expectation of reuse in other
-applications, then it should be bundled and distributed with the
-application itself.
-
-If a driver is not associated with any particular application program,
-if it contains any native code, or if it is expected to be used by more
-than one application program, then it should be installed directly into
-the end user's local JRE. It is expected that most drivers for real
-devices fall into this category. On the Solaris platform, the Java
-portion of the driver should be installed into jre/lib/ext as a
-uniquely named jar file and if there is native code it should be
-compiled into a shared object and installed into jre/lib/sparc. On the
-Win32 platform, the Java portion of the driver should be installed into
-jre\lib\ext as a uniquely named jar file and if there is native code it
-should be compiled into a standard dynamically linked library (dll) and
-installed into jre\bin.
-
-
-Using a Preexistent Native Driver
-
-It is possible to make a Java 3D driver out of a preexistent native
-driver. In order to do this, you need to create an InputDevice
-interface that uses JNI to access the associated native driver methods
-whenever the corresponding InputDevice interface method is called from
-Java 3D. The native portion of the driver must be installed into the
-target JRE.
-
-
-Package Naming Conventions
-
-All device drivers that are installed into the JRE should be part of a
-package that follows both standard Java and Java 3D naming
-conventions. For instance, an input device driver should be placed
-into a package called
-com.<company_name>.j3d.drivers.input.<device_name>. The package should
-be jarred up into a jar file that has a unique name.
-
-Any native .so or .dll files installed into the JRE should be uniquely
-named.
-
-
-Device Driver Constructor
-
-The constructor arguments for a device driver must be an array of
-strings. So a driver should have a single public constructor that
-takes an array of strings. The idea behind this requirement is that
-eventually the Java 3D registry will contain an array of string
-arguments to be sent to the device constructor at instantiation time.
-The SimpleUniverse API will also make a provision for optional String
-arguments to be added to the array of String arguments found in the
-registry.
-
-
-Driver Scheduling and Blocking Semantics
-
-When a device is registered with Java 3D via the
-PhysicalEnvironment.addInputDevice(InputDevice) method call,
-InputDevice.getProcessingMode() is called on the registered device.
-This method should return one of the three processing modes defined in
-the InputDevice interface: BLOCKING, NON_BLOCKING, and DEMAND_DRIVEN.
-
- BLOCKING signifies that the driver for a device is a blocking driver
- and that it should be scheduled for regular reads by Java 3D. A
- blocking driver is defined as a driver that can cause the thread
- accessing the driver (the Java 3D implementation thread calling the
- pollAndProcessInput method) to block while the data is being accessed
- from the driver.
-
- NON_BLOCKING signifies that the driver for a device is a non-blocking
- driver and that it should be scheduled for regular reads by Java 3D.
- A non-blocking driver is defined as a driver that does not cause the
- calling thread to block while data is being retrieved from the
- driver. If no data is available from the device, pollAndProcessInput
- should return without updating the sensor read value.
-
- DEMAND_DRIVEN signifies that the Java 3D implementation should not
- schedule regular reads on the sensors of this device; the Java 3D
- implementation will only call pollAndProcessInput when one of the
- device's sensors' getRead methods is called. A DEMAND_DRIVEN driver
- must always provide the current value of the sensor on demand
- whenever pollAndProcessInput is called. This means that DEMAND_DRIVEN
- drivers are non-blocking by definition.
-
-It is important that you correctly classify your driver. If it is a
-NON_BLOCKING driver, most Java 3D implementations will choose to add
-inertia inside the scheduling thread to avoid starvation of the other
-Java 3D threads. If it is a BLOCKING driver, most Java 3D
-implementations will choose to spawn a separate scheduling thread for
-each BLOCKING device. If your driver is a DEMAND_DRIVEN driver, your
-driver must always provide the current value upon request along with
-the current time stamp.
-
-When running drivers with the Solaris operating system using the
-Solaris reference 1.2 JRE and green threads, you should be aware that
-there is a bug that forces all drivers to be BLOCKING. Thus, you
-should be careful to always use native threads on the Solaris reference
-1.2 JRE in order to get the expected behavior. This is not an issue
-with the Solaris 1.2 Performance JRE release, which is native threads
-only.
-
-
diff --git a/src/VirtualInputDevice/RotationControls.java b/src/VirtualInputDevice/RotationControls.java
deleted file mode 100644
index b95a51a..0000000
--- a/src/VirtualInputDevice/RotationControls.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.Component;
-
-// Classes that implement this interface must be a subclass
-// of java.awt.Component
-
-public interface RotationControls {
-
- /**
- * Get the angle of Rotation around the X Axis
- */
- public abstract float getXAngle();
-
- /**
- * Get the angle or Rotation around the Y Axis
- */
- public abstract float getYAngle();
-
- /**
- * Get the angle or Rotation around the Z Axis
- */
- public abstract float getZAngle();
-
- /**
- * Reset angles to original angle.
- */
- public abstract void reset();
-}
diff --git a/src/VirtualInputDevice/SensorBehavior.java b/src/VirtualInputDevice/SensorBehavior.java
deleted file mode 100644
index f587a83..0000000
--- a/src/VirtualInputDevice/SensorBehavior.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import java.util.*;
-
-public class SensorBehavior extends Behavior {
-
- private WakeupOnElapsedFrames conditions = new WakeupOnElapsedFrames(0);
- private TransformGroup transformGroup;
- private Sensor sensor;
- private Transform3D transform = new Transform3D();
-
- public SensorBehavior( TransformGroup tg, Sensor sensor ) {
- transformGroup = tg;
- this.sensor = sensor;
- }
-
- public void initialize() {
- wakeupOn( conditions );
- }
-
- public void processStimulus( Enumeration criteria ) {
- sensor.getRead( transform );
- transformGroup.setTransform( transform );
- wakeupOn( conditions );
- }
-
-}
diff --git a/src/VirtualInputDevice/VirtualInputDevice.java b/src/VirtualInputDevice/VirtualInputDevice.java
deleted file mode 100644
index 934c8f8..0000000
--- a/src/VirtualInputDevice/VirtualInputDevice.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import javax.media.j3d.*;
-import javax.vecmath.*;
-import java.awt.*;
-import java.awt.event.*;
-
-public class VirtualInputDevice implements InputDevice {
-
- private Vector3f position = new Vector3f();
- private Transform3D newTransform = new Transform3D();
- Sensor sensors[] = new Sensor[1];
-
- // The wheel controls control the view platform orientation
- private RotationControls rotControls;
-
- // The button position controls control the view platform position
- private PositionControls positionControls;
-
- private Transform3D rotTransX = new Transform3D();
- private Transform3D rotTransY = new Transform3D();
- private Transform3D rotTransZ = new Transform3D();
-
- private Vector3f initPos = new Vector3f();
-
- private int processingMode;
- private SensorRead sensorRead = new SensorRead();
-
- // These are the settable parameters.
- private boolean printvalues;
- private int xscreeninitloc;
- private int yscreeninitloc;
- private int xscreensize;
- private int yscreensize;
- private float xobjinitloc;
- private float yobjinitloc;
- private float zobjinitloc;
- private float xaxisrotinit;
- private float yaxisrotinit;
- private float zaxisrotinit;
-
- /*
- * Create a device, and use the string arguments in args to construct
- * the device with user preferences.
- */
- public VirtualInputDevice( String[] args ) {
-
- // default user-definable values
- printvalues = false;
- xscreeninitloc = 400;
- yscreeninitloc = 0;
- xscreensize = 400;
- yscreensize = 200;
- xobjinitloc = 0.0f;
- yobjinitloc = 0.0f;
- zobjinitloc = 2.2f;
- xaxisrotinit = 0.0f;
- yaxisrotinit = 0.0f;
- zaxisrotinit = 0.0f;
-
-
- for(int i=0 ; i<args.length ; i+=2) {
- if(args[i] == null)
- break;
- else if(args[i] == "printvalues")
- printvalues = (Boolean.valueOf(args[i+1])).booleanValue();
- else if(args[i] == "xscreeninitloc")
- xscreeninitloc = (Integer.valueOf(args[i+1])).intValue();
- else if(args[i] == "yscreeninitloc")
- yscreeninitloc = (Integer.valueOf(args[i+1])).intValue();
- else if(args[i] == "xscreensize")
- xscreensize = (Integer.valueOf(args[i+1])).intValue();
- else if(args[i] == "yscreensize")
- yscreensize = (Integer.valueOf(args[i+1])).intValue();
- else if(args[i] == "xobjinitloc")
- xobjinitloc = (Float.valueOf(args[i+1])).floatValue();
- else if(args[i] == "yobjinitloc")
- yobjinitloc = (Float.valueOf(args[i+1])).floatValue();
- else if(args[i] == "zobjinitloc")
- zobjinitloc = (Integer.valueOf(args[i+1])).floatValue();
- }
-
- if(printvalues == true) {
- System.out.println("Initial values for VirtualInputDevice:");
- System.out.println("xscreeninitloc = " + xscreeninitloc);
- System.out.println("yscreeninitloc = " + yscreeninitloc);
- System.out.println("xscreeninitsize = " + xscreensize);
- System.out.println("yscreeninitsize = " + yscreensize);
- System.out.println("xobjinitloc = " + xobjinitloc);
- System.out.println("yobjinitloc = " + yobjinitloc);
- System.out.println("zobjinitloc = " + zobjinitloc);
- System.out.println("xaxisrotinit = " + xaxisrotinit);
- System.out.println("yaxisrotinit = " + yaxisrotinit);
- System.out.println("zaxisrotinit = " + zaxisrotinit);
- }
-
-
- // initialize the InputDevice GUI
- Frame deviceFrame = new Frame();
- deviceFrame.setSize(xscreensize,yscreensize);
- deviceFrame.setLocation(xscreeninitloc, yscreeninitloc);
- deviceFrame.setTitle("Virtual Input Device");
- ButtonPositionControls positionControls;
- // initialize position with initial x, y, and z position
- positionControls = new ButtonPositionControls( xobjinitloc,
- yobjinitloc, zobjinitloc);
- WheelControls rotControls;
- // initialize rotations with initial angles in radians)
- rotControls = new WheelControls(xaxisrotinit, yaxisrotinit,
- zaxisrotinit);
- positionControls.setDevice (this);
- Panel devicePanel = new Panel();
- devicePanel.setLayout( new BorderLayout() );
- devicePanel.add("East", positionControls );
- devicePanel.add("West", rotControls );
- deviceFrame.add( devicePanel );
- deviceFrame.pack();
- deviceFrame.setVisible(true);
-
- initPos.set(xobjinitloc, yobjinitloc, zobjinitloc);
-
- this.positionControls = positionControls;
- this.rotControls = rotControls;
-
- // default processing mode
- processingMode = InputDevice.DEMAND_DRIVEN;
-
- sensors[0] = new Sensor(this);
- }
-
- public void close() {
- }
-
- public int getProcessingMode() {
- return processingMode;
- }
-
- public int getSensorCount() {
- return sensors.length;
- }
-
- public Sensor getSensor( int sensorIndex ) {
- return sensors[sensorIndex];
- }
-
- public boolean initialize() {
- return true;
- }
-
- public void pollAndProcessInput() {
-
- sensorRead.setTime( System.currentTimeMillis() );
-
- rotTransX.rotX(-rotControls.getXAngle());
- rotTransY.rotY(-rotControls.getYAngle());
- rotTransZ.rotZ(-rotControls.getZAngle());
-
- positionControls.getPosition(position);
- newTransform.set(position);
- newTransform.mul( rotTransX );
-
- newTransform.mul(rotTransY);
- newTransform.mul(rotTransZ);
-
- sensorRead.set( newTransform );
- sensors[0].setNextSensorRead( sensorRead );
- }
-
-
- public void processStreamInput() {
- }
-
-
- public void setNominalPositionAndOrientation() {
-
- sensorRead.setTime( System.currentTimeMillis() );
-
- rotTransX.rotX(xaxisrotinit);
- rotTransY.rotY(yaxisrotinit);
- rotTransZ.rotZ(zaxisrotinit);
-
- position.set(initPos);
-
- newTransform.set( position );
-
- newTransform.mul(rotTransX);
- newTransform.mul(rotTransY);
- newTransform.mul(rotTransZ);
-
- sensorRead.set( newTransform );
- sensors[0].setNextSensorRead( sensorRead );
- rotControls.reset();
- positionControls.setPosition(initPos);
- }
-
-
-
- public void setProcessingMode( int mode ) {
-
- // A typical driver might implement only one of these modes, and
- // throw an exception when there is an attempt to switch modes.
- // However, this example allows one to use any processing mode.
-
- switch(mode) {
- case InputDevice.DEMAND_DRIVEN:
- case InputDevice.NON_BLOCKING:
- case InputDevice.BLOCKING:
- processingMode = mode;
- break;
- default:
- throw new IllegalArgumentException("Processing mode must " +
- "be one of DEMAND_DRIVEN, NON_BLOCKING, or BLOCKING");
- }
- }
-
-}
diff --git a/src/VirtualInputDevice/WheelControls.java b/src/VirtualInputDevice/WheelControls.java
deleted file mode 100644
index 332bb3e..0000000
--- a/src/VirtualInputDevice/WheelControls.java
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
-
-import java.awt.*;
-import java.awt.geom.*;
-import java.awt.event.*;
-
-public class WheelControls extends Canvas implements RotationControls, MouseMotionListener, MouseListener {
-
- private final static int NONE=0;
- private final static int SLIDE_Y=1;
- private final static int SLIDE_X=2;
- private final static int SLIDE_Z=3;
-
- private int mode = NONE;
-
- private Dimension size;
- private int thickness;
- private int diameter;
- private int space;
- private int pipSize;
- private int pipOffset; // Amount pip is below wheel
- private int margin; // Margin between edge of Canvas and
- // controls
-
- private Polygon yPip;
- private Rectangle yBackClip;
-
- private Polygon xPip;
- private Rectangle xBackClip;
-
- private Polygon zPip;
-
- private Rectangle yArea;
- private Rectangle xArea;
- private Rectangle zArea;
-
- private Point oldMousePos = new Point();
-
- float yAngle = 0.0f;
- float xAngle = 0.0f;
- float zAngle = 0.0f;
-
- float yOrigAngle;
- float xOrigAngle;
- float zOrigAngle;
-
- float angleStep = (float)Math.PI/30.0f;
-
- public WheelControls() {
- this(0.0f, 0.0f, 0.0f);
- }
-
- public WheelControls( float rotX, float rotY, float rotZ ) {
- size = new Dimension( 200, 200 );
-
- xAngle = constrainAngle(rotX);
- yAngle = constrainAngle(rotY);
- zAngle = constrainAngle(rotZ);
-
- yOrigAngle = yAngle;
- xOrigAngle = xAngle;
- zOrigAngle = zAngle;
-
- setSizes();
-
- yPip = new Polygon();
- yPip.addPoint( 0, 0 );
- yPip.addPoint( -pipSize/2, pipSize );
- yPip.addPoint( pipSize/2, pipSize );
-
- xPip = new Polygon();
- xPip.addPoint(0,0);
- xPip.addPoint( pipSize, -pipSize/2 );
- xPip.addPoint( pipSize, pipSize/2 );
-
- zPip = new Polygon();
- zPip.addPoint( diameter/2, pipOffset );
- zPip.addPoint( diameter/2-pipSize/2, pipOffset-pipSize );
- zPip.addPoint( diameter/2+pipSize/2, pipOffset-pipSize );
-
- addMouseListener( this );
- addMouseMotionListener( this );
- }
-
- private void setSizes() {
- margin = 10;
- int width = size.width - margin*2;
- thickness = width * 7 / 100;
- diameter = width * 70 / 100;
- space = width * 10 / 100;
- pipSize = width * 7 / 100;
-
- pipOffset = thickness/2;
-
- }
-
- public void paint( Graphics g ) {
- Graphics2D g2 = (Graphics2D)g;
-
- g.drawOval( margin,margin, diameter, diameter );
- zArea = new Rectangle( margin, margin, diameter, diameter );
- drawZPip( g2, zAngle );
-
- g.drawRect( margin, margin+diameter+space,
- diameter, thickness ); // Y Wheel
- yArea = new Rectangle( margin, margin+diameter+space, margin+diameter,
- thickness+pipOffset );
- yBackClip = new Rectangle( margin-thickness,
- margin+diameter+space+thickness,
- margin+diameter+thickness*2, thickness );
- drawYPip( g2, yAngle );
-
- g.drawRect( margin+diameter+space, margin,
- thickness, diameter ); // X Wheel
- xArea = new Rectangle( margin+diameter+space, margin,
- thickness+pipOffset, margin+diameter );
- xBackClip = new Rectangle( margin+diameter+space+thickness,
- margin-thickness,
- thickness, margin+diameter+thickness*2 );
- drawXPip( g2, xAngle );
-
-
- }
-
- public float getXAngle() {
- return xAngle;
- }
-
- public float getYAngle() {
- return yAngle;
- }
-
- public float getZAngle() {
- return zAngle;
- }
-
-
- public void reset() {
- // Overwrite the old pip
- drawYPip( (Graphics2D)(this.getGraphics()),
- yAngle );
- yAngle = yOrigAngle;
- // Draw the new Pip
- drawYPip( (Graphics2D)(this.getGraphics()),
- yAngle );
-
- // Overwrite the old pip
- drawXPip( (Graphics2D)(this.getGraphics()),
- xAngle );
- xAngle = xOrigAngle;
- // Draw the new Pip
- drawXPip( (Graphics2D)(this.getGraphics()),
- xAngle );
-
- drawZPip( (Graphics2D)(this.getGraphics()),
- zAngle );
-
- zAngle = zOrigAngle;
-
- drawZPip( (Graphics2D)(this.getGraphics()),
- zAngle );
- oldMousePos.setLocation(0,0);
- }
-
-
- private void drawXPip( Graphics2D g2, float angle ) {
- AffineTransform trans = new AffineTransform();
- int y;
- int xOrig = margin+diameter+space;
- int yOrig = margin;
- Color origColor = g2.getColor();
-
- if (angle <= Math.PI) {
- y = yOrig + diameter - (int)((Math.abs( angle-Math.PI/2 )/(Math.PI/2)) * diameter/2);
- } else
- y = yOrig + (int)((Math.abs( (angle-Math.PI*1.5) )/(Math.PI/2)) * diameter/2);
-
- if (angle<Math.PI/2 || angle > Math.PI*1.5)
- g2.setColor( Color.red ); // Infront of wheel
- else {
- g2.setColor( Color.black ); // Behind Wheel
- g2.setClip( xBackClip );
- }
-
- g2.setXORMode( getBackground() );
- trans.setToTranslation( xOrig+pipOffset, y );
- g2.setTransform( trans );
- g2.fillPolygon( xPip );
-
- // Reset graphics context
- trans.setToIdentity();
- g2.setTransform( trans );
- g2.setColor(origColor);
- g2.setPaintMode();
- }
-
- private void drawYPip( Graphics2D g2, float angle ) {
- AffineTransform trans = new AffineTransform();
- int x;
- int xOrig = margin;
- int yOrig = margin+diameter+space;
- Color origColor = g2.getColor();
-
- if (angle <= Math.PI) {
- x = xOrig + diameter - (int)((Math.abs( angle-Math.PI/2 )/(Math.PI/2)) * diameter/2);
- } else
- x = xOrig + (int)((Math.abs( (angle-Math.PI*1.5) )/(Math.PI/2)) * diameter/2);
-
- if (angle<Math.PI/2 || angle > Math.PI*1.5)
- g2.setColor( Color.red ); // Infront on wheel
- else {
- g2.setColor( Color.black ); // Behind Wheel
- g2.setClip( yBackClip );
- }
-
- g2.setXORMode( getBackground() );
- trans.setToTranslation( x, yOrig+pipOffset );
- g2.setTransform( trans );
- g2.fillPolygon( yPip );
-
- // Reset graphics context
- trans.setToIdentity();
- g2.setTransform( trans );
- g2.setColor(origColor);
- g2.setPaintMode();
- }
-
- private void drawZPip( Graphics2D g2, float zAngle ) {
- AffineTransform trans = new AffineTransform();
- Color origColor = g2.getColor();
-
- trans.translate( margin, margin );
- trans.rotate(zAngle, diameter/2, diameter/2 );
-
- g2.setXORMode( getBackground() );
- g2.setTransform(trans);
- g2.setColor( Color.red );
- g2.fillPolygon( zPip );
-
- // Reset graphics context
- trans.setToIdentity();
- g2.setTransform( trans );
- g2.setColor( origColor );
- g2.setPaintMode();
- }
-
- public Dimension getPreferredSize() {
- return size;
- }
-
- public void setSize( Dimension d ) {
- // Set size to smallest dimension
- if (d.width<d.height)
- size.width = size.height = d.width;
- else
- size.width = size.height = d.height;
- setSizes();
- }
-
- public void mouseClicked( MouseEvent e ) {
- }
-
- public void mouseEntered( MouseEvent e ) {
- }
-
- public void mouseExited( MouseEvent e ) {
- }
-
- public void mousePressed( MouseEvent e ) {
- if ( yArea.contains( e.getPoint() )) {
- mode = SLIDE_Y;
- oldMousePos = e.getPoint();
- } else if (xArea.contains( e.getPoint() )) {
- mode = SLIDE_X;
- oldMousePos = e.getPoint();
- } else if (zArea.contains( e.getPoint() )) {
- mode = SLIDE_Z;
- oldMousePos = e.getPoint();
- }
- }
-
- public void mouseReleased( MouseEvent e ) {
- mode = NONE;
- }
-
- public void mouseDragged( MouseEvent e ) {
- Point pos = e.getPoint();
-
- int diffX = pos.x - oldMousePos.x;
- int diffY = pos.y - oldMousePos.y;
-
- switch(mode) {
- case NONE:
- break;
- case SLIDE_Y:
- // Overwrite the old pip
- drawYPip( (Graphics2D)((Canvas)e.getSource()).getGraphics(),
- yAngle );
- if (diffX<0)
- yAngle -= angleStep;
- else if (diffX>0)
- yAngle += angleStep;
-
- yAngle = constrainAngle(yAngle);
-
- // Draw the new Pip
- drawYPip( (Graphics2D)((Canvas)e.getSource()).getGraphics(),
- yAngle );
- oldMousePos = pos;
- break;
- case SLIDE_X:
- // Overwrite the old pip
- drawXPip( (Graphics2D)((Canvas)e.getSource()).getGraphics(),
- xAngle );
- if (diffY<0)
- xAngle -= angleStep;
- else if (diffY>0)
- xAngle += angleStep;
-
- xAngle = constrainAngle(xAngle);
-
- // Draw the new Pip
- drawXPip( (Graphics2D)((Canvas)e.getSource()).getGraphics(),
- xAngle );
- oldMousePos = pos;
- break;
- case SLIDE_Z:
- drawZPip( (Graphics2D)((Canvas)e.getSource()).getGraphics(),
- zAngle );
-
- if (diffX<0)
- zAngle -= angleStep;
- else if (diffX>0)
- zAngle += angleStep;
-
- zAngle = constrainAngle( zAngle );
- drawZPip( (Graphics2D)((Canvas)e.getSource()).getGraphics(),
- zAngle );
- oldMousePos = pos;
- break;
- default:
- throw( new RuntimeException("Internal Error"));
- }
- }
-
- public void mouseMoved( MouseEvent e ) {
- }
-
- /**
- * Constrain angle to be 0<angle<2PI
- */
- private float constrainAngle( float angle ) {
- if ( angle > (float)Math.PI*2 ) return angle-(float)Math.PI*2;
- if ( angle < 0.0f) return angle+(float)Math.PI*2;
- return angle;
- }
-}
diff --git a/src/VirtualInputDevice/build.xml b/src/VirtualInputDevice/build.xml
deleted file mode 100644
index 4e57328..0000000
--- a/src/VirtualInputDevice/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-/*
- * $RCSfile$
- *
- * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistribution of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistribution in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Sun Microsystems, Inc. or the names of
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * This software is provided "AS IS," without a warranty of any
- * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
- * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
- * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
- * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
- * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
- * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
- * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
- * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
- * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * You acknowledge that this software is not designed, licensed or
- * intended for use in the design, construction, operation or
- * maintenance of any nuclear facility.
- *
- * $Revision$
- * $Date$
- * $State$
- */
- -->
-
-<project basedir="." default="compile">
- <target name="compile">
- <javac
- destdir="." srcdir="."
- source="1.4" target="1.4"
- debug="true" deprecation="true">
- </javac>
- </target>
-
- <target name="all" depends="compile">
- </target>
-
- <target description="Clean all build products." name="clean">
- <delete>
- <fileset dir=".">
- <include name="**/*.class"/>
- </fileset>
- </delete>
- </target>
-
-</project>
diff --git a/src/geometry/beethoven.obj b/src/geometry/beethoven.obj
deleted file mode 100644
index a64cfd0..0000000
--- a/src/geometry/beethoven.obj
+++ /dev/null
@@ -1,9278 +0,0 @@
-# Tue Oct 27 19:18:13 1992
-#
-# A Bust of Beethoven
-#
-# Courtesy of:
-#
-# Viewpoint Animation Engineering
-# 870 West Center
-# Orem, Utah 84057
-# (801)224-2222
-# 1-800-DATASET
-#
-# (c) Copyright 1992 Viewpoint Animation Engineering Inc.
-# Sun Microsystems has been authorized to freely distribute
-# these Datasets. They are provided for unlimited use in
-# existing or modified form. The actual Dataset (ie, geometry)
-# may not, however, be resold in existing or modified form.
-#
-
-g
-v 0.606929 -5.258410 2.044219
-v 0.749451 -5.282475 2.101935
-v 1.104195 -5.305782 1.786403
-v 0.942787 -5.310546 1.944346
-v 1.223796 -5.327607 1.727047
-v 1.387634 -5.352595 1.669870
-v 1.499742 -5.392315 1.631342
-v 1.662819 -5.424446 1.628694
-v 1.705207 -5.429660 1.425738
-v 2.428539 -5.597278 1.106718
-v 2.816964 -5.698190 0.778881
-v 0.000000 -0.629419 0.700115
-v 0.000000 -0.689031 0.749186
-v 0.000000 -0.921285 0.651340
-v 0.000000 -0.768149 0.766285
-v 0.000000 -1.143949 0.667317
-v 0.000000 -0.557739 0.616228
-v 0.000000 -1.170529 0.755149
-v 0.000000 -1.195244 0.832548
-v 0.000000 -1.255585 0.924864
-v 0.000000 -1.386623 1.039014
-v 0.000000 -1.612841 1.117056
-v 0.000000 -1.838287 1.090171
-v 0.000000 -2.000022 0.997148
-v 0.228664 -1.938785 0.914844
-v 0.085459 -1.988895 0.953370
-v 0.302674 -1.925339 0.896202
-v 0.275138 -1.989268 0.980982
-v 0.185271 -2.036472 1.142150
-v 0.159347 -2.077863 1.229946
-v 0.081716 -2.186846 1.384890
-v 0.056561 -2.283902 1.486748
-v 0.068819 -2.419917 1.574930
-v 0.142751 -2.654662 1.791003
-v 0.773483 -3.525448 1.920056
-v 0.919514 -3.599237 1.892229
-v 0.216434 -2.825996 1.883388
-v 0.357668 -3.214574 1.963003
-v 0.582558 -3.428350 1.799299
-v 0.787973 -3.572078 1.805144
-v 0.811570 -3.535260 1.639753
-v 0.654987 -3.823292 1.726999
-v 0.503207 -4.138469 1.786812
-v 0.317156 -4.423326 1.863373
-v 0.508878 -5.273241 1.855637
-v 0.459840 -5.250568 1.768653
-v 0.194708 -5.182790 1.835237
-v 0.087132 -4.772663 1.922207
-v 0.000000 -5.119201 1.917972
-v 2.656234 -5.605168 0.169326
-v 2.500285 -5.523783 -0.077034
-v 0.000000 3.401886 2.677039
-v 0.000000 3.455461 3.197253
-v 0.000000 3.835356 3.347418
-v 0.000000 4.234554 3.301640
-v 0.000000 5.544172 1.141834
-v 0.000000 5.222569 1.996588
-v 0.000000 2.150469 -2.446399
-v 0.000000 1.411211 -2.377300
-v 0.000000 3.007780 -2.138084
-v 0.000000 4.160317 -1.992613
-v 0.000000 4.685857 -1.432630
-v 0.000000 5.232615 -0.488459
-v 0.000000 5.530680 0.336697
-v 2.351196 -5.435412 -0.151886
-v 1.417944 -2.541195 1.493780
-v 1.259329 -2.426003 1.563345
-v 1.236121 -2.711167 1.686120
-v 1.409394 -2.865327 1.613634
-v 1.224993 -2.938594 1.776514
-v 1.399548 -3.105691 1.685054
-v 1.202295 -3.145272 1.833352
-v 1.379981 -3.366113 1.738770
-v 1.106314 -3.590680 1.974236
-v 1.334269 -3.716449 1.839816
-v 1.002768 -4.057680 2.052466
-v 1.232172 -4.121325 1.915639
-v 0.921851 -4.498998 2.102010
-v 1.149484 -4.521899 1.949742
-v 0.821686 -4.948648 2.109915
-v 1.055671 -4.969047 1.934536
-v 0.665033 -4.949267 2.067833
-v 0.790397 -4.471575 2.070390
-v 0.871066 -4.030221 2.020681
-v 1.011326 -3.548462 1.932144
-v 1.155576 -3.109339 1.814467
-v 1.175242 -2.848861 1.705078
-v 1.170322 -2.683542 1.625350
-v 1.649166 -3.153598 1.425104
-v 1.725446 -2.901864 1.298102
-v 1.915900 -3.340909 1.329336
-v 1.974884 -3.126890 1.261171
-v 2.246661 -3.436337 1.323768
-v 2.290493 -3.340302 1.279632
-v 2.534990 -3.502395 1.347507
-v 2.140607 -3.727898 1.472833
-v 2.317251 -3.857045 1.497275
-v 1.835587 -3.589522 1.435310
-v 2.013046 -3.668311 1.428434
-v 1.584067 -3.394486 1.523631
-v 1.682448 -3.490690 1.451628
-v 1.529117 -3.611627 1.612823
-v 1.548203 -3.500728 1.581314
-v 2.122380 -3.823961 1.506380
-v 2.060160 -3.909763 1.538973
-v 2.231689 -4.015099 1.562255
-v 2.010254 -3.717139 1.449443
-v 2.076778 -3.804394 1.495765
-v 1.961209 -3.864456 1.531278
-v 1.986340 -3.832651 1.514372
-v 1.608903 -3.661776 1.551223
-v 1.668334 -3.515077 1.467304
-v 1.597241 -3.534766 1.528002
-v 1.617885 -3.613874 1.534346
-v 1.988031 -3.767161 1.485134
-v 1.655153 -3.556152 1.491457
-v 1.812183 -3.626549 1.434301
-v 1.798499 -3.643519 1.450996
-v 1.790407 -3.668857 1.471051
-v 1.787096 -3.693876 1.484562
-v 1.763082 -3.742047 1.509739
-v 1.873679 -4.202039 1.614515
-v 2.045680 -4.339208 1.644113
-v 1.659365 -4.027687 1.614704
-v 1.502733 -3.882563 1.688551
-v 1.422880 -4.194795 1.751814
-v 1.338830 -4.586100 1.776423
-v 1.219358 -5.001400 1.765408
-v 1.321242 -5.037073 1.701719
-v 1.481364 -4.614100 1.694944
-v 1.586808 -4.326046 1.684303
-v 1.770696 -4.440989 1.659695
-v 1.957850 -4.535209 1.648452
-v 1.652831 -4.684212 1.684831
-v 1.850858 -4.739279 1.666618
-v 1.460594 -5.078399 1.663402
-v 1.631559 -5.124405 1.645831
-v 1.326262 -2.155088 1.413261
-v 1.485772 -2.251122 1.373872
-v 1.880520 -2.569602 1.112499
-v 1.710357 -2.035759 1.113492
-v 1.545319 -1.781823 1.127396
-v 1.362923 -1.931386 1.228796
-v 1.082675 -2.159156 1.209878
-v 1.115181 -2.219535 1.300111
-v 2.050930 -1.831655 0.828760
-v 1.702970 -1.478868 0.875829
-v 1.402433 -1.226174 0.788059
-v 1.535905 -1.298107 0.807226
-v 1.644327 -1.327048 0.804401
-v 1.764862 -1.361831 0.781579
-v 2.288634 -1.645988 0.611225
-v 1.883102 -1.374386 0.712727
-v 2.035308 -1.272274 0.521232
-v 2.395414 -1.414058 0.447712
-v 2.509845 -0.986878 0.206504
-v 2.208626 -0.922418 0.257252
-v 2.639863 -2.438321 0.958418
-v 2.725734 -1.886749 0.497114
-v 2.764515 -1.590138 0.284429
-v 2.831744 -1.098893 0.044976
-v 1.775468 -2.806755 1.258097
-v 1.655526 -2.682360 1.299566
-v 2.033635 -2.703922 1.074109
-v 1.839602 -2.218849 1.044937
-v 2.056288 -3.001260 1.208765
-v 2.384792 -3.212572 1.263918
-v 2.356952 -4.120360 1.544871
-v 2.459801 -3.955877 1.483205
-v 2.178010 -4.430263 1.632940
-v 2.075841 -4.618856 1.646803
-v 1.971436 -4.813312 1.649093
-v 1.782910 -5.179061 1.642088
-v 2.722473 -3.521854 1.297529
-v 2.320522 -0.635532 0.139770
-v 2.572149 -0.716555 0.062678
-v 2.866314 -0.799157 -0.133476
-v 2.292457 -0.145070 -0.109027
-v 2.443170 -0.179462 -0.315260
-v 2.730895 -0.264831 -0.543768
-v 2.458838 0.001204 -0.795894
-v 2.292063 0.126813 -0.573476
-v 2.192149 0.196353 -0.366311
-v 2.321326 0.143332 -0.986568
-v 2.204225 0.285265 -0.793519
-v 2.086512 0.412325 -0.602341
-v 1.979496 0.526511 -1.052944
-v 1.901332 0.677905 -0.887785
-v 2.119281 0.374709 -1.296339
-v 2.404395 0.114204 -1.034763
-v 2.182306 0.325784 -1.359781
-v 2.489319 -0.022626 -0.860502
-v 2.735065 -0.303741 -0.600112
-v 2.972152 -1.121362 -0.018465
-v 2.979924 -0.812304 -0.196070
-v 2.922423 -1.641673 0.257410
-v 2.873500 -1.930568 0.473403
-v 2.375135 0.046336 -1.144438
-v 2.172337 0.226998 -1.422520
-v 2.491158 -0.102854 -1.005916
-v 2.796512 -0.410669 -0.688888
-v 2.990258 -0.891358 -0.298409
-v 3.003446 -1.208466 -0.126238
-v 2.626737 -0.141303 -1.176234
-v 3.305729 -0.660061 -1.106242
-v 3.189751 -0.546391 -1.211410
-v 3.498145 -0.805415 -0.915226
-v 3.598299 -1.111347 -0.580610
-v 3.594934 -1.309430 -0.426668
-v 2.960597 -1.718621 0.127997
-v 2.892831 -2.040189 0.309357
-v 3.561625 -1.803253 -0.127527
-v 3.572524 -2.193293 0.073111
-v 2.723940 -2.593923 0.991446
-v 2.101627 -2.776564 0.955989
-v 1.952771 -2.425001 0.870612
-v 1.810815 -2.786959 1.099059
-v 2.079275 -2.975586 1.069559
-v 2.419624 -3.200458 1.048395
-v 2.758584 -3.526407 1.034976
-v 2.414672 -4.011502 1.178445
-v 2.324448 -4.181604 1.220485
-v 2.173626 -4.477980 1.310844
-v 2.088244 -4.632308 1.348621
-v 1.971255 -4.860397 1.375835
-v 1.807332 -5.201816 1.406577
-v 3.032909 -4.274755 0.871277
-v 3.221893 -3.685248 0.761669
-v 3.384109 -3.157457 0.609178
-v 3.006850 -3.159979 0.786586
-v 2.761079 -3.343132 0.934009
-v 2.989856 -4.359622 0.888982
-v 2.837555 -4.575955 0.958111
-v 2.743621 -4.770766 1.013783
-v 2.647256 -5.006955 1.036057
-v 2.543676 -5.328383 1.063651
-v 2.636712 -2.719342 0.706883
-v 2.675142 -2.784636 0.772986
-v 3.022010 -2.935674 0.717220
-v 3.488740 -2.821402 0.417224
-v 2.408273 -2.931587 0.890975
-v 2.481620 -3.157896 0.992837
-v 2.536210 -2.948206 0.958051
-v 2.663577 -2.834692 0.861852
-v 2.882174 -2.937345 0.843545
-v 2.925337 -3.100878 0.894157
-v 2.756874 -3.229780 1.007085
-v 2.555491 -3.089174 1.022268
-v 2.674389 -2.937617 0.933123
-v 2.780405 -2.972446 0.918971
-v 2.626996 -2.987327 0.979362
-v 2.629518 -3.052213 1.002425
-v 2.750973 -3.111114 0.986978
-v 2.807915 -3.045099 0.930632
-v 2.717701 -3.030117 0.972204
-v 4.313962 -1.233717 -1.113217
-v 4.624830 -1.455210 -1.033928
-v 4.330608 -1.411916 -0.776805
-v 4.324175 -1.485486 -0.686738
-v 4.248341 -1.902899 -0.362860
-v 4.634851 -1.565367 -0.797032
-v 4.566785 -1.925704 -0.443689
-v 4.188893 -2.337274 -0.205079
-v 4.137861 -2.703013 -0.100062
-v 4.022866 -3.369608 0.033900
-v 3.764290 -3.909375 0.369424
-v 4.456349 -2.398925 -0.204624
-v 4.359573 -2.784669 -0.104717
-v 4.125014 -3.394157 -0.000466
-v 3.898481 -4.088530 -0.065554
-v 4.241738 -3.465072 -0.094279
-v 4.479900 -2.866124 -0.178521
-v 4.576882 -2.437436 -0.255504
-v 4.648549 -1.977384 -0.494981
-v 3.513140 -4.435121 0.544512
-v 3.497720 -4.482059 0.557091
-v 3.379102 -4.700961 0.630729
-v 3.324800 -4.792911 0.649540
-v 3.166105 -5.047532 0.719668
-v 2.974409 -5.394820 0.804852
-v 3.670990 -4.569324 0.278001
-v 3.529665 -4.810116 0.407969
-v 3.328219 -5.106425 0.519180
-v 3.048547 -5.432866 0.657509
-v 1.874501 0.840434 -0.825335
-v 1.653189 0.929418 -0.708563
-v 1.789908 0.559574 -0.484963
-v 2.022252 0.544661 -0.586962
-v 1.619546 1.085665 -0.484865
-v 1.709339 0.708810 -0.303075
-v 1.494055 1.265579 -0.284350
-v 1.608594 0.873861 -0.115187
-v 1.679156 0.633915 0.029714
-v 1.778391 0.482136 -0.139324
-v 1.872463 0.346143 -0.310705
-v 2.145294 0.339204 -0.375192
-v 1.915717 0.040941 -0.014837
-v 2.201232 0.000293 -0.064496
-v 1.764515 0.177998 0.117671
-v 1.676031 0.329475 0.229159
-v 1.555784 0.021224 0.505726
-v 1.718960 -0.160742 0.469903
-v 1.270392 -0.147104 0.784968
-v 1.526734 -0.330392 0.664287
-v 1.394744 -0.413036 0.760716
-v 0.965119 -0.260672 0.954350
-v 1.133576 -0.529377 0.876480
-v 0.660852 -0.430087 1.026409
-v 0.890434 -0.667131 1.030138
-v 1.083905 -0.908114 0.962937
-v 1.292102 -0.754556 0.823783
-v 1.497409 -0.724919 0.744497
-v 1.774028 -0.557820 0.533113
-v 1.918869 -0.331560 0.339632
-v 2.293218 -0.484214 0.339257
-v 1.870448 -0.652197 0.450844
-v 2.204633 -0.761890 0.492489
-v 1.920558 -0.911602 0.635633
-v 2.150011 -1.077666 0.738764
-v 1.173329 -0.937966 0.974752
-v 1.359247 -0.802611 0.864891
-v 1.564809 -0.797042 0.792898
-v 1.863340 -0.977168 0.914090
-v 2.107739 -1.143225 0.953456
-v 1.715824 -0.929656 0.966024
-v 1.618376 -0.925175 1.029689
-v 1.369610 -1.015338 1.119676
-v 1.832846 -1.020531 1.185262
-v 1.626036 -1.076742 1.288613
-v 1.714100 -1.093595 1.318990
-v 1.848709 -1.143001 1.341502
-v 1.983526 -1.157101 1.274700
-v 2.045247 -1.153720 1.168849
-v 1.929603 0.766195 -0.868969
-v 2.116741 0.495058 -0.601314
-v 2.255911 0.276612 -0.416612
-v 2.281261 -0.081355 -0.119904
-v 2.360604 -0.599489 0.198334
-v 2.290626 -0.891433 0.390191
-v 2.149541 -1.234854 0.593719
-v 2.050488 -1.366728 0.809457
-v 1.947857 -1.381446 0.959888
-v 1.772848 -1.328383 1.095626
-v 1.564976 -1.261520 1.034313
-v 1.497288 -1.339130 0.841721
-v 1.364580 -1.180787 0.924075
-v 0.979704 -2.071305 1.342422
-v 1.002919 -2.144323 1.415971
-v 1.288682 -1.818864 1.337446
-v 1.184800 -2.360092 1.620601
-v 1.499328 -1.619904 1.259788
-v 1.150655 -2.577878 1.705708
-v 1.138570 -2.355695 1.608074
-v 1.076103 -2.441460 1.640501
-v 0.986579 -2.344266 1.588933
-v 0.946039 -2.139567 1.405321
-v 0.911458 -2.006588 1.293084
-v 1.226792 -1.758778 1.263937
-v 1.430329 -1.605903 1.242139
-v 1.185289 -1.494439 1.039594
-v 1.106210 -1.685248 1.170283
-v 1.003208 -1.853189 1.204180
-v 1.062459 -1.710216 1.147465
-v 0.987919 -1.577734 0.943063
-v 1.011487 -1.466149 0.849459
-v 1.412549 -1.265471 0.846861
-v 1.163166 -1.083631 0.749894
-v 1.215025 -1.139879 0.631844
-v 1.090440 -1.023507 0.678469
-v 1.140061 -1.085619 0.548845
-v 1.322738 -1.282287 0.839324
-v 1.125903 -1.247879 0.726983
-v 0.975960 -1.253640 0.439031
-v 0.951070 -1.490338 0.657946
-v 0.923414 -1.563252 0.752181
-v 0.831620 -1.507736 0.611914
-v 0.772368 -1.363330 0.594727
-v 0.706202 -1.445747 0.661758
-v 1.053160 -0.947260 0.364276
-v 0.899215 -1.079844 0.440476
-v 0.696132 -1.182176 0.597604
-v 0.541634 -1.357723 0.706386
-v 1.031870 -0.910848 0.501241
-v 0.972473 -0.904372 0.702188
-v 0.953346 -0.798897 0.560640
-v 0.945703 -0.793197 0.352311
-v 0.840242 -0.927747 0.424596
-v 0.620113 -1.068009 0.584601
-v 0.406030 -1.181369 0.658817
-v 0.776626 -0.858709 0.397058
-v 0.588595 -1.031782 0.557169
-v 0.552893 -0.992161 0.508997
-v 0.372288 -1.143575 0.620912
-v 0.344751 -1.110140 0.559124
-v 0.223761 -1.185662 0.654281
-v 0.250869 -1.226516 0.715051
-v 0.123685 -1.159181 0.616287
-v 0.306132 -1.328286 0.761379
-v 0.881827 -0.723916 0.435746
-v 0.723647 -0.597074 0.645566
-v 0.757860 -0.781188 0.456694
-v 0.882614 -0.775412 0.755154
-v 0.666779 -0.552895 0.796182
-v 0.611036 -0.525612 0.788876
-v 0.562304 -0.416580 0.969606
-v 0.876471 -0.148345 0.904860
-v 1.138099 -0.091895 0.774442
-v 1.485183 0.079724 0.500447
-v 1.596159 0.379360 0.235293
-v 1.566675 0.634397 0.073622
-v 1.512450 0.897163 -0.076482
-v 1.412367 1.281826 -0.310801
-v 1.237959 0.865933 -0.239116
-v 1.313157 0.598818 -0.121402
-v 1.265388 0.325109 -0.014263
-v 1.172174 0.003799 0.288578
-v 1.038911 -0.054216 0.599331
-v 0.525206 -0.699021 0.685298
-v 0.542374 -0.842300 0.544174
-v 0.503536 -0.631044 0.705220
-v 0.501866 -0.586513 0.662164
-v 0.455321 -0.546323 0.782268
-v 0.379120 -0.507010 0.863837
-v 0.299927 -0.673631 0.765450
-v 0.304694 -0.630063 0.726692
-v 0.325211 -0.748447 0.738581
-v 0.224965 -0.434611 0.626931
-v 0.215350 -0.596543 0.743346
-v 0.127284 -0.764450 0.768490
-v 0.113276 -0.678553 0.767337
-v 0.137651 -0.622930 0.687754
-v 0.096537 -0.571215 0.609019
-v 0.322935 -0.900350 0.611039
-v 0.108917 -0.939211 0.646315
-v 0.016477 -0.926391 0.649357
-v -0.000578 -1.149405 0.652702
-v 0.139737 -1.171606 0.699986
-v -0.004388 -1.174172 0.722007
-v -0.007583 -1.191200 0.792125
-v 0.127929 -1.193892 0.754604
-v 0.241360 -1.278164 0.814638
-v 0.130370 -1.254810 0.861437
-v 0.033090 -1.254034 0.896798
-v 0.274387 -1.437386 0.895555
-v 0.260266 -1.429410 0.950578
-v 0.166855 -1.398997 0.996518
-v 0.490997 -1.452079 1.079063
-v 0.672423 -1.321110 1.058253
-v 0.733092 -1.446843 0.883670
-v 0.777042 -1.374494 1.179787
-v 0.852626 -1.500311 1.052535
-v 0.806198 -1.468259 0.783523
-v 0.957618 -1.550179 0.980468
-v 1.061248 -1.693582 1.249920
-v 0.991865 -1.643754 1.309478
-v 0.918461 -1.559019 1.397034
-v 0.600731 -1.529273 1.201757
-v 1.043674 -1.738987 1.307451
-v 0.961809 -1.793360 1.514807
-v 0.871396 -1.707364 1.600356
-v 0.643279 -1.597424 1.344353
-v 0.616929 -1.647787 1.441685
-v 0.803006 -1.788214 1.656914
-v 0.729624 -1.999230 1.428804
-v 0.923605 -2.047241 1.528758
-v 0.887021 -2.089621 1.740125
-v 0.908608 -2.268117 1.570879
-v 0.804780 -2.017978 1.533626
-v 0.752157 -2.040502 1.662394
-v 0.544718 -2.044484 1.668407
-v 0.628571 -2.050575 1.845255
-v 0.697121 -2.147149 1.901156
-v 0.550252 -1.907047 1.787284
-v 0.487346 -1.724542 1.549441
-v 0.395899 -1.825250 1.640423
-v 0.250850 -1.637978 1.015846
-v 0.244374 -1.658235 0.946017
-v 0.123817 -1.642736 1.107774
-v 0.075363 -1.842817 1.071423
-v 0.245409 -1.810659 0.985872
-v 0.304946 -1.805198 0.974470
-v 0.296986 -1.699174 1.051869
-v 0.439278 -1.770717 1.223794
-v 0.314085 -1.883325 1.371367
-v 0.179735 -1.984468 1.494798
-v 0.324830 -1.841375 1.003657
-v 0.222738 -1.894406 1.155335
-v 0.172525 -1.978736 1.231043
-v 0.114834 -2.162851 1.420513
-v 0.093712 -2.255516 1.488580
-v 0.112533 -2.125553 1.543084
-v 0.124040 -2.383260 1.618812
-v 0.150668 -2.039182 1.681016
-v 0.190912 -2.607809 1.821257
-v 0.240723 -2.602026 1.811898
-v 0.306947 -2.582094 1.862173
-v 0.405686 -2.474868 1.990988
-v 0.226778 -2.090173 1.907548
-v 0.348400 -2.002303 1.884293
-v 0.429880 -2.105294 1.813437
-v 0.510107 -2.120671 1.944439
-v 0.581623 -2.187905 2.008629
-v 0.478191 -2.157100 2.001021
-v 0.940866 -2.328458 1.660947
-v 1.015872 -2.421969 1.749243
-v 1.130258 -2.672200 1.895345
-v 1.133006 -3.056261 1.998462
-v 0.829619 -3.395835 1.961927
-v 0.886282 -2.900060 1.864000
-v 0.973873 -2.665101 1.909583
-v 0.872574 -2.480379 1.729201
-v 0.924078 -2.539847 1.804793
-v 0.850053 -2.399683 1.656877
-v 0.677365 -3.395529 1.913464
-v 0.490297 -3.081067 2.001696
-v 0.442003 -3.181398 2.023786
-v 0.371433 -2.706441 1.897063
-v 0.289637 -2.717131 1.956565
-v 0.833722 -2.319913 1.588685
-v 0.723318 -2.277545 1.887690
-v 0.833002 -2.323450 1.837793
-v 0.692294 -2.371743 1.913054
-v 0.838047 -2.453222 1.883920
-v 0.641657 -2.588223 1.940398
-v 0.835450 -2.392535 1.666195
-v 0.863047 -2.464924 1.733322
-v 0.611144 -2.550968 2.004122
-v 0.586612 -2.676337 1.973955
-v 0.692440 -3.060730 1.993670
-v 0.766932 -3.933840 1.811139
-v 0.735525 -3.893854 1.701079
-v 0.728226 -4.163616 1.817632
-v 0.672600 -4.211015 1.737881
-v 0.642157 -4.510410 1.854692
-v 0.587140 -4.550395 1.720699
-v 0.570267 -4.186787 1.772454
-v 0.442477 -4.489280 1.785019
-v 0.572488 -4.948374 1.875073
-v 0.520362 -4.931837 1.776638
-v 0.271754 -4.840917 1.837813
-v 3.741771 -4.171817 -0.347126
-v 4.043613 -3.575043 -0.555009
-v 4.223952 -3.061474 -0.724218
-v 4.403008 -2.606096 -0.807085
-v 4.509541 -2.165012 -0.978357
-v 4.644337 -1.741958 -1.085475
-v 4.074585 -2.737126 -1.284806
-v 4.247483 -2.277002 -1.454847
-v 3.940585 -3.141079 -1.091841
-v 3.749558 -3.689571 -0.831686
-v 3.503217 -4.203363 -0.577819
-v 3.511727 -4.552409 -0.171128
-v 3.298432 -4.835660 -0.094779
-v 3.069507 -5.126623 -0.010901
-v 2.856514 -5.366696 0.088825
-v 2.682419 -5.306578 -0.162887
-v 2.865412 -5.074536 -0.246702
-v 3.115006 -4.827193 -0.302164
-v 3.337063 -4.542685 -0.391358
-v 1.269260 1.255200 -0.337076
-v 0.808878 -0.108006 0.862693
-v 0.785511 -0.113481 0.744561
-v 1.288147 1.331118 -0.224217
-v 1.428511 1.249858 0.363487
-v 1.360651 1.219843 0.665852
-v 1.426867 1.333607 0.370559
-v 1.450856 1.457047 0.528348
-v 1.384062 1.438226 0.638337
-v 1.470071 1.493236 0.369380
-v 1.594261 1.558343 0.626987
-v 1.484255 1.632078 0.642222
-v 1.620929 1.647771 0.357712
-v 1.650435 1.617243 0.680182
-v 1.545264 1.742151 0.824324
-v 1.389575 1.760656 0.867844
-v 1.383596 1.808758 1.025872
-v 1.655757 1.825900 0.954174
-v 1.597150 1.914643 1.006309
-v 1.392070 1.994927 1.179577
-v 1.762705 1.655988 0.631224
-v 1.762992 1.805720 0.775415
-v 1.949500 1.849836 0.823902
-v 1.760768 1.850647 1.065403
-v 1.743619 1.997952 1.234624
-v 1.497468 2.133743 1.191102
-v 1.400213 2.173737 1.276591
-v 1.756102 2.216640 1.319918
-v 1.420383 2.453469 1.475121
-v 0.681201 -0.189988 0.897274
-v 0.475894 -0.298390 0.931689
-v 0.290747 -0.351774 0.892697
-v 0.276279 -0.316745 0.701162
-v 1.338810 2.729682 1.686965
-v 1.295536 2.975859 1.876092
-v 1.249168 3.130029 2.062850
-v 1.228711 3.220825 2.196595
-v 1.062347 3.349826 2.391934
-v 0.814242 3.416641 2.460567
-v 0.605427 3.436728 2.625397
-v 0.377767 3.416682 2.699480
-v 0.191664 3.352134 2.742179
-v 0.327215 3.617606 3.165959
-v 0.490340 3.727078 3.028905
-v 0.833423 3.579124 2.952278
-v 1.186570 3.537148 2.883776
-v 1.274514 3.429492 2.340806
-v 1.515386 3.462934 2.499302
-v 1.729657 2.985728 2.126961
-v 1.587334 3.273247 2.279883
-v 1.802587 2.673030 2.071795
-v 1.883505 2.421195 1.852780
-v 1.770470 1.547581 0.014896
-v 1.763543 1.690838 0.209278
-v 1.789812 1.745170 0.195716
-v 1.652398 1.635196 0.100315
-v 1.616211 1.631821 0.140151
-v 1.702170 1.691207 0.287679
-v 2.024910 1.684896 0.590685
-v 2.081244 1.739766 0.560523
-v 2.101686 1.841926 0.704701
-v 2.311996 1.667058 0.544330
-v 2.139216 1.493633 0.307465
-v 1.568122 1.452308 -0.160167
-v 1.847430 1.192309 -0.235521
-v 2.039961 1.263559 -0.106670
-v 2.001783 1.178930 -0.538870
-v 2.120274 1.181434 -0.439203
-v 1.955666 1.112051 -0.650840
-v 2.035204 1.058208 -0.740662
-v 2.506671 1.354212 -0.177264
-v 2.556798 1.425842 0.234125
-v 2.625577 1.667848 0.406381
-v 2.572188 1.665942 0.610608
-v 2.313997 1.937125 1.043955
-v 1.347179 1.435083 -0.164662
-v 2.370565 2.188644 1.319938
-v 1.795360 2.312256 1.448602
-v 2.298796 2.378327 1.484097
-v 2.431922 2.420861 1.791865
-v 2.274832 2.708370 1.953293
-v 2.127402 2.763782 2.172931
-v 2.027815 3.057472 2.207687
-v 2.211272 3.151361 2.175526
-v 2.077582 3.593789 2.544059
-v 2.205795 3.053233 1.995680
-v 2.234578 2.853686 1.921466
-v 2.492220 2.763751 1.681460
-v 1.682721 3.872787 2.699838
-v 1.591274 3.687533 2.795306
-v 1.469790 4.226974 3.125912
-v 1.419313 4.085230 3.114769
-v 0.969239 4.032842 3.237621
-v 0.446240 4.025191 3.175913
-v 0.293380 4.202842 3.126171
-v 0.507507 4.749091 2.927829
-v 0.273753 4.902920 2.635112
-v 0.000000 4.879436 2.662164
-v 0.855572 4.443953 3.264785
-v 1.001219 4.433220 3.168902
-v 2.634762 2.917107 1.571458
-v 2.373444 3.230135 1.701438
-v 2.245007 3.762857 1.971262
-v 2.174998 3.974638 1.861146
-v 1.772471 3.917193 2.561741
-v 1.696145 3.988359 2.581486
-v 2.020528 4.126190 2.057333
-v 1.720966 4.401711 2.028207
-v 1.417985 4.554327 2.447087
-v 1.350400 4.347244 2.806280
-v 1.200152 4.613357 3.063192
-v 1.304464 4.997022 2.246442
-v 0.873342 4.709630 3.173557
-v 0.696170 4.784035 2.819126
-v 0.424844 4.978543 2.246064
-v 0.000000 5.085917 2.309147
-v 0.696076 5.193224 2.026187
-v 0.635427 5.515653 1.331738
-v 1.511739 4.938085 1.521488
-v 1.906790 4.422846 1.795979
-v 2.354552 3.705653 1.670219
-v 2.644936 3.814625 1.425739
-v 2.421550 3.779236 0.825727
-v 2.203040 4.216619 1.154116
-v 2.251699 4.269145 0.470671
-v 1.788527 4.809611 0.096426
-v 1.601388 4.895715 0.838140
-v 2.543023 3.228183 1.363687
-v 2.588333 3.236537 1.228543
-v 2.629558 3.164815 0.666688
-v 2.336965 3.754007 -0.076831
-v 2.695441 2.594186 0.979715
-v 2.703436 2.831996 0.591982
-v 2.430008 2.811457 0.125791
-v 2.207136 3.078765 -0.379399
-v 2.904035 2.247210 0.893879
-v 2.666324 2.010223 0.643661
-v 2.569228 2.368971 0.316299
-v 2.560933 2.359419 -0.171605
-v 2.265315 2.576830 -0.675925
-v 2.336648 2.029389 -0.421402
-v 2.284415 2.022634 -0.855935
-v 2.150451 1.476840 -0.584277
-v 2.167788 1.514616 -0.809225
-v 2.643453 1.925415 -0.018950
-v 1.612726 0.873944 -1.296869
-v 2.079375 1.110581 -1.195821
-v 1.716492 0.726429 -1.388435
-v 1.884749 0.517371 -1.562625
-v 1.960825 0.442513 -1.610592
-v 1.942914 0.314387 -1.681620
-v 1.429990 0.889587 -1.614208
-v 1.505516 0.653872 -1.835689
-v 0.931704 0.787899 -2.066129
-v 0.917302 1.019552 -1.951271
-v 0.000000 0.904195 -2.214862
-v 0.000000 1.030543 -2.178484
-v 0.951775 0.729199 -2.150724
-v 0.000000 0.845559 -2.297620
-v 1.555206 0.591727 -1.909888
-v 0.894334 1.458678 -2.053686
-v 1.639151 1.530680 -1.825240
-v 0.916245 0.591191 -2.197576
-v 0.000000 0.707846 -2.344431
-v 1.516843 0.444141 -1.941028
-v 2.894158 -0.293492 -1.693660
-v 2.208730 -0.084916 -2.252010
-v 1.643629 0.058334 -2.438439
-v 0.948287 0.148704 -2.635463
-v 0.000000 0.168425 -2.853323
-v 1.029458 2.243869 -2.273440
-v 1.684247 2.196377 -1.812778
-v 1.695385 2.763007 -1.398141
-v 1.876909 2.728275 -1.166568
-v 0.875196 3.021261 -1.978715
-v 1.782151 3.542078 -0.994194
-v 2.107162 3.384693 -0.769274
-v 0.844364 4.033239 -1.650793
-v 1.796315 4.118073 -0.761666
-v 0.742722 4.663668 -1.204837
-v 0.846059 5.265105 -0.353710
-v 0.689895 5.512417 0.378273
-v 2.173945 1.466511 -1.022513
-v 4.311844 -1.200631 -1.185389
-v 4.281209 -1.236017 -1.866678
-v 4.413421 -1.366023 -1.817253
-v 4.075917 -1.655770 -2.427462
-v 3.189816 -1.098227 -2.690340
-v 2.386931 -0.750937 -2.861997
-v 1.719496 -0.583459 -3.013854
-v 0.992348 -0.495836 -3.177464
-v 0.000000 -0.488963 -3.319090
-v 0.917138 -0.807683 -3.231596
-v 0.000000 -0.804943 -3.302980
-v 1.668542 -0.878633 -3.086971
-v 2.298172 -1.040506 -2.959992
-v 3.115793 -1.320478 -2.781168
-v 4.383541 -1.803513 -1.704460
-v 3.742640 -2.357771 -2.279376
-v 3.677979 -2.906064 -1.683045
-v 3.638811 -3.241707 -1.353842
-v 3.512533 -3.726455 -0.968948
-v 3.287627 -4.201365 -0.669328
-v 3.104445 -4.543452 -0.512972
-v 2.882289 -4.753160 -0.407417
-v 2.636978 -4.999932 -0.302704
-v 2.492217 -5.233891 -0.221049
-v 0.681818 -1.565714 -2.716835
-v 0.000000 -1.514726 -2.809973
-v 1.350166 -1.675141 -2.539728
-v 1.847815 -1.745939 -2.457083
-v 2.756224 -1.990174 -2.296259
-v 0.518024 -2.108149 -2.289217
-v 0.000000 -2.056348 -2.351995
-v 1.086792 -2.191168 -2.149774
-v 1.538274 -2.289064 -2.018205
-v 1.964073 -2.352004 -1.909482
-v 2.640020 -2.518011 -1.714509
-v 0.447870 -2.510344 -2.135957
-v 0.000000 -2.394556 -2.209325
-v 0.983234 -2.583103 -1.999717
-v 1.466647 -2.710105 -1.839738
-v 2.073789 -2.822868 -1.612534
-v 2.705886 -3.010171 -1.356652
-v 0.342392 -3.011335 -2.034681
-v 0.000000 -2.933987 -2.082818
-v 0.865371 -3.113704 -1.900680
-v 1.355650 -3.234251 -1.735384
-v 1.782574 -3.384361 -1.495969
-v 2.213447 -3.537353 -1.179812
-v 2.642006 -3.590153 -0.976034
-v 0.208197 -3.462166 -2.003835
-v 0.000000 -3.389574 -2.041322
-v 0.730909 -3.568524 -1.898096
-v 1.243983 -3.663187 -1.705608
-v 1.658564 -3.768527 -1.451286
-v 2.096884 -3.938877 -1.011877
-v 2.555869 -3.972320 -0.738809
-v 0.090155 -3.819369 -2.045353
-v 0.000000 -3.752511 -2.078401
-v 0.670606 -3.915647 -1.926927
-v 1.159382 -3.987731 -1.720752
-v 1.552317 -4.103237 -1.436285
-v 2.010662 -4.250180 -0.897486
-v 2.468651 -4.337706 -0.565898
-v 0.097358 -4.207095 -2.087483
-v 0.000000 -4.202299 -2.120784
-v 0.635255 -4.234691 -1.945461
-v 1.120766 -4.323770 -1.724594
-v 1.502728 -4.482214 -1.405541
-v 1.882566 -4.595675 -0.852173
-v 2.412344 -4.644467 -0.439763
-v 0.110803 -4.449912 -2.120649
-v 0.000000 -4.442326 -2.166266
-v 0.124695 -4.685015 -2.152756
-v 0.000000 -4.702721 -2.231823
-v 0.115238 -4.992694 -2.207529
-v 0.000000 -4.968038 -2.257743
-v 0.620858 -4.483344 -1.979611
-v 0.611104 -4.723975 -2.018918
-v 0.595195 -5.038123 -2.079089
-v 1.086496 -4.588467 -1.746181
-v 1.064364 -4.823517 -1.765696
-v 1.031392 -5.100853 -1.806217
-v 1.469167 -4.728073 -1.396747
-v 1.415856 -4.954430 -1.408992
-v 1.376496 -5.234863 -1.426483
-v 1.790332 -4.906054 -0.797175
-v 1.686224 -5.163830 -0.782295
-v 1.596255 -5.436766 -0.777835
-v 2.260912 -4.951986 -0.323219
-v 2.121402 -5.166779 -0.272905
-v 2.015332 -5.387508 -0.191249
-v 0.000000 -1.988895 0.953370
-v 0.000000 -2.036472 1.142150
-v 0.000000 -2.077863 1.229946
-v 0.000000 -2.186846 1.384890
-v 0.000000 -2.283902 1.486748
-v 0.000000 -2.419917 1.574930
-v 0.000000 -2.654662 1.791003
-v 0.000000 -2.825996 1.883388
-v 0.000000 -3.214574 1.963003
-v 0.000000 -3.428350 1.799299
-v 0.000000 -3.572078 1.805144
-v 0.000000 -3.823292 1.726999
-v 0.000000 -4.138469 1.786812
-v 0.000000 -4.423326 1.863373
-v 0.000000 -4.772663 1.922207
-v 0.000000 -6.030879 1.934725
-v 0.173271 -6.030879 1.848678
-v 0.409214 -6.030879 1.779429
-v 0.452853 -6.030879 1.869895
-v 0.540109 -6.030879 2.066025
-v 0.666940 -6.030879 2.126052
-v 0.838990 -6.030879 1.962155
-v 0.982628 -6.030879 1.797889
-v 1.089061 -6.030879 1.736157
-v 1.234861 -6.030879 1.676691
-v 1.334627 -6.030879 1.636621
-v 1.479750 -6.030879 1.633867
-v 1.517471 -6.030879 1.422787
-v 2.161167 -6.030879 1.090996
-v 2.506828 -6.030879 0.750036
-v 2.363794 -6.030879 0.116081
-v 2.225014 -6.030879 -0.140141
-v 2.092339 -6.030879 -0.217990
-v 1.793452 -6.030879 -0.258928
-v 1.420514 -6.030879 -0.868995
-v 1.224949 -6.030879 -1.543609
-v 0.917840 -6.030879 -1.938543
-v 0.529666 -6.030879 -2.222338
-v 0.102551 -6.030879 -2.355920
-v 0.000000 -6.030879 -2.408144
-v -0.606929 -5.258410 2.044219
-v -0.749451 -5.282475 2.101935
-v -1.104195 -5.305782 1.786403
-v -0.942787 -5.310546 1.944346
-v -1.223796 -5.327607 1.727047
-v -1.387634 -5.352595 1.669870
-v -1.499742 -5.392315 1.631342
-v -1.662819 -5.424446 1.628694
-v -1.705207 -5.429660 1.425738
-v -2.428539 -5.597278 1.106718
-v -2.816964 -5.698190 0.778881
-v -0.228664 -1.938785 0.914844
-v -0.085459 -1.988895 0.953370
-v -0.302674 -1.925339 0.896202
-v -0.275138 -1.989268 0.980982
-v -0.185271 -2.036472 1.142150
-v -0.159347 -2.077863 1.229946
-v -0.081716 -2.186846 1.384890
-v -0.056561 -2.283902 1.486748
-v -0.068819 -2.419917 1.574930
-v -0.142751 -2.654662 1.791003
-v -0.773483 -3.525448 1.920056
-v -0.919514 -3.599237 1.892229
-v -0.216434 -2.825996 1.883388
-v -0.357668 -3.214574 1.963003
-v -0.582558 -3.428350 1.799299
-v -0.787973 -3.572078 1.805144
-v -0.811570 -3.535260 1.639753
-v -0.654987 -3.823292 1.726999
-v -0.503207 -4.138469 1.786812
-v -0.317156 -4.423326 1.863373
-v -0.508878 -5.273241 1.855637
-v -0.459840 -5.250568 1.768653
-v -0.194708 -5.182790 1.835237
-v -0.087132 -4.772663 1.922207
-v -2.656234 -5.605168 0.169326
-v -2.500285 -5.523783 -0.077034
-v -2.351196 -5.435412 -0.151886
-v -1.417944 -2.541195 1.493780
-v -1.259329 -2.426003 1.563345
-v -1.236121 -2.711167 1.686120
-v -1.409394 -2.865327 1.613634
-v -1.224993 -2.938594 1.776514
-v -1.399548 -3.105691 1.685054
-v -1.202295 -3.145272 1.833352
-v -1.379981 -3.366113 1.738770
-v -1.106314 -3.590680 1.974236
-v -1.334269 -3.716449 1.839816
-v -1.002768 -4.057680 2.052466
-v -1.232172 -4.121325 1.915639
-v -0.921851 -4.498998 2.102010
-v -1.149484 -4.521899 1.949742
-v -0.821686 -4.948648 2.109915
-v -1.055671 -4.969047 1.934536
-v -0.665033 -4.949267 2.067833
-v -0.790397 -4.471575 2.070390
-v -0.871066 -4.030221 2.020681
-v -1.011326 -3.548462 1.932144
-v -1.155576 -3.109339 1.814467
-v -1.175242 -2.848861 1.705078
-v -1.170322 -2.683542 1.625350
-v -1.649166 -3.153598 1.425104
-v -1.725446 -2.901864 1.298102
-v -1.915900 -3.340909 1.329336
-v -1.974884 -3.126890 1.261171
-v -2.246661 -3.436337 1.323768
-v -2.290493 -3.340302 1.279632
-v -2.534990 -3.502395 1.347507
-v -2.140607 -3.727898 1.472833
-v -2.317251 -3.857045 1.497275
-v -1.835587 -3.589522 1.435310
-v -2.013046 -3.668311 1.428434
-v -1.584067 -3.394486 1.523631
-v -1.682448 -3.490690 1.451628
-v -1.529117 -3.611627 1.612823
-v -1.548203 -3.500728 1.581314
-v -2.122380 -3.823961 1.506380
-v -2.060160 -3.909763 1.538973
-v -2.231689 -4.015099 1.562255
-v -2.010254 -3.717139 1.449443
-v -2.076778 -3.804394 1.495765
-v -1.961209 -3.864456 1.531278
-v -1.986340 -3.832651 1.514372
-v -1.608903 -3.661776 1.551223
-v -1.668334 -3.515077 1.467304
-v -1.597241 -3.534766 1.528002
-v -1.617885 -3.613874 1.534346
-v -1.988031 -3.767161 1.485134
-v -1.655153 -3.556152 1.491457
-v -1.812183 -3.626549 1.434301
-v -1.798499 -3.643519 1.450996
-v -1.790407 -3.668857 1.471051
-v -1.787096 -3.693876 1.484562
-v -1.763082 -3.742047 1.509739
-v -1.873679 -4.202039 1.614515
-v -2.045680 -4.339208 1.644113
-v -1.659365 -4.027687 1.614704
-v -1.502733 -3.882563 1.688551
-v -1.422880 -4.194795 1.751814
-v -1.338830 -4.586100 1.776423
-v -1.219358 -5.001400 1.765408
-v -1.321242 -5.037073 1.701719
-v -1.481364 -4.614100 1.694944
-v -1.586808 -4.326046 1.684303
-v -1.770696 -4.440989 1.659695
-v -1.957850 -4.535209 1.648452
-v -1.652831 -4.684212 1.684831
-v -1.850858 -4.739279 1.666618
-v -1.460594 -5.078399 1.663402
-v -1.631559 -5.124405 1.645831
-v -1.326262 -2.155088 1.413261
-v -1.485772 -2.251122 1.373872
-v -1.880520 -2.569602 1.112499
-v -1.710357 -2.035759 1.113492
-v -1.545319 -1.781823 1.127396
-v -1.362923 -1.931386 1.228796
-v -1.082675 -2.159156 1.209878
-v -1.115181 -2.219535 1.300111
-v -2.050930 -1.831655 0.828760
-v -1.702970 -1.478868 0.875829
-v -1.402433 -1.226174 0.788059
-v -1.535905 -1.298107 0.807226
-v -1.644327 -1.327048 0.804401
-v -1.764862 -1.361831 0.781579
-v -2.288634 -1.645988 0.611225
-v -1.883102 -1.374386 0.712727
-v -2.035308 -1.272274 0.521232
-v -2.395414 -1.414058 0.447712
-v -2.509845 -0.986878 0.206504
-v -2.208626 -0.922418 0.257252
-v -2.639863 -2.438321 0.958418
-v -2.725734 -1.886749 0.497114
-v -2.764515 -1.590138 0.284429
-v -2.831744 -1.098893 0.044976
-v -1.775468 -2.806755 1.258097
-v -1.655526 -2.682360 1.299566
-v -2.033635 -2.703922 1.074109
-v -1.839602 -2.218849 1.044937
-v -2.056288 -3.001260 1.208765
-v -2.384792 -3.212572 1.263918
-v -2.356952 -4.120360 1.544871
-v -2.459801 -3.955877 1.483205
-v -2.178010 -4.430263 1.632940
-v -2.075841 -4.618856 1.646803
-v -1.971436 -4.813312 1.649093
-v -1.782910 -5.179061 1.642088
-v -2.722473 -3.521854 1.297529
-v -2.320522 -0.635532 0.139770
-v -2.572149 -0.716555 0.062678
-v -2.866314 -0.799157 -0.133476
-v -2.292457 -0.145070 -0.109027
-v -2.443170 -0.179462 -0.315260
-v -2.730895 -0.264831 -0.543768
-v -2.458838 0.001204 -0.795894
-v -2.292063 0.126813 -0.573476
-v -2.192149 0.196353 -0.366311
-v -2.321326 0.143332 -0.986568
-v -2.204225 0.285265 -0.793519
-v -2.086512 0.412325 -0.602341
-v -1.979496 0.526511 -1.052944
-v -1.901332 0.677905 -0.887785
-v -2.119281 0.374709 -1.296339
-v -2.404395 0.114204 -1.034763
-v -2.182306 0.325784 -1.359781
-v -2.489319 -0.022626 -0.860502
-v -2.735065 -0.303741 -0.600112
-v -2.972152 -1.121362 -0.018465
-v -2.979924 -0.812304 -0.196070
-v -2.922423 -1.641673 0.257410
-v -2.873500 -1.930568 0.473403
-v -2.375135 0.046336 -1.144438
-v -2.172337 0.226998 -1.422520
-v -2.491158 -0.102854 -1.005916
-v -2.796512 -0.410669 -0.688888
-v -2.990258 -0.891358 -0.298409
-v -3.003446 -1.208466 -0.126238
-v -2.626737 -0.141303 -1.176234
-v -3.305729 -0.660061 -1.106242
-v -3.189751 -0.546391 -1.211410
-v -3.498145 -0.805415 -0.915226
-v -3.598299 -1.111347 -0.580610
-v -3.594934 -1.309430 -0.426668
-v -2.960597 -1.718621 0.127997
-v -2.892831 -2.040189 0.309357
-v -3.561625 -1.803253 -0.127527
-v -3.572524 -2.193293 0.073111
-v -2.723940 -2.593923 0.991446
-v -2.101627 -2.776564 0.955989
-v -1.952771 -2.425001 0.870612
-v -1.810815 -2.786959 1.099059
-v -2.079275 -2.975586 1.069559
-v -2.419624 -3.200458 1.048395
-v -2.758584 -3.526407 1.034976
-v -2.414672 -4.011502 1.178445
-v -2.324448 -4.181604 1.220485
-v -2.173626 -4.477980 1.310844
-v -2.088244 -4.632308 1.348621
-v -1.971255 -4.860397 1.375835
-v -1.807332 -5.201816 1.406577
-v -3.032909 -4.274755 0.871277
-v -3.221893 -3.685248 0.761669
-v -3.384109 -3.157457 0.609178
-v -3.006850 -3.159979 0.786586
-v -2.761079 -3.343132 0.934009
-v -2.989856 -4.359622 0.888982
-v -2.837555 -4.575955 0.958111
-v -2.743621 -4.770766 1.013783
-v -2.647256 -5.006955 1.036057
-v -2.543676 -5.328383 1.063651
-v -2.636712 -2.719342 0.706883
-v -2.675142 -2.784636 0.772986
-v -3.022010 -2.935674 0.717220
-v -3.488740 -2.821402 0.417224
-v -2.408273 -2.931587 0.890975
-v -2.481620 -3.157896 0.992837
-v -2.536210 -2.948206 0.958051
-v -2.663577 -2.834692 0.861852
-v -2.882174 -2.937345 0.843545
-v -2.925337 -3.100878 0.894157
-v -2.756874 -3.229780 1.007085
-v -2.555491 -3.089174 1.022268
-v -2.674389 -2.937617 0.933123
-v -2.780405 -2.972446 0.918971
-v -2.626996 -2.987327 0.979362
-v -2.629518 -3.052213 1.002425
-v -2.750973 -3.111114 0.986978
-v -2.807915 -3.045099 0.930632
-v -2.717701 -3.030117 0.972204
-v -4.313962 -1.233717 -1.113217
-v -4.624830 -1.455210 -1.033928
-v -4.330608 -1.411916 -0.776805
-v -4.324175 -1.485486 -0.686738
-v -4.248341 -1.902899 -0.362860
-v -4.634851 -1.565367 -0.797032
-v -4.566785 -1.925704 -0.443689
-v -4.188893 -2.337274 -0.205079
-v -4.137861 -2.703013 -0.100062
-v -4.022866 -3.369608 0.033900
-v -3.764290 -3.909375 0.369424
-v -4.456349 -2.398925 -0.204624
-v -4.359573 -2.784669 -0.104717
-v -4.125014 -3.394157 -0.000466
-v -3.898481 -4.088530 -0.065554
-v -4.241738 -3.465072 -0.094279
-v -4.479900 -2.866124 -0.178521
-v -4.576882 -2.437436 -0.255504
-v -4.648549 -1.977384 -0.494981
-v -3.513140 -4.435121 0.544512
-v -3.497720 -4.482059 0.557091
-v -3.379102 -4.700961 0.630729
-v -3.324800 -4.792911 0.649540
-v -3.166105 -5.047532 0.719668
-v -2.974409 -5.394820 0.804852
-v -3.670990 -4.569324 0.278001
-v -3.529665 -4.810116 0.407969
-v -3.328219 -5.106425 0.519180
-v -3.048547 -5.432866 0.657509
-v -1.874501 0.840434 -0.825335
-v -1.653189 0.929418 -0.708563
-v -1.789908 0.559574 -0.484963
-v -2.022252 0.544661 -0.586962
-v -1.619546 1.085665 -0.484865
-v -1.709339 0.708810 -0.303075
-v -1.494055 1.265579 -0.284350
-v -1.608594 0.873861 -0.115187
-v -1.679156 0.633915 0.029714
-v -1.778391 0.482136 -0.139324
-v -1.872463 0.346143 -0.310705
-v -2.145294 0.339204 -0.375192
-v -1.915717 0.040941 -0.014837
-v -2.201232 0.000293 -0.064496
-v -1.764515 0.177998 0.117671
-v -1.676031 0.329475 0.229159
-v -1.555784 0.021224 0.505726
-v -1.718960 -0.160742 0.469903
-v -1.270392 -0.147104 0.784968
-v -1.526734 -0.330392 0.664287
-v -1.394744 -0.413036 0.760716
-v -0.965119 -0.260672 0.954350
-v -1.133576 -0.529377 0.876480
-v -0.660852 -0.430087 1.026409
-v -0.890434 -0.667131 1.030138
-v -1.083905 -0.908114 0.962937
-v -1.292102 -0.754556 0.823783
-v -1.497409 -0.724919 0.744497
-v -1.774028 -0.557820 0.533113
-v -1.918869 -0.331560 0.339632
-v -2.293218 -0.484214 0.339257
-v -1.870448 -0.652197 0.450844
-v -2.204633 -0.761890 0.492489
-v -1.920558 -0.911602 0.635633
-v -2.150011 -1.077666 0.738764
-v -1.173329 -0.937966 0.974752
-v -1.359247 -0.802611 0.864891
-v -1.564809 -0.797042 0.792898
-v -1.863340 -0.977168 0.914090
-v -2.107739 -1.143225 0.953456
-v -1.715824 -0.929656 0.966024
-v -1.618376 -0.925175 1.029689
-v -1.369610 -1.015338 1.119676
-v -1.832846 -1.020531 1.185262
-v -1.626036 -1.076742 1.288613
-v -1.714100 -1.093595 1.318990
-v -1.848709 -1.143001 1.341502
-v -1.983526 -1.157101 1.274700
-v -2.045247 -1.153720 1.168849
-v -1.929603 0.766195 -0.868969
-v -2.116741 0.495058 -0.601314
-v -2.255911 0.276612 -0.416612
-v -2.281261 -0.081355 -0.119904
-v -2.360604 -0.599489 0.198334
-v -2.290626 -0.891433 0.390191
-v -2.149541 -1.234854 0.593719
-v -2.050488 -1.366728 0.809457
-v -1.947857 -1.381446 0.959888
-v -1.772848 -1.328383 1.095626
-v -1.564976 -1.261520 1.034313
-v -1.497288 -1.339130 0.841721
-v -1.364580 -1.180787 0.924075
-v -0.979704 -2.071305 1.342422
-v -1.002919 -2.144323 1.415971
-v -1.288682 -1.818864 1.337446
-v -1.184800 -2.360092 1.620601
-v -1.499328 -1.619904 1.259788
-v -1.150655 -2.577878 1.705708
-v -1.138570 -2.355695 1.608074
-v -1.076103 -2.441460 1.640501
-v -0.986579 -2.344266 1.588933
-v -0.946039 -2.139567 1.405321
-v -0.911458 -2.006588 1.293084
-v -1.226792 -1.758778 1.263937
-v -1.430329 -1.605903 1.242139
-v -1.185289 -1.494439 1.039594
-v -1.106210 -1.685248 1.170283
-v -1.003208 -1.853189 1.204180
-v -1.062459 -1.710216 1.147465
-v -0.987919 -1.577734 0.943063
-v -1.011487 -1.466149 0.849459
-v -1.412549 -1.265471 0.846861
-v -1.163166 -1.083631 0.749894
-v -1.215025 -1.139879 0.631844
-v -1.090440 -1.023507 0.678469
-v -1.140061 -1.085619 0.548845
-v -1.322738 -1.282287 0.839324
-v -1.125903 -1.247879 0.726983
-v -0.975960 -1.253640 0.439031
-v -0.951070 -1.490338 0.657946
-v -0.923414 -1.563252 0.752181
-v -0.831620 -1.507736 0.611914
-v -0.772368 -1.363330 0.594727
-v -0.706202 -1.445747 0.661758
-v -1.053160 -0.947260 0.364276
-v -0.899215 -1.079844 0.440476
-v -0.696132 -1.182176 0.597604
-v -0.541634 -1.357723 0.706386
-v -1.031870 -0.910848 0.501241
-v -0.972473 -0.904372 0.702188
-v -0.953346 -0.798897 0.560640
-v -0.945703 -0.793197 0.352311
-v -0.840242 -0.927747 0.424596
-v -0.620113 -1.068009 0.584601
-v -0.406030 -1.181369 0.658817
-v -0.776626 -0.858709 0.397058
-v -0.588595 -1.031782 0.557169
-v -0.552893 -0.992161 0.508997
-v -0.372288 -1.143575 0.620912
-v -0.344751 -1.110140 0.559124
-v -0.223761 -1.185662 0.654281
-v -0.250869 -1.226516 0.715051
-v -0.123685 -1.159181 0.616287
-v -0.306132 -1.328286 0.761379
-v -0.881827 -0.723916 0.435746
-v -0.723647 -0.597074 0.645566
-v -0.757860 -0.781188 0.456694
-v -0.882614 -0.775412 0.755154
-v -0.666779 -0.552895 0.796182
-v -0.611036 -0.525612 0.788876
-v -0.562304 -0.416580 0.969606
-v -0.876471 -0.148345 0.904860
-v -1.138099 -0.091895 0.774442
-v -1.485183 0.079724 0.500447
-v -1.596159 0.379360 0.235293
-v -1.566675 0.634397 0.073622
-v -1.512450 0.897163 -0.076482
-v -1.412367 1.281826 -0.310801
-v -1.237959 0.865933 -0.239116
-v -1.313157 0.598818 -0.121402
-v -1.265388 0.325109 -0.014263
-v -1.172174 0.003799 0.288578
-v -1.038911 -0.054216 0.599331
-v -0.525206 -0.699021 0.685298
-v -0.542374 -0.842300 0.544174
-v -0.503536 -0.631044 0.705220
-v -0.501866 -0.586513 0.662164
-v -0.455321 -0.546323 0.782268
-v -0.379120 -0.507010 0.863837
-v -0.299927 -0.673631 0.765450
-v -0.304694 -0.630063 0.726692
-v -0.325211 -0.748447 0.738581
-v -0.224965 -0.434611 0.626931
-v -0.215350 -0.596543 0.743346
-v -0.127284 -0.764450 0.768490
-v -0.113276 -0.678553 0.767337
-v -0.137651 -0.622930 0.687754
-v -0.096537 -0.571215 0.609019
-v -0.322935 -0.900350 0.611039
-v -0.108917 -0.939211 0.646315
-v -0.016477 -0.926391 0.649357
-v 0.000578 -1.149405 0.652702
-v -0.139737 -1.171606 0.699986
-v 0.004388 -1.174172 0.722007
-v 0.007583 -1.191200 0.792125
-v -0.127929 -1.193892 0.754604
-v -0.241360 -1.278164 0.814638
-v -0.130370 -1.254810 0.861437
-v -0.033090 -1.254034 0.896798
-v -0.274387 -1.437386 0.895555
-v -0.260266 -1.429410 0.950578
-v -0.166855 -1.398997 0.996518
-v -0.490997 -1.452079 1.079063
-v -0.672423 -1.321110 1.058253
-v -0.733092 -1.446843 0.883670
-v -0.777042 -1.374494 1.179787
-v -0.852626 -1.500311 1.052535
-v -0.806198 -1.468259 0.783523
-v -0.957618 -1.550179 0.980468
-v -1.061248 -1.693582 1.249920
-v -0.991865 -1.643754 1.309478
-v -0.918461 -1.559019 1.397034
-v -0.600731 -1.529273 1.201757
-v -1.043674 -1.738987 1.307451
-v -0.961809 -1.793360 1.514807
-v -0.871396 -1.707364 1.600356
-v -0.643279 -1.597424 1.344353
-v -0.616929 -1.647787 1.441685
-v -0.803006 -1.788214 1.656914
-v -0.729624 -1.999230 1.428804
-v -0.923605 -2.047241 1.528758
-v -0.887021 -2.089621 1.740125
-v -0.908608 -2.268117 1.570879
-v -0.804780 -2.017978 1.533626
-v -0.752157 -2.040502 1.662394
-v -0.544718 -2.044484 1.668407
-v -0.628571 -2.050575 1.845255
-v -0.697121 -2.147149 1.901156
-v -0.550252 -1.907047 1.787284
-v -0.487346 -1.724542 1.549441
-v -0.395899 -1.825250 1.640423
-v -0.250850 -1.637978 1.015846
-v -0.244374 -1.658235 0.946017
-v -0.123817 -1.642736 1.107774
-v -0.075363 -1.842817 1.071423
-v -0.245409 -1.810659 0.985872
-v -0.304946 -1.805198 0.974470
-v -0.296986 -1.699174 1.051869
-v -0.439278 -1.770717 1.223794
-v -0.314085 -1.883325 1.371367
-v -0.179735 -1.984468 1.494798
-v -0.324830 -1.841375 1.003657
-v -0.222738 -1.894406 1.155335
-v -0.172525 -1.978736 1.231043
-v -0.114834 -2.162851 1.420513
-v -0.093712 -2.255516 1.488580
-v -0.112533 -2.125553 1.543084
-v -0.124040 -2.383260 1.618812
-v -0.150668 -2.039182 1.681016
-v -0.190912 -2.607809 1.821257
-v -0.240723 -2.602026 1.811898
-v -0.306947 -2.582094 1.862173
-v -0.405686 -2.474868 1.990988
-v -0.226778 -2.090173 1.907548
-v -0.348400 -2.002303 1.884293
-v -0.429880 -2.105294 1.813437
-v -0.510107 -2.120671 1.944439
-v -0.581623 -2.187905 2.008629
-v -0.478191 -2.157100 2.001021
-v -0.940866 -2.328458 1.660947
-v -1.015872 -2.421969 1.749243
-v -1.130258 -2.672200 1.895345
-v -1.133006 -3.056261 1.998462
-v -0.829619 -3.395835 1.961927
-v -0.886282 -2.900060 1.864000
-v -0.973873 -2.665101 1.909583
-v -0.872574 -2.480379 1.729201
-v -0.924078 -2.539847 1.804793
-v -0.850053 -2.399683 1.656877
-v -0.677365 -3.395529 1.913464
-v -0.490297 -3.081067 2.001696
-v -0.442003 -3.181398 2.023786
-v -0.371433 -2.706441 1.897063
-v -0.289637 -2.717131 1.956565
-v -0.833722 -2.319913 1.588685
-v -0.723318 -2.277545 1.887690
-v -0.833002 -2.323450 1.837793
-v -0.692294 -2.371743 1.913054
-v -0.838047 -2.453222 1.883920
-v -0.641657 -2.588223 1.940398
-v -0.835450 -2.392535 1.666195
-v -0.863047 -2.464924 1.733322
-v -0.611144 -2.550968 2.004122
-v -0.586612 -2.676337 1.973955
-v -0.692440 -3.060730 1.993670
-v -0.766932 -3.933840 1.811139
-v -0.735525 -3.893854 1.701079
-v -0.728226 -4.163616 1.817632
-v -0.672600 -4.211015 1.737881
-v -0.642157 -4.510410 1.854692
-v -0.587140 -4.550395 1.720699
-v -0.570267 -4.186787 1.772454
-v -0.442477 -4.489280 1.785019
-v -0.572488 -4.948374 1.875073
-v -0.520362 -4.931837 1.776638
-v -0.271754 -4.840917 1.837813
-v -3.741771 -4.171817 -0.347126
-v -4.043613 -3.575043 -0.555009
-v -4.223952 -3.061474 -0.724218
-v -4.403008 -2.606096 -0.807085
-v -4.509541 -2.165012 -0.978357
-v -4.644337 -1.741958 -1.085475
-v -4.074585 -2.737126 -1.284806
-v -4.247483 -2.277002 -1.454847
-v -3.940585 -3.141079 -1.091841
-v -3.749558 -3.689571 -0.831686
-v -3.503217 -4.203363 -0.577819
-v -3.511727 -4.552409 -0.171128
-v -3.298432 -4.835660 -0.094779
-v -3.069507 -5.126623 -0.010901
-v -2.856514 -5.366696 0.088825
-v -2.682419 -5.306578 -0.162887
-v -2.865412 -5.074536 -0.246702
-v -3.115006 -4.827193 -0.302164
-v -3.337063 -4.542685 -0.391358
-v -1.269260 1.255200 -0.337076
-v -0.808878 -0.108006 0.862693
-v -0.785511 -0.113481 0.744561
-v -1.288147 1.331118 -0.224217
-v -1.428511 1.249858 0.363487
-v -1.360651 1.219843 0.665852
-v -1.426867 1.333607 0.370559
-v -1.450856 1.457047 0.528348
-v -1.384062 1.438226 0.638337
-v -1.470071 1.493236 0.369380
-v -1.594261 1.558343 0.626987
-v -1.484255 1.632078 0.642222
-v -1.620929 1.647771 0.357712
-v -1.650435 1.617243 0.680182
-v -1.545264 1.742151 0.824324
-v -1.389575 1.760656 0.867844
-v -1.383596 1.808758 1.025872
-v -1.655757 1.825900 0.954174
-v -1.597150 1.914643 1.006309
-v -1.392070 1.994927 1.179577
-v -1.762705 1.655988 0.631224
-v -1.762992 1.805720 0.775415
-v -1.949500 1.849836 0.823902
-v -1.760768 1.850647 1.065403
-v -1.743619 1.997952 1.234624
-v -1.497468 2.133743 1.191102
-v -1.400213 2.173737 1.276591
-v -1.756102 2.216640 1.319918
-v -1.420383 2.453469 1.475121
-v -0.681201 -0.189988 0.897274
-v -0.475894 -0.298390 0.931689
-v -0.290747 -0.351774 0.892697
-v -0.276279 -0.316745 0.701162
-v -1.338810 2.729682 1.686965
-v -1.295536 2.975859 1.876092
-v -1.249168 3.130029 2.062850
-v -1.228711 3.220825 2.196595
-v -1.062347 3.349826 2.391934
-v -0.814242 3.416641 2.460567
-v -0.605427 3.436728 2.625397
-v -0.377767 3.416682 2.699480
-v -0.191664 3.352134 2.742179
-v -0.327215 3.617606 3.165959
-v -0.490340 3.727078 3.028905
-v -0.833423 3.579124 2.952278
-v -1.186570 3.537148 2.883776
-v -1.274514 3.429492 2.340806
-v -1.515386 3.462934 2.499302
-v -1.729657 2.985728 2.126961
-v -1.587334 3.273247 2.279883
-v -1.802587 2.673030 2.071795
-v -1.883505 2.421195 1.852780
-v -1.770470 1.547581 0.014896
-v -1.763543 1.690838 0.209278
-v -1.789812 1.745170 0.195716
-v -1.652398 1.635196 0.100315
-v -1.616211 1.631821 0.140151
-v -1.702170 1.691207 0.287679
-v -2.024910 1.684896 0.590685
-v -2.081244 1.739766 0.560523
-v -2.101686 1.841926 0.704701
-v -2.311996 1.667058 0.544330
-v -2.139216 1.493633 0.307465
-v -1.568122 1.452308 -0.160167
-v -1.847430 1.192309 -0.235521
-v -2.039961 1.263559 -0.106670
-v -2.001783 1.178930 -0.538870
-v -2.120274 1.181434 -0.439203
-v -1.955666 1.112051 -0.650840
-v -2.035204 1.058208 -0.740662
-v -2.506671 1.354212 -0.177264
-v -2.556798 1.425842 0.234125
-v -2.625577 1.667848 0.406381
-v -2.572188 1.665942 0.610608
-v -2.313997 1.937125 1.043955
-v -1.347179 1.435083 -0.164662
-v -2.370565 2.188644 1.319938
-v -1.795360 2.312256 1.448602
-v -2.298796 2.378327 1.484097
-v -2.431922 2.420861 1.791865
-v -2.274832 2.708370 1.953293
-v -2.127402 2.763782 2.172931
-v -2.027815 3.057472 2.207687
-v -2.211272 3.151361 2.175526
-v -2.077582 3.593789 2.544059
-v -2.205795 3.053233 1.995680
-v -2.234578 2.853686 1.921466
-v -2.492220 2.763751 1.681460
-v -1.682721 3.872787 2.699838
-v -1.591274 3.687533 2.795306
-v -1.469790 4.226974 3.125912
-v -1.419313 4.085230 3.114769
-v -0.969239 4.032842 3.237621
-v -0.446240 4.025191 3.175913
-v -0.293380 4.202842 3.126171
-v -0.507507 4.749091 2.927829
-v -0.273753 4.902920 2.635112
-v -0.855572 4.443953 3.264785
-v -1.001219 4.433220 3.168902
-v -2.634762 2.917107 1.571458
-v -2.373444 3.230135 1.701438
-v -2.245007 3.762857 1.971262
-v -2.174998 3.974638 1.861146
-v -1.772471 3.917193 2.561741
-v -1.696145 3.988359 2.581486
-v -2.020528 4.126190 2.057333
-v -1.720966 4.401711 2.028207
-v -1.417985 4.554327 2.447087
-v -1.350400 4.347244 2.806280
-v -1.200152 4.613357 3.063192
-v -1.304464 4.997022 2.246442
-v -0.873342 4.709630 3.173557
-v -0.696170 4.784035 2.819126
-v -0.424844 4.978543 2.246064
-v -0.696076 5.193224 2.026187
-v -0.635427 5.515653 1.331738
-v -1.511739 4.938085 1.521488
-v -1.906790 4.422846 1.795979
-v -2.354552 3.705653 1.670219
-v -2.644936 3.814625 1.425739
-v -2.421550 3.779236 0.825727
-v -2.203040 4.216619 1.154116
-v -2.251699 4.269145 0.470671
-v -1.788527 4.809611 0.096426
-v -1.601388 4.895715 0.838140
-v -2.543023 3.228183 1.363687
-v -2.588333 3.236537 1.228543
-v -2.629558 3.164815 0.666688
-v -2.336965 3.754007 -0.076831
-v -2.695441 2.594186 0.979715
-v -2.703436 2.831996 0.591982
-v -2.430008 2.811457 0.125791
-v -2.207136 3.078765 -0.379399
-v -2.904035 2.247210 0.893879
-v -2.666324 2.010223 0.643661
-v -2.569228 2.368971 0.316299
-v -2.560933 2.359419 -0.171605
-v -2.265315 2.576830 -0.675925
-v -2.336648 2.029389 -0.421402
-v -2.284415 2.022634 -0.855935
-v -2.150451 1.476840 -0.584277
-v -2.167788 1.514616 -0.809225
-v -2.643453 1.925415 -0.018950
-v -1.612726 0.873944 -1.296869
-v -2.079375 1.110581 -1.195821
-v -1.716492 0.726429 -1.388435
-v -1.884749 0.517371 -1.562625
-v -1.960825 0.442513 -1.610592
-v -1.942914 0.314387 -1.681620
-v -1.429990 0.889587 -1.614208
-v -1.505516 0.653872 -1.835689
-v -0.931704 0.787899 -2.066129
-v -0.917302 1.019552 -1.951271
-v -0.951775 0.729199 -2.150724
-v -1.555206 0.591727 -1.909888
-v -0.894334 1.458678 -2.053686
-v -1.639151 1.530680 -1.825240
-v -0.916245 0.591191 -2.197576
-v -1.516843 0.444141 -1.941028
-v -2.894158 -0.293492 -1.693660
-v -2.208730 -0.084916 -2.252010
-v -1.643629 0.058334 -2.438439
-v -0.948287 0.148704 -2.635463
-v -1.029458 2.243869 -2.273440
-v -1.684247 2.196377 -1.812778
-v -1.695385 2.763007 -1.398141
-v -1.876909 2.728275 -1.166568
-v -0.875196 3.021261 -1.978715
-v -1.782151 3.542078 -0.994194
-v -2.107162 3.384693 -0.769274
-v -0.844364 4.033239 -1.650793
-v -1.796315 4.118073 -0.761666
-v -0.742722 4.663668 -1.204837
-v -0.846059 5.265105 -0.353710
-v -0.689895 5.512417 0.378273
-v -2.173945 1.466511 -1.022513
-v -4.311844 -1.200631 -1.185389
-v -4.281209 -1.236017 -1.866678
-v -4.413421 -1.366023 -1.817253
-v -4.075917 -1.655770 -2.427462
-v -3.189816 -1.098227 -2.690340
-v -2.386931 -0.750937 -2.861997
-v -1.719496 -0.583459 -3.013854
-v -0.992348 -0.495836 -3.177464
-v -0.917138 -0.807683 -3.231596
-v -1.668542 -0.878633 -3.086971
-v -2.298172 -1.040506 -2.959992
-v -3.115793 -1.320478 -2.781168
-v -4.383541 -1.803513 -1.704460
-v -3.742640 -2.357771 -2.279376
-v -3.677979 -2.906064 -1.683045
-v -3.638811 -3.241707 -1.353842
-v -3.512533 -3.726455 -0.968948
-v -3.287627 -4.201365 -0.669328
-v -3.104445 -4.543452 -0.512972
-v -2.882289 -4.753160 -0.407417
-v -2.636978 -4.999932 -0.302704
-v -2.492217 -5.233891 -0.221049
-v -0.681818 -1.565714 -2.716835
-v -1.350166 -1.675141 -2.539728
-v -1.847815 -1.745939 -2.457083
-v -2.756224 -1.990174 -2.296259
-v -0.518024 -2.108149 -2.289217
-v -1.086792 -2.191168 -2.149774
-v -1.538274 -2.289064 -2.018205
-v -1.964073 -2.352004 -1.909482
-v -2.640020 -2.518011 -1.714509
-v -0.447870 -2.510344 -2.135957
-v -0.983234 -2.583103 -1.999717
-v -1.466647 -2.710105 -1.839738
-v -2.073789 -2.822868 -1.612534
-v -2.705886 -3.010171 -1.356652
-v -0.342392 -3.011335 -2.034681
-v -0.865371 -3.113704 -1.900680
-v -1.355650 -3.234251 -1.735384
-v -1.782574 -3.384361 -1.495969
-v -2.213447 -3.537353 -1.179812
-v -2.642006 -3.590153 -0.976034
-v -0.208197 -3.462166 -2.003835
-v -0.730909 -3.568524 -1.898096
-v -1.243983 -3.663187 -1.705608
-v -1.658564 -3.768527 -1.451286
-v -2.096884 -3.938877 -1.011877
-v -2.555869 -3.972320 -0.738809
-v -0.090155 -3.819369 -2.045353
-v -0.670606 -3.915647 -1.926927
-v -1.159382 -3.987731 -1.720752
-v -1.552317 -4.103237 -1.436285
-v -2.010662 -4.250180 -0.897486
-v -2.468651 -4.337706 -0.565898
-v -0.097358 -4.207095 -2.087483
-v -0.635255 -4.234691 -1.945461
-v -1.120766 -4.323770 -1.724594
-v -1.502728 -4.482214 -1.405541
-v -1.882566 -4.595675 -0.852173
-v -2.412344 -4.644467 -0.439763
-v -0.110803 -4.449912 -2.120649
-v -0.124695 -4.685015 -2.152756
-v -0.115238 -4.992694 -2.207529
-v -0.620858 -4.483344 -1.979611
-v -0.611104 -4.723975 -2.018918
-v -0.595195 -5.038123 -2.079089
-v -1.086496 -4.588467 -1.746181
-v -1.064364 -4.823517 -1.765696
-v -1.031392 -5.100853 -1.806217
-v -1.469167 -4.728073 -1.396747
-v -1.415856 -4.954430 -1.408992
-v -1.376496 -5.234863 -1.426483
-v -1.790332 -4.906054 -0.797175
-v -1.686224 -5.163830 -0.782295
-v -1.596255 -5.436766 -0.777835
-v -2.260912 -4.951986 -0.323219
-v -2.121402 -5.166779 -0.272905
-v -2.015332 -5.387508 -0.191249
-v -0.173271 -6.030879 1.848678
-v -0.409214 -6.030879 1.779429
-v -0.452853 -6.030879 1.869895
-v -0.540109 -6.030879 2.066025
-v -0.666940 -6.030879 2.126052
-v -0.838990 -6.030879 1.962155
-v -0.982628 -6.030879 1.797889
-v -1.089061 -6.030879 1.736157
-v -1.234861 -6.030879 1.676691
-v -1.334627 -6.030879 1.636621
-v -1.479750 -6.030879 1.633867
-v -1.517471 -6.030879 1.422787
-v -2.161167 -6.030879 1.090996
-v -2.506828 -6.030879 0.750036
-v -2.363794 -6.030879 0.116081
-v -2.225014 -6.030879 -0.140141
-v -2.092339 -6.030879 -0.217990
-v -1.793452 -6.030879 -0.258928
-v -1.420514 -6.030879 -0.868995
-v -1.224949 -6.030879 -1.543609
-v -0.917840 -6.030879 -1.938543
-v -0.529666 -6.030879 -2.222338
-v -0.102551 -6.030879 -2.355920
-v -1.161072 1.934412 1.775005
-v -0.205103 1.936063 2.501672
-v -0.231208 1.908201 2.470483
-v -0.290521 1.948551 2.542588
-v -0.315073 1.898174 2.508136
-v -0.302358 1.896070 2.416183
-v -0.407271 1.991888 2.515717
-v -0.599913 2.066898 2.561939
-v -0.818046 2.102397 2.491977
-v -1.070202 2.131116 2.231782
-v -1.126455 2.071561 1.968115
-v -0.439859 1.931271 2.550236
-v -0.626491 2.010932 2.565123
-v -0.817392 2.051739 2.467993
-v -1.046103 2.082681 2.201493
-v -1.094903 2.041015 1.980764
-v -0.446881 1.905963 2.506279
-v -0.641413 1.975450 2.479286
-v -0.807406 2.027692 2.422028
-v -1.015578 2.066997 2.215932
-v -0.333298 1.800984 2.196625
-v -0.377943 1.841381 2.221563
-v -0.514841 1.864908 2.234809
-v -0.580052 1.863718 2.233138
-v -0.675458 1.862439 2.223293
-v -0.784839 1.848392 2.147633
-v -0.853135 1.815021 1.987908
-v -0.723749 1.742288 2.068501
-v -0.576331 1.718729 2.132130
-v -0.426383 1.724865 2.150666
-v -0.399649 1.812594 2.196756
-v -0.502009 1.827583 2.212311
-v -0.463364 1.743613 2.168622
-v -0.714552 1.765103 2.129313
-v -0.755854 1.823434 2.135508
-v -0.654012 1.819856 2.204495
-v -0.634942 1.797914 2.197154
-v -0.574174 1.795299 2.193897
-v -0.534733 1.806213 2.186273
-v -0.571565 1.824729 2.221417
-v 1.161072 1.934412 1.775005
-v 0.205103 1.936063 2.501672
-v 0.231208 1.908201 2.470483
-v 0.290521 1.948551 2.542588
-v 0.315073 1.898174 2.508136
-v 0.302358 1.896070 2.416183
-v 0.407271 1.991888 2.515717
-v 0.599913 2.066898 2.561939
-v 0.818046 2.102397 2.491977
-v 1.070202 2.131116 2.231782
-v 1.126455 2.071561 1.968115
-v 0.439859 1.931271 2.550236
-v 0.626491 2.010932 2.565123
-v 0.817392 2.051739 2.467993
-v 1.046103 2.082681 2.201493
-v 1.094903 2.041015 1.980764
-v 0.446881 1.905963 2.506279
-v 0.641413 1.975450 2.479286
-v 0.807406 2.027692 2.422028
-v 1.015578 2.066997 2.215932
-v 0.333298 1.800984 2.196625
-v 0.377943 1.841381 2.221563
-v 0.514841 1.864908 2.234809
-v 0.580052 1.863718 2.233138
-v 0.675458 1.862439 2.223293
-v 0.784839 1.848392 2.147633
-v 0.853135 1.815021 1.987908
-v 0.723749 1.742288 2.068501
-v 0.576331 1.718729 2.132130
-v 0.426383 1.724865 2.150666
-v 0.399649 1.812594 2.196756
-v 0.502009 1.827583 2.212311
-v 0.463364 1.743613 2.168622
-v 0.714552 1.765103 2.129313
-v 0.755854 1.823434 2.135508
-v 0.654012 1.819856 2.204495
-v 0.634942 1.797914 2.197154
-v 0.574174 1.795299 2.193897
-v 0.534733 1.806213 2.186273
-v 0.571565 1.824729 2.221417
-g face
-v -0.093362 -0.478222 0.606843
-v -0.096537 -0.571215 0.609019
-v 0.000000 -0.557739 0.616228
-v 0.000000 -0.471817 0.617078
-v -0.224965 -0.434611 0.626931
-v -1.199660 0.612319 -0.114440
-v -1.237960 0.865933 -0.239116
-v -1.313160 0.598818 -0.121402
-v -1.265390 0.325109 -0.014263
-v -1.142100 0.357713 0.080797
-v -1.172170 0.003799 0.288578
-v -0.992640 0.087790 0.368875
-v -1.038910 -0.054216 0.599331
-v -0.958007 0.004663 0.540421
-v -1.269260 1.255200 -0.337076
-v -1.303610 1.165410 -0.035682
-v -1.256730 0.831771 0.001709
-v -1.246660 0.626933 0.095034
-v -1.181300 0.382558 0.276478
-v -0.997234 0.135594 0.524613
-v -0.968603 0.047490 0.672441
-v -1.360370 1.129340 0.147805
-v -1.313170 0.827262 0.178592
-v -1.321880 0.686917 0.300153
-v -1.237000 0.437886 0.578947
-v -1.129690 0.202209 0.825170
-v -1.071810 0.081753 0.940408
-v -0.864304 -0.095589 1.086810
-v -0.808878 -0.108006 0.862693
-v -0.785511 -0.113481 0.744561
-v -1.301330 1.309030 -0.013709
-v -1.288150 1.331120 -0.224217
-v -1.403780 1.253150 0.124680
-v -1.417140 1.199590 0.285955
-v -1.372150 1.077010 0.298650
-v -1.428510 1.249860 0.363487
-v -1.351640 0.730680 0.417285
-v -1.244320 0.569741 0.680281
-v -1.371090 0.959788 0.536405
-v -1.360650 1.219840 0.665852
-v -1.144610 0.348289 0.821948
-v -1.065100 0.150062 0.951618
-v -0.886429 -0.041894 1.134850
-v -0.951259 0.096646 1.220690
-v -1.077680 0.293950 1.020550
-v -1.260920 0.785572 0.842069
-v -1.205980 0.682387 0.998162
-v -1.175680 0.520922 0.896839
-v -1.082510 0.416250 1.082090
-v -1.086010 0.590441 1.157260
-v -0.941793 0.371891 1.296540
-v -0.964148 0.504018 1.389580
-v -0.949137 0.239988 1.242380
-v -1.286810 1.013720 0.965487
-v -1.225430 0.911496 1.117280
-v -1.130180 0.804388 1.263720
-v -0.997671 0.714594 1.469850
-v -1.352830 1.415070 0.762690
-v -1.384060 1.438230 0.638337
-v -1.296410 1.289840 1.082120
-v -1.257880 1.181680 1.267510
-v -1.158700 1.081660 1.421420
-v -1.019550 0.988808 1.650430
-v -1.341190 1.656330 0.806411
-v -1.389580 1.760660 0.867844
-v -1.484250 1.632080 0.642222
-v -1.347490 1.616120 0.871266
-v -1.383600 1.808760 1.025870
-v -1.303420 1.449820 1.148840
-v -1.256240 1.372250 1.340420
-v -1.196870 1.303990 1.524600
-v -1.065900 1.208650 1.713030
-v -0.844796 0.640292 1.682190
-v -1.146210 1.461500 1.746290
-v -1.067970 1.423930 1.772310
-v -1.219040 1.507420 1.661650
-v -1.291480 1.584950 1.514980
-v -1.347950 1.675160 1.340080
-v -1.292020 2.293510 1.742080
-v -1.420380 2.453470 1.475120
-v -1.400210 2.173740 1.276590
-v -1.300410 2.066510 1.595890
-v -1.392070 1.994930 1.179580
-v -1.353710 1.887300 1.475900
-v -1.161070 1.934410 1.775000
-v -1.157430 2.098690 1.982790
-v -1.250400 1.794070 1.692510
-v -1.155300 1.726210 1.778390
-v -1.032680 1.655970 1.835790
-v -1.082280 1.857610 1.861660
-v -0.991261 1.747170 1.862720
-v -0.668830 -0.133086 1.384820
-v -0.605833 -0.237692 1.331600
-v -0.696418 -0.024416 1.423380
-v -0.679076 -0.223769 1.086720
-v -0.681201 -0.189988 0.897274
-v -0.517345 -0.299060 1.422630
-v -0.476360 -0.318326 1.244490
-v -0.472171 -0.319164 1.084520
-v -0.475894 -0.298390 0.931689
-v -0.618100 -0.168267 1.439310
-v -0.532043 -0.188259 1.563740
-v -0.416522 -0.315333 1.583620
-v -0.385661 -0.338703 1.486310
-v -0.297379 -0.368494 1.459970
-v -0.314927 -0.362307 1.352310
-v -0.310459 -0.370836 1.191030
-v -0.325354 -0.370500 1.071870
-v -0.290747 -0.351774 0.892697
-v -0.282196 -0.332769 1.656780
-v -0.259483 -0.362621 1.545810
-v -0.096673 -0.315136 1.717020
-v -0.077760 -0.351505 1.598900
-v 0.000000 -0.307163 1.716780
-v 0.000000 -0.337078 1.603980
-v -0.114170 -0.383655 1.537160
-v 0.000000 -0.375667 1.547440
-v 0.000000 -0.391969 1.438520
-v -0.122677 -0.386415 1.441040
-v 0.000000 -0.391004 1.315190
-v -0.135317 -0.392239 1.310280
-v -0.132397 -0.409716 1.158290
-v 0.000000 -0.407300 1.140260
-v -0.145465 -0.408123 1.028540
-v 0.000000 -0.409347 0.992633
-v -0.152053 -0.370044 0.861140
-v 0.000000 -0.371925 0.821067
-v -0.143397 -0.343689 0.728104
-v 0.000000 -0.357342 0.720637
-v -0.276279 -0.316745 0.701162
-v -0.412154 -0.205409 1.683940
-v -0.291315 -0.209898 1.767570
-v -0.082305 -0.236690 1.770270
-v 0.000000 -0.220695 1.764880
-v -0.133829 -0.186136 1.773570
-v -0.065653 -0.117723 1.807720
-v -0.070935 -0.066474 1.825450
-v 0.000000 -0.045579 1.862470
-v 0.000000 -0.084188 1.832630
-v -0.257796 -0.128864 1.752620
-v -0.238682 -0.059001 1.755530
-v -0.404022 -0.057416 1.674290
-v -0.476644 -0.050701 1.594780
-v -0.552883 -0.047095 1.536380
-v -0.720680 0.102483 1.443240
-v -0.607757 0.091845 1.513090
-v -0.439127 0.053185 1.618930
-v -0.357720 0.057270 1.690590
-v -0.226956 0.072274 1.806520
-v -0.060318 0.073730 1.867360
-v 0.000000 0.080414 1.903300
-v -0.324676 0.127456 1.723340
-v -0.386141 0.220323 1.722300
-v -0.320505 0.141799 1.735790
-v -0.313339 0.209882 1.781010
-v -0.471391 0.225149 1.664460
-v -0.575916 0.238576 1.580050
-v -0.762829 0.246984 1.495240
-v 0.000000 0.170935 1.880760
-v -0.069361 0.164459 1.852260
-v -0.228307 0.154997 1.812360
-v -0.232922 0.168293 1.816180
-v -0.208160 0.220833 1.858250
-v -0.071777 0.180417 1.857890
-v -0.086023 0.243535 1.937800
-v 0.000000 0.186778 1.884070
-v 0.000000 0.248996 1.949030
-v 0.000000 0.284272 2.000520
-v -0.073650 0.277933 1.972740
-v -0.193681 0.263527 1.914400
-v -0.291142 0.266477 1.832640
-v -0.385333 0.280193 1.767300
-v -0.469844 0.312862 1.700040
-v 0.000000 -0.158265 1.773120
-v -0.561159 0.337266 1.690720
-v -0.584340 0.353769 1.689610
-v -0.636702 0.376537 1.671820
-v -0.790274 0.394847 1.584180
-v -0.449321 0.382192 1.738560
-v -0.343124 0.350456 1.820890
-v -0.266822 0.342211 1.911510
-v -0.158775 0.331242 1.974930
-v -0.048600 0.326522 1.987690
-v 0.000000 0.329461 2.020690
-v 0.000000 0.360331 2.013300
-v -0.043045 0.364480 1.993380
-v -0.158212 0.381306 1.951390
-v -0.245268 0.380848 1.900760
-v -0.323899 0.382911 1.813410
-v -0.460064 0.430666 1.719220
-v -0.344289 0.406637 1.838350
-v -0.255007 0.404932 1.888850
-v -0.163628 0.408450 1.947750
-v -0.055541 0.407330 1.965750
-v 0.000000 0.397424 1.979670
-v -0.341215 0.414218 1.842250
-v -0.238620 0.413229 1.880990
-v -0.145206 0.414588 1.947080
-v -0.044394 0.411907 1.967160
-v 0.000000 0.405890 1.975040
-v -0.041735 0.456187 2.014060
-v 0.000000 0.449223 2.046360
-v -0.147160 0.464641 2.001630
-v -0.239029 0.456758 1.916500
-v 0.000000 0.468383 2.078790
-v -0.036770 0.483633 2.077600
-v -0.143092 0.491804 2.049900
-v -0.245183 0.479875 2.009130
-v -0.336416 0.460032 1.919260
-v -0.355035 0.528230 1.975800
-v -0.258464 0.547844 2.041550
-v -0.142186 0.547709 2.091550
-v -0.050051 0.532402 2.144200
-v 0.000000 0.543088 2.148740
-v -0.439771 0.529104 1.876300
-v -0.512286 0.500570 1.830430
-v -0.568693 0.448882 1.789900
-v -0.671436 0.503081 1.745060
-v -0.682462 0.624455 1.810730
-v -0.507632 0.602478 1.874390
-v -0.444401 0.608461 1.914910
-v -0.340154 0.602725 2.000630
-v -0.240880 0.683499 2.070510
-v -0.325949 0.684599 2.026640
-v -0.108692 0.664232 2.098680
-v -0.027575 0.656342 2.150100
-v 0.000000 0.645054 2.156220
-v -0.438461 0.691844 1.983870
-v -0.511163 0.702227 1.932830
-v -0.689729 0.709366 1.860790
-v -0.891639 0.946287 1.846110
-v -0.716621 0.885393 1.914950
-v -0.498711 0.814368 1.963000
-v -0.389916 0.804071 1.971210
-v -0.315485 0.798910 2.040160
-v -0.202297 0.784284 2.081740
-v -0.101304 0.756621 2.102680
-v 0.000000 0.733657 2.141210
-v -0.900515 1.168060 1.855280
-v -0.744744 1.111770 1.937700
-v -0.557360 1.060150 1.999370
-v -0.384455 1.036980 2.017960
-v -0.380896 0.915372 1.960480
-v -0.350573 0.859098 1.972070
-v -0.353165 0.939698 1.987900
-v -0.367133 0.885010 2.009860
-v -0.301454 0.849319 2.016930
-v -0.199972 0.853192 2.031510
-v -0.082569 0.793510 2.122340
-v 0.000000 0.780302 2.164550
-v -0.358499 1.135870 2.037620
-v -0.313961 1.103500 2.124300
-v -0.251755 1.128250 2.250790
-v -0.250109 1.208260 2.229810
-v -0.323421 1.229790 2.152580
-v -0.212153 1.253090 2.310310
-v -0.214941 1.113430 2.316770
-v -0.357993 0.947133 2.009700
-v -0.308167 0.891267 2.099580
-v -0.247574 0.867584 2.074510
-v -0.291854 0.903935 2.126860
-v -0.308845 0.977413 2.145640
-v -0.574497 1.282930 1.940310
-v -0.724999 1.319760 1.889190
-v -0.908878 1.385870 1.836020
-v -0.326531 1.428440 2.164670
-v -0.577303 1.442310 2.013200
-v -0.726249 1.452890 1.930770
-v -0.900317 1.605210 1.870220
-v -0.257015 0.962623 2.219960
-v -0.250845 0.892540 2.227110
-v -0.182226 0.953741 2.371370
-v -0.208692 0.933330 2.285780
-v -0.195555 0.856733 2.343280
-v -0.171110 1.096160 2.405780
-v -0.139966 1.250390 2.417840
-v -0.051121 1.071320 2.469410
-v -0.071682 0.913681 2.486600
-v -0.100151 0.855922 2.444620
-v -0.102183 0.818842 2.433270
-v 0.000000 0.792142 2.449910
-v 0.000000 0.840963 2.492670
-v -0.059178 1.246130 2.463700
-v 0.000000 0.886066 2.498860
-v -0.121931 0.787974 2.314020
-v 0.000000 0.766279 2.367210
-v -0.174241 0.798512 2.303950
-v -0.213937 0.842269 2.215590
-v -0.229106 0.881785 2.146730
-v -0.093307 0.808868 2.228290
-v 0.000000 0.786166 2.264680
-v 0.000000 1.053570 2.468260
-v 0.000000 1.229670 2.477250
-v -0.042104 1.464000 2.473990
-v 0.000000 1.458020 2.487130
-v -0.115906 1.453990 2.403130
-v -0.185694 1.451130 2.339330
-v -0.106878 1.643710 2.419960
-v -0.164299 1.648270 2.357180
-v -0.037208 1.628410 2.478790
-v 0.000000 1.632590 2.493390
-v -0.240430 1.443970 2.255740
-v -0.202382 1.662460 2.251160
-v -0.332835 1.572990 2.174000
-v -0.253130 1.697940 2.196700
-v -0.037269 1.737820 2.438030
-v 0.000000 1.736630 2.457110
-v -0.105125 1.744450 2.385540
-v -0.158929 1.753980 2.331870
-v -0.190782 1.754250 2.261330
-v 0.000000 1.798820 2.481980
-v -0.041248 1.806650 2.452090
-v -0.097157 1.822920 2.416960
-v -0.172705 1.811710 2.356280
-v -0.216690 1.801130 2.302180
-v 0.000000 1.877800 2.552490
-v -0.072641 1.877620 2.537150
-v -0.141212 1.891060 2.463150
-v -0.175663 1.864470 2.419200
-v -0.089632 1.951090 2.575130
-v 0.000000 1.950430 2.577960
-v -0.205103 1.936060 2.501670
-v -0.115729 2.036890 2.610800
-v 0.000000 2.036210 2.622140
-v -0.252663 1.989710 2.539370
-v -0.085173 2.167280 2.647380
-v -0.252006 2.124340 2.626060
-v 0.000000 2.159480 2.640980
-v -0.091552 2.284040 2.652810
-v 0.000000 2.293240 2.639980
-v -0.122377 2.449250 2.671430
-v 0.000000 2.464330 2.680670
-v -0.256576 2.242650 2.659330
-v -0.277904 2.352280 2.638330
-v -0.280946 2.483560 2.690420
-v -1.338810 2.729680 1.686960
-v -1.160740 2.631570 2.028080
-v -1.065750 2.240780 2.276640
-v -1.295540 2.975860 1.876090
-v -1.154180 2.995130 2.188520
-v -1.249170 3.130030 2.062850
-v -1.017870 2.801590 2.307950
-v -1.015220 2.535920 2.280150
-v -0.790139 2.242040 2.551460
-v -0.780496 2.403310 2.560650
-v -0.791082 2.619560 2.551870
-v -0.800991 2.757300 2.609270
-v -1.027720 2.971150 2.358950
-v -1.109560 3.179230 2.324380
-v -1.228710 3.220820 2.196590
-v -1.043430 3.136330 2.441580
-v -0.781910 3.122770 2.650590
-v -0.789318 2.959370 2.657880
-v -0.446992 2.315500 2.667020
-v -0.568644 2.185580 2.607600
-v -0.522196 2.517120 2.682310
-v -0.586157 2.743110 2.692680
-v -0.602808 2.919160 2.693570
-v -0.603620 3.150900 2.688750
-v -0.799644 3.349260 2.564250
-v -0.585669 3.349910 2.649700
-v -1.062350 3.349830 2.391930
-v -0.422407 2.216430 2.612500
-v -0.391108 2.079320 2.559520
-v -0.346132 2.728440 2.675420
-v -0.180790 2.723130 2.728600
-v 0.000000 2.710170 2.727390
-v -0.389971 2.934710 2.670120
-v -0.405038 3.159280 2.711480
-v -0.384682 3.356130 2.689160
-v -0.814242 3.416640 2.460570
-v -0.605427 3.436730 2.625400
-v -0.377767 3.416680 2.699480
-v -0.211126 2.919880 2.740860
-v 0.000000 2.910910 2.767900
-v -0.197682 3.162690 2.774020
-v 0.000000 3.144180 2.752770
-v -0.200928 3.325560 2.708730
-v 0.000000 3.326770 2.713900
-v -0.191664 3.352130 2.742180
-v 0.000000 3.401890 2.677040
-v -0.208998 1.854240 2.366980
-v -0.229374 1.759780 2.204760
-v -0.246421 1.801440 2.229940
-v -0.241221 1.860710 2.361540
-v -0.231208 1.908200 2.470480
-v -0.290521 1.948550 2.542590
-v -0.302358 1.896070 2.416180
-v -0.407271 1.991890 2.515720
-v -0.599913 2.066900 2.561940
-v -0.818046 2.102400 2.491980
-v -1.070200 2.131120 2.231780
-v -1.126450 2.071560 1.968110
-v -0.307572 1.872320 2.361670
-v -0.475958 1.930650 2.426880
-v -0.446881 1.905960 2.506280
-v -0.780522 2.033020 2.339350
-v -0.807406 2.027690 2.422030
-v -1.015580 2.067000 2.215930
-v -0.641413 1.975450 2.479290
-v -0.620493 2.011650 2.394590
-v -0.629815 1.956980 2.395600
-v -0.760623 1.981490 2.329840
-v -0.944004 1.965180 2.203410
-v -1.094900 2.041010 1.980760
-v -1.040670 1.945300 2.026940
-v -0.463554 1.897020 2.396540
-v -0.609915 1.901720 2.358040
-v -0.726872 1.912960 2.337280
-v -0.907400 1.883050 2.198460
-v -1.004430 1.870950 2.022640
-v -1.005850 1.818500 1.898240
-v -0.285824 1.747610 2.214400
-v -0.328278 1.863980 2.301020
-v -0.333298 1.800980 2.196620
-v -0.831780 1.666180 1.958780
-v -0.898667 1.795490 1.943100
-v -0.703251 1.604550 2.013350
-v -0.564198 1.582560 2.064260
-v -0.383179 1.640270 2.168660
-v -0.915714 1.837150 1.968280
-v -0.893380 1.850760 1.991170
-v -0.866850 1.875440 2.160580
-v -0.708905 1.891690 2.276660
-v -0.592987 1.899010 2.291460
-v -0.463218 1.893060 2.312850
-v -0.377943 1.841380 2.221560
-v -0.514841 1.864910 2.234810
-v -0.580052 1.863720 2.233140
-v -0.675458 1.862440 2.223290
-v -0.784839 1.848390 2.147630
-v -0.853135 1.815020 1.987910
-v -0.723749 1.742290 2.068500
-v -0.576331 1.718730 2.132130
-v -0.426383 1.724860 2.150670
-v -1.516680 1.232530 0.172000
-v -1.555220 1.277520 0.221274
-v -1.680120 1.420700 0.135408
-v -1.697720 1.391360 0.061103
-v -1.765080 1.567610 0.096612
-v -1.770470 1.547580 0.014896
-v -1.683400 1.622780 0.120248
-v -1.763540 1.690840 0.209278
-v -1.623390 1.500220 0.141284
-v -1.540010 1.379850 0.211439
-v -1.426870 1.333610 0.370559
-v -1.595580 1.533600 0.190428
-v -1.667350 1.639440 0.175785
-v -1.521430 1.461090 0.243872
-v -1.470070 1.493240 0.369380
-v -1.653510 1.657960 0.269810
-v -1.702170 1.691210 0.287679
-v -1.600080 1.577410 0.262643
-v -1.539740 1.557420 0.265791
-v -1.530220 1.576600 0.297969
-v -1.620930 1.647770 0.357712
-v -1.604820 1.692020 0.267614
-v -1.584260 1.546140 -0.121393
-v -1.568120 1.452310 -0.160167
-v -1.347180 1.435080 -0.164662
-v -1.422740 1.573020 -0.136412
-v -1.408440 1.438590 -0.048195
-v -1.391820 1.301760 0.001039
-v -1.446990 1.306250 0.057701
-v -1.418000 1.564940 -0.075583
-v -0.111949 0.905611 2.245480
-v -0.134010 0.910055 2.241230
-v -0.095349 0.907946 2.164640
-v -0.099877 0.914423 2.209320
-v -0.144862 0.933115 2.126330
-v -0.164937 0.939185 2.144470
-v -0.150751 0.928509 2.203970
-v -0.157148 0.945174 2.174930
-v 0.096537 -0.571215 0.609019
-v 0.093362 -0.478222 0.606843
-v 0.224965 -0.434611 0.626931
-v 1.313160 0.598818 -0.121402
-v 1.237960 0.865933 -0.239116
-v 1.199660 0.612319 -0.114440
-v 1.142100 0.357713 0.080797
-v 1.265390 0.325109 -0.014263
-v 0.992640 0.087790 0.368875
-v 1.172170 0.003799 0.288578
-v 0.958007 0.004663 0.540421
-v 1.038910 -0.054216 0.599331
-v 1.303610 1.165410 -0.035682
-v 1.269260 1.255200 -0.337076
-v 1.256730 0.831771 0.001709
-v 1.246660 0.626933 0.095034
-v 1.181300 0.382558 0.276478
-v 0.997234 0.135594 0.524613
-v 0.968603 0.047490 0.672441
-v 1.313170 0.827262 0.178592
-v 1.360370 1.129340 0.147805
-v 1.321880 0.686917 0.300153
-v 1.237000 0.437886 0.578947
-v 1.129690 0.202209 0.825170
-v 1.071810 0.081753 0.940408
-v 0.808878 -0.108006 0.862693
-v 0.864304 -0.095589 1.086810
-v 0.785511 -0.113481 0.744561
-v 1.288150 1.331120 -0.224217
-v 1.301330 1.309030 -0.013709
-v 1.403780 1.253150 0.124680
-v 1.372150 1.077010 0.298650
-v 1.417140 1.199590 0.285955
-v 1.428510 1.249860 0.363487
-v 1.351640 0.730680 0.417285
-v 1.244320 0.569741 0.680281
-v 1.371090 0.959788 0.536405
-v 1.360650 1.219840 0.665852
-v 1.144610 0.348289 0.821948
-v 1.065100 0.150062 0.951618
-v 0.886429 -0.041894 1.134850
-v 0.951259 0.096646 1.220690
-v 1.077680 0.293950 1.020550
-v 1.260920 0.785572 0.842069
-v 1.175680 0.520922 0.896839
-v 1.205980 0.682387 0.998162
-v 1.082510 0.416250 1.082090
-v 1.086010 0.590441 1.157260
-v 0.964148 0.504018 1.389580
-v 0.941793 0.371891 1.296540
-v 0.949137 0.239988 1.242380
-v 1.286810 1.013720 0.965487
-v 1.225430 0.911496 1.117280
-v 1.130180 0.804388 1.263720
-v 0.997671 0.714594 1.469850
-v 1.384060 1.438230 0.638337
-v 1.352830 1.415070 0.762690
-v 1.296410 1.289840 1.082120
-v 1.257880 1.181680 1.267510
-v 1.158700 1.081660 1.421420
-v 1.019550 0.988808 1.650430
-v 1.484250 1.632080 0.642222
-v 1.389580 1.760660 0.867844
-v 1.341190 1.656330 0.806411
-v 1.347490 1.616120 0.871266
-v 1.383600 1.808760 1.025870
-v 1.303420 1.449820 1.148840
-v 1.256240 1.372250 1.340420
-v 1.196870 1.303990 1.524600
-v 1.065900 1.208650 1.713030
-v 0.844796 0.640292 1.682190
-v 1.067970 1.423930 1.772310
-v 1.146210 1.461500 1.746290
-v 1.219040 1.507420 1.661650
-v 1.291480 1.584950 1.514980
-v 1.347950 1.675160 1.340080
-v 1.300410 2.066510 1.595890
-v 1.400210 2.173740 1.276590
-v 1.420380 2.453470 1.475120
-v 1.292020 2.293510 1.742080
-v 1.353710 1.887300 1.475900
-v 1.392070 1.994930 1.179580
-v 1.161070 1.934410 1.775000
-v 1.157430 2.098690 1.982790
-v 1.250400 1.794070 1.692510
-v 1.155300 1.726210 1.778390
-v 1.032680 1.655970 1.835790
-v 1.082280 1.857610 1.861660
-v 0.991261 1.747170 1.862720
-v 0.605833 -0.237692 1.331600
-v 0.668830 -0.133086 1.384820
-v 0.696418 -0.024416 1.423380
-v 0.679076 -0.223769 1.086720
-v 0.681201 -0.189988 0.897274
-v 0.476360 -0.318326 1.244490
-v 0.517345 -0.299060 1.422630
-v 0.472171 -0.319164 1.084520
-v 0.475894 -0.298390 0.931689
-v 0.618100 -0.168267 1.439310
-v 0.532043 -0.188259 1.563740
-v 0.385661 -0.338703 1.486310
-v 0.416522 -0.315333 1.583620
-v 0.314927 -0.362307 1.352310
-v 0.297379 -0.368494 1.459970
-v 0.310459 -0.370836 1.191030
-v 0.325354 -0.370500 1.071870
-v 0.290747 -0.351774 0.892697
-v 0.259483 -0.362621 1.545810
-v 0.282196 -0.332769 1.656780
-v 0.077760 -0.351505 1.598900
-v 0.096673 -0.315136 1.717020
-v 0.114170 -0.383655 1.537160
-v 0.122677 -0.386415 1.441040
-v 0.135317 -0.392239 1.310280
-v 0.132397 -0.409716 1.158290
-v 0.145465 -0.408123 1.028540
-v 0.152053 -0.370044 0.861140
-v 0.143397 -0.343689 0.728104
-v 0.276279 -0.316745 0.701162
-v 0.412154 -0.205409 1.683940
-v 0.291315 -0.209898 1.767570
-v 0.133829 -0.186136 1.773570
-v 0.082305 -0.236690 1.770270
-v 0.257796 -0.128864 1.752620
-v 0.065653 -0.117723 1.807720
-v 0.070935 -0.066474 1.825450
-v 0.238682 -0.059001 1.755530
-v 0.404022 -0.057416 1.674290
-v 0.476644 -0.050701 1.594780
-v 0.552883 -0.047095 1.536380
-v 0.720680 0.102483 1.443240
-v 0.607757 0.091845 1.513090
-v 0.439127 0.053185 1.618930
-v 0.357720 0.057270 1.690590
-v 0.226956 0.072274 1.806520
-v 0.060318 0.073730 1.867360
-v 0.324676 0.127456 1.723340
-v 0.313339 0.209882 1.781010
-v 0.320505 0.141799 1.735790
-v 0.386141 0.220323 1.722300
-v 0.471391 0.225149 1.664460
-v 0.575916 0.238576 1.580050
-v 0.762829 0.246984 1.495240
-v 0.069361 0.164459 1.852260
-v 0.228307 0.154997 1.812360
-v 0.208160 0.220833 1.858250
-v 0.232922 0.168293 1.816180
-v 0.086023 0.243535 1.937800
-v 0.071777 0.180417 1.857890
-v 0.073650 0.277933 1.972740
-v 0.193681 0.263527 1.914400
-v 0.291142 0.266477 1.832640
-v 0.385333 0.280193 1.767300
-v 0.469844 0.312862 1.700040
-v 0.561159 0.337266 1.690720
-v 0.636702 0.376537 1.671820
-v 0.584340 0.353769 1.689610
-v 0.790274 0.394847 1.584180
-v 0.343124 0.350456 1.820890
-v 0.449321 0.382192 1.738560
-v 0.266822 0.342211 1.911510
-v 0.158775 0.331242 1.974930
-v 0.048600 0.326522 1.987690
-v 0.043045 0.364480 1.993380
-v 0.158212 0.381306 1.951390
-v 0.245268 0.380848 1.900760
-v 0.323899 0.382911 1.813410
-v 0.460064 0.430666 1.719220
-v 0.344289 0.406637 1.838350
-v 0.255007 0.404932 1.888850
-v 0.163628 0.408450 1.947750
-v 0.055541 0.407330 1.965750
-v 0.341215 0.414218 1.842250
-v 0.238620 0.413229 1.880990
-v 0.145206 0.414588 1.947080
-v 0.044394 0.411907 1.967160
-v 0.041735 0.456187 2.014060
-v 0.147160 0.464641 2.001630
-v 0.239029 0.456758 1.916500
-v 0.036770 0.483633 2.077600
-v 0.143092 0.491804 2.049900
-v 0.245183 0.479875 2.009130
-v 0.336416 0.460032 1.919260
-v 0.355035 0.528230 1.975800
-v 0.258464 0.547844 2.041550
-v 0.142186 0.547709 2.091550
-v 0.050051 0.532402 2.144200
-v 0.439771 0.529104 1.876300
-v 0.512286 0.500570 1.830430
-v 0.568693 0.448882 1.789900
-v 0.671436 0.503081 1.745060
-v 0.682462 0.624455 1.810730
-v 0.507632 0.602478 1.874390
-v 0.444401 0.608461 1.914910
-v 0.340154 0.602725 2.000630
-v 0.325949 0.684599 2.026640
-v 0.240880 0.683499 2.070510
-v 0.108692 0.664232 2.098680
-v 0.027575 0.656342 2.150100
-v 0.438461 0.691844 1.983870
-v 0.511163 0.702227 1.932830
-v 0.689729 0.709366 1.860790
-v 0.891639 0.946287 1.846110
-v 0.716621 0.885393 1.914950
-v 0.498711 0.814368 1.963000
-v 0.389916 0.804071 1.971210
-v 0.315485 0.798910 2.040160
-v 0.202297 0.784284 2.081740
-v 0.101304 0.756621 2.102680
-v 0.900515 1.168060 1.855280
-v 0.744744 1.111770 1.937700
-v 0.557360 1.060150 1.999370
-v 0.380896 0.915372 1.960480
-v 0.384455 1.036980 2.017960
-v 0.350573 0.859098 1.972070
-v 0.367133 0.885010 2.009860
-v 0.353165 0.939698 1.987900
-v 0.301454 0.849319 2.016930
-v 0.199972 0.853192 2.031510
-v 0.082569 0.793510 2.122340
-v 0.313961 1.103500 2.124300
-v 0.358499 1.135870 2.037620
-v 0.250109 1.208260 2.229810
-v 0.251755 1.128250 2.250790
-v 0.323421 1.229790 2.152580
-v 0.212153 1.253090 2.310310
-v 0.214941 1.113430 2.316770
-v 0.357993 0.947133 2.009700
-v 0.308167 0.891267 2.099580
-v 0.247574 0.867584 2.074510
-v 0.308845 0.977413 2.145640
-v 0.291854 0.903935 2.126860
-v 0.574497 1.282930 1.940310
-v 0.724999 1.319760 1.889190
-v 0.908878 1.385870 1.836020
-v 0.577303 1.442310 2.013200
-v 0.326531 1.428440 2.164670
-v 0.726249 1.452890 1.930770
-v 0.900317 1.605210 1.870220
-v 0.257015 0.962623 2.219960
-v 0.250845 0.892540 2.227110
-v 0.195555 0.856733 2.343280
-v 0.208692 0.933330 2.285780
-v 0.182226 0.953741 2.371370
-v 0.171110 1.096160 2.405780
-v 0.139966 1.250390 2.417840
-v 0.071682 0.913681 2.486600
-v 0.051121 1.071320 2.469410
-v 0.100151 0.855922 2.444620
-v 0.102183 0.818842 2.433270
-v 0.059178 1.246130 2.463700
-v 0.121931 0.787974 2.314020
-v 0.174241 0.798512 2.303950
-v 0.213937 0.842269 2.215590
-v 0.229106 0.881785 2.146730
-v 0.093307 0.808868 2.228290
-v 0.042104 1.464000 2.473990
-v 0.115906 1.453990 2.403130
-v 0.185694 1.451130 2.339330
-v 0.164299 1.648270 2.357180
-v 0.106878 1.643710 2.419960
-v 0.037208 1.628410 2.478790
-v 0.240430 1.443970 2.255740
-v 0.202382 1.662460 2.251160
-v 0.332835 1.572990 2.174000
-v 0.253130 1.697940 2.196700
-v 0.037269 1.737820 2.438030
-v 0.105125 1.744450 2.385540
-v 0.158929 1.753980 2.331870
-v 0.190782 1.754250 2.261330
-v 0.041248 1.806650 2.452090
-v 0.097157 1.822920 2.416960
-v 0.172705 1.811710 2.356280
-v 0.216690 1.801130 2.302180
-v 0.072641 1.877620 2.537150
-v 0.141212 1.891060 2.463150
-v 0.175663 1.864470 2.419200
-v 0.089632 1.951090 2.575130
-v 0.205103 1.936060 2.501670
-v 0.115729 2.036890 2.610800
-v 0.252006 2.124340 2.626060
-v 0.085173 2.167280 2.647380
-v 0.252663 1.989710 2.539370
-v 0.091552 2.284040 2.652810
-v 0.122377 2.449250 2.671430
-v 0.256576 2.242650 2.659330
-v 0.277904 2.352280 2.638330
-v 0.280946 2.483560 2.690420
-v 1.338810 2.729680 1.686960
-v 1.160740 2.631570 2.028080
-v 1.065750 2.240780 2.276640
-v 1.295540 2.975860 1.876090
-v 1.249170 3.130030 2.062850
-v 1.154180 2.995130 2.188520
-v 1.015220 2.535920 2.280150
-v 1.017870 2.801590 2.307950
-v 0.780496 2.403310 2.560650
-v 0.790139 2.242040 2.551460
-v 0.791082 2.619560 2.551870
-v 0.800991 2.757300 2.609270
-v 1.027720 2.971150 2.358950
-v 1.228710 3.220820 2.196590
-v 1.109560 3.179230 2.324380
-v 1.043430 3.136330 2.441580
-v 0.789318 2.959370 2.657880
-v 0.781910 3.122770 2.650590
-v 0.568644 2.185580 2.607600
-v 0.446992 2.315500 2.667020
-v 0.522196 2.517120 2.682310
-v 0.586157 2.743110 2.692680
-v 0.602808 2.919160 2.693570
-v 0.603620 3.150900 2.688750
-v 0.585669 3.349910 2.649700
-v 0.799644 3.349260 2.564250
-v 1.062350 3.349830 2.391930
-v 0.422407 2.216430 2.612500
-v 0.391108 2.079320 2.559520
-v 0.346132 2.728440 2.675420
-v 0.180790 2.723130 2.728600
-v 0.389971 2.934710 2.670120
-v 0.405038 3.159280 2.711480
-v 0.384682 3.356130 2.689160
-v 0.814242 3.416640 2.460570
-v 0.605427 3.436730 2.625400
-v 0.377767 3.416680 2.699480
-v 0.211126 2.919880 2.740860
-v 0.197682 3.162690 2.774020
-v 0.200928 3.325560 2.708730
-v 0.191664 3.352130 2.742180
-v 0.208998 1.854240 2.366980
-v 0.229374 1.759780 2.204760
-v 0.246421 1.801440 2.229940
-v 0.241221 1.860710 2.361540
-v 0.231208 1.908200 2.470480
-v 0.290521 1.948550 2.542590
-v 0.302358 1.896070 2.416180
-v 0.407271 1.991890 2.515720
-v 0.599913 2.066900 2.561940
-v 0.818046 2.102400 2.491980
-v 1.070200 2.131120 2.231780
-v 1.126450 2.071560 1.968110
-v 0.307572 1.872320 2.361670
-v 0.475958 1.930650 2.426880
-v 0.446881 1.905960 2.506280
-v 1.015580 2.067000 2.215930
-v 0.807406 2.027690 2.422030
-v 0.780522 2.033020 2.339350
-v 0.620493 2.011650 2.394590
-v 0.641413 1.975450 2.479290
-v 0.629815 1.956980 2.395600
-v 0.760623 1.981490 2.329840
-v 0.944004 1.965180 2.203410
-v 1.040670 1.945300 2.026940
-v 1.094900 2.041010 1.980760
-v 0.609915 1.901720 2.358040
-v 0.463554 1.897020 2.396540
-v 0.726872 1.912960 2.337280
-v 0.907400 1.883050 2.198460
-v 1.004430 1.870950 2.022640
-v 1.005850 1.818500 1.898240
-v 0.285824 1.747610 2.214400
-v 0.328278 1.863980 2.301020
-v 0.333298 1.800980 2.196620
-v 0.898667 1.795490 1.943100
-v 0.831780 1.666180 1.958780
-v 0.703251 1.604550 2.013350
-v 0.564198 1.582560 2.064260
-v 0.383179 1.640270 2.168660
-v 0.915714 1.837150 1.968280
-v 0.893380 1.850760 1.991170
-v 0.866850 1.875440 2.160580
-v 0.708905 1.891690 2.276660
-v 0.592987 1.899010 2.291460
-v 0.463218 1.893060 2.312850
-v 0.377943 1.841380 2.221560
-v 0.514841 1.864910 2.234810
-v 0.580052 1.863720 2.233140
-v 0.675458 1.862440 2.223290
-v 0.784839 1.848390 2.147630
-v 0.853135 1.815020 1.987910
-v 0.723749 1.742290 2.068500
-v 0.576331 1.718730 2.132130
-v 0.426383 1.724860 2.150670
-v 1.555220 1.277520 0.221274
-v 1.516680 1.232530 0.172000
-v 1.697720 1.391360 0.061103
-v 1.680120 1.420700 0.135408
-v 1.770470 1.547580 0.014896
-v 1.765080 1.567610 0.096612
-v 1.763540 1.690840 0.209278
-v 1.683400 1.622780 0.120248
-v 1.623390 1.500220 0.141284
-v 1.540010 1.379850 0.211439
-v 1.426870 1.333610 0.370559
-v 1.667350 1.639440 0.175785
-v 1.595580 1.533600 0.190428
-v 1.521430 1.461090 0.243872
-v 1.470070 1.493240 0.369380
-v 1.702170 1.691210 0.287679
-v 1.653510 1.657960 0.269810
-v 1.600080 1.577410 0.262643
-v 1.539740 1.557420 0.265791
-v 1.530220 1.576600 0.297969
-v 1.620930 1.647770 0.357712
-v 1.604820 1.692020 0.267614
-v 1.568120 1.452310 -0.160167
-v 1.584260 1.546140 -0.121393
-v 1.422740 1.573020 -0.136412
-v 1.347180 1.435080 -0.164662
-v 1.391820 1.301760 0.001039
-v 1.408440 1.438590 -0.048195
-v 1.446990 1.306250 0.057701
-v 1.418000 1.564940 -0.075583
-v 0.157148 0.945174 2.174930
-v 0.150751 0.928509 2.203970
-v 0.144862 0.933115 2.126330
-v 0.164937 0.939185 2.144470
-v 0.095349 0.907946 2.164640
-v 0.099877 0.914423 2.209320
-v 0.111949 0.905611 2.245480
-v 0.134010 0.910055 2.241230
-vn 0.332949 -0.705421 0.625720
-vn -0.260047 -0.789584 0.555817
-vn 0.532304 -0.547688 0.645515
-vn -0.440163 0.835449 -0.329062
-vn 0.471369 -0.780150 0.411312
-vn -0.327196 0.807469 0.490853
-vn 0.440163 -0.835448 0.329064
-vn -0.922405 -0.239534 0.302973
-vn 0.574315 0.804608 -0.150892
-vn 0.880972 -0.472727 0.020456
-vn -0.332949 -0.705421 0.625720
-vn 0.260047 -0.789584 0.555817
-vn -0.532304 -0.547688 0.645515
-vn 0.440163 0.835449 -0.329062
-vn -0.471369 -0.780150 0.411312
-vn 0.327196 0.807469 0.490853
-vn -0.440163 -0.835448 0.329064
-vn 0.922405 -0.239534 0.302973
-vn -0.574315 0.804608 -0.150892
-vn -0.880972 -0.472727 0.020456
-vn 0.096987 -0.993719 0.055816
-vn -0.676183 -0.320676 0.663282
-vn -0.096987 -0.993719 0.055818
-vn 0.676184 -0.320676 0.663282
-vn -0.939601 -0.296607 0.170803
-vn -0.672056 0.082543 0.735886
-vn -0.355352 0.041895 0.933793
-vn 0.592319 -0.120476 0.796645
-vn 0.705290 -0.153974 0.691996
-vn 0.394027 -0.066319 0.916703
-vn 0.287416 -0.062043 0.955794
-vn 0.133377 -0.051606 0.989721
-vn 0.011289 -0.026583 0.999583
-vn 0.403044 -0.127509 0.906254
-vn 0.483554 -0.241174 0.841434
-vn 0.759763 -0.555162 0.338461
-vn -0.630798 0.239138 0.738178
-vn -0.909154 0.166336 0.381801
-vn -0.987974 0.139405 0.066883
-vn -0.881686 0.108986 0.459077
-vn -0.868909 0.106364 0.483408
-vn 0.697988 -0.592670 -0.401939
-vn 0.502056 -0.425307 -0.753030
-vn 0.000000 0.081285 -0.996691
-vn 0.000000 -0.273743 -0.961803
-vn 0.000000 0.289750 -0.957102
-vn 0.000000 0.459618 -0.888117
-vn 0.000000 0.764240 -0.644932
-vn 0.000000 0.898676 -0.438614
-vn 0.000000 0.944688 -0.327972
-vn 0.200513 -0.221996 -0.954208
-vn 0.602386 0.213580 0.769100
-vn 0.518785 0.283933 0.806377
-vn 0.574210 0.261001 0.775991
-vn 0.648485 0.210243 0.731618
-vn 0.582966 0.189917 0.789989
-vn 0.657902 0.149876 0.738039
-vn 0.576627 0.140213 0.804886
-vn 0.655242 0.120524 0.745742
-vn 0.548586 0.085622 0.831699
-vn 0.623644 0.065462 0.778963
-vn 0.302198 0.055408 0.951634
-vn 0.589216 -0.022250 0.807669
-vn 0.178633 0.016982 0.983769
-vn 0.602782 -0.103612 0.791150
-vn 0.003301 -0.017352 0.999844
-vn 0.638096 -0.174661 0.749885
-vn -0.624887 0.112438 0.772576
-vn -0.583184 0.172695 0.793772
-vn -0.662041 0.212324 0.718763
-vn -0.514252 0.297546 0.804370
-vn 0.581346 0.184565 0.792447
-vn 0.527918 0.212525 0.822275
-vn 0.270288 0.273170 0.923213
-vn 0.227464 0.248221 0.941619
-vn 0.074044 0.366548 0.927448
-vn 0.070724 0.317242 0.945704
-vn 0.113155 0.341724 0.932963
-vn 0.021131 0.358451 0.933309
-vn 0.174841 0.291507 0.940454
-vn 0.207586 0.210474 0.955305
-vn -0.015614 0.337833 0.941076
-vn 0.649281 0.137389 0.748036
-vn 0.521131 0.092430 0.848457
-vn 0.658302 0.126354 0.742073
-vn 0.698391 0.096456 0.709187
-vn -0.007617 0.378960 0.925382
-vn 0.071756 0.279278 0.957525
-vn 0.148503 0.228260 0.962208
-vn 0.084036 0.432319 0.897796
-vn 0.037269 0.462611 0.885778
-vn 0.085702 0.358906 0.929431
-vn 0.092997 0.423873 0.900935
-vn 0.578345 0.189784 0.793410
-vn 0.503826 0.169966 0.846918
-vn 0.653025 0.152927 0.741735
-vn 0.537542 0.259210 0.802408
-vn 0.175271 0.485911 0.856254
-vn 0.480349 0.346259 0.805835
-vn 0.243788 0.307629 0.919745
-vn 0.333496 0.475182 0.814238
-vn 0.306370 0.434431 0.846999
-vn 0.275085 0.360708 0.891189
-vn 0.291053 0.279260 0.915042
-vn 0.079687 0.186105 0.979293
-vn 0.077906 0.124928 0.989103
-vn 0.319400 0.172440 0.931798
-vn 0.595356 0.092896 0.798073
-vn 0.546608 -0.021804 0.837105
-vn 0.551343 -0.124465 0.824942
-vn 0.575099 -0.164672 0.801339
-vn 0.343682 -0.092859 0.934484
-vn 0.283986 -0.071210 0.956180
-vn 0.290856 0.047039 0.955610
-vn 0.098141 0.082151 0.991776
-vn 0.064815 0.044293 0.996914
-vn 0.100796 -0.023640 0.994626
-vn 0.074774 -0.024916 0.996889
-vn 0.166430 -0.069780 0.983581
-vn 0.073847 -0.072652 0.994620
-vn 0.445449 0.351574 0.823390
-vn 0.548867 0.270792 0.790833
-vn 0.605772 0.186708 0.773421
-vn 0.443076 0.285121 0.849935
-vn 0.549052 0.445335 0.707261
-vn 0.413496 0.414990 0.810435
-vn 0.436072 0.437467 0.786425
-vn 0.340697 0.455336 0.822554
-vn -0.121934 -0.295562 0.947510
-vn -0.195797 -0.351663 0.915421
-vn -0.031391 -0.427943 0.903260
-vn 0.251222 -0.524346 0.813602
-vn 0.449781 0.446229 0.773677
-vn 0.602904 -0.515127 0.609221
-vn 0.857528 -0.284734 0.428453
-vn 0.432131 0.415593 0.800341
-vn 0.416336 0.359925 0.834936
-vn 0.903724 -0.121910 0.410391
-vn 0.333786 0.391667 0.857429
-vn 0.403423 0.497640 0.767857
-vn 0.413539 0.418225 0.808748
-vn 0.467588 0.370380 0.802608
-vn 0.627609 0.502314 0.594801
-vn 0.693293 0.348298 0.630898
-vn 0.723581 0.273386 0.633790
-vn 0.600324 0.220819 0.768667
-vn 0.428859 0.599311 0.675949
-vn 0.404483 0.632677 0.660389
-vn 0.241671 0.174188 0.954596
-vn 0.268367 0.223146 0.937115
-vn 0.137882 0.077206 0.987435
-vn 0.073427 0.011380 0.997236
-vn 0.066278 -0.028333 0.997399
-vn 0.026416 -0.059801 0.997861
-vn 0.402357 0.496327 0.769265
-vn 0.949941 0.094642 0.297750
-vn 0.516046 0.438872 0.735587
-vn 0.580118 0.489634 0.650939
-vn 0.986210 0.160836 -0.039000
-vn 0.654373 0.593785 0.468204
-vn 0.693446 0.650831 0.309115
-vn 0.693484 0.709322 0.126266
-vn 0.739462 0.638881 0.212199
-vn 0.924673 0.064474 -0.375265
-vn 0.668375 0.733729 0.122133
-vn 0.772927 0.632876 0.045294
-vn 0.890443 0.172735 -0.421039
-vn 0.742605 0.662379 -0.098960
-vn 0.839209 0.381341 -0.387694
-vn 0.653531 0.756515 -0.024128
-vn 0.801970 0.591140 -0.086016
-vn 0.771021 0.577440 -0.268496
-vn 0.800345 0.591484 -0.097949
-vn 0.829800 0.557718 0.019575
-vn 0.777953 0.266323 0.569089
-vn 0.838833 0.407129 0.361393
-vn 0.747375 0.266674 0.608536
-vn 0.812027 0.222115 0.539700
-vn 0.809816 0.579091 -0.094084
-vn 0.747960 0.573313 -0.334466
-vn 0.729200 0.682344 0.051709
-vn 0.751051 0.648506 0.123946
-vn 0.809553 0.449405 0.377703
-vn 0.798346 0.279899 0.533198
-vn 0.591526 0.786790 0.176235
-vn 0.520694 0.818933 0.241303
-vn 0.545418 0.819952 0.173777
-vn 0.516019 0.787254 0.337573
-vn 0.477368 0.633843 0.608575
-vn 0.427488 0.496537 0.755451
-vn 0.776200 0.229312 0.587307
-vn 0.809287 0.154015 0.566863
-vn 0.400767 0.415315 0.816639
-vn 0.416198 0.371368 0.829979
-vn 0.642333 0.082771 0.761943
-vn 0.469891 0.445664 0.761962
-vn 0.700191 0.419308 0.577852
-vn 0.604433 0.651239 0.458855
-vn 0.496230 0.667044 0.555704
-vn 0.518102 0.625584 0.583279
-vn 0.568506 0.365915 0.736822
-vn 0.452971 -0.021158 0.891274
-vn 0.449302 -0.007126 0.893352
-vn 0.460345 0.002674 0.887736
-vn 0.447709 -0.051573 0.892691
-vn 0.425665 -0.096364 0.899735
-vn 0.410701 -0.075548 0.908635
-vn 0.506335 -0.026854 0.861918
-vn 0.541817 0.061001 0.838280
-vn 0.554974 0.173119 0.813655
-vn 0.606292 0.103491 0.788479
-vn 0.404823 -0.048978 0.913083
-vn 0.492288 -0.027548 0.869996
-vn 0.491358 -0.022101 0.870677
-vn 0.483934 -0.065043 0.872684
-vn 0.470505 -0.095908 0.877170
-vn 0.468701 -0.116106 0.875693
-vn 0.583549 0.282527 0.761347
-vn 0.213775 0.658841 0.721269
-vn 0.506827 0.459824 0.729170
-vn 0.494828 0.286137 0.820531
-vn -0.010535 0.551231 0.834286
-vn 0.062663 0.213471 0.974938
-vn -0.165120 0.545670 0.821572
-vn 0.153462 0.725558 0.670831
-vn 0.500488 0.511510 0.698476
-vn 0.608014 0.128125 0.783520
-vn 0.321675 -0.108302 0.940636
-vn -0.120314 0.103516 0.987324
-vn 0.247188 0.537758 0.806048
-vn 0.374128 0.432952 0.820110
-vn 0.156908 0.456295 0.875885
-vn 0.168941 0.292593 0.941195
-vn 0.335480 0.253231 0.907374
-vn 0.444862 0.305537 0.841870
-vn 0.323026 0.370636 0.870795
-vn 0.474345 0.809620 0.345705
-vn 0.829394 0.553534 0.075540
-vn 0.436288 0.721510 0.537659
-vn 0.375898 0.598493 0.707465
-vn 0.320930 0.452886 0.831804
-vn 0.755328 0.483434 0.442459
-vn 0.436894 0.441323 0.783810
-vn 0.298031 0.319168 0.899616
-vn 0.364277 0.203223 0.908847
-vn 0.571431 -0.012155 0.820560
-vn 0.780122 -0.083273 0.620061
-vn 0.328764 0.253859 0.909654
-vn 0.327258 0.097229 0.939920
-vn 0.382594 -0.093835 0.919139
-vn 0.832774 -0.376269 0.406090
-vn 0.859009 -0.376217 0.347223
-vn 0.896604 -0.232388 0.376957
-vn 0.917818 -0.072919 0.390247
-vn 0.937726 0.091499 0.335108
-vn 0.724000 -0.096170 0.683064
-vn 0.685200 -0.104080 0.720880
-vn 0.651068 -0.147306 0.744588
-vn 0.629368 -0.180769 0.755790
-vn 0.633565 -0.196288 0.748375
-vn 0.652072 -0.273790 0.706995
-vn 0.897256 -0.379094 0.226318
-vn 0.843247 -0.454665 0.286730
-vn 0.816272 -0.548726 0.180552
-vn 0.788794 -0.598870 0.138414
-vn 0.858618 -0.263514 -0.439699
-vn 0.950752 0.307872 0.035844
-vn 0.930675 0.357309 0.078581
-vn 0.935591 0.327946 0.130844
-vn 0.922134 0.361440 0.137947
-vn 0.620249 0.480142 0.620286
-vn 0.660931 0.493747 0.565140
-vn 0.687403 0.458399 0.563337
-vn 0.901677 0.351337 0.252073
-vn 0.888387 0.389753 0.242614
-vn 0.808058 0.406371 0.426502
-vn 0.827315 0.348580 0.440501
-vn 0.633442 0.428809 0.644107
-vn 0.515068 0.462280 0.721805
-vn 0.684726 0.326895 0.651376
-vn 0.419711 0.361219 0.832685
-vn 0.561359 0.201082 0.802772
-vn 0.466082 0.103907 0.878619
-vn 0.218659 0.331612 0.917726
-vn 0.399955 0.093929 0.911709
-vn -0.317084 -0.316295 0.894100
-vn -0.217677 -0.394486 0.892747
-vn -0.446178 -0.404349 0.798390
-vn 0.286324 0.406956 0.867413
-vn 0.440008 0.442910 0.781168
-vn 0.604948 0.225627 0.763630
-vn 0.708900 0.263736 0.654144
-vn 0.620996 0.283541 0.730731
-vn 0.471391 0.706010 0.528526
-vn -0.494493 0.022290 0.868896
-vn 0.081645 0.758668 0.646342
-vn 0.314889 0.818008 0.481361
-vn 0.381940 0.891911 0.242109
-vn 0.295807 0.907113 0.299407
-vn 0.063403 0.878951 0.472678
-vn -0.518829 0.151814 0.841290
-vn 0.233190 0.871844 0.430709
-vn -0.408115 0.174426 0.896113
-vn -0.230970 0.115807 0.966044
-vn 0.157661 0.014923 0.987381
-vn 0.589572 -0.019729 0.807475
-vn 0.722804 0.008457 0.691002
-vn 0.791895 0.079491 -0.605462
-vn 0.600584 -0.336333 -0.725382
-vn 0.465217 -0.484913 -0.740563
-vn 0.756085 -0.312526 -0.575033
-vn 0.888120 -0.279886 -0.364562
-vn 0.747127 -0.528200 -0.403493
-vn 0.513083 -0.767078 -0.385147
-vn 0.161390 -0.971826 -0.171779
-vn 0.041647 -0.976245 0.212628
-vn -0.132164 -0.876472 0.462957
-vn -0.441067 -0.806915 0.392871
-vn 0.462347 0.574898 0.675076
-vn -0.557382 -0.752183 0.351491
-vn 0.901540 0.361228 0.238203
-vn 0.783321 0.541586 0.305112
-vn -0.615491 -0.738999 0.273955
-vn -0.595928 -0.794386 0.117565
-vn -0.687678 -0.709875 0.152238
-vn -0.773549 -0.633595 -0.013403
-vn -0.834875 -0.550285 0.013046
-vn -0.829717 -0.551329 -0.087217
-vn -0.775534 -0.629547 0.047101
-vn -0.762020 -0.642569 -0.080184
-vn -0.775954 -0.630645 0.013500
-vn -0.701713 -0.711998 -0.025626
-vn -0.480682 -0.872693 0.085740
-vn -0.760446 -0.646635 0.059881
-vn -0.572235 -0.800166 0.179673
-vn -0.182950 -0.908112 0.376645
-vn -0.229092 -0.172632 0.957974
-vn -0.064898 0.677294 0.732845
-vn 0.054346 0.850959 0.522413
-vn -0.025155 0.784707 0.619356
-vn -0.111660 0.597000 0.794433
-vn -0.130412 0.483777 0.865420
-vn -0.125941 0.441113 0.888571
-vn -0.136030 0.428580 0.893205
-vn -0.497048 0.292541 0.816923
-vn -0.581759 0.320224 0.747671
-vn -0.566320 0.529324 0.631742
-vn -0.399080 0.839800 0.368064
-vn -0.165219 0.962939 0.213192
-vn 0.180975 -0.892235 0.413720
-vn 0.130051 -0.852940 0.505550
-vn -0.062184 -0.688056 0.722988
-vn 0.068609 -0.816413 0.573378
-vn -0.061690 -0.769669 0.635455
-vn -0.175486 -0.771548 0.611488
-vn -0.892300 0.172524 0.417177
-vn -0.955963 0.171365 0.238262
-vn -0.873843 0.206208 0.440315
-vn -0.896771 0.216759 0.385768
-vn -0.874857 0.211666 0.435686
-vn -0.899490 0.211098 0.382564
-vn -0.875055 0.165775 0.454750
-vn -0.878962 0.165507 0.447251
-vn 0.723029 -0.558915 -0.406009
-vn 0.781299 -0.477731 -0.401678
-vn 0.831795 -0.407465 -0.376947
-vn 0.871899 -0.363653 -0.327947
-vn 0.912045 -0.318589 -0.258215
-vn 0.970989 -0.140447 -0.193533
-vn 0.757787 -0.468292 -0.454380
-vn 0.799657 -0.442882 -0.405469
-vn 0.696283 -0.493220 -0.521464
-vn 0.597297 -0.541008 -0.592070
-vn 0.510427 -0.578979 -0.635804
-vn 0.682250 -0.605090 -0.410367
-vn 0.653076 -0.625387 -0.427062
-vn 0.614932 -0.657449 -0.435452
-vn 0.600506 -0.677242 -0.425131
-vn 0.341334 -0.558359 -0.756126
-vn 0.347423 -0.553980 -0.756573
-vn 0.409246 -0.579187 -0.705025
-vn 0.469042 -0.592805 -0.654662
-vn -0.426812 0.324483 0.844122
-vn -0.150214 0.365475 0.918621
-vn -0.080542 0.963814 0.254115
-vn -0.058293 0.238730 0.969335
-vn -0.058293 0.238730 0.969335
-vn -0.206539 -0.059777 0.976611
-vn 0.785461 -0.455791 -0.418695
-vn 0.668092 -0.269279 -0.693644
-vn 0.905060 -0.412957 0.101653
-vn 0.869465 -0.491241 0.052086
-vn 0.898076 -0.180334 -0.401172
-vn 0.973660 -0.211736 -0.084582
-vn 0.980274 -0.144070 0.135302
-vn 0.814324 -0.271889 0.512789
-vn 0.814324 -0.271889 0.512789
-vn 0.918624 0.166841 0.358181
-vn 0.741154 0.463785 0.485380
-vn 0.947449 -0.041439 0.317211
-vn 0.611572 0.545655 0.572923
-vn 0.904994 -0.020831 0.424913
-vn 0.923378 0.204457 0.324916
-vn 0.826855 0.443832 0.345433
-vn 0.760719 0.415339 0.498799
-vn 0.720624 0.492087 0.488418
-vn 0.697442 0.552508 0.456410
-vn 0.702097 0.562458 0.436694
-vn 0.834179 0.400987 0.378622
-vn 0.847666 0.399057 0.349595
-vn 0.693729 0.606736 0.388086
-vn 0.504100 0.776103 0.378876
-vn 0.148598 0.922908 0.355188
-vn -0.059750 0.931927 0.357689
-vn -0.175523 0.877956 0.445404
-vn 0.021067 0.923668 0.382615
-vn 0.230269 0.943136 0.239732
-vn 0.637623 0.752392 0.165357
-vn 0.738008 0.607392 0.293972
-vn 0.858757 0.080580 0.506007
-vn 0.817873 0.223196 0.530347
-vn 0.869330 0.494203 0.005449
-vn 0.778333 0.622013 0.085425
-vn 0.875076 0.479485 -0.065848
-vn 0.682816 0.696418 -0.220827
-vn 0.647693 0.760553 0.045311
-vn 0.789251 -0.079380 0.608918
-vn 0.956814 0.162151 -0.241276
-vn 0.912472 0.221945 -0.343707
-vn 0.923227 0.185843 -0.336326
-vn 0.930107 0.110649 -0.350226
-vn 0.962716 -0.104994 0.249308
-vn 0.996259 0.074426 -0.043913
-vn 0.897520 0.083880 -0.432923
-vn 0.893919 0.164722 -0.416864
-vn 0.896055 -0.119118 -0.427664
-vn 0.910937 0.031813 -0.411317
-vn 0.887784 -0.310259 -0.339969
-vn 0.967287 -0.247903 -0.053858
-vn 0.898863 -0.087684 -0.429368
-vn 0.870952 0.132239 -0.473240
-vn 0.820854 -0.498538 -0.278674
-vn 0.673284 0.686365 -0.274940
-vn 0.606195 0.754232 -0.252313
-vn 0.675961 0.541808 -0.499520
-vn 0.618021 0.547814 -0.563870
-vn 0.665292 0.299502 -0.683874
-vn 0.505279 0.723903 -0.469741
-vn 0.324758 0.671254 -0.666296
-vn 0.374322 0.087651 -0.923147
-vn 0.000000 0.639223 -0.769021
-vn 0.000000 0.035307 -0.999376
-vn 0.310246 0.557940 -0.769708
-vn 0.000000 0.598163 -0.801375
-vn 0.517378 0.521388 -0.678583
-vn 0.340138 -0.257223 -0.904512
-vn 0.619196 -0.230144 -0.750753
-vn 0.293751 0.486414 -0.822868
-vn 0.000000 0.512469 -0.858706
-vn 0.470447 0.495624 -0.730094
-vn 0.557935 0.805652 -0.199084
-vn 0.452387 0.755121 -0.474488
-vn 0.344960 0.717142 -0.605566
-vn 0.237320 0.671919 -0.701573
-vn 0.000000 0.657200 -0.753716
-vn 0.378004 0.106861 -0.919616
-vn 0.718351 0.133214 -0.682808
-vn 0.689578 0.310031 -0.654494
-vn 0.809509 0.216230 -0.545839
-vn 0.421755 0.326961 -0.845706
-vn 0.678838 0.317455 -0.662119
-vn 0.851847 0.161232 -0.498359
-vn 0.471194 0.400313 -0.785955
-vn 0.695682 0.479424 -0.534957
-vn 0.409728 0.658083 -0.631703
-vn 0.324420 0.864075 -0.384872
-vn 0.383642 0.914346 -0.129580
-vn 0.895950 -0.235518 -0.376569
-vn 0.552213 0.817527 0.163434
-vn 0.620789 0.719209 -0.312026
-vn 0.880295 0.271967 -0.388735
-vn 0.654011 0.067286 -0.753487
-vn 0.445700 0.495602 -0.745473
-vn 0.370129 0.481660 -0.794360
-vn 0.282468 0.437842 -0.853526
-vn 0.194704 0.381776 -0.903514
-vn 0.000000 0.346752 -0.937957
-vn 0.134093 -0.255637 -0.957428
-vn 0.000000 -0.278526 -0.960429
-vn 0.167318 -0.218170 -0.961461
-vn 0.157411 -0.193966 -0.968297
-vn 0.193518 -0.145853 -0.970195
-vn 0.883346 -0.269483 -0.383509
-vn 0.372707 -0.602315 -0.705908
-vn 0.284389 -0.674901 -0.680905
-vn 0.266465 -0.623440 -0.735064
-vn 0.210330 -0.583672 -0.784276
-vn 0.163290 -0.531374 -0.831251
-vn 0.142215 -0.491701 -0.859072
-vn 0.101835 -0.448198 -0.888115
-vn 0.076807 -0.381437 -0.921198
-vn 0.088509 -0.378576 -0.921329
-vn 0.079068 -0.607429 -0.790429
-vn 0.000000 -0.605434 -0.795896
-vn 0.074285 -0.610089 -0.788843
-vn 0.029425 -0.633697 -0.773022
-vn -0.067163 -0.611468 -0.788414
-vn 0.096433 -0.513376 -0.852728
-vn 0.000000 -0.512619 -0.858616
-vn 0.129979 -0.519215 -0.844702
-vn 0.137003 -0.542535 -0.828785
-vn 0.105013 -0.595112 -0.796752
-vn -0.079301 -0.653155 -0.753060
-vn 0.135006 -0.304248 -0.942977
-vn 0.000000 -0.300841 -0.953674
-vn 0.204273 -0.314048 -0.927171
-vn 0.243386 -0.350578 -0.904355
-vn 0.275302 -0.444189 -0.852588
-vn 0.022468 -0.570516 -0.820979
-vn 0.158274 -0.161865 -0.974037
-vn 0.000000 -0.161161 -0.986928
-vn 0.243947 -0.171140 -0.954568
-vn 0.336061 -0.218423 -0.916163
-vn 0.439956 -0.321892 -0.838346
-vn 0.400605 -0.446572 -0.800055
-vn 0.109754 -0.532448 -0.839317
-vn 0.199636 -0.021538 -0.979633
-vn 0.000000 -0.017694 -0.999843
-vn 0.273388 -0.047857 -0.960713
-vn 0.413696 -0.125495 -0.901724
-vn 0.538408 -0.266793 -0.799336
-vn 0.501708 -0.413970 -0.759551
-vn 0.180764 -0.480264 -0.858295
-vn 0.266299 0.069839 -0.961357
-vn 0.000000 0.084146 -0.996453
-vn 0.303219 0.021856 -0.952670
-vn 0.472055 -0.071805 -0.878640
-vn 0.628723 -0.209727 -0.748814
-vn 0.596804 -0.347012 -0.723469
-vn 0.233182 -0.415250 -0.879314
-vn 0.306329 0.115426 -0.944902
-vn 0.000000 0.137574 -0.990492
-vn 0.336512 0.061863 -0.939645
-vn 0.521998 -0.032046 -0.852345
-vn 0.700901 -0.166964 -0.693441
-vn 0.670696 -0.320363 -0.668980
-vn 0.278649 -0.402161 -0.872136
-vn 0.338844 0.155528 -0.927898
-vn 0.000000 0.188747 -0.982026
-vn 0.370116 0.153131 -0.916278
-vn 0.000000 0.169274 -0.985569
-vn 0.366869 0.132995 -0.920717
-vn 0.000000 0.134384 -0.990929
-vn 0.366650 0.102371 -0.924710
-vn 0.389342 0.122674 -0.912888
-vn 0.413330 0.115606 -0.903213
-vn 0.566003 0.001137 -0.824403
-vn 0.607024 0.023898 -0.794324
-vn 0.648586 0.030749 -0.760520
-vn 0.749269 -0.163297 -0.641818
-vn 0.795439 -0.141070 -0.589387
-vn 0.843796 -0.106096 -0.526072
-vn 0.724763 -0.344747 -0.596547
-vn 0.786972 -0.324776 -0.524590
-vn 0.854710 -0.241359 -0.459582
-vn 0.337017 -0.403246 -0.850772
-vn 0.402275 -0.400267 -0.823384
-vn 0.485908 -0.248850 -0.837835
-vn -0.880669 0.068701 0.468725
-vn -0.890116 0.075529 0.449431
-vn -0.690705 0.079408 0.718763
-vn -0.394663 0.066423 0.916422
-vn 0.723350 -0.098931 0.683358
-vn 0.602617 -0.086043 0.793378
-vn 0.407468 -0.066327 0.910808
-vn 0.341247 -0.066881 0.937591
-vn 0.178897 -0.034900 0.983249
-vn 0.017878 0.003394 0.999834
-vn 0.402357 -0.193102 0.894886
-vn 0.490618 -0.333994 0.804824
-vn 0.758839 -0.598216 0.257490
-vn 0.778436 -0.501585 -0.377425
-vn 0.629626 -0.266786 -0.729655
-vn 0.292935 -0.028191 -0.955717
-vn 0.527437 -0.076844 -0.846112
-vn 0.883476 -0.184844 -0.430467
-vn 0.864677 -0.099711 -0.492333
-vn 0.669031 0.021270 -0.742930
-vn 0.426770 0.097026 -0.899140
-vn 0.358671 0.125462 -0.924995
-vn 0.000000 0.137946 -0.990440
-vn -0.721592 -0.640278 -0.263341
-vn -0.697988 -0.592670 -0.401939
-vn -0.502056 -0.425307 -0.753030
-vn -0.200513 -0.221996 -0.954208
-vn -0.602386 0.213580 0.769100
-vn -0.518785 0.283933 0.806377
-vn -0.574210 0.261001 0.775991
-vn -0.648485 0.210243 0.731618
-vn -0.582966 0.189917 0.789989
-vn -0.657902 0.149876 0.738039
-vn -0.576627 0.140213 0.804886
-vn -0.655242 0.120524 0.745743
-vn -0.548585 0.085622 0.831699
-vn -0.623643 0.065462 0.778963
-vn -0.302198 0.055408 0.951634
-vn -0.589216 -0.022250 0.807669
-vn -0.178633 0.016982 0.983769
-vn -0.602782 -0.103612 0.791150
-vn -0.178820 -0.035670 0.983235
-vn -0.613247 -0.157314 0.774068
-vn 0.241697 0.064364 0.968215
-vn 0.222498 0.105295 0.969230
-vn 0.202843 0.146011 0.968264
-vn -0.581346 0.184565 0.792447
-vn -0.527918 0.212525 0.822275
-vn -0.270288 0.273170 0.923213
-vn -0.227464 0.248221 0.941619
-vn -0.074044 0.366548 0.927448
-vn -0.070724 0.317242 0.945704
-vn -0.113156 0.341724 0.932963
-vn -0.021131 0.358451 0.933309
-vn -0.174841 0.291507 0.940454
-vn -0.207586 0.210474 0.955306
-vn 0.015614 0.337833 0.941076
-vn -0.649281 0.137389 0.748036
-vn -0.521131 0.092429 0.848457
-vn -0.658302 0.126354 0.742073
-vn -0.698391 0.096456 0.709187
-vn 0.007616 0.378960 0.925382
-vn -0.071756 0.279278 0.957525
-vn -0.148503 0.228260 0.962208
-vn -0.084036 0.432319 0.897796
-vn -0.037269 0.462611 0.885778
-vn -0.085702 0.358906 0.929431
-vn -0.092997 0.423873 0.900935
-vn -0.578344 0.189784 0.793410
-vn -0.503826 0.169966 0.846918
-vn -0.653025 0.152927 0.741736
-vn -0.537542 0.259210 0.802408
-vn -0.175271 0.485911 0.856254
-vn -0.480350 0.346259 0.805834
-vn -0.243788 0.307629 0.919746
-vn -0.333496 0.475182 0.814238
-vn -0.306371 0.434431 0.846998
-vn -0.275086 0.360708 0.891189
-vn -0.291053 0.279260 0.915042
-vn -0.079687 0.186105 0.979293
-vn -0.077906 0.124928 0.989103
-vn -0.319400 0.172440 0.931798
-vn -0.595356 0.092896 0.798073
-vn -0.546608 -0.021804 0.837105
-vn -0.551343 -0.124464 0.824942
-vn -0.568879 -0.174571 0.803680
-vn -0.305639 -0.119565 0.944611
-vn -0.283986 -0.071210 0.956180
-vn -0.290856 0.047039 0.955610
-vn -0.098141 0.082151 0.991776
-vn -0.064814 0.044293 0.996914
-vn -0.100796 -0.023640 0.994626
-vn -0.074774 -0.024916 0.996889
-vn -0.099669 -0.082218 0.991618
-vn -0.059714 -0.077254 0.995222
-vn -0.445449 0.351574 0.823390
-vn -0.548867 0.270792 0.790833
-vn -0.605772 0.186707 0.773421
-vn -0.443076 0.285121 0.849935
-vn -0.387899 0.439155 0.810356
-vn -0.413496 0.414989 0.810435
-vn -0.436072 0.437467 0.786425
-vn -0.340697 0.455336 0.822554
-vn -0.176869 0.487885 0.854801
-vn -0.237891 0.494049 0.836256
-vn -0.386196 0.438893 0.811311
-vn -0.449781 0.446229 0.773677
-vn -0.452086 0.426728 0.783276
-vn -0.365855 0.460683 0.808654
-vn -0.432131 0.415593 0.800341
-vn -0.416336 0.359925 0.834936
-vn -0.295931 0.385626 0.873909
-vn -0.333786 0.391667 0.857429
-vn -0.403423 0.497640 0.767857
-vn -0.413539 0.418225 0.808748
-vn -0.467588 0.370380 0.802608
-vn -0.627608 0.502314 0.594801
-vn -0.693293 0.348298 0.630898
-vn -0.723581 0.273386 0.633790
-vn -0.600324 0.220819 0.768667
-vn -0.428859 0.599311 0.675949
-vn -0.404483 0.632677 0.660389
-vn -0.241671 0.174188 0.954596
-vn -0.268367 0.223146 0.937115
-vn -0.137881 0.077206 0.987435
-vn -0.073427 0.011380 0.997236
-vn -0.066278 -0.028333 0.997399
-vn -0.048131 -0.063038 0.996850
-vn -0.402357 0.496327 0.769265
-vn -0.453406 0.415528 0.788517
-vn -0.516046 0.438872 0.735587
-vn -0.580118 0.489634 0.650939
-vn -0.691007 0.528668 0.492971
-vn -0.654373 0.593785 0.468204
-vn -0.693446 0.650830 0.309115
-vn -0.693484 0.709322 0.126266
-vn -0.739462 0.638880 0.212199
-vn -0.784170 0.574051 0.235675
-vn -0.668376 0.733729 0.122133
-vn -0.772927 0.632876 0.045294
-vn -0.798986 0.598844 0.054845
-vn -0.742605 0.662378 -0.098960
-vn -0.772493 0.622660 -0.124696
-vn -0.653531 0.756515 -0.024128
-vn -0.801970 0.591140 -0.086016
-vn -0.771021 0.577440 -0.268496
-vn -0.800345 0.591484 -0.097949
-vn -0.829800 0.557717 0.019575
-vn -0.402621 0.410303 0.818259
-vn -0.747574 0.507108 0.428922
-vn -0.327401 0.464572 0.822789
-vn -0.358374 0.528290 0.769725
-vn -0.809816 0.579091 -0.094084
-vn -0.747960 0.573313 -0.334466
-vn -0.729200 0.682344 0.051709
-vn -0.751051 0.648506 0.123946
-vn -0.699686 0.557932 0.446263
-vn -0.461228 0.442142 0.769272
-vn -0.591526 0.786790 0.176235
-vn -0.520694 0.818933 0.241303
-vn -0.545418 0.819952 0.173777
-vn -0.516019 0.787254 0.337573
-vn -0.477368 0.633843 0.608575
-vn -0.427488 0.496537 0.755451
-vn -0.414836 0.409638 0.812470
-vn -0.373704 0.420141 0.826938
-vn -0.400767 0.415315 0.816639
-vn -0.416198 0.371368 0.829979
-vn -0.273407 0.253699 0.927839
-vn -0.900794 0.394140 0.182274
-vn -0.900794 0.394140 0.182274
-vn -0.662096 0.710348 0.238818
-vn -0.555647 0.806042 0.203844
-vn -0.607701 0.780967 0.144187
-vn -0.678347 0.726133 0.112147
-vn -0.354960 0.429563 0.830349
-vn -0.395584 0.623221 0.674618
-vn -0.395584 0.623221 0.674618
-vn -0.436265 0.364181 0.822827
-vn -0.371782 0.690148 0.620866
-vn -0.371782 0.690148 0.620866
-vn -0.295859 0.531974 0.793392
-vn -0.295859 0.531974 0.793392
-vn -0.268899 0.478963 0.835636
-vn -0.474345 0.809620 0.345705
-vn -0.829394 0.553534 0.075540
-vn -0.436288 0.721510 0.537659
-vn -0.375898 0.598493 0.707465
-vn -0.320930 0.452886 0.831804
-vn -0.755328 0.483434 0.442459
-vn -0.436894 0.441323 0.783810
-vn -0.298031 0.319168 0.899616
-vn -0.305066 0.278678 0.910644
-vn -0.328764 0.253859 0.909654
-vn -0.291424 0.164553 0.942335
-vn -0.799548 -0.534189 -0.274526
-vn -0.854314 -0.442305 -0.272971
-vn -0.951509 -0.271426 0.144769
-vn -0.917818 -0.072919 0.390247
-vn -0.937726 0.091499 0.335108
-vn -0.750785 -0.594673 -0.287553
-vn -0.723888 -0.619714 -0.303217
-vn -0.685325 -0.661416 -0.304725
-vn -0.660050 -0.690933 -0.294867
-vn -0.613815 -0.759738 -0.214545
-vn -0.207044 0.516952 0.830598
-vn -0.723029 -0.558915 -0.406009
-vn -0.781299 -0.477731 -0.401678
-vn -0.831795 -0.407465 -0.376947
-vn -0.871899 -0.363653 -0.327947
-vn -0.912045 -0.318589 -0.258215
-vn -0.970989 -0.140447 -0.193533
-vn -0.757787 -0.468292 -0.454380
-vn -0.799657 -0.442881 -0.405469
-vn -0.696283 -0.493219 -0.521464
-vn -0.597297 -0.541008 -0.592070
-vn -0.510428 -0.578979 -0.635804
-vn -0.682250 -0.605090 -0.410367
-vn -0.653076 -0.625387 -0.427062
-vn -0.614932 -0.657449 -0.435452
-vn -0.600506 -0.677242 -0.425131
-vn -0.341334 -0.558359 -0.756126
-vn -0.347423 -0.553980 -0.756573
-vn -0.409245 -0.579187 -0.705025
-vn -0.469042 -0.592805 -0.654662
-vn -0.785461 -0.455791 -0.418695
-vn -0.668092 -0.269279 -0.693644
-vn -0.905060 -0.412957 0.101653
-vn -0.869465 -0.491241 0.052086
-vn -0.898076 -0.180334 -0.401172
-vn -0.973660 -0.211736 -0.084582
-vn -0.980274 -0.144070 0.135302
-vn -0.814324 -0.271889 0.512789
-vn -0.814324 -0.271889 0.512789
-vn -0.918624 0.166842 0.358181
-vn -0.741154 0.463785 0.485380
-vn -0.947449 -0.041438 0.317210
-vn -0.611572 0.545655 0.572923
-vn -0.904994 -0.020831 0.424913
-vn -0.923378 0.204457 0.324916
-vn -0.826855 0.443832 0.345433
-vn -0.760719 0.415339 0.498799
-vn -0.720624 0.492087 0.488418
-vn -0.697442 0.552508 0.456410
-vn -0.702097 0.562458 0.436694
-vn -0.834179 0.400987 0.378622
-vn -0.847666 0.399057 0.349595
-vn -0.693729 0.606736 0.388086
-vn -0.618380 0.687391 0.380921
-vn -0.148598 0.922908 0.355188
-vn 0.099817 0.962574 0.251969
-vn -0.767986 0.606101 0.206977
-vn -0.738007 0.607392 0.293972
-vn -0.858757 0.080580 0.506007
-vn -0.817873 0.223196 0.530347
-vn -0.869330 0.494203 0.005449
-vn -0.778333 0.622013 0.085425
-vn -0.875076 0.479485 -0.065848
-vn -0.682816 0.696418 -0.220827
-vn -0.678736 0.732540 0.051991
-vn -0.789251 -0.079380 0.608918
-vn -0.956814 0.162151 -0.241276
-vn -0.912472 0.221945 -0.343707
-vn -0.923227 0.185843 -0.336326
-vn -0.930107 0.110649 -0.350226
-vn -0.962716 -0.104994 0.249308
-vn -0.996259 0.074427 -0.043913
-vn -0.897520 0.083880 -0.432923
-vn -0.893919 0.164722 -0.416864
-vn -0.896055 -0.119118 -0.427664
-vn -0.910937 0.031813 -0.411317
-vn -0.887784 -0.310259 -0.339969
-vn -0.967287 -0.247903 -0.053858
-vn -0.898863 -0.087684 -0.429367
-vn -0.886747 0.067331 -0.457326
-vn -0.820854 -0.498538 -0.278673
-vn -0.673284 0.686365 -0.274940
-vn -0.606194 0.754232 -0.252314
-vn -0.675961 0.541809 -0.499520
-vn -0.618021 0.547814 -0.563870
-vn -0.665292 0.299502 -0.683874
-vn -0.505279 0.723903 -0.469741
-vn -0.324758 0.671254 -0.666296
-vn -0.374322 0.087651 -0.923147
-vn -0.310246 0.557940 -0.769708
-vn -0.517378 0.521388 -0.678583
-vn -0.340138 -0.257223 -0.904512
-vn -0.619196 -0.230144 -0.750753
-vn -0.293751 0.486414 -0.822868
-vn -0.470447 0.495624 -0.730094
-vn -0.557935 0.805652 -0.199084
-vn -0.452387 0.755121 -0.474488
-vn -0.344960 0.717142 -0.605566
-vn -0.237320 0.671919 -0.701573
-vn -0.378004 0.106861 -0.919616
-vn -0.718351 0.133214 -0.682808
-vn -0.689578 0.310031 -0.654494
-vn -0.809509 0.216230 -0.545838
-vn -0.421755 0.326961 -0.845706
-vn -0.678838 0.317455 -0.662119
-vn -0.851847 0.161232 -0.498359
-vn -0.471194 0.400313 -0.785955
-vn -0.695682 0.479424 -0.534957
-vn -0.409728 0.658084 -0.631703
-vn -0.324420 0.864075 -0.384872
-vn -0.288714 0.934711 -0.207268
-vn -0.895950 -0.235519 -0.376569
-vn -0.552213 0.817527 0.163434
-vn -0.620789 0.719209 -0.312026
-vn -0.880295 0.271967 -0.388735
-vn -0.654011 0.067286 -0.753487
-vn -0.445700 0.495602 -0.745473
-vn -0.370129 0.481660 -0.794360
-vn -0.282467 0.437843 -0.853526
-vn -0.194704 0.381776 -0.903514
-vn -0.134094 -0.255637 -0.957428
-vn -0.167318 -0.218170 -0.961461
-vn -0.157411 -0.193966 -0.968297
-vn -0.193518 -0.145853 -0.970195
-vn -0.883346 -0.269483 -0.383509
-vn -0.372707 -0.602315 -0.705908
-vn -0.284389 -0.674901 -0.680905
-vn -0.266465 -0.623440 -0.735064
-vn -0.210330 -0.583671 -0.784276
-vn -0.163290 -0.531374 -0.831251
-vn -0.142215 -0.491701 -0.859072
-vn -0.101835 -0.448198 -0.888115
-vn -0.076807 -0.381437 -0.921198
-vn -0.088509 -0.378576 -0.921329
-vn -0.079068 -0.607429 -0.790429
-vn -0.074285 -0.610089 -0.788843
-vn -0.029424 -0.633697 -0.773022
-vn 0.067163 -0.611468 -0.788414
-vn -0.096433 -0.513376 -0.852728
-vn -0.129979 -0.519215 -0.844702
-vn -0.137003 -0.542535 -0.828785
-vn -0.105012 -0.595112 -0.796752
-vn 0.079301 -0.653155 -0.753060
-vn -0.135006 -0.304248 -0.942977
-vn -0.204273 -0.314048 -0.927171
-vn -0.243386 -0.350578 -0.904355
-vn -0.275302 -0.444189 -0.852588
-vn -0.022468 -0.570516 -0.820979
-vn -0.158274 -0.161865 -0.974037
-vn -0.243947 -0.171140 -0.954568
-vn -0.336061 -0.218423 -0.916163
-vn -0.439956 -0.321892 -0.838346
-vn -0.400605 -0.446572 -0.800055
-vn -0.109754 -0.532448 -0.839317
-vn -0.199636 -0.021538 -0.979633
-vn -0.273388 -0.047857 -0.960713
-vn -0.413696 -0.125495 -0.901724
-vn -0.538408 -0.266793 -0.799336
-vn -0.501708 -0.413970 -0.759551
-vn -0.180764 -0.480264 -0.858295
-vn -0.266299 0.069839 -0.961357
-vn -0.303219 0.021856 -0.952670
-vn -0.472055 -0.071805 -0.878640
-vn -0.628723 -0.209727 -0.748814
-vn -0.596804 -0.347012 -0.723469
-vn -0.233182 -0.415251 -0.879314
-vn -0.306329 0.115426 -0.944902
-vn -0.336512 0.061863 -0.939645
-vn -0.521998 -0.032046 -0.852345
-vn -0.700901 -0.166964 -0.693441
-vn -0.670696 -0.320363 -0.668980
-vn -0.278649 -0.402161 -0.872136
-vn -0.338844 0.155528 -0.927899
-vn -0.370116 0.153131 -0.916278
-vn -0.366869 0.132995 -0.920717
-vn -0.366650 0.102371 -0.924710
-vn -0.389342 0.122674 -0.912888
-vn -0.413330 0.115606 -0.903213
-vn -0.566003 0.001137 -0.824403
-vn -0.607024 0.023898 -0.794324
-vn -0.648586 0.030749 -0.760520
-vn -0.749269 -0.163297 -0.641818
-vn -0.795439 -0.141070 -0.589387
-vn -0.843796 -0.106096 -0.526072
-vn -0.724763 -0.344747 -0.596547
-vn -0.786972 -0.324776 -0.524590
-vn -0.854710 -0.241359 -0.459582
-vn -0.337017 -0.403246 -0.850771
-vn -0.402275 -0.400267 -0.823384
-vn -0.485908 -0.248850 -0.837835
-vn -0.773523 -0.589367 -0.233044
-vn -0.778436 -0.501585 -0.377425
-vn -0.629626 -0.266786 -0.729655
-vn -0.292935 -0.028191 -0.955717
-vn -0.527437 -0.076844 -0.846112
-vn -0.883477 -0.184843 -0.430467
-vn -0.864677 -0.099711 -0.492333
-vn -0.669031 0.021270 -0.742930
-vn -0.426770 0.097026 -0.899140
-vn -0.358671 0.125462 -0.924995
-vn 0.627073 -0.111635 0.770920
-vn 0.627073 -0.111635 0.770920
-vn 0.595190 -0.161019 0.787287
-vn 0.595190 -0.161019 0.787287
-vn 0.656620 -0.061834 0.751682
-vn 0.656620 -0.061834 0.751682
-vn -0.542180 0.369117 0.754846
-vn -0.538712 0.356049 0.763557
-vn -0.452694 0.343683 0.822770
-vn -0.291627 0.335422 0.895793
-vn -0.226948 0.277663 0.933487
-vn -0.237942 0.227136 0.944348
-vn -0.237942 0.227136 0.944348
-vn -0.226948 0.277663 0.933487
-vn -0.291627 0.335422 0.895793
-vn -0.452694 0.343683 0.822770
-vn -0.538712 0.356049 0.763557
-vn -0.522250 0.508353 0.684714
-vn -0.518989 0.574123 0.633272
-vn -0.522428 0.591810 0.613865
-vn -0.516000 0.605509 0.605890
-vn -0.517128 0.565105 0.642833
-vn 0.918894 -0.353792 0.174546
-vn 0.918894 -0.353792 0.174546
-vn 0.873308 -0.487103 0.007921
-vn 0.853171 -0.521407 0.015309
-vn 0.880686 -0.471698 0.043516
-vn 0.882640 -0.465839 0.062778
-vn 0.888832 -0.450220 0.085324
-vn 0.893194 -0.429553 0.132995
-vn 0.840967 -0.539308 0.043839
-vn 0.840967 -0.539308 0.043839
-vn 0.853171 -0.521407 0.015309
-vn 0.873308 -0.487103 0.007921
-vn 0.880686 -0.471698 0.043516
-vn 0.882640 -0.465839 0.062778
-vn 0.888832 -0.450220 0.085324
-vn 0.893194 -0.429553 0.132995
-vn 0.939475 -0.288121 0.185400
-vn 0.939475 -0.288121 0.185400
-vn 0.573576 0.664666 0.478780
-vn 0.449451 0.630971 0.632352
-vn 0.349559 0.679393 0.645162
-vn 0.483575 0.704932 0.518869
-vn 0.223400 0.704019 0.674129
-vn 0.420007 0.686787 0.593227
-vn 0.223976 0.672852 0.705057
-vn 0.534282 0.599621 0.595816
-vn 0.170947 0.530884 0.830024
-vn 0.593948 0.416422 0.688345
-vn 0.088895 0.494920 0.864380
-vn 0.582938 0.296662 0.756422
-vn 0.300255 0.750204 0.589102
-vn 0.775652 0.350674 0.524778
-vn 0.506343 0.824002 0.254240
-vn 0.901844 0.276854 0.331707
-vn 0.530901 0.825210 0.192801
-vn 0.911424 0.209264 0.354280
-vn 0.674685 0.671689 0.305996
-vn 0.600817 0.706114 0.374730
-vn 0.598850 0.637791 0.484357
-vn 0.787274 0.455513 0.415581
-vn 0.890740 0.213891 0.401041
-vn 0.904150 0.012156 0.427042
-vn 0.948872 -0.157890 0.273336
-vn 0.877723 -0.406240 0.254108
-vn 0.790425 -0.521832 0.320811
-vn 0.686049 0.709282 0.162039
-vn 0.749420 0.614790 0.245770
-vn 0.719531 0.663693 0.204415
-vn 0.749420 0.614790 0.245770
-vn 0.719531 0.663693 0.204415
-vn 0.686049 0.709282 0.162039
-vn 0.624078 -0.343144 0.701982
-vn 0.523755 -0.440076 0.729393
-vn 0.412846 -0.528113 0.742061
-vn 0.412846 -0.528113 0.742061
-vn 0.523755 -0.440076 0.729393
-vn 0.624078 -0.343144 0.701982
-vn 0.808537 -0.027561 0.587799
-vn 0.946588 -0.259753 0.191047
-vn 0.976977 -0.117484 0.178080
-vn 0.968393 0.151657 0.198029
-vn 0.897670 0.126681 0.422067
-vn -0.161109 0.780577 0.603940
-vn -0.158319 0.581766 0.797799
-vn -0.049724 0.650731 0.757678
-vn -0.294269 0.500087 0.814444
-vn 0.221684 0.390190 0.893649
-vn -0.190112 0.648891 0.736748
-vn 0.706576 0.359084 0.609761
-vn -0.094555 0.527366 0.844360
-vn 0.352175 0.618989 0.702015
-vn 0.292781 0.685325 0.666790
-vn 0.102978 0.685603 0.720655
-vn -0.249493 0.570902 0.782192
-vn -0.330858 0.531987 0.779438
-vn -0.222929 0.657917 0.719338
-vn -0.362748 0.663553 0.654302
-vn -0.503150 0.560902 0.657442
-vn -0.517499 0.519484 0.679950
-vn -0.609163 0.521054 0.597849
-vn -0.674086 0.561273 0.480188
-vn -0.663502 0.590652 0.459233
-vn -0.138923 0.765759 0.627943
-vn -0.188934 0.760750 0.620938
-vn -0.607112 0.552177 0.571415
-vn -0.216672 0.742646 0.633664
-vn -0.573847 0.634858 0.517354
-vn -0.690702 0.510844 0.511829
-vn -0.608543 0.641438 0.467153
-vn -0.606077 0.680336 0.412085
-vn -0.336308 0.727851 0.597603
-vn -0.734526 0.329784 0.593056
-vn 0.538953 0.672200 0.507618
-vn 0.598071 0.707983 0.375594
-vn 0.799701 0.536873 0.268788
-vn 0.968393 0.151657 0.198029
-vn 0.976977 -0.117484 0.178080
-vn 0.000000 0.918200 0.396117
-vn 0.000000 0.809747 0.586779
-vn 0.000000 0.536133 0.844133
-vn 0.000000 0.099690 0.995019
-vn 0.000000 -0.361986 0.932183
-vn 0.000000 -0.557803 0.829974
-vn 0.344563 -0.518463 0.782607
-vn 0.378461 -0.524331 0.762788
-vn 0.256890 -0.512429 0.819405
-vn 0.448309 0.218253 0.866824
-vn 0.475266 0.293719 0.829368
-vn 0.476055 0.258285 0.840631
-vn 0.452144 0.261612 0.852716
-vn 0.312141 0.190793 0.930680
-vn 0.400881 0.229952 0.886801
-vn 0.401913 0.276564 0.872914
-vn 0.286784 0.340625 0.895393
-vn 0.180846 0.336515 0.924150
-vn 0.250766 0.397931 0.882478
-vn 0.191958 0.476407 0.858014
-vn 0.080898 0.560262 0.824355
-vn 0.052502 0.589959 0.805724
-vn -0.057820 0.679562 0.731336
-vn -0.166571 0.738903 0.652899
-vn -0.102120 0.745014 0.659186
-vn -0.148518 0.784407 0.602202
-vn 0.125130 0.885238 0.447992
-vn 0.352489 0.732690 0.582166
-vn 0.079675 0.947394 0.309994
-vn 0.604669 0.505393 0.615592
-vn 0.076091 0.970268 0.229763
-vn 0.182335 0.946402 0.266603
-vn 0.071017 0.960610 0.268671
-vn 0.306467 0.874299 0.376404
-vn 0.239843 0.876792 0.416786
-vn 0.627463 0.608572 0.485727
-vn 0.383075 0.749817 0.539470
-vn 0.379921 0.751732 0.539035
-vn 0.845970 0.333580 0.416005
-vn 0.705077 0.405400 0.581822
-vn 0.362848 0.504205 0.783657
-vn 0.791135 0.028158 0.610994
-vn 0.949841 0.037193 0.310514
-vn 0.363475 0.058217 0.929783
-vn 0.357532 -0.368025 0.858329
-vn 0.549575 -0.298530 0.780286
-vn 0.618932 -0.208696 0.757212
-vn -0.344562 -0.518463 0.782607
-vn -0.378461 -0.524331 0.762788
-vn -0.256889 -0.512429 0.819405
-vn -0.448309 0.218253 0.866824
-vn -0.475266 0.293719 0.829368
-vn -0.476055 0.258285 0.840631
-vn -0.452144 0.261612 0.852716
-vn -0.312141 0.190793 0.930680
-vn -0.400881 0.229952 0.886801
-vn -0.401913 0.276564 0.872914
-vn -0.286784 0.340625 0.895393
-vn -0.180846 0.336515 0.924150
-vn -0.250766 0.397931 0.882478
-vn -0.191958 0.476407 0.858014
-vn -0.080898 0.560263 0.824355
-vn -0.052502 0.589960 0.805724
-vn 0.057820 0.679562 0.731336
-vn 0.166571 0.738903 0.652899
-vn 0.102120 0.745014 0.659186
-vn 0.148518 0.784407 0.602202
-vn -0.125130 0.885238 0.447991
-vn -0.352489 0.732690 0.582166
-vn -0.079675 0.947394 0.309994
-vn -0.604669 0.505393 0.615592
-vn -0.076091 0.970268 0.229763
-vn -0.182335 0.946402 0.266603
-vn -0.071017 0.960610 0.268671
-vn -0.306468 0.874299 0.376404
-vn -0.239843 0.876792 0.416786
-vn -0.627463 0.608572 0.485727
-vn -0.383075 0.749817 0.539470
-vn -0.379921 0.751732 0.539035
-vn -0.845970 0.333580 0.416005
-vn -0.705077 0.405400 0.581822
-vn -0.362848 0.504205 0.783657
-vn -0.791135 0.028158 0.610994
-vn -0.949841 0.037193 0.310514
-vn -0.363475 0.058217 0.929783
-vn -0.357532 -0.368025 0.858329
-vn -0.549575 -0.298530 0.780286
-vn -0.618931 -0.208696 0.757212
-vn 0.000000 0.779010 0.627012
-vn 0.000000 0.458657 0.888613
-vn 0.000000 -0.368442 0.929651
-vn 0.000000 -0.264791 0.964306
-vn 0.000000 0.003320 0.999994
-vn 0.000000 0.805495 0.592602
-vn 0.388762 -0.521430 0.759588
-vn 0.446897 -0.403873 0.798229
-vn 0.416810 -0.237535 0.877409
-vn 0.284738 -0.178350 0.941868
-vn 0.204944 -0.111535 0.972398
-vn 0.395284 -0.571382 0.719217
-vn 0.366107 -0.215021 0.905390
-vn 0.437143 -0.511455 0.739811
-vn 0.359436 -0.415477 0.835574
-vn 0.418036 -0.434226 0.797931
-vn 0.214668 0.277304 0.936494
-vn 0.084450 0.685446 0.723209
-vn -0.675556 0.456409 0.579065
-vn 0.119765 0.318101 0.940462
-vn 0.010528 0.728103 0.685387
-vn 0.248777 -0.405305 0.879681
-vn -0.642264 0.471118 0.604603
-vn -0.642264 0.471118 0.604603
-vn 0.030146 -0.380419 0.924323
-vn -0.035660 0.413990 0.909583
-vn -0.172925 0.734434 0.656280
-vn -0.288381 0.695238 0.658393
-vn 0.291708 -0.407249 0.865480
-vn 0.145756 -0.363019 0.920311
-vn 0.231402 -0.337701 0.912366
-vn 0.471500 -0.030438 0.881341
-vn -0.388762 -0.521430 0.759588
-vn -0.446897 -0.403873 0.798229
-vn -0.416810 -0.237535 0.877409
-vn -0.284738 -0.178350 0.941868
-vn -0.204944 -0.111535 0.972398
-vn -0.395284 -0.571382 0.719217
-vn -0.366107 -0.215021 0.905390
-vn -0.437143 -0.511455 0.739811
-vn -0.359436 -0.415477 0.835574
-vn -0.418036 -0.434226 0.797931
-vn -0.214668 0.277304 0.936494
-vn -0.084450 0.685446 0.723209
-vn 0.675556 0.456409 0.579065
-vn -0.119765 0.318101 0.940462
-vn -0.010528 0.728103 0.685387
-vn -0.248777 -0.405305 0.879681
-vn 0.642264 0.471118 0.604603
-vn 0.642264 0.471118 0.604603
-vn -0.030146 -0.380419 0.924323
-vn 0.035660 0.413990 0.909583
-vn 0.172925 0.734434 0.656280
-vn 0.288381 0.695238 0.658393
-vn -0.291708 -0.407249 0.865480
-vn -0.145756 -0.363019 0.920311
-vn -0.231402 -0.337701 0.912366
-vn -0.471500 -0.030438 0.881341
-vn 0.969154 -0.240242 -0.055004
-vn 0.911138 -0.400370 -0.097628
-vn 0.825038 -0.548157 -0.137243
-vn 0.969154 -0.240242 -0.055004
-vn 0.911138 -0.400370 -0.097628
-vn 0.825038 -0.548157 -0.137243
-vn -0.023767 0.866455 0.498689
-vn -0.027239 0.948390 0.315934
-vn -0.638973 0.627623 0.444750
-vn -0.636559 0.740095 0.216917
-vn -0.483754 0.870106 0.094333
-vn -0.614397 0.757118 0.222008
-vn -0.472323 0.731338 0.491992
-vn -0.349854 0.612746 0.708622
-vn -0.360546 0.536919 0.762709
-vn -0.396790 0.442371 0.804279
-vn -0.358205 -0.567435 0.741422
-vn -0.197797 -0.578110 0.791622
-vn -0.363416 0.194686 0.911058
-vn -0.263707 -0.344312 0.901059
-vn -0.261318 -0.547138 0.795206
-vn -0.293824 -0.526601 0.797721
-vn 0.368408 0.080269 0.926192
-vn 0.195869 0.015084 0.980514
-vn 0.166033 0.111246 0.979825
-vn 0.213584 0.064914 0.974766
-vn 0.242572 -0.029618 0.969681
-vn 0.320390 -0.036839 0.946569
-vn 0.205688 -0.011720 0.978547
-vn 0.000000 -0.035199 0.999380
-vn -0.190062 -0.165754 0.967679
-vn 0.177612 0.976131 0.124991
-vn -0.430818 0.727384 0.534142
-vn -0.556925 0.551683 0.620871
-vn -0.526932 0.534318 0.660944
-vn -0.419946 0.671434 0.610592
-vn -0.371050 0.646325 0.666773
-vn -0.255895 0.767915 0.587218
-vn -0.519843 0.568272 0.637832
-vn -0.144010 0.813415 0.563575
-vn -0.505012 0.721498 0.473713
-vn -0.427954 0.836305 0.342709
-vn -0.105979 0.780170 0.616525
-vn 0.033369 0.990968 0.129880
-vn 0.233019 0.952507 0.196042
-vn 0.471150 0.591186 0.654612
-vn 0.146160 0.975151 0.166485
-vn 0.132490 0.959339 0.249228
-vn -0.155389 0.972865 0.171427
-vn 0.067572 0.920519 0.384809
-vn 0.516572 0.456244 0.724566
-vn -0.245331 0.788843 0.563506
-vn -0.401876 0.850302 0.339825
-vn -0.501206 0.800443 0.328761
-vn -0.843596 0.026522 0.536323
-vn -0.976806 -0.070012 0.202355
-vn -0.805500 0.252573 0.536075
-vn -0.702154 0.638153 0.315816
-vn -0.674287 0.735569 0.065387
-vn -0.804907 0.593315 0.010131
-vn -0.981894 0.176411 0.069017
-vn -0.875986 0.479281 -0.054214
-vn -0.860671 0.508735 -0.020825
-vn -0.875115 0.476188 0.086136
-vn -0.867853 0.363621 0.338542
-vn -0.953809 0.272816 0.125780
-vn -0.756813 0.288662 0.586437
-vn -0.811763 0.400035 0.425456
-vn -0.342818 0.559665 0.754487
-vn -0.285293 0.457270 0.842325
-vn -0.673365 -0.161005 0.721566
-vn -0.339093 -0.086134 0.936801
-vn -0.625471 0.410850 0.663316
-vn -0.448421 0.788552 0.420838
-vn -0.317563 0.797252 0.513363
-vn -0.063079 0.871401 0.486498
-vn 0.385727 0.245004 0.889488
-vn -0.138071 0.584247 0.799745
-vn -0.096169 0.570825 0.815420
-vn 0.101101 0.401757 0.910148
-vn -0.196115 0.114369 0.973889
-vn -0.016503 -0.155347 0.987722
-vn 0.135047 0.074517 0.988033
-vn -0.103091 0.289389 0.951644
-vn -0.289091 0.582958 0.759332
-vn -0.289091 0.582958 0.759332
-vn -0.333257 -0.496529 0.801498
-vn 0.011668 0.032145 0.999415
-vn -0.176408 -0.229461 0.957198
-vn -0.070627 0.358458 0.930871
-vn -0.249537 0.345294 0.904712
-vn 0.573287 0.116872 0.810977
-vn 0.438954 0.239210 0.866082
-vn 0.522128 0.076930 0.849390
-vn 0.240283 0.091689 0.966363
-vn 0.483322 -0.034135 0.874777
-vn 0.381644 -0.146771 0.912582
-vn 0.044584 -0.066594 0.996783
-vn 0.260756 0.069444 0.962904
-vn 0.350908 0.060943 0.934425
-vn 0.334547 -0.038152 0.941607
-vn 0.326434 -0.040016 0.944373
-vn 0.330387 -0.021935 0.943591
-vn 0.370074 -0.063871 0.926804
-vn 0.270580 -0.012081 0.962622
-vn 0.336651 -0.056162 0.939953
-vn 0.000000 0.969679 0.244382
-vn 0.000000 0.941510 0.336985
-vn 0.000000 0.864439 0.502738
-vn 0.000000 0.773074 0.634315
-vn 0.000000 0.638360 0.769738
-vn 0.000000 0.612801 0.790237
-vn 0.000000 0.580435 0.814306
-vn 0.000000 0.341306 0.939952
-vn 0.000000 -0.223803 0.974634
-vn 0.000000 -0.301665 0.953414
-vn 0.000000 -0.130099 0.991501
-vn 0.000000 -0.056987 0.998375
-vn 0.000000 0.223160 0.974782
-vn 0.000000 0.213062 0.977039
-vn 0.000000 0.077238 0.997013
-vn 0.000000 0.011545 0.999933
-vn 0.341371 0.006645 0.939905
-vn 0.261988 0.002758 0.965067
-vn 0.023767 0.866455 0.498689
-vn 0.027239 0.948390 0.315935
-vn 0.638973 0.627623 0.444750
-vn 0.636559 0.740095 0.216917
-vn 0.483754 0.870106 0.094333
-vn 0.614398 0.757118 0.222008
-vn 0.472323 0.731338 0.491992
-vn 0.349854 0.612746 0.708622
-vn 0.360546 0.536919 0.762709
-vn 0.396790 0.442372 0.804279
-vn 0.358205 -0.567435 0.741422
-vn 0.197797 -0.578110 0.791622
-vn 0.363416 0.194686 0.911058
-vn 0.263707 -0.344312 0.901059
-vn 0.261318 -0.547138 0.795206
-vn 0.293824 -0.526601 0.797721
-vn -0.368408 0.080269 0.926192
-vn -0.195869 0.015084 0.980514
-vn -0.166033 0.111246 0.979825
-vn -0.213584 0.064914 0.974766
-vn -0.242572 -0.029618 0.969681
-vn -0.320390 -0.036839 0.946569
-vn -0.205688 -0.011720 0.978547
-vn 0.190062 -0.165754 0.967679
-vn -0.177612 0.976131 0.124991
-vn 0.430818 0.727384 0.534142
-vn 0.556925 0.551683 0.620871
-vn 0.526932 0.534318 0.660944
-vn 0.419946 0.671434 0.610592
-vn 0.371050 0.646325 0.666773
-vn 0.255895 0.767915 0.587218
-vn 0.519843 0.568272 0.637832
-vn 0.144010 0.813415 0.563575
-vn 0.505012 0.721498 0.473713
-vn 0.427954 0.836305 0.342709
-vn 0.105979 0.780170 0.616525
-vn -0.033369 0.990968 0.129881
-vn -0.233019 0.952507 0.196042
-vn -0.471151 0.591186 0.654611
-vn -0.146160 0.975151 0.166485
-vn -0.132490 0.959339 0.249228
-vn 0.155389 0.972865 0.171427
-vn -0.067572 0.920519 0.384809
-vn -0.516572 0.456244 0.724566
-vn 0.245331 0.788843 0.563506
-vn 0.401876 0.850303 0.339825
-vn 0.501206 0.800443 0.328761
-vn 0.843596 0.026522 0.536323
-vn 0.976806 -0.070012 0.202355
-vn 0.805500 0.252573 0.536075
-vn 0.702154 0.638153 0.315817
-vn 0.674287 0.735569 0.065387
-vn 0.804907 0.593315 0.010130
-vn 0.981894 0.176411 0.069017
-vn 0.875986 0.479281 -0.054214
-vn 0.860671 0.508735 -0.020824
-vn 0.875115 0.476188 0.086135
-vn 0.867853 0.363621 0.338542
-vn 0.953809 0.272816 0.125779
-vn 0.756813 0.288662 0.586437
-vn 0.811763 0.400035 0.425456
-vn 0.342818 0.559665 0.754487
-vn 0.285293 0.457270 0.842325
-vn 0.673365 -0.161005 0.721566
-vn 0.339093 -0.086134 0.936801
-vn 0.625471 0.410850 0.663316
-vn 0.448421 0.788552 0.420838
-vn 0.317563 0.797253 0.513363
-vn 0.063079 0.871401 0.486498
-vn -0.385727 0.245004 0.889488
-vn 0.138071 0.584247 0.799745
-vn 0.096169 0.570825 0.815420
-vn -0.101101 0.401757 0.910148
-vn 0.196115 0.114369 0.973889
-vn 0.016503 -0.155347 0.987722
-vn -0.135047 0.074517 0.988033
-vn 0.103091 0.289389 0.951644
-vn 0.289091 0.582958 0.759332
-vn 0.289091 0.582958 0.759332
-vn 0.333256 -0.496530 0.801498
-vn -0.011668 0.032145 0.999415
-vn 0.176408 -0.229461 0.957198
-vn 0.070627 0.358458 0.930871
-vn 0.249537 0.345295 0.904711
-vn -0.573287 0.116872 0.810977
-vn -0.438954 0.239210 0.866082
-vn -0.522128 0.076930 0.849390
-vn -0.240284 0.091689 0.966363
-vn -0.483322 -0.034135 0.874777
-vn -0.381644 -0.146771 0.912582
-vn -0.044584 -0.066594 0.996784
-vn -0.260756 0.069444 0.962904
-vn -0.350908 0.060943 0.934425
-vn -0.334546 -0.038152 0.941607
-vn -0.326434 -0.040016 0.944373
-vn -0.330386 -0.021935 0.943591
-vn -0.370073 -0.063871 0.926804
-vn -0.270580 -0.012081 0.962622
-vn -0.336651 -0.056162 0.939953
-vn -0.341371 0.006645 0.939905
-vn -0.261988 0.002758 0.965067
-vn 0.685358 -0.609169 0.398996
-vn 0.908196 -0.399594 0.124519
-vn 0.992916 0.114304 0.032444
-vn 0.725233 0.685652 -0.062598
-vn 0.553728 0.822869 -0.127560
-vn 0.510606 0.851370 -0.120210
-vn 0.454586 0.886914 -0.082067
-vn 0.358454 0.924533 -0.129417
-vn 0.317834 0.923624 -0.214245
-vn 0.508410 0.824929 -0.247006
-vn 0.458281 0.880058 -0.124404
-vn 0.739797 0.653721 -0.159215
-vn 0.631641 0.774740 -0.028426
-vn 0.479826 0.874937 -0.065214
-vn 0.618842 0.785232 0.021114
-vn 0.889425 0.401034 0.219306
-vn 0.788703 0.528438 0.314167
-vn 0.857543 0.476294 0.194329
-vn 0.940500 0.005865 0.339743
-vn 0.799637 -0.224017 0.557133
-vn 0.801226 0.237059 0.549400
-vn 0.609476 -0.484447 0.627575
-vn 0.532749 -0.668924 0.518381
-vn 0.660939 -0.473983 0.581808
-vn 0.660939 -0.473983 0.581808
-vn 0.382862 -0.298558 0.874231
-vn 0.534605 -0.313203 0.784921
-vn 0.534605 -0.313203 0.784921
-vn 0.990379 0.107971 0.086556
-vn 0.969323 0.245672 -0.007583
-vn 0.990379 0.107971 0.086556
-vn 0.983439 -0.032782 0.178248
-vn 0.983439 -0.032782 0.178248
-vn -0.404293 0.619664 0.672729
-vn -0.385349 0.568001 0.727242
-vn -0.364093 0.512930 0.777393
-vn -0.364093 0.512930 0.777393
-vn -0.385349 0.568001 0.727242
-vn -0.404293 0.619664 0.672729
-vn 0.985796 -0.167944 0.000465
-vn 0.778043 0.598595 0.190613
-vn 0.751640 0.587079 0.300627
-vn 0.766080 0.593798 0.246018
-vn 0.751640 0.587079 0.300627
-vn 0.958606 0.231252 0.166123
-vn 0.999784 0.006265 0.019802
-vn 0.908124 0.401679 0.118171
-vn 0.969394 0.213606 0.121025
-vn 0.863863 0.469643 0.182144
-vn 0.967841 -0.212061 0.135329
-vn 0.934771 -0.122424 0.333491
-vn 0.966841 -0.236496 0.096372
-vn 0.864995 -0.403512 0.298263
-vn 0.657194 -0.315436 0.684541
-vn 0.855626 -0.515742 -0.043749
-vn 0.401240 -0.822345 0.403429
-vn 0.016253 -0.672912 0.739543
-vn 0.458559 -0.878176 -0.136129
-vn 0.167694 -0.811742 0.559422
-vn 0.162091 -0.867926 0.469501
-vn -0.055812 -0.907537 0.416247
-vn 0.164743 -0.833134 0.527965
-vn 0.111008 -0.862968 0.492913
-vn -0.036157 -0.649108 0.759837
-vn 0.409036 -0.479597 0.776322
-vn 0.350569 -0.877673 0.326790
-vn 0.279102 -0.813752 0.509814
-vn 0.112154 -0.909906 0.399365
-vn -0.172801 -0.871154 0.459599
-vn -0.118625 -0.732635 0.670205
-vn 0.058564 -0.617013 0.784771
-vn 0.449750 -0.489164 0.747291
-vn -0.092894 -0.670789 0.735807
-vn -0.127578 -0.700459 0.702198
-vn -0.443133 -0.757984 0.478637
-vn -0.198678 -0.915048 0.351019
-vn 0.260088 -0.946106 -0.192970
-vn 0.212615 -0.963717 -0.161381
-vn 0.247816 -0.931013 0.267961
-vn 0.126413 -0.923683 0.361703
-vn -0.025451 -0.839151 0.543302
-vn -0.181486 -0.845760 0.501749
-vn -0.154818 -0.897565 0.412806
-vn 0.153939 -0.833134 0.531216
-vn 0.203244 -0.723511 0.659715
-vn -0.160166 -0.838148 0.521397
-vn 0.035516 -0.885796 0.462714
-vn 0.065788 -0.979954 0.188048
-vn 0.503608 -0.755247 0.419501
-vn 0.503608 -0.755247 0.419501
-vn 0.000000 -0.955218 0.295901
-vn 0.000000 -0.736423 0.676522
-vn 0.000000 -0.137693 0.990475
-vn 0.000000 0.239035 0.971011
-vn 0.000000 0.975581 0.219640
-vn 0.000000 0.899669 0.436572
-vn 0.000000 0.999965 -0.008373
-vn -0.539974 -0.543198 0.642933
-vn -0.432124 -0.614984 0.659594
-vn -0.254939 -0.712767 0.653429
-vn -0.001390 -0.657256 0.753666
-vn 0.245628 -0.813313 0.527436
-vn 0.049520 -0.953536 0.297181
-vn -0.002561 -0.892701 0.450643
-vn 0.279879 -0.817326 0.503633
-vn 0.382111 -0.858242 0.342655
-vn 0.455666 -0.556788 0.694518
-vn 0.288397 -0.469365 0.834580
-vn 0.035903 -0.728345 0.684269
-vn 0.225022 -0.783683 0.578970
-vn 0.096271 -0.785732 0.611029
-vn 0.290087 -0.783678 0.549271
-vn -0.260149 -0.549274 0.794116
-vn -0.075542 -0.622886 0.778657
-vn -0.294450 -0.552395 0.779846
-vn -0.079074 -0.661674 0.745610
-vn 0.482030 -0.164384 0.860596
-vn 0.570599 -0.213178 0.793078
-vn 0.529929 -0.166882 0.831460
-vn 0.381012 -0.065065 0.922278
-vn 0.024463 -0.574971 0.817808
-vn 0.047406 -0.577530 0.814992
-vn 0.758442 0.103349 0.643495
-vn 0.787061 0.113574 0.606329
-vn 0.719660 0.007386 0.694288
-vn 0.830339 -0.026441 0.556631
-vn 0.671017 -0.510972 0.537256
-vn 0.716687 0.288252 0.635037
-vn 0.412036 -0.297118 0.861363
-vn 0.099628 -0.254804 0.961847
-vn -0.039558 -0.085696 0.995536
-vn -0.042344 0.306808 0.950829
-vn -0.152822 0.694791 0.702788
-vn 0.106852 0.856341 0.505236
-vn 0.000000 0.797506 0.603311
-vn -0.066242 0.316201 0.946377
-vn 0.359801 0.203293 0.910612
-vn 0.829355 0.197342 0.522711
-vn 0.855060 0.358262 0.374860
-vn 0.631815 0.517528 0.577039
-vn 0.754181 0.555497 0.350192
-vn 0.763622 0.564979 0.312539
-vn 0.569973 0.380670 0.728163
-vn 0.038842 0.489106 0.871359
-vn -0.119312 0.857426 0.500585
-vn 0.123194 0.919729 0.372722
-vn 0.000000 0.911884 0.410447
-vn 0.057892 0.973945 0.219272
-vn 0.971910 -0.015045 -0.234872
-vn 0.982671 0.152745 -0.105006
-vn 0.989576 0.127298 0.067334
-vn 0.990808 0.125867 0.049575
-vn 0.955027 0.264680 -0.133674
-vn 0.979671 0.189177 0.066758
-vn 0.935664 0.181119 -0.302867
-vn 0.909578 0.219625 -0.352751
-vn 0.915207 -0.032120 -0.401703
-vn 0.810834 -0.259329 -0.524688
-vn 0.955964 0.096867 -0.277039
-vn 0.971512 0.236046 -0.021138
-vn 0.983481 0.179876 -0.020242
-vn 0.036735 0.999290 -0.008368
-vn 0.539975 -0.543198 0.642933
-vn 0.432124 -0.614984 0.659594
-vn 0.254939 -0.712767 0.653429
-vn 0.001390 -0.657256 0.753666
-vn -0.245628 -0.813313 0.527435
-vn -0.049520 -0.953536 0.297180
-vn 0.002561 -0.892701 0.450642
-vn -0.279879 -0.817326 0.503633
-vn -0.382111 -0.858242 0.342655
-vn -0.455666 -0.556788 0.694518
-vn -0.288397 -0.469365 0.834580
-vn -0.035903 -0.728346 0.684269
-vn -0.225022 -0.783684 0.578969
-vn -0.096271 -0.785732 0.611029
-vn -0.290087 -0.783678 0.549271
-vn 0.260149 -0.549274 0.794116
-vn 0.075542 -0.622886 0.778657
-vn 0.294450 -0.552395 0.779846
-vn 0.079074 -0.661674 0.745610
-vn -0.482030 -0.164384 0.860596
-vn -0.570599 -0.213178 0.793078
-vn -0.529930 -0.166882 0.831460
-vn -0.381012 -0.065065 0.922278
-vn -0.024463 -0.574970 0.817808
-vn -0.047406 -0.577530 0.814992
-vn -0.758442 0.103349 0.643495
-vn -0.787061 0.113574 0.606329
-vn -0.719659 0.007386 0.694288
-vn -0.830339 -0.026441 0.556631
-vn -0.671017 -0.510972 0.537256
-vn -0.716687 0.288252 0.635036
-vn -0.412036 -0.297118 0.861363
-vn -0.099628 -0.254804 0.961847
-vn 0.039558 -0.085696 0.995536
-vn 0.042345 0.306808 0.950829
-vn 0.152822 0.694791 0.702788
-vn -0.106852 0.856341 0.505236
-vn 0.066242 0.316201 0.946377
-vn -0.359801 0.203293 0.910612
-vn -0.829355 0.197342 0.522711
-vn -0.855060 0.358262 0.374860
-vn -0.631815 0.517528 0.577039
-vn -0.754181 0.555497 0.350192
-vn -0.763622 0.564979 0.312539
-vn -0.569973 0.380670 0.728163
-vn -0.200036 0.917607 0.343487
-vn -0.038841 0.489106 0.871359
-vn 0.084659 0.869444 0.486723
-vn -0.004489 0.913716 0.406328
-vn -0.021067 0.923668 0.382615
-vn -0.159047 0.959604 0.232085
-vn -0.481166 0.868794 0.116947
-vn -0.971910 -0.015046 -0.234872
-vn -0.982671 0.152745 -0.105006
-vn -0.548986 0.835456 0.025059
-vn -0.989576 0.127298 0.067333
-vn -0.990808 0.125866 0.049575
-vn -0.955027 0.264680 -0.133674
-vn -0.979671 0.189177 0.066758
-vn -0.935664 0.181119 -0.302867
-vn -0.909578 0.219625 -0.352751
-vn -0.915207 -0.032120 -0.401703
-vn -0.810834 -0.259329 -0.524688
-vn -0.955964 0.096867 -0.277039
-vn -0.971512 0.236046 -0.021138
-vn -0.983481 0.179876 -0.020242
-vn -0.304106 0.952599 0.008666
-vn 0.259239 -0.575670 0.775499
-vn 0.292772 -0.695763 0.655895
-vn 0.252514 -0.908571 0.332770
-vn -0.447387 -0.672022 0.590112
-vn -0.448201 -0.705563 0.548905
-vn -0.392922 -0.702557 0.593318
-vn -0.148267 -0.787303 0.598474
-vn -0.255357 -0.812125 0.524640
-vn -0.320398 -0.591142 0.740200
-vn 0.021606 -0.908113 0.418167
-vn -0.146126 -0.853059 0.500937
-vn 0.252514 -0.908571 0.332770
-vn 0.190580 -0.959569 0.207139
-vn 0.292772 -0.695763 0.655895
-vn 0.259239 -0.575670 0.775499
-vn 0.142019 -0.941333 0.306142
-vn 0.092983 -0.887876 0.450588
-vn 0.106331 -0.819249 0.563493
-vn 0.106331 -0.819249 0.563493
-vn -0.235626 -0.662632 0.710914
-vn -0.113314 -0.647249 0.753809
-vn 0.032747 -0.736102 0.676078
-vn 0.053735 -0.832683 0.551137
-vn 0.032747 -0.736102 0.676078
-vn -0.113314 -0.647249 0.753809
-vn -0.235626 -0.662632 0.710914
-vn 0.010927 -0.620839 0.783862
-vn 0.746341 -0.142436 0.650144
-vn 0.886057 -0.445410 0.128506
-vn 0.896656 -0.270523 -0.350465
-vn 0.901020 -0.431982 -0.039433
-vn 0.795247 -0.490274 0.356670
-vn 0.746341 -0.142436 0.650144
-vn 0.603493 0.170092 0.779016
-vn 0.000000 -0.969186 -0.246329
-vn 0.000000 -0.969186 -0.246329
-vn 0.000000 -0.969186 -0.246329
-vn 0.000000 -0.969186 -0.246329
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -0.627073 -0.111635 0.770920
-vn -0.627073 -0.111635 0.770920
-vn -0.595190 -0.161019 0.787287
-vn -0.595190 -0.161019 0.787287
-vn -0.656620 -0.061834 0.751682
-vn -0.656620 -0.061834 0.751682
-vn 0.672056 0.082543 0.735886
-vn 0.355352 0.041895 0.933793
-vn -0.592319 -0.120476 0.796645
-vn -0.705290 -0.153974 0.691996
-vn -0.394027 -0.066319 0.916703
-vn -0.287416 -0.062043 0.955794
-vn -0.133377 -0.051606 0.989721
-vn -0.011289 -0.026583 0.999583
-vn -0.403045 -0.127509 0.906254
-vn -0.483554 -0.241174 0.841434
-vn -0.629042 -0.383082 0.676428
-vn 0.630799 0.239138 0.738178
-vn 0.909154 0.166336 0.381801
-vn 0.987974 0.139405 0.066883
-vn 0.881686 0.108986 0.459077
-vn 0.868909 0.106364 0.483408
-vn 0.315172 0.017264 0.948878
-vn -0.684810 -0.208489 0.698260
-vn 0.733563 0.124545 0.668112
-vn 0.847229 0.211509 0.487306
-vn 0.750106 0.219929 0.623676
-vn 0.514252 0.297546 0.804370
-vn -0.581267 -0.154698 0.798872
-vn -0.380464 -0.066297 0.922416
-vn -0.232530 -0.056993 0.970918
-vn -0.088012 -0.068017 0.993795
-vn -0.901540 0.361228 0.238203
-vn 0.121934 -0.295563 0.947510
-vn 0.333598 -0.692258 0.639915
-vn 0.271413 -0.953085 0.134027
-vn 0.122922 -0.991509 0.042422
-vn -0.161390 -0.971826 -0.171780
-vn -0.513082 -0.767078 -0.385147
-vn -0.747126 -0.528200 -0.403493
-vn -0.004689 -0.056535 0.998390
-vn -0.888120 -0.279886 -0.364562
-vn -0.756085 -0.312526 -0.575033
-vn -0.465217 -0.484912 -0.740563
-vn -0.600584 -0.336332 -0.725382
-vn -0.791895 0.079491 -0.605462
-vn -0.979295 0.062696 0.192483
-vn -0.987994 0.081768 0.131082
-vn -0.971694 -0.000245 0.236243
-vn -0.979376 -0.167220 0.113400
-vn -0.987994 0.081768 0.131082
-vn -0.979295 0.062696 0.192483
-vn -0.971694 -0.000245 0.236243
-vn -0.979376 -0.167220 0.113400
-vn -0.958163 -0.286182 0.004922
-vn -0.354531 0.428477 0.831093
-vn -0.361400 0.361723 0.859387
-vn -0.387630 0.423647 0.818698
-vn -0.364148 0.430407 0.825922
-vn -0.394940 0.445507 0.803458
-vn -0.464628 0.200825 0.862432
-vn -0.452971 -0.021158 0.891274
-vn -0.449302 -0.007126 0.893352
-vn -0.460345 0.002674 0.887736
-vn -0.447709 -0.051573 0.892691
-vn -0.425665 -0.096364 0.899735
-vn -0.410701 -0.075548 0.908635
-vn -0.506335 -0.026854 0.861918
-vn -0.541817 0.061001 0.838280
-vn -0.554974 0.173119 0.813655
-vn -0.606292 0.103492 0.788479
-vn -0.404823 -0.048977 0.913083
-vn -0.492288 -0.027548 0.869996
-vn -0.491358 -0.022101 0.870677
-vn -0.483934 -0.065044 0.872684
-vn -0.470505 -0.095908 0.877170
-vn -0.468701 -0.116106 0.875693
-vn -0.665242 0.214803 0.715061
-vn -0.016858 0.670372 0.741834
-vn -0.595587 0.279938 0.752935
-vn -0.548995 0.204861 0.810331
-vn 0.010535 0.551230 0.834287
-vn -0.062663 0.213471 0.974938
-vn 0.165119 0.545669 0.821572
-vn 0.076401 0.723326 0.686267
-vn -0.601978 0.304844 0.738033
-vn -0.608014 0.128125 0.783520
-vn -0.321675 -0.108302 0.940636
-vn 0.120314 0.103516 0.987324
-vn -0.197704 0.542177 0.816674
-vn -0.446013 0.326971 0.833164
-vn -0.156908 0.456294 0.875885
-vn -0.168942 0.292593 0.941195
-vn -0.335480 0.253231 0.907374
-vn -0.444862 0.305537 0.841870
-vn -0.333315 0.348085 0.876207
-vn -0.420653 0.125147 0.898548
-vn -0.571431 -0.012155 0.820560
-vn -0.780122 -0.083273 0.620061
-vn -0.361209 0.029292 0.932025
-vn -0.382594 -0.093835 0.919139
-vn -0.688656 -0.218615 0.691347
-vn -0.528448 -0.163162 0.833139
-vn -0.540343 -0.080730 0.837563
-vn -0.724000 -0.096170 0.683064
-vn -0.685200 -0.104080 0.720880
-vn -0.651068 -0.147306 0.744588
-vn -0.629368 -0.180769 0.755790
-vn -0.633565 -0.196288 0.748375
-vn -0.652072 -0.273789 0.706995
-vn -0.832384 -0.166262 0.528672
-vn -0.744343 -0.248130 0.619989
-vn -0.730670 -0.290503 0.617842
-vn -0.749316 -0.378547 0.543349
-vn -0.797013 0.326747 -0.507943
-vn -0.950752 0.307872 0.035844
-vn -0.930675 0.357309 0.078581
-vn -0.935591 0.327946 0.130844
-vn -0.922135 0.361439 0.137947
-vn -0.620249 0.480142 0.620286
-vn -0.660932 0.493747 0.565140
-vn -0.687403 0.458399 0.563337
-vn -0.901677 0.351337 0.252073
-vn -0.888387 0.389753 0.242614
-vn -0.808058 0.406371 0.426502
-vn -0.827315 0.348580 0.440501
-vn -0.633442 0.428809 0.644107
-vn -0.515068 0.462280 0.721805
-vn -0.684726 0.326895 0.651376
-vn -0.419711 0.361219 0.832685
-vn -0.561359 0.201082 0.802772
-vn -0.466082 0.103907 0.878619
-vn -0.218659 0.331612 0.917726
-vn -0.399955 0.093929 0.911709
-vn 0.317084 -0.316295 0.894100
-vn 0.217677 -0.394486 0.892747
-vn 0.446178 -0.404349 0.798390
-vn -0.286324 0.406956 0.867413
-vn -0.440008 0.442910 0.781168
-vn -0.604948 0.225627 0.763630
-vn -0.708900 0.263736 0.654144
-vn -0.620996 0.283541 0.730731
-vn -0.471391 0.706010 0.528526
-vn 0.494493 0.022290 0.868896
-vn -0.081645 0.758667 0.646342
-vn -0.314889 0.818008 0.481361
-vn -0.381940 0.891911 0.242109
-vn -0.295807 0.907113 0.299407
-vn -0.063403 0.878951 0.472678
-vn 0.518829 0.151814 0.841290
-vn -0.233190 0.871844 0.430709
-vn 0.408115 0.174426 0.896113
-vn 0.230970 0.115807 0.966044
-vn -0.157661 0.014923 0.987381
-vn -0.589572 -0.019729 0.807475
-vn -0.722804 0.008457 0.691002
-vn -0.791895 0.079491 -0.605462
-vn -0.600584 -0.336332 -0.725382
-vn -0.465217 -0.484912 -0.740563
-vn -0.756085 -0.312526 -0.575033
-vn -0.888120 -0.279886 -0.364562
-vn -0.747126 -0.528200 -0.403493
-vn -0.513082 -0.767078 -0.385147
-vn -0.161390 -0.971826 -0.171780
-vn -0.041647 -0.976245 0.212628
-vn 0.132164 -0.876472 0.462957
-vn 0.441067 -0.806915 0.392871
-vn -0.622336 0.583674 0.521558
-vn 0.557382 -0.752183 0.351491
-vn -0.901540 0.361228 0.238203
-vn -0.783321 0.541586 0.305112
-vn 0.615491 -0.738999 0.273955
-vn 0.595928 -0.794386 0.117564
-vn 0.687678 -0.709875 0.152238
-vn 0.773549 -0.633595 -0.013403
-vn 0.834875 -0.550285 0.013046
-vn 0.829717 -0.551329 -0.087217
-vn 0.775534 -0.629547 0.047101
-vn 0.762020 -0.642569 -0.080184
-vn 0.775954 -0.630645 0.013500
-vn 0.701713 -0.711998 -0.025626
-vn 0.480682 -0.872693 0.085740
-vn 0.760446 -0.646635 0.059881
-vn 0.572235 -0.800166 0.179673
-vn 0.182950 -0.908112 0.376645
-vn 0.229092 -0.172632 0.957974
-vn 0.064898 0.677294 0.732845
-vn -0.054346 0.850959 0.522413
-vn 0.025155 0.784707 0.619356
-vn 0.111660 0.597000 0.794433
-vn 0.130412 0.483778 0.865420
-vn 0.125941 0.441113 0.888571
-vn 0.136030 0.428580 0.893205
-vn 0.497048 0.292541 0.816923
-vn 0.581760 0.320225 0.747671
-vn 0.566320 0.529324 0.631742
-vn 0.399080 0.839800 0.368064
-vn 0.165219 0.962939 0.213192
-vn -0.180975 -0.892235 0.413720
-vn -0.130051 -0.852940 0.505550
-vn 0.062184 -0.688056 0.722988
-vn -0.068609 -0.816413 0.573378
-vn 0.061690 -0.769669 0.635455
-vn 0.175486 -0.771548 0.611488
-vn 0.892300 0.172524 0.417177
-vn 0.955963 0.171365 0.238261
-vn 0.873843 0.206208 0.440315
-vn 0.896771 0.216759 0.385768
-vn 0.874857 0.211666 0.435686
-vn 0.899490 0.211098 0.382565
-vn 0.875055 0.165775 0.454750
-vn 0.878962 0.165507 0.447251
-vn 0.426812 0.324483 0.844122
-vn 0.150214 0.365475 0.918621
-vn 0.080542 0.963814 0.254115
-vn 0.058293 0.238730 0.969335
-vn 0.058293 0.238730 0.969335
-vn 0.206539 -0.059777 0.976611
-vn -0.797013 0.326747 -0.507943
-vn 0.880669 0.068701 0.468725
-vn 0.890117 0.075529 0.449431
-vn 0.690705 0.079408 0.718763
-vn 0.394663 0.066423 0.916422
-vn -0.723350 -0.098931 0.683358
-vn -0.602617 -0.086043 0.793378
-vn -0.407468 -0.066327 0.910808
-vn -0.341247 -0.066881 0.937591
-vn -0.178897 -0.034900 0.983249
-vn -0.017878 0.003394 0.999834
-vn -0.402357 -0.193102 0.894886
-vn -0.490618 -0.333994 0.804824
-vn -0.561338 -0.462945 0.685990
-vn 0.542180 0.369117 0.754846
-vn 0.538713 0.356049 0.763556
-vn 0.452695 0.343682 0.822770
-vn 0.291626 0.335422 0.895793
-vn 0.226947 0.277663 0.933487
-vn 0.237941 0.227136 0.944348
-vn 0.237941 0.227136 0.944348
-vn 0.226947 0.277663 0.933487
-vn 0.291626 0.335422 0.895793
-vn 0.452695 0.343682 0.822770
-vn 0.538713 0.356049 0.763556
-vn 0.522250 0.508353 0.684714
-vn 0.518989 0.574123 0.633272
-vn 0.522428 0.591810 0.613865
-vn 0.516000 0.605509 0.605890
-vn 0.517128 0.565105 0.642833
-vn -0.918894 -0.353792 0.174546
-vn -0.918894 -0.353792 0.174546
-vn -0.873309 -0.487103 0.007921
-vn -0.853171 -0.521407 0.015309
-vn -0.880686 -0.471698 0.043516
-vn -0.882640 -0.465839 0.062778
-vn -0.888832 -0.450220 0.085324
-vn -0.893194 -0.429553 0.132995
-vn -0.840967 -0.539308 0.043839
-vn -0.840967 -0.539308 0.043839
-vn -0.853171 -0.521407 0.015309
-vn -0.873309 -0.487103 0.007921
-vn -0.880686 -0.471698 0.043516
-vn -0.882640 -0.465839 0.062778
-vn -0.888832 -0.450220 0.085324
-vn -0.893194 -0.429553 0.132995
-vn -0.939475 -0.288121 0.185400
-vn -0.939475 -0.288121 0.185400
-vn -0.573576 0.664666 0.478780
-vn -0.449451 0.630971 0.632352
-vn -0.349559 0.679393 0.645162
-vn -0.483576 0.704932 0.518869
-vn -0.223400 0.704019 0.674129
-vn -0.420007 0.686787 0.593227
-vn -0.223976 0.672852 0.705057
-vn -0.534282 0.599622 0.595816
-vn -0.170947 0.530884 0.830024
-vn -0.593948 0.416422 0.688345
-vn -0.088895 0.494920 0.864380
-vn -0.582938 0.296662 0.756422
-vn -0.300255 0.750204 0.589102
-vn -0.775652 0.350674 0.524778
-vn -0.506342 0.824002 0.254240
-vn -0.901844 0.276854 0.331707
-vn -0.530901 0.825210 0.192801
-vn -0.911424 0.209264 0.354280
-vn -0.674685 0.671689 0.305995
-vn -0.600817 0.706114 0.374730
-vn -0.598850 0.637791 0.484357
-vn -0.787274 0.455514 0.415581
-vn -0.890739 0.213891 0.401041
-vn -0.904150 0.012157 0.427042
-vn -0.948872 -0.157890 0.273336
-vn -0.877723 -0.406240 0.254108
-vn -0.790425 -0.521832 0.320811
-vn -0.686048 0.709282 0.162040
-vn -0.749420 0.614790 0.245770
-vn -0.719531 0.663693 0.204416
-vn -0.749420 0.614790 0.245770
-vn -0.719531 0.663693 0.204416
-vn -0.686048 0.709282 0.162040
-vn -0.624079 -0.343144 0.701981
-vn -0.523755 -0.440076 0.729393
-vn -0.412846 -0.528113 0.742061
-vn -0.412846 -0.528113 0.742061
-vn -0.523755 -0.440076 0.729393
-vn -0.624079 -0.343144 0.701981
-vn -0.808537 -0.027561 0.587799
-vn -0.946588 -0.259753 0.191047
-vn -0.976977 -0.117484 0.178080
-vn -0.968393 0.151657 0.198029
-vn -0.897670 0.126681 0.422067
-vn 0.161109 0.780577 0.603940
-vn 0.158318 0.581766 0.797799
-vn 0.049724 0.650732 0.757677
-vn 0.294269 0.500087 0.814444
-vn -0.221684 0.390190 0.893649
-vn 0.190112 0.648891 0.736748
-vn -0.706576 0.359084 0.609761
-vn 0.094556 0.527366 0.844360
-vn -0.352175 0.618989 0.702015
-vn -0.292781 0.685325 0.666790
-vn -0.102978 0.685603 0.720655
-vn 0.249493 0.570902 0.782192
-vn 0.330858 0.531987 0.779438
-vn 0.222929 0.657917 0.719338
-vn 0.362748 0.663553 0.654302
-vn 0.503150 0.560902 0.657442
-vn 0.517499 0.519483 0.679950
-vn 0.609163 0.521054 0.597849
-vn 0.674086 0.561273 0.480188
-vn 0.663502 0.590652 0.459232
-vn 0.138923 0.765759 0.627944
-vn 0.188934 0.760750 0.620938
-vn 0.607112 0.552177 0.571415
-vn 0.216672 0.742646 0.633664
-vn 0.573847 0.634858 0.517354
-vn 0.690702 0.510844 0.511829
-vn 0.608543 0.641438 0.467153
-vn 0.606077 0.680336 0.412085
-vn 0.336308 0.727851 0.597603
-vn 0.734526 0.329784 0.593056
-vn -0.538953 0.672200 0.507618
-vn -0.598071 0.707983 0.375594
-vn -0.799700 0.536873 0.268788
-vn -0.968393 0.151657 0.198029
-vn -0.976977 -0.117484 0.178080
-vn -0.969154 -0.240242 -0.055004
-vn -0.911138 -0.400370 -0.097628
-vn -0.825038 -0.548157 -0.137243
-vn -0.969154 -0.240242 -0.055004
-vn -0.911138 -0.400370 -0.097628
-vn -0.825038 -0.548157 -0.137243
-vn -0.685358 -0.609169 0.398996
-vn -0.908196 -0.399594 0.124519
-vn -0.992916 0.114305 0.032444
-vn -0.725233 0.685652 -0.062598
-vn -0.553728 0.822869 -0.127560
-vn -0.510606 0.851370 -0.120210
-vn -0.454586 0.886914 -0.082067
-vn -0.358454 0.924533 -0.129417
-vn -0.317834 0.923624 -0.214245
-vn -0.508410 0.824929 -0.247006
-vn -0.458281 0.880058 -0.124404
-vn -0.739797 0.653721 -0.159215
-vn -0.631641 0.774740 -0.028426
-vn -0.479826 0.874937 -0.065214
-vn -0.618842 0.785232 0.021114
-vn -0.889425 0.401034 0.219305
-vn -0.788703 0.528438 0.314167
-vn -0.857543 0.476294 0.194329
-vn -0.940500 0.005865 0.339743
-vn -0.799637 -0.224017 0.557133
-vn -0.801226 0.237059 0.549400
-vn -0.609476 -0.484447 0.627575
-vn -0.532749 -0.668924 0.518381
-vn -0.660939 -0.473982 0.581808
-vn -0.660939 -0.473982 0.581808
-vn -0.382862 -0.298558 0.874231
-vn -0.534605 -0.313203 0.784921
-vn -0.534605 -0.313203 0.784921
-vn -0.990379 0.107971 0.086556
-vn -0.969323 0.245672 -0.007583
-vn -0.990379 0.107971 0.086556
-vn -0.983439 -0.032782 0.178248
-vn -0.983439 -0.032782 0.178248
-vn 0.404293 0.619664 0.672729
-vn 0.385349 0.568001 0.727242
-vn 0.364093 0.512929 0.777393
-vn 0.364093 0.512929 0.777393
-vn 0.385349 0.568001 0.727242
-vn 0.404293 0.619664 0.672729
-vn -0.985796 -0.167945 0.000465
-vn -0.778043 0.598595 0.190612
-vn -0.751639 0.587080 0.300625
-vn -0.766080 0.593799 0.246017
-vn -0.751639 0.587080 0.300625
-vn -0.958606 0.231252 0.166122
-vn -0.999784 0.006265 0.019802
-vn -0.908125 0.401678 0.118170
-vn -0.969395 0.213606 0.121025
-vn -0.863863 0.469643 0.182144
-vn -0.967841 -0.212061 0.135329
-vn -0.934771 -0.122424 0.333491
-vn -0.966841 -0.236496 0.096372
-vn -0.864995 -0.403512 0.298263
-vn -0.657194 -0.315436 0.684541
-vn -0.855626 -0.515742 -0.043749
-vn -0.401241 -0.822345 0.403429
-vn -0.016253 -0.672912 0.739543
-vn -0.458559 -0.878176 -0.136129
-vn -0.167694 -0.811742 0.559423
-vn -0.162091 -0.867926 0.469501
-vn 0.055812 -0.907537 0.416247
-vn -0.164743 -0.833134 0.527965
-vn -0.111008 -0.862968 0.492913
-vn 0.036157 -0.649107 0.759837
-vn -0.409036 -0.479597 0.776322
-vn -0.350569 -0.877673 0.326791
-vn -0.279102 -0.813752 0.509814
-vn -0.112154 -0.909906 0.399365
-vn 0.172801 -0.871154 0.459599
-vn 0.118625 -0.732635 0.670205
-vn -0.058564 -0.617013 0.784771
-vn -0.449750 -0.489164 0.747291
-vn 0.092894 -0.670789 0.735807
-vn 0.127579 -0.700458 0.702198
-vn 0.443133 -0.757984 0.478637
-vn 0.198678 -0.915048 0.351019
-vn -0.260088 -0.946106 -0.192970
-vn -0.212615 -0.963717 -0.161381
-vn -0.247816 -0.931012 0.267961
-vn -0.126413 -0.923683 0.361703
-vn 0.025451 -0.839151 0.543302
-vn 0.181486 -0.845760 0.501749
-vn 0.154818 -0.897565 0.412806
-vn -0.153939 -0.833134 0.531216
-vn -0.203244 -0.723511 0.659715
-vn 0.160166 -0.838148 0.521397
-vn -0.035516 -0.885796 0.462713
-vn -0.065788 -0.979954 0.188048
-vn -0.503608 -0.755248 0.419500
-vn -0.503608 -0.755248 0.419500
-vn -0.259239 -0.575670 0.775499
-vn -0.292772 -0.695763 0.655895
-vn -0.252515 -0.908571 0.332770
-vn 0.447387 -0.672022 0.590112
-vn 0.448201 -0.705563 0.548905
-vn 0.392922 -0.702557 0.593318
-vn 0.148267 -0.787303 0.598474
-vn 0.255357 -0.812125 0.524640
-vn 0.320398 -0.591142 0.740200
-vn -0.021606 -0.908113 0.418167
-vn 0.146126 -0.853059 0.500937
-vn -0.252515 -0.908571 0.332770
-vn -0.190580 -0.959569 0.207139
-vn -0.292772 -0.695763 0.655895
-vn -0.259239 -0.575670 0.775499
-vn -0.142019 -0.941333 0.306142
-vn -0.092983 -0.887876 0.450588
-vn -0.106331 -0.819249 0.563493
-vn -0.106331 -0.819249 0.563493
-vn 0.235626 -0.662632 0.710915
-vn 0.113314 -0.647249 0.753810
-vn -0.032747 -0.736102 0.676078
-vn -0.053735 -0.832683 0.551137
-vn -0.032747 -0.736102 0.676078
-vn 0.113314 -0.647249 0.753810
-vn 0.235626 -0.662632 0.710915
-vn -0.010927 -0.620839 0.783862
-vn -0.746341 -0.142436 0.650144
-vn -0.886057 -0.445410 0.128507
-vn -0.896656 -0.270523 -0.350465
-vn -0.901020 -0.431982 -0.039433
-vn -0.795247 -0.490273 0.356670
-vn -0.746341 -0.142436 0.650144
-vn -0.603493 0.170092 0.779016
-vn -0.699043 -0.517867 0.493105
-vn 0.284599 -0.717583 0.635671
-vn 0.223723 -0.905973 0.359391
-vn 0.185453 -0.407658 0.894104
-vn 0.125021 -0.816910 0.563053
-vn 0.038506 -0.992125 0.119187
-vn 0.144397 0.082654 0.986062
-vn -0.084362 0.056888 0.994810
-vn -0.558607 -0.293997 0.775580
-vn -0.722188 -0.541797 0.430001
-vn -0.730028 -0.559390 0.392609
-vn -0.036857 -0.535234 0.843899
-vn -0.272377 -0.479566 0.834163
-vn -0.531875 -0.594230 0.603325
-vn -0.630713 -0.679417 0.374957
-vn -0.673974 -0.647421 0.355816
-vn -0.203718 -0.922848 0.326879
-vn -0.362993 -0.832391 0.418761
-vn -0.446477 -0.814356 0.370785
-vn -0.521437 -0.795245 0.309336
-vn -0.043830 -0.538842 0.841266
-vn -0.050004 -0.593631 0.803183
-vn 0.039861 -0.455655 0.889264
-vn -0.056481 -0.298694 0.952676
-vn -0.228791 -0.474494 0.850006
-vn -0.471892 -0.706179 0.527853
-vn -0.587768 -0.699320 0.406792
-vn -0.493489 -0.765703 0.412512
-vn -0.146023 -0.728648 0.669141
-vn -0.017987 -0.615525 0.787912
-vn -0.032276 -0.534983 0.844246
-vn 0.050543 -0.605265 0.794418
-vn -0.031212 -0.555987 0.830605
-vn -0.419214 -0.696423 0.582456
-vn -0.527791 -0.635917 0.563068
-vn -0.307593 -0.508399 0.804312
-vn -0.203572 -0.589057 0.782029
-vn 0.028540 -0.652699 0.757079
-vn 0.085700 -0.639657 0.763868
-vn 0.018446 -0.538217 0.842604
-vn 0.699043 -0.517867 0.493105
-vn -0.284598 -0.717584 0.635671
-vn -0.223723 -0.905973 0.359390
-vn -0.185452 -0.407659 0.894104
-vn -0.125021 -0.816910 0.563052
-vn -0.038506 -0.992125 0.119186
-vn -0.144397 0.082654 0.986062
-vn 0.084362 0.056888 0.994810
-vn 0.558607 -0.293997 0.775580
-vn 0.722188 -0.541797 0.430000
-vn 0.730029 -0.559389 0.392609
-vn 0.036857 -0.535235 0.843899
-vn 0.272377 -0.479566 0.834163
-vn 0.531875 -0.594230 0.603324
-vn 0.630714 -0.679417 0.374956
-vn 0.673974 -0.647421 0.355816
-vn 0.203719 -0.922849 0.326878
-vn 0.362993 -0.832391 0.418761
-vn 0.446477 -0.814356 0.370785
-vn 0.521437 -0.795245 0.309336
-vn 0.043830 -0.538842 0.841266
-vn 0.050003 -0.593631 0.803182
-vn -0.039862 -0.455655 0.889264
-vn 0.056481 -0.298694 0.952676
-vn 0.228791 -0.474494 0.850006
-vn 0.471892 -0.706180 0.527852
-vn 0.587768 -0.699321 0.406792
-vn 0.493488 -0.765704 0.412513
-vn 0.146022 -0.728648 0.669141
-vn 0.017987 -0.615525 0.787912
-vn 0.032276 -0.534983 0.844246
-vn -0.050543 -0.605265 0.794418
-vn 0.031212 -0.555987 0.830605
-vn 0.419213 -0.696423 0.582457
-vn 0.527791 -0.635917 0.563068
-vn 0.307593 -0.508399 0.804312
-vn 0.203572 -0.589057 0.782030
-vn -0.028541 -0.652699 0.757079
-vn -0.085700 -0.639657 0.763868
-vn -0.018446 -0.538217 0.842604
-vn -0.042467 -0.350109 0.935746
-vn 0.032358 0.013495 0.999385
-vn 0.000000 0.009058 0.999959
-vn 0.000000 -0.357516 0.933907
-vn -0.019243 -0.343167 0.939077
-vn -0.110977 -0.662777 0.740548
-vn 0.000000 -0.673370 0.739306
-vn -0.191956 -0.647972 0.737078
-vn -0.032358 0.013495 0.999385
-vn 0.042467 -0.350109 0.935746
-vn 0.019243 -0.343167 0.939077
-vn 0.110978 -0.662777 0.740548
-vn 0.191956 -0.647972 0.737078
-vn -0.270387 0.410353 0.870920
-vn -0.105769 0.425786 0.898621
-vn -0.270387 0.410353 0.870920
-vn -0.501858 0.419546 0.756386
-vn -0.501858 0.419546 0.756386
-vn -0.533126 0.638612 0.554933
-vn -0.533126 0.638612 0.554933
-vn -0.466699 0.791727 0.394157
-vn -0.466699 0.791727 0.394157
-vn -0.952014 -0.262935 -0.156637
-vn -0.980456 -0.146404 -0.131425
-vn -0.890722 -0.447672 -0.078768
-vn -0.909884 -0.414253 0.022464
-vn -0.750245 0.044436 0.659665
-vn -0.918125 -0.127931 0.375073
-vn -0.990390 -0.066207 -0.121423
-vn -0.966380 -0.119457 -0.227684
-vn -0.961455 -0.171437 -0.214973
-vn -0.940890 -0.281455 -0.188440
-vn -0.871784 -0.478259 -0.106120
-vn -0.855293 -0.512673 -0.075098
-vn -0.882476 -0.458987 0.102799
-vn -0.936246 -0.210295 -0.281460
-vn -0.960482 -0.154544 -0.231496
-vn -0.942102 -0.281316 -0.182497
-vn -0.935227 -0.344762 0.080557
-vn -0.935892 -0.310618 0.166201
-vn -0.808334 -0.574003 0.130833
-vn -0.647675 -0.751602 0.124946
-vn -0.587775 -0.801059 -0.113246
-vn -0.831664 -0.447963 0.328121
-vn -0.954065 -0.077913 -0.289292
-vn -0.995249 -0.016350 -0.095982
-vn -0.907408 -0.250137 -0.337700
-vn -0.857955 -0.507869 0.077344
-vn -0.976898 -0.202764 -0.067500
-vn -0.883889 -0.433015 0.176742
-vn -0.979638 -0.200574 -0.008969
-vn -0.941418 -0.245395 0.231328
-vn -0.981620 -0.144393 0.124793
-vn -0.978947 -0.109001 0.172574
-vn -0.935991 -0.189747 0.296507
-vn -0.899077 -0.182951 0.397729
-vn -0.745436 -0.536030 0.396229
-vn -0.797983 -0.320094 0.510650
-vn -0.906001 -0.195175 0.375592
-vn -0.953837 -0.208375 0.216275
-vn -0.913666 -0.272554 0.301545
-vn -0.922710 -0.264441 0.280495
-vn -0.882222 -0.261769 0.391358
-vn -0.866761 -0.309337 0.391199
-vn -0.818278 -0.315496 0.480503
-vn -0.830459 -0.351032 0.432567
-vn -0.808037 -0.215202 0.548419
-vn -0.969678 -0.148208 0.194316
-vn -0.922470 -0.252269 0.292249
-vn -0.867244 -0.318435 0.382738
-vn -0.836261 -0.340015 0.430184
-vn -0.984749 -0.050019 0.166636
-vn -0.923911 -0.145237 0.353971
-vn -0.981118 -0.099794 0.165675
-vn -0.944614 -0.194537 0.264309
-vn -0.880393 -0.291015 0.374457
-vn -0.824837 -0.315373 0.469238
-vn -0.867338 -0.331298 0.371439
-vn -0.821682 -0.474521 0.315705
-vn -0.622916 -0.484375 0.614294
-vn -0.987857 -0.135015 0.076870
-vn -0.979930 -0.195497 0.038967
-vn -0.979199 -0.164018 0.119446
-vn -0.949129 -0.225368 0.219914
-vn -0.886606 -0.298748 0.353099
-vn -0.708787 -0.249233 0.659927
-vn -0.678444 -0.409568 0.609892
-vn -0.642536 -0.219827 0.734046
-vn -0.442992 -0.162265 0.881719
-vn -0.858498 -0.229279 0.458708
-vn -0.925715 -0.225640 0.303543
-vn -0.972152 -0.187798 0.140186
-vn -0.909095 -0.174774 0.378154
-vn -0.930710 -0.126967 0.343014
-vn -0.963417 -0.107897 0.245326
-vn -0.918487 -0.113375 0.378849
-vn -0.987337 -0.051872 0.149917
-vn -0.954725 -0.056138 0.292145
-vn -0.793642 -0.245089 0.556834
-vn -0.864674 -0.261001 0.429205
-vn -0.841018 -0.069239 0.536558
-vn -0.668765 -0.107613 0.735645
-vn -0.383153 -0.167862 0.908304
-vn -0.690412 -0.337410 0.639911
-vn -0.470954 -0.330356 0.817965
-vn -0.716078 -0.513890 0.472386
-vn -0.635659 -0.745485 0.200472
-vn -0.672918 -0.288018 0.681342
-vn -0.502514 -0.864351 -0.019426
-vn -0.489068 -0.863343 -0.124305
-vn -0.504481 -0.846857 0.168320
-vn -0.402408 -0.915304 0.016936
-vn -0.380776 -0.923102 -0.053776
-vn -0.374887 -0.916704 -0.138250
-vn -0.756917 -0.386773 0.526766
-vn -0.763653 -0.273459 0.584854
-vn -0.456364 -0.805486 0.378054
-vn -0.288102 -0.949738 0.122456
-vn -0.204438 -0.976318 0.070776
-vn -0.224124 -0.973921 0.035305
-vn -0.245111 -0.968799 0.036716
-vn -0.262883 -0.962136 -0.072016
-vn -0.231176 -0.957851 -0.170524
-vn -0.217169 -0.775478 0.592850
-vn -0.147784 -0.957533 0.247569
-vn -0.004565 -0.799001 0.601312
-vn 0.017991 -0.918876 0.394137
-vn 0.000000 -0.795542 0.605899
-vn 0.000000 -0.918713 0.394925
-vn -0.035993 -0.953102 0.300502
-vn 0.000000 -0.953121 0.302591
-vn 0.000000 -0.998422 0.056155
-vn -0.063904 -0.996653 0.050974
-vn 0.000000 -0.998107 0.061495
-vn -0.075869 -0.995651 0.054062
-vn -0.089385 -0.994760 0.049628
-vn 0.000000 -0.998635 0.052236
-vn -0.120252 -0.988258 -0.094268
-vn 0.000000 -0.994159 -0.107922
-vn -0.130043 -0.973060 -0.190374
-vn 0.000000 -0.980614 -0.195948
-vn -0.122150 -0.975119 -0.184991
-vn 0.000000 -0.984463 -0.175591
-vn -0.164304 -0.967025 -0.194593
-vn -0.621329 -0.134111 0.771987
-vn -0.353151 -0.250206 0.901488
-vn -0.041579 -0.437559 0.898228
-vn 0.000000 -0.314285 0.949329
-vn -0.061287 -0.339315 0.938674
-vn -0.086949 -0.464824 0.881124
-vn -0.289941 -0.229837 0.929037
-vn 0.000000 -0.384634 0.923069
-vn 0.000000 -0.527299 0.849680
-vn -0.395235 0.108735 0.912122
-vn -0.436901 -0.057248 0.897686
-vn -0.605873 0.057070 0.793512
-vn -0.691440 0.073643 0.718670
-vn -0.638897 -0.096424 0.763225
-vn -0.628759 -0.252843 0.735345
-vn -0.544124 -0.216863 0.810494
-vn -0.578730 -0.180551 0.795282
-vn -0.645211 -0.013591 0.763883
-vn -0.475512 -0.100011 0.874006
-vn -0.390824 -0.085748 0.916463
-vn 0.000000 -0.053110 0.998589
-vn -0.567764 -0.282574 0.773173
-vn -0.575355 -0.369817 0.729522
-vn -0.513299 -0.424267 0.746004
-vn -0.557132 -0.448099 0.699150
-vn -0.548898 -0.373155 0.747975
-vn -0.478887 -0.475925 0.737674
-vn -0.617962 -0.430917 0.657597
-vn 0.000000 -0.066706 0.997773
-vn -0.329623 -0.110896 0.937577
-vn -0.445591 -0.208021 0.870733
-vn -0.381992 -0.483105 0.787840
-vn -0.386579 -0.594777 0.704838
-vn -0.216527 -0.538921 0.814052
-vn -0.169084 -0.732456 0.659484
-vn 0.000000 -0.555852 0.831281
-vn 0.000000 -0.766300 0.642482
-vn 0.000000 -0.545494 0.838115
-vn -0.270635 -0.548378 0.791226
-vn -0.396435 -0.543115 0.740179
-vn -0.570879 -0.446838 0.688792
-vn -0.624007 -0.336884 0.705071
-vn -0.578007 -0.266686 0.771224
-vn 0.000000 -0.339882 0.940468
-vn -0.319217 -0.378810 0.868679
-vn -0.238897 -0.559967 0.793326
-vn -0.491634 -0.552992 0.672678
-vn -0.649406 -0.462970 0.603267
-vn -0.692537 -0.019397 0.721122
-vn -0.650763 0.121746 0.749457
-vn -0.634170 0.041017 0.772105
-vn -0.395205 -0.075946 0.915448
-vn -0.359372 -0.099091 0.927918
-vn 0.000000 -0.088823 0.996047
-vn 0.000000 0.360038 0.932938
-vn -0.287402 0.308714 0.906695
-vn -0.354807 0.275116 0.893545
-vn -0.592048 0.140416 0.793576
-vn -0.637150 0.033288 0.770021
-vn -0.398905 -0.526217 0.750979
-vn -0.618180 -0.087493 0.781152
-vn -0.512457 0.322559 0.795829
-vn -0.318457 0.465784 0.825609
-vn -0.178960 0.417486 0.890886
-vn 0.000000 0.476430 0.879213
-vn -0.487906 -0.431401 0.758842
-vn -0.483722 0.089844 0.870598
-vn -0.379428 -0.027096 0.924825
-vn -0.252160 -0.225711 0.940994
-vn 0.000000 -0.253897 0.967231
-vn -0.273597 -0.802168 0.530728
-vn 0.000000 -0.847446 0.530882
-vn -0.231462 -0.812863 0.534490
-vn -0.236908 -0.805986 0.542459
-vn 0.000000 -0.821576 0.570098
-vn -0.250030 -0.797610 0.548912
-vn -0.238041 -0.783912 0.573427
-vn -0.239039 -0.776186 0.583434
-vn -0.443288 -0.725499 0.526447
-vn -0.598994 -0.456011 0.658225
-vn -0.429183 -0.300884 0.851628
-vn -0.387573 -0.321812 0.863843
-vn -0.294932 -0.391271 0.871735
-vn 0.000000 -0.430292 0.902690
-vn -0.456505 -0.571068 0.682265
-vn -0.225894 -0.560651 0.796645
-vn -0.125863 -0.619219 0.775065
-vn -0.512130 -0.408450 0.755574
-vn -0.481812 -0.448555 0.752765
-vn -0.418851 -0.443982 0.792114
-vn -0.529444 -0.377328 0.759811
-vn -0.552559 -0.238810 0.798529
-vn -0.352537 -0.066139 0.933458
-vn -0.477995 -0.108156 0.871678
-vn -0.365297 0.021114 0.930651
-vn -0.309476 0.077575 0.947738
-vn 0.000000 0.061022 0.998136
-vn -0.468673 -0.193955 0.861816
-vn -0.393465 -0.302198 0.868252
-vn -0.435525 -0.381572 0.815304
-vn -0.661919 -0.278359 0.695974
-vn -0.404049 -0.256486 0.878043
-vn -0.233462 -0.141439 0.962024
-vn -0.391302 0.171539 0.904133
-vn -0.501513 0.191642 0.843657
-vn -0.290551 0.210412 0.933438
-vn -0.361013 0.019272 0.932362
-vn 0.000000 -0.020423 0.999791
-vn -0.534184 -0.058804 0.843320
-vn -0.335099 0.030481 0.941690
-vn -0.200182 -0.015059 0.979643
-vn -0.676716 -0.151883 0.720408
-vn -0.441583 -0.179665 0.879048
-vn -0.666688 0.081829 0.740832
-vn -0.966686 -0.173590 0.188106
-vn -0.932960 -0.136234 0.333206
-vn -0.548535 -0.302365 0.779541
-vn -0.129200 -0.313000 0.940924
-vn -0.435133 -0.427967 0.792151
-vn 0.000000 -0.815243 0.579119
-vn -0.727933 -0.128099 0.673575
-vn -0.877700 0.026049 0.478501
-vn -0.868641 0.032692 0.494362
-vn -0.847829 -0.114537 0.517751
-vn -0.717016 -0.264832 0.644788
-vn -0.834325 -0.034975 0.550162
-vn -0.883811 0.024081 0.467224
-vn -0.957092 -0.185074 0.222985
-vn -0.569079 -0.679037 0.463744
-vn 0.140199 -0.928946 0.342641
-vn -0.743054 -0.586543 0.322239
-vn -0.879801 -0.130693 0.457023
-vn -0.452351 -0.144257 0.880096
-vn -0.359851 -0.032581 0.932441
-vn -0.411625 -0.071366 0.908555
-vn -0.642403 -0.101305 0.759641
-vn -0.481087 -0.243058 0.842305
-vn -0.452434 -0.306952 0.837308
-vn -0.446193 -0.231764 0.864406
-vn -0.866507 -0.042473 0.497355
-vn -0.870409 -0.387642 0.303516
-vn -0.834596 -0.026340 0.550232
-vn -0.903313 0.003019 0.428972
-vn -0.831958 -0.248661 0.495997
-vn -0.745913 0.016230 0.665846
-vn -0.689975 0.062932 0.721092
-vn -0.320354 0.044276 0.946263
-vn -0.465763 -0.064939 0.882524
-vn -0.563892 -0.276189 0.778296
-vn -0.511860 -0.627405 0.586824
-vn 0.000000 -0.793339 0.608781
-vn 0.000000 -0.430480 0.902600
-vn -0.372246 0.009748 0.928083
-vn 0.000000 -0.083393 0.996517
-vn -0.262328 -0.957610 -0.119029
-vn 0.000000 -0.999508 0.031377
-vn -0.259302 -0.910269 -0.322758
-vn -0.038100 -0.938179 -0.344048
-vn 0.147260 -0.986968 -0.064868
-vn -0.173697 -0.982288 -0.070287
-vn 0.000000 -0.997450 -0.071371
-vn 0.000000 0.068246 0.997669
-vn 0.000000 -0.023245 0.999730
-vn -0.476302 -0.002893 0.879277
-vn 0.000000 -0.031220 0.999513
-vn -0.689723 0.028653 0.723507
-vn -0.804070 0.054918 0.591993
-vn -0.668285 0.120039 0.734156
-vn -0.818452 0.111155 0.563721
-vn -0.507929 0.139820 0.849976
-vn 0.000000 0.155850 0.987781
-vn -0.760442 0.036534 0.648377
-vn -0.806583 0.121802 0.578435
-vn -0.489838 -0.094281 0.866701
-vn -0.348316 -0.039260 0.936555
-vn -0.547406 0.028820 0.836371
-vn 0.000000 0.032871 0.999460
-vn -0.645014 -0.010417 0.764100
-vn -0.786001 -0.145157 0.600942
-vn -0.830260 -0.257130 0.494523
-vn 0.000000 -0.560395 0.828225
-vn -0.517422 -0.499928 0.694512
-vn -0.551275 -0.507531 0.662200
-vn -0.550581 -0.587067 0.593476
-vn -0.653781 -0.618140 0.436432
-vn 0.000000 -0.589548 0.807733
-vn -0.365876 -0.653625 0.662502
-vn -0.370038 -0.728041 0.577086
-vn -0.325447 -0.764693 0.556173
-vn -0.273021 -0.509246 0.816167
-vn 0.000000 -0.419293 0.907851
-vn -0.163589 -0.611286 0.774318
-vn -0.173654 -0.441360 0.880367
-vn 0.000000 -0.321958 0.946754
-vn -0.063640 -0.439167 0.896149
-vn -0.021257 -0.200021 0.979561
-vn -0.161815 -0.363628 0.917383
-vn 0.000000 -0.113091 0.993585
-vn 0.015283 -0.080866 0.996608
-vn 0.000000 -0.093188 0.995649
-vn -0.041156 -0.179251 0.982942
-vn 0.000000 -0.184602 0.982813
-vn -0.074307 -0.123251 0.989590
-vn -0.009657 -0.101854 0.994753
-vn -0.026243 -0.130211 0.991139
-vn -0.896280 -0.072788 0.437475
-vn -0.891806 -0.074388 0.446261
-vn -0.845339 -0.069647 0.529671
-vn -0.891887 -0.175856 0.416668
-vn -0.838651 -0.217689 0.499276
-vn -0.858102 -0.238460 0.454751
-vn -0.802411 -0.169881 0.572080
-vn -0.798795 0.004094 0.601589
-vn -0.532479 -0.129885 0.836419
-vn -0.563183 -0.039333 0.825396
-vn -0.619724 -0.173675 0.765362
-vn -0.608674 -0.211802 0.764628
-vn -0.785540 -0.197828 0.586336
-vn -0.824542 -0.140038 0.548197
-vn -0.789343 -0.176661 0.587987
-vn -0.766768 -0.046604 0.640231
-vn -0.465704 0.084934 0.880855
-vn -0.525843 -0.111551 0.843235
-vn -0.122270 -0.205991 0.970885
-vn -0.097209 -0.329188 0.939247
-vn -0.196417 -0.133287 0.971419
-vn -0.162640 -0.087052 0.982838
-vn -0.101349 -0.037653 0.994138
-vn -0.166564 0.098801 0.981068
-vn -0.440641 0.450782 0.776293
-vn -0.301292 0.258709 0.917765
-vn -0.686632 0.254326 0.681069
-vn -0.042423 -0.336081 0.940877
-vn -0.111689 -0.378002 0.919043
-vn -0.088696 -0.037132 0.995366
-vn -0.140346 -0.131793 0.981292
-vn 0.000000 -0.167991 0.985789
-vn -0.146236 -0.072286 0.986605
-vn -0.168776 0.045311 0.984612
-vn -0.218437 0.020537 0.975635
-vn -0.412273 0.641608 0.646815
-vn -0.369036 0.298169 0.880289
-vn -0.259423 -0.168573 0.950938
-vn -0.191770 -0.102018 0.976123
-vn 0.000000 -0.087270 0.996185
-vn -0.122346 0.088083 0.988571
-vn 0.000000 0.127514 0.991837
-vn -0.061865 0.040147 0.997277
-vn 0.000000 0.156605 0.987661
-vn -0.053486 -0.197374 0.978868
-vn 0.000000 0.019847 0.999803
-vn -0.382948 -0.794495 0.471305
-vn -0.318060 -0.355405 0.878934
-vn -0.400096 -0.694517 0.597971
-vn -0.408987 -0.806254 0.427416
-vn -0.163969 -0.833752 0.527230
-vn 0.119771 -0.270481 0.955246
-vn -0.203004 -0.939816 0.274835
-vn -0.058188 -0.324712 0.944021
-vn -0.145094 -0.355209 0.923458
-vn -0.525079 -0.250624 0.813314
-vn -0.807446 -0.264194 0.527477
-vn -0.662089 -0.560701 0.497245
-vn -0.199675 -0.902911 0.380632
-vn -0.242636 -0.877019 0.414687
-vn -0.272474 -0.924026 -0.268205
-vn -0.364995 -0.819586 0.441652
-vn -0.108220 -0.976991 -0.183786
-vn -0.543950 -0.723506 0.425038
-vn -0.232064 -0.927209 -0.293991
-vn -0.413369 -0.750624 0.515451
-vn -0.307411 -0.278843 0.909805
-vn -0.450628 -0.282788 0.846738
-vn -0.676849 -0.382426 0.628989
-vn -0.826819 -0.388400 0.406836
-vn -0.791595 -0.443050 0.420812
-vn -0.142738 -0.934012 0.327488
-vn -0.191071 -0.840299 0.507336
-vn -0.291071 -0.741660 0.604333
-vn -0.440597 -0.755235 0.485278
-vn -0.467748 -0.791744 0.392880
-vn -0.470764 -0.653290 0.592953
-vn -0.093310 -0.181835 0.978892
-vn -0.226343 -0.915650 0.332197
-vn -0.385811 -0.315327 0.867017
-vn -0.568141 -0.318737 0.758698
-vn -0.522135 -0.412895 0.746253
-vn -0.471048 -0.376315 0.797810
-vn -0.383908 -0.324542 0.864458
-vn -0.314528 -0.194760 0.929053
-vn -0.349548 -0.658472 0.666506
-vn -0.272030 -0.869089 0.413139
-vn -0.197166 -0.941214 0.274301
-vn -0.080323 -0.938231 0.336558
-vn -0.047371 -0.955383 0.291547
-vn -0.119492 -0.965498 0.231376
-vn -0.211680 -0.868782 0.447671
-vn -0.107457 -0.905004 0.411608
-vn -0.047940 -0.883533 0.465909
-vn -0.109547 -0.883425 0.455586
-vn -0.305970 -0.887075 0.345659
-vn -0.491169 -0.587690 0.642941
-vn -0.509537 -0.347524 0.787146
-vn -0.341958 -0.348801 0.872584
-vn -0.350885 -0.156934 0.923175
-vn -0.671289 -0.682905 0.288116
-vn -0.671289 -0.682905 0.288116
-vn -0.827334 -0.503849 0.248302
-vn -0.827334 -0.503849 0.248302
-vn -0.885392 -0.389499 0.253714
-vn -0.885392 -0.389499 0.253714
-vn 0.063546 -0.506439 -0.859931
-vn 0.369329 -0.553100 -0.746777
-vn 0.242846 -0.806682 0.538785
-vn 0.485775 -0.829604 0.275281
-vn 0.658082 -0.551272 -0.512863
-vn 0.693522 -0.673621 -0.255463
-vn 0.980456 -0.146404 -0.131425
-vn 0.952014 -0.262935 -0.156637
-vn 0.890722 -0.447672 -0.078768
-vn 0.909884 -0.414254 0.022464
-vn 0.918125 -0.127931 0.375073
-vn 0.750245 0.044436 0.659665
-vn 0.966380 -0.119457 -0.227684
-vn 0.990390 -0.066207 -0.121423
-vn 0.961455 -0.171437 -0.214973
-vn 0.940890 -0.281455 -0.188440
-vn 0.871784 -0.478259 -0.106120
-vn 0.855293 -0.512673 -0.075098
-vn 0.882476 -0.458987 0.102799
-vn 0.960482 -0.154544 -0.231496
-vn 0.936246 -0.210295 -0.281460
-vn 0.942102 -0.281316 -0.182497
-vn 0.935227 -0.344762 0.080557
-vn 0.935892 -0.310618 0.166201
-vn 0.808334 -0.574003 0.130833
-vn 0.587775 -0.801059 -0.113246
-vn 0.647675 -0.751602 0.124946
-vn 0.831664 -0.447963 0.328121
-vn 0.995249 -0.016350 -0.095982
-vn 0.954065 -0.077913 -0.289292
-vn 0.907408 -0.250137 -0.337700
-vn 0.976898 -0.202764 -0.067500
-vn 0.857955 -0.507869 0.077344
-vn 0.883889 -0.433015 0.176742
-vn 0.979638 -0.200574 -0.008969
-vn 0.941418 -0.245395 0.231328
-vn 0.981620 -0.144394 0.124793
-vn 0.978947 -0.109001 0.172574
-vn 0.935991 -0.189747 0.296507
-vn 0.899078 -0.182951 0.397729
-vn 0.745436 -0.536030 0.396229
-vn 0.797983 -0.320094 0.510650
-vn 0.906001 -0.195175 0.375592
-vn 0.953837 -0.208375 0.216275
-vn 0.922710 -0.264441 0.280495
-vn 0.913666 -0.272554 0.301545
-vn 0.882223 -0.261768 0.391357
-vn 0.866761 -0.309336 0.391199
-vn 0.830459 -0.351032 0.432567
-vn 0.818278 -0.315495 0.480503
-vn 0.808038 -0.215201 0.548419
-vn 0.969678 -0.148208 0.194316
-vn 0.922470 -0.252269 0.292249
-vn 0.867244 -0.318434 0.382738
-vn 0.836260 -0.340015 0.430184
-vn 0.923910 -0.145238 0.353971
-vn 0.984749 -0.050019 0.166636
-vn 0.981118 -0.099794 0.165675
-vn 0.944614 -0.194537 0.264309
-vn 0.880393 -0.291015 0.374457
-vn 0.824837 -0.315373 0.469238
-vn 0.622916 -0.484375 0.614294
-vn 0.821682 -0.474521 0.315705
-vn 0.867338 -0.331298 0.371439
-vn 0.987857 -0.135016 0.076870
-vn 0.979930 -0.195497 0.038967
-vn 0.979199 -0.164018 0.119446
-vn 0.949129 -0.225368 0.219914
-vn 0.886606 -0.298748 0.353099
-vn 0.708787 -0.249233 0.659928
-vn 0.678444 -0.409568 0.609892
-vn 0.442992 -0.162265 0.881719
-vn 0.642535 -0.219827 0.734047
-vn 0.858498 -0.229279 0.458708
-vn 0.925715 -0.225640 0.303543
-vn 0.972152 -0.187798 0.140186
-vn 0.918487 -0.113375 0.378850
-vn 0.963417 -0.107897 0.245326
-vn 0.930710 -0.126967 0.343014
-vn 0.909095 -0.174774 0.378154
-vn 0.954725 -0.056138 0.292145
-vn 0.987337 -0.051872 0.149917
-vn 0.793642 -0.245089 0.556834
-vn 0.864674 -0.261001 0.429205
-vn 0.841018 -0.069240 0.536557
-vn 0.668765 -0.107613 0.735645
-vn 0.383153 -0.167862 0.908304
-vn 0.690412 -0.337410 0.639911
-vn 0.470954 -0.330356 0.817965
-vn 0.635659 -0.745485 0.200472
-vn 0.716078 -0.513890 0.472386
-vn 0.672918 -0.288018 0.681342
-vn 0.502514 -0.864351 -0.019426
-vn 0.489068 -0.863343 -0.124305
-vn 0.402408 -0.915304 0.016936
-vn 0.504481 -0.846857 0.168320
-vn 0.380776 -0.923102 -0.053776
-vn 0.374887 -0.916704 -0.138250
-vn 0.756917 -0.386773 0.526766
-vn 0.763653 -0.273459 0.584854
-vn 0.288102 -0.949738 0.122456
-vn 0.456364 -0.805486 0.378054
-vn 0.224124 -0.973921 0.035305
-vn 0.204438 -0.976318 0.070776
-vn 0.245111 -0.968799 0.036716
-vn 0.262883 -0.962136 -0.072016
-vn 0.231176 -0.957851 -0.170524
-vn 0.147784 -0.957533 0.247568
-vn 0.195452 -0.786355 0.586042
-vn -0.017991 -0.918876 0.394137
-vn 0.017865 -0.788411 0.614889
-vn 0.035993 -0.953102 0.300502
-vn 0.063904 -0.996653 0.050974
-vn 0.075869 -0.995651 0.054062
-vn 0.089385 -0.994760 0.049628
-vn 0.120252 -0.988258 -0.094268
-vn 0.130043 -0.973060 -0.190374
-vn 0.122150 -0.975119 -0.184991
-vn 0.164304 -0.967025 -0.194593
-vn 0.621329 -0.134111 0.771987
-vn 0.288891 -0.208178 0.934454
-vn 0.070077 -0.325368 0.942987
-vn 0.043692 -0.365912 0.929623
-vn 0.345260 0.092352 0.933952
-vn 0.128601 -0.445833 0.885830
-vn 0.330083 -0.244923 0.911624
-vn 0.436901 -0.057248 0.897686
-vn 0.605873 0.057070 0.793512
-vn 0.691440 0.073643 0.718670
-vn 0.638897 -0.096424 0.763225
-vn 0.628759 -0.252843 0.735345
-vn 0.544124 -0.216863 0.810494
-vn 0.578730 -0.180551 0.795282
-vn 0.645211 -0.013591 0.763883
-vn 0.475512 -0.100011 0.874006
-vn 0.390824 -0.085748 0.916463
-vn 0.567763 -0.282575 0.773173
-vn 0.557132 -0.448099 0.699150
-vn 0.513298 -0.424267 0.746004
-vn 0.575354 -0.369817 0.729522
-vn 0.548898 -0.373155 0.747975
-vn 0.478887 -0.475925 0.737674
-vn 0.617962 -0.430917 0.657597
-vn 0.329622 -0.110896 0.937577
-vn 0.445590 -0.208021 0.870733
-vn 0.386579 -0.594777 0.704838
-vn 0.381991 -0.483105 0.787840
-vn 0.169084 -0.732456 0.659484
-vn 0.216527 -0.538921 0.814052
-vn 0.270635 -0.548378 0.791226
-vn 0.396435 -0.543115 0.740179
-vn 0.570878 -0.446838 0.688792
-vn 0.624006 -0.336885 0.705071
-vn 0.578007 -0.266686 0.771224
-vn 0.319217 -0.378810 0.868679
-vn 0.491634 -0.552992 0.672678
-vn 0.238897 -0.559967 0.793325
-vn 0.649406 -0.462970 0.603267
-vn 0.650763 0.121746 0.749457
-vn 0.692537 -0.019397 0.721122
-vn 0.634170 0.041017 0.772105
-vn 0.395205 -0.075946 0.915448
-vn 0.359372 -0.099091 0.927918
-vn 0.287402 0.308714 0.906695
-vn 0.354807 0.275116 0.893545
-vn 0.592048 0.140416 0.793576
-vn 0.637150 0.033288 0.770021
-vn 0.398905 -0.526217 0.750979
-vn 0.618180 -0.087493 0.781152
-vn 0.512457 0.322559 0.795829
-vn 0.318457 0.465784 0.825609
-vn 0.178960 0.417486 0.890886
-vn 0.487906 -0.431401 0.758842
-vn 0.483722 0.089844 0.870598
-vn 0.379427 -0.027095 0.924825
-vn 0.252160 -0.225711 0.940994
-vn 0.273597 -0.802168 0.530728
-vn 0.231462 -0.812863 0.534490
-vn 0.236909 -0.805986 0.542459
-vn 0.250030 -0.797610 0.548912
-vn 0.238041 -0.783912 0.573427
-vn 0.239039 -0.776186 0.583434
-vn 0.443288 -0.725499 0.526447
-vn 0.598994 -0.456011 0.658225
-vn 0.429183 -0.300884 0.851628
-vn 0.387574 -0.321812 0.863842
-vn 0.294932 -0.391271 0.871735
-vn 0.456505 -0.571068 0.682265
-vn 0.171236 -0.619419 0.766158
-vn 0.120990 -0.641764 0.757298
-vn 0.499385 -0.441032 0.745724
-vn 0.471435 -0.463007 0.750582
-vn 0.419250 -0.424099 0.802726
-vn 0.529444 -0.377328 0.759811
-vn 0.552559 -0.238810 0.798529
-vn 0.477995 -0.108156 0.871678
-vn 0.352537 -0.066139 0.933457
-vn 0.365298 0.021114 0.930651
-vn 0.309476 0.077575 0.947738
-vn 0.468673 -0.193955 0.861816
-vn 0.393464 -0.302198 0.868252
-vn 0.435525 -0.381572 0.815304
-vn 0.661918 -0.278359 0.695975
-vn 0.404049 -0.256486 0.878043
-vn 0.233462 -0.141439 0.962024
-vn 0.391302 0.171539 0.904133
-vn 0.501513 0.191642 0.843658
-vn 0.290551 0.210412 0.933438
-vn 0.361013 0.019272 0.932362
-vn 0.534184 -0.058804 0.843320
-vn 0.335099 0.030481 0.941690
-vn 0.200182 -0.015059 0.979643
-vn 0.441583 -0.179665 0.879048
-vn 0.676716 -0.151883 0.720408
-vn 0.666687 0.081829 0.740832
-vn 0.932960 -0.136234 0.333206
-vn 0.966686 -0.173590 0.188106
-vn 0.548535 -0.302365 0.779542
-vn 0.129199 -0.313000 0.940924
-vn 0.435133 -0.427967 0.792151
-vn 0.877701 0.026049 0.478501
-vn 0.727933 -0.128099 0.673575
-vn 0.847830 -0.114537 0.517751
-vn 0.868641 0.032692 0.494362
-vn 0.717016 -0.264832 0.644788
-vn 0.834325 -0.034975 0.550162
-vn 0.883811 0.024081 0.467224
-vn 0.957092 -0.185074 0.222985
-vn 0.569079 -0.679037 0.463744
-vn -0.140199 -0.928947 0.342640
-vn 0.879801 -0.130693 0.457023
-vn 0.743054 -0.586543 0.322239
-vn 0.452351 -0.144257 0.880096
-vn 0.359851 -0.032581 0.932441
-vn 0.411625 -0.071366 0.908555
-vn 0.481087 -0.243058 0.842305
-vn 0.642403 -0.101305 0.759641
-vn 0.452434 -0.306952 0.837308
-vn 0.446193 -0.231764 0.864406
-vn 0.866507 -0.042473 0.497355
-vn 0.870409 -0.387642 0.303515
-vn 0.831958 -0.248661 0.495997
-vn 0.903313 0.003019 0.428972
-vn 0.834596 -0.026340 0.550232
-vn 0.745913 0.016230 0.665846
-vn 0.689975 0.062932 0.721092
-vn 0.465763 -0.064939 0.882523
-vn 0.320354 0.044276 0.946263
-vn 0.563892 -0.276189 0.778296
-vn 0.511860 -0.627405 0.586824
-vn 0.372246 0.009748 0.928083
-vn 0.262328 -0.957610 -0.119028
-vn 0.259302 -0.910269 -0.322758
-vn 0.038100 -0.938178 -0.344049
-vn -0.147260 -0.986968 -0.064869
-vn 0.173697 -0.982288 -0.070287
-vn 0.476302 -0.002893 0.879277
-vn 0.689723 0.028653 0.723507
-vn 0.804070 0.054918 0.591993
-vn 0.818452 0.111155 0.563721
-vn 0.668286 0.120039 0.734156
-vn 0.507929 0.139820 0.849975
-vn 0.760442 0.036534 0.648377
-vn 0.806583 0.121802 0.578435
-vn 0.489837 -0.094281 0.866701
-vn 0.348316 -0.039261 0.936555
-vn 0.547406 0.028820 0.836371
-vn 0.645014 -0.010417 0.764100
-vn 0.786001 -0.145157 0.600942
-vn 0.830260 -0.257130 0.494523
-vn 0.517422 -0.499927 0.694512
-vn 0.551275 -0.507531 0.662200
-vn 0.550581 -0.587067 0.593475
-vn 0.653781 -0.618140 0.436431
-vn 0.365876 -0.653625 0.662502
-vn 0.370038 -0.728041 0.577085
-vn 0.325446 -0.764694 0.556173
-vn 0.273021 -0.509246 0.816167
-vn 0.163589 -0.611286 0.774318
-vn 0.173654 -0.441360 0.880367
-vn 0.161815 -0.363628 0.917383
-vn 0.021257 -0.200021 0.979561
-vn 0.063639 -0.439167 0.896149
-vn -0.015283 -0.080866 0.996608
-vn 0.041156 -0.179251 0.982942
-vn 0.074307 -0.123251 0.989590
-vn 0.009657 -0.101854 0.994753
-vn 0.026243 -0.130211 0.991139
-vn 0.896280 -0.072788 0.437475
-vn 0.891806 -0.074388 0.446261
-vn 0.845339 -0.069647 0.529671
-vn 0.891887 -0.175856 0.416668
-vn 0.858102 -0.238460 0.454751
-vn 0.838651 -0.217689 0.499276
-vn 0.798795 0.004094 0.601589
-vn 0.802411 -0.169881 0.572080
-vn 0.563183 -0.039333 0.825396
-vn 0.532478 -0.129885 0.836419
-vn 0.619725 -0.173675 0.765362
-vn 0.608674 -0.211803 0.764628
-vn 0.785540 -0.197828 0.586336
-vn 0.789343 -0.176661 0.587987
-vn 0.824542 -0.140038 0.548197
-vn 0.766768 -0.046604 0.640231
-vn 0.525843 -0.111551 0.843235
-vn 0.465704 0.084934 0.880855
-vn 0.097209 -0.329188 0.939248
-vn 0.122270 -0.205991 0.970885
-vn 0.196417 -0.133287 0.971419
-vn 0.162640 -0.087052 0.982838
-vn 0.101349 -0.037653 0.994138
-vn 0.166565 0.098801 0.981068
-vn 0.301292 0.258709 0.917765
-vn 0.440641 0.450782 0.776293
-vn 0.686632 0.254326 0.681069
-vn 0.042423 -0.336081 0.940877
-vn 0.111689 -0.378002 0.919043
-vn 0.088696 -0.037132 0.995366
-vn 0.140346 -0.131793 0.981292
-vn 0.146236 -0.072286 0.986605
-vn 0.168776 0.045311 0.984612
-vn 0.218437 0.020537 0.975635
-vn 0.412273 0.641608 0.646816
-vn 0.369036 0.298169 0.880289
-vn 0.259424 -0.168573 0.950938
-vn 0.191770 -0.102018 0.976123
-vn 0.122346 0.088083 0.988571
-vn 0.061865 0.040147 0.997277
-vn 0.053486 -0.197374 0.978868
-vn 0.382948 -0.794495 0.471305
-vn 0.318060 -0.355405 0.878934
-vn 0.400096 -0.694517 0.597971
-vn 0.408987 -0.806254 0.427416
-vn 0.163969 -0.833753 0.527230
-vn -0.119771 -0.270481 0.955246
-vn 0.203005 -0.939817 0.274835
-vn 0.058188 -0.324712 0.944021
-vn 0.145093 -0.355209 0.923458
-vn 0.525079 -0.250624 0.813314
-vn 0.807446 -0.264194 0.527477
-vn 0.662089 -0.560700 0.497245
-vn 0.199676 -0.902912 0.380631
-vn 0.242636 -0.877019 0.414687
-vn 0.272474 -0.924026 -0.268205
-vn 0.543950 -0.723506 0.425038
-vn 0.108219 -0.976991 -0.183786
-vn 0.364996 -0.819587 0.441651
-vn 0.413369 -0.750624 0.515451
-vn 0.232064 -0.927209 -0.293991
-vn 0.307412 -0.278843 0.909805
-vn 0.450629 -0.282788 0.846738
-vn 0.676849 -0.382426 0.628988
-vn 0.791596 -0.443050 0.420812
-vn 0.826819 -0.388400 0.406836
-vn 0.191071 -0.840298 0.507337
-vn 0.142738 -0.934012 0.327487
-vn 0.291071 -0.741659 0.604334
-vn 0.440597 -0.755234 0.485278
-vn 0.467748 -0.791743 0.392879
-vn 0.470764 -0.653290 0.592953
-vn 0.093310 -0.181835 0.978892
-vn 0.226343 -0.915650 0.332196
-vn 0.385812 -0.315327 0.867017
-vn 0.522135 -0.412895 0.746253
-vn 0.568141 -0.318737 0.758698
-vn 0.471047 -0.376315 0.797810
-vn 0.383908 -0.324543 0.864458
-vn 0.314529 -0.194760 0.929053
-vn 0.349548 -0.658473 0.666506
-vn 0.272031 -0.869089 0.413139
-vn 0.197167 -0.941214 0.274301
-vn 0.080323 -0.938231 0.336558
-vn 0.047371 -0.955383 0.291548
-vn 0.119492 -0.965498 0.231376
-vn 0.211679 -0.868782 0.447671
-vn 0.107457 -0.905004 0.411608
-vn 0.047940 -0.883533 0.465909
-vn 0.109547 -0.883425 0.455586
-vn 0.305970 -0.887075 0.345659
-vn 0.491169 -0.587690 0.642941
-vn 0.509537 -0.347524 0.787146
-vn 0.341958 -0.348801 0.872584
-vn 0.350886 -0.156934 0.923175
-vn 0.671290 -0.682905 0.288117
-vn 0.671290 -0.682905 0.288117
-vn 0.827335 -0.503849 0.248302
-vn 0.827335 -0.503849 0.248302
-vn 0.885392 -0.389499 0.253714
-vn 0.885392 -0.389499 0.253714
-vn -0.309855 -0.926549 -0.213301
-vn -0.027599 -0.939403 -0.341703
-vn 0.289297 -0.935275 0.203884
-vn -0.106039 -0.968527 0.225190
-vn 0.358014 -0.933576 -0.016210
-vn 0.279072 -0.943923 -0.176433
-vn 0.068418 -0.766721 -0.638324
-vn -0.189367 -0.735327 -0.650718
-vn -0.770403 0.079155 0.632624
-vn -0.613113 0.136773 0.778065
-vn -0.350056 0.128364 0.927892
-vn -0.308009 -0.309870 0.899506
-vn -0.299958 -0.641647 0.705914
-vn -0.477109 -0.512294 0.714088
-vn -0.358922 -0.813462 0.457662
-vn -0.589548 -0.077420 0.804015
-vn -0.722296 -0.015140 0.691419
-vn -0.823171 -0.036425 0.566624
-vn -0.751484 -0.407666 0.518729
-vn -0.617021 -0.697287 0.364795
-vn -0.782243 -0.280041 0.556482
-vn -0.865466 -0.207653 0.455904
-vn -0.631894 -0.726752 0.269335
-vn -0.410792 -0.869446 0.274435
-vn -0.724049 -0.533066 0.437713
-vn -0.767245 -0.393008 0.506834
-vn -0.833295 -0.327544 0.445348
-vn -0.793490 -0.389985 0.467210
-vn -0.688750 -0.689348 -0.224552
-vn -0.085672 -0.888142 -0.451513
-vn -0.705934 -0.632979 -0.317796
-vn -0.526509 -0.758990 -0.383044
-vn -0.427685 -0.778753 -0.458943
-vn 0.136696 -0.132113 0.981764
-vn 0.198589 -0.222346 0.954529
-vn 0.002920 -0.043212 0.999062
-vn -0.067240 -0.046010 0.996675
-vn 0.068807 -0.103861 0.992209
-vn 0.574141 -0.226391 0.786835
-vn 0.327506 -0.251332 0.910809
-vn 0.327506 -0.251332 0.910809
-vn 0.055711 -0.256966 0.964813
-vn 0.055711 -0.256966 0.964813
-vn -0.410976 -0.824313 -0.389368
-vn -0.627806 -0.680618 -0.377649
-vn -0.089113 -0.912300 -0.399710
-vn -0.011357 -0.906478 -0.422101
-vn -0.448176 -0.661548 -0.601243
-vn -0.753058 -0.510162 -0.415498
-vn -0.961730 -0.196816 -0.190628
-vn -0.916186 -0.219439 -0.335335
-vn -0.652490 -0.584970 -0.481733
-vn -0.488627 -0.658355 -0.572549
-vn -0.895725 -0.191016 -0.401485
-vn -0.026124 -0.592131 -0.805418
-vn -0.121639 -0.485642 -0.865653
-vn -0.214224 -0.367454 -0.905034
-vn -0.121639 -0.485642 -0.865653
-vn 0.123989 -0.992278 -0.003201
-vn -0.126649 -0.988799 -0.078972
-vn -0.126649 -0.988799 -0.078972
-vn 0.123989 -0.992278 -0.003201
-vn -0.368603 -0.917514 -0.149328
-vn -0.368603 -0.917514 -0.149328
-vn -0.992952 -0.077863 -0.089346
-vn -0.932671 -0.119228 -0.340454
-vn -0.971151 -0.099399 -0.216762
-vn -0.932671 -0.119228 -0.340454
-vn -0.992952 -0.077863 -0.089346
-vn -0.971151 -0.099399 -0.216762
-vn 0.270387 0.410353 0.870920
-vn 0.105769 0.425786 0.898621
-vn 0.270387 0.410353 0.870920
-vn 0.501858 0.419546 0.756386
-vn 0.501858 0.419546 0.756386
-vn 0.533126 0.638612 0.554933
-vn 0.533126 0.638612 0.554933
-vn 0.466699 0.791727 0.394157
-vn 0.466699 0.791727 0.394157
-vn 0.770403 0.079155 0.632624
-vn 0.613113 0.136773 0.778065
-vn 0.350056 0.128364 0.927892
-vn 0.299958 -0.641647 0.705914
-vn 0.308009 -0.309870 0.899506
-vn 0.358922 -0.813462 0.457662
-vn 0.477109 -0.512294 0.714088
-vn 0.589548 -0.077419 0.804015
-vn 0.722296 -0.015140 0.691419
-vn 0.823171 -0.036425 0.566624
-vn 0.617022 -0.697287 0.364795
-vn 0.751484 -0.407665 0.518729
-vn 0.782243 -0.280041 0.556482
-vn 0.865466 -0.207653 0.455904
-vn 0.410792 -0.869446 0.274435
-vn 0.631895 -0.726752 0.269335
-vn 0.724050 -0.533066 0.437713
-vn 0.767245 -0.393008 0.506834
-vn 0.833295 -0.327544 0.445348
-vn 0.793490 -0.389985 0.467210
-vn 0.688750 -0.689348 -0.224552
-vn 0.085672 -0.888142 -0.451513
-vn 0.705934 -0.632979 -0.317796
-vn 0.526509 -0.758990 -0.383044
-vn 0.427685 -0.778753 -0.458943
-vn -0.198589 -0.222346 0.954529
-vn -0.136696 -0.132113 0.981764
-vn -0.002920 -0.043212 0.999062
-vn 0.067240 -0.046010 0.996675
-vn -0.068807 -0.103861 0.992209
-vn -0.574141 -0.226391 0.786835
-vn -0.327506 -0.251332 0.910809
-vn -0.327506 -0.251332 0.910809
-vn -0.055711 -0.256966 0.964813
-vn -0.055711 -0.256966 0.964813
-vn 0.627805 -0.680619 -0.377649
-vn 0.410976 -0.824313 -0.389368
-vn 0.089113 -0.912300 -0.399709
-vn 0.011357 -0.906478 -0.422100
-vn 0.448176 -0.661548 -0.601242
-vn 0.961730 -0.196816 -0.190628
-vn 0.753058 -0.510162 -0.415498
-vn 0.652490 -0.584970 -0.481733
-vn 0.916186 -0.219439 -0.335335
-vn 0.488627 -0.658355 -0.572549
-vn 0.895725 -0.191016 -0.401485
-vn 0.026124 -0.592131 -0.805418
-vn 0.121639 -0.485642 -0.865653
-vn 0.214224 -0.367454 -0.905034
-vn 0.121639 -0.485642 -0.865653
-vn 0.992952 -0.077863 -0.089346
-vn 0.932671 -0.119229 -0.340454
-vn 0.971151 -0.099399 -0.216762
-vn 0.992952 -0.077863 -0.089346
-vn 0.971151 -0.099399 -0.216762
-vn 0.932671 -0.119229 -0.340454
-# 2655 vertices
-
-# 0 vertex parms
-
-# 0 texture vertices
-
-# 3302 normals
-
-g coat
-s 1
-f 66//52 67//53 68//54 69//55
-f 69//55 68//54 70//56 71//57
-f 71//57 70//56 72//58 73//59
-f 73//59 72//58 74//60 75//61
-f 75//61 74//60 76//62 77//63
-f 77//63 76//62 78//64 79//65
-f 79//65 78//64 80//66 81//67
-s 3
-f 81//967 80//966 2//964 4//965
-s 1
-f 80//66 82//68 1//26 2//27
-f 78//64 83//69 82//68 80//66
-f 76//62 84//70 83//69 78//64
-s 18
-f 74//974 85//977 84//976 76//975
-f 72//973 86//978 85//977 74//974
-f 70//972 87//979 86//978 72//973
-f 68//971 88//980 87//979 70//972
-f 67//970 88//980 68//971
-s 1
-f 66//52 69//55 89//72 90//73
-f 90//73 89//72 91//74 92//75
-f 92//75 91//74 93//76 94//77
-f 94//77 93//76 95//78
-f 95//78 93//76 96//79 97//80
-f 93//76 91//74 98//81 99//82 96//79
-f 91//74 89//72 100//83 101//84 98//81
-f 89//72 69//55 71//57 100//83
-f 100//83 71//57 73//59 102//85 103//86
-f 97//80 96//79 104//87 105//88 106//89
-f 99//82 104//87 96//79
-f 99//82 107//90 108//91 104//87
-f 104//87 109//92 105//88
-f 108//91 110//93 109//92 104//87
-f 101//84 100//83 103//86
-f 103//86 102//85 111//94
-f 112//95 101//84 103//86 113//96
-f 113//96 103//86 111//94 114//97
-f 115//98 108//91 107//90
-f 115//98 110//93 108//91
-f 116//99 112//95 113//96
-f 116//99 113//96 114//97
-f 99//82 98//81 117//100 107//90
-f 98//81 101//84 112//95 117//100
-f 115//98 107//90 117//100 118//101
-f 118//101 117//100 112//95 116//99
-f 115//98 119//102 120//103 110//93
-f 119//102 116//99 114//97 120//103
-f 114//97 111//94 121//104 120//103
-f 120//103 121//104 109//92 110//93
-f 115//98 118//101 116//99 119//102
-f 106//89 105//88 122//105 123//106
-f 105//88 109//92 121//104 124//107 122//105
-f 121//104 111//94 102//85 125//108 124//107
-f 102//85 73//59 75//61 125//108
-f 125//108 75//61 77//63 126//109
-f 126//109 77//63 79//65 127//110
-f 127//110 79//65 81//67 128//111
-f 128//111 81//67 4//29 3//28
-f 3//28 5//30 129//112 128//111
-f 128//111 129//112 130//113 127//110
-f 127//110 130//113 131//114 126//109
-f 126//109 131//114 124//107 125//108
-f 124//107 131//114 132//115 122//105
-f 122//105 132//115 133//116 123//106
-f 133//116 132//115 134//117 135//118
-f 135//118 134//117 136//119 137//120
-f 137//120 136//119 6//31 7//32
-f 136//119 129//112 5//30 6//31
-f 134//117 130//113 129//112 136//119
-f 132//115 131//114 130//113 134//117
-f 138//121 67//53 66//52 139//122
-f 139//122 66//52 140//123
-f 140//123 141//124 139//122
-f 139//122 141//124 142//125 143//126 138//121
-s 31
-f 138//982 143//983 144//984
-f 144//984 145//985 138//982
-f 138//982 145//985 67//981
-s 1
-f 142//125 141//124 146//127 147//128
-g shirt
-f 150//131 147//128 151//132
-g coat
-f 151//132 147//128 146//127 152//133 153//134
-f 154//135 153//134 152//133 155//136
-f 155//136 156//137 157//138 154//135
-f 146//127 141//124 158//139
-f 158//139 159//140 152//133 146//127
-f 160//141 155//136 152//133 159//140
-f 161//142 156//137 155//136 160//141
-f 66//52 90//73 162//143 163//144
-f 163//144 164//145 140//123 66//52
-f 140//123 164//145 165//146 141//124
-f 162//143 90//73 92//75 166//147
-f 166//147 92//75 94//77 167//148
-f 97//80 106//89 168//149 169//150
-f 106//89 123//106 170//151 168//149
-f 123//106 133//116 171//152 170//151
-f 133//116 135//118 172//153 171//152
-f 135//118 137//120 173//154 172//153
-f 137//120 7//32 8//33 173//154
-f 167//148 94//77 95//78 174//155
-f 174//155 95//78 97//80 169//150
-f 175//156 157//138 156//137 176//157
-f 176//157 156//137 161//142 177//158
-f 178//159 175//156 176//157 179//160
-f 179//160 176//157 177//158 180//161
-f 180//161 181//162 182//163 179//160
-f 182//163 183//164 178//159 179//160
-f 184//165 185//166 182//163 181//162
-f 185//166 186//167 183//164 182//163
-f 185//166 187//168 188//169 186//167
-f 189//170 187//168 185//166 184//165
-f 189//170 184//165 190//171 191//172
-f 184//165 181//162 192//173 190//171
-f 181//162 180//161 193//174 192//173
-f 177//158 161//142 194//175 195//176
-f 161//142 160//141 196//177 194//175
-f 160//141 159//140 197//178 196//177
-f 193//174 180//161 177//158 195//176
-f 191//172 190//171 198//179 199//180
-f 190//171 192//173 200//181 198//179
-f 192//173 193//174 201//182 200//181
-f 193//174 195//176 202//183 201//182
-f 195//176 194//175 203//184 202//183
-f 198//179 200//181 204//185
-f 204//185 200//181 205//186 206//187
-f 205//186 200//181 201//182 207//188
-f 207//188 201//182 202//183 208//189
-f 208//189 202//183 203//184 209//190
-f 194//175 196//177 210//191 203//184
-f 196//177 197//178 211//192 210//191
-f 203//184 210//191 212//193 209//190
-f 210//191 211//192 213//194 212//193
-f 158//139 141//124 165//146 214//195
-f 158//139 214//195 197//178 159//140
-f 165//146 164//145 215//196 216//197
-s off
-f 164//1 163//1 217//1 215//1
-s 1
-f 217//198 163//144 162//143
-f 217//198 162//143 166//147 218//199
-f 218//199 166//147 167//148 219//200
-f 219//200 167//148 174//155 220//201
-s 5
-f 174//994 169//989 221//996 220//995
-f 169//989 168//988 222//997 221//996
-f 168//988 170//990 223//998 222//997
-f 170//990 171//991 224//999 223//998
-f 171//991 172//992 225//1000 224//999
-f 172//992 173//993 226//1001 225//1000
-f 173//993 8//986 9//987 226//1001
-s 1
-f 220//201 221//202 227//208 228//209
-f 228//209 229//210 230//211 231//212 220//201
-f 221//202 222//203 232//213 227//208
-f 222//203 223//204 233//214 232//213
-f 223//204 224//205 234//215 233//214
-f 224//205 225//206 235//216 234//215
-f 225//206 226//207 236//217 235//216
-f 236//217 226//207 9//34 10//35
-s off
-f 214//2 165//2 216//2 237//2
-s 1
-f 197//178 214//195 237//218 211//192
-f 211//192 237//218 238//219 239//220 240//221 213//194
-f 216//197 215//196 237//218
-f 237//218 215//196 241//222 238//219
-f 215//196 217//198 218//199
-f 215//196 218//199 219//200
-f 215//196 219//200 242//223 241//222
-f 231//212 242//223 219//200 220//201
-f 239//220 230//211 229//210 240//221
-g button
-f 238//219 241//222 243//224 244//225
-f 238//219 244//225 245//226 239//220
-f 239//220 245//226 246//227 230//211
-f 246//227 247//228 231//212 230//211
-f 247//228 248//229 242//223 231//212
-f 243//224 241//222 242//223 248//229
-f 249//230 250//231 245//226 244//225
-f 244//225 243//224 251//232 249//230
-f 251//232 243//224 248//229 252//233
-f 252//233 248//229 247//228 253//234
-f 253//234 247//228 246//227 254//235
-f 254//235 246//227 245//226 250//231
-f 255//236 250//231 249//230
-f 255//236 249//230 251//232
-f 255//236 251//232 252//233
-f 255//236 252//233 253//234
-f 255//236 253//234 254//235
-f 255//236 254//235 250//231
-g coat
-f 205//186 207//188 256//237
-f 207//188 208//189 258//239 256//237
-f 258//239 208//189 209//190 259//240
-f 259//240 209//190 212//193 260//241
-f 256//237 258//239 261//242 257//238
-f 258//239 259//240 261//242
-f 259//240 260//241 262//243 261//242
-f 212//193 213//194 263//244 260//241
-f 263//244 213//194 240//221 264//245
-f 264//245 240//221 229//210 265//246
-f 265//246 229//210 228//209 266//247
-f 260//241 263//244 267//248 262//243
-f 267//248 263//244 264//245 268//249
-f 268//249 264//245 265//246 269//250
-f 269//250 265//246 270//251
-f 265//246 266//247 270//251
-f 270//251 271//252 269//250
-f 269//250 271//252 272//253 268//249
-f 268//249 272//253 273//254 267//248
-f 267//248 273//254 274//255 262//243
-f 262//243 274//255 261//242
-f 266//247 228//209 227//208 275//256
-f 275//256 227//208 232//213 276//257
-f 276//257 232//213 233//214 277//258
-f 277//258 233//214 234//215 278//259
-f 278//259 234//215 235//216 279//260
-f 279//260 235//216 236//217 280//261
-f 280//261 236//217 10//35 11//36
-f 266//247 275//256 281//262 270//251
-f 275//256 276//257 281//262
-f 276//257 277//258 282//263 281//262
-f 277//258 278//259 282//263
-f 278//259 279//260 283//264 282//263
-f 279//260 280//261 284//265 283//264
-f 280//261 11//36 284//265
-g shirt
-s 46
-f 285//1004 286//1005 287//1006 288//1007
-s 1
-f 286//267 289//269 290//270 287//268
-f 291//271 292//272 290//270 289//269
-f 292//272 293//273 294//274 290//270
-f 290//270 294//274 295//275 287//268
-s 46
-f 287//1006 295//1008 296//1009 288//1007
-f 296//1009 295//1008 297//1010 298//1011
-s 1
-f 295//275 294//274 299//277 297//276
-f 294//274 293//273 300//278 299//277
-f 299//277 300//278 301//279 302//280
-f 302//280 301//279 303//281 304//282
-f 304//282 303//281 305//283
-f 305//283 303//281 306//284 307//285
-f 307//285 306//284 308//286 309//287
-f 307//285 309//287 310//288 311//289
-f 311//289 312//290 305//283 307//285
-f 305//283 312//290 313//291 304//282
-f 302//280 314//292 297//276 299//277
-f 302//280 304//282 313//291 314//292
-s 46
-f 297//1010 314//1012 315//1013 298//1011
-f 315//1013 314//1012 316//1014 317//1015
-s 1
-f 316//293 314//292 313//291
-f 313//291 312//290 318//294 316//293
-s 46
-f 316//1014 318//1016 319//1017 317//1015
-s 1
-f 311//289 310//288 320//295 321//296
-f 321//296 322//297 312//290 311//289
-f 312//290 322//297 318//294
-s 46
-f 318//1016 323//1018 324//1019 319//1017
-s 1
-f 318//294 322//297 325//299 323//298
-f 325//299 322//297 321//296 326//300
-f 326//300 321//296 320//295 327//301
-f 326//300 328//302 325//299
-f 325//299 328//302 323//298
-f 328//302 326//300 327//301 329//303
-f 329//303 330//304 328//302
-f 328//302 330//304 331//305
-f 331//305 332//306 328//302
-f 328//302 332//306 333//307
-s 46
-f 333//1021 324//1019 323//1018 328//1020
-s 1
-f 186//167 188//169 334//308 335//309
-s 46
-f 334//1022 285//1004 288//1007 335//1023
-f 288//1007 296//1009 336//1024 335//1023
-s 1
-f 335//309 336//310 183//164 186//167
-s 46
-f 296//1009 298//1011 337//1025 336//1024
-s 1
-f 336//310 337//311 178//159 183//164
-s 46
-f 298//1011 315//1013 338//1026 337//1025
-s 1
-f 337//311 338//312 175//156 178//159
-s 46
-f 317//1015 339//1027 338//1026 315//1013
-f 317//1015 319//1017 340//1028 339//1027
-s 1
-f 175//156 338//312 339//313 157//138
-f 339//313 340//314 154//135 157//138
-f 153//134 341//315 342//316 151//132
-f 151//132 342//316 343//317 150//131
-f 150//131 343//317 344//318 149//130
-f 147//128 150//131 149//130 345//319
-f 345//319 149//130 148//129
-f 345//319 142//125 147//128
-f 148//129 149//130 344//318 346//320
-f 344//318 329//303 327//301 346//320
-f 329//303 344//318 343//317 330//304
-f 330//304 343//317 331//305
-f 343//317 332//306 331//305
-f 343//317 342//316 333//307 332//306
-s 46
-f 342//1030 341//1029 324//1019 333//1021
-f 341//1029 340//1028 319//1017 324//1019
-s 33
-f 144//1032 347//1034 348//1035 145//1033
-s 32
-f 144//1039 143//1038 349//1041 347//1040
-s 33
-f 348//1035 350//1036 67//1031 145//1033
-s 32
-f 349//1041 143//1038 142//1037 351//1042
-s 30
-f 350//1052 352//1054 88//1047 67//1043
-f 353//1055 354//1056 352//1054 350//1052
-f 353//1055 355//1057 354//1056
-f 353//1055 350//1052 348//1050 356//1058
-f 356//1058 355//1057 353//1055
-f 347//1049 357//1059 356//1058 348//1050
-f 357//1059 347//1049 349//1051 358//1060
-f 358//1060 349//1051 351//1053 359//1061
-f 359//1061 360//1062 361//1063 358//1060
-f 358//1060 361//1063 362//1064 357//1059
-f 362//1064 361//1063 363//1065
-f 364//1066 363//1065 361//1063
-f 364//1066 361//1063 360//1062 365//1067
-s 1
-f 351//321 142//125 345//319 366//322
-f 345//319 148//129 366//322
-f 148//129 346//320 367//323 368//324
-f 327//301 320//295 367//323 346//320
-f 367//323 369//325 370//326 368//324
-f 367//323 320//295 310//288 369//325
-s 30
-f 359//1061 351//1053 366//1068 371//1071
-f 371//1071 360//1062 359//1061
-f 371//1071 372//1072 365//1067 360//1062
-f 148//1048 368//1069 371//1071 366//1068
-f 368//1069 370//1070 372//1072 371//1071
-f 370//1070 373//1073 372//1072
-f 372//1072 373//1073 374//1074 365//1067
-f 374//1074 375//1075 364//1066 365//1067
-g tie
-s 12
-f 376//1093 373//1092 377//1094
-f 376//1093 377//1094 378//1095
-s 30
-f 376//1076 375//1075 374//1074
-f 376//1076 374//1074 373//1073
-g shirt
-f 373//1073 370//1070 379//1077
-g tie
-s 12
-f 379//1096 380//1097 373//1092
-f 380//1097 381//1098 377//1094 373//1092
-f 381//1098 382//1099 378//1095 377//1094
-g shirt
-s 1
-f 379//327 370//326 383//328
-f 383//328 370//326 369//325 384//329
-f 384//329 369//325 310//288
-f 379//327 383//328 385//330 386//331
-g tie
-s 12
-f 386//1100 387//1101 380//1097 379//1096
-f 387//1101 388//1102 381//1098 380//1097
-f 388//1102 389//1103 382//1099 381//1098
-f 386//1100 390//1104 387//1101
-f 390//1104 391//1105 388//1102 387//1101
-f 390//1104 392//1106 391//1105
-f 391//1105 393//1107 389//1103 388//1102
-f 392//1106 394//1108 393//1107 391//1105
-f 393//1107 395//1109 396//1110 389//1103
-f 394//1108 397//1111 395//1109 393//1107
-f 389//1103 396//1110 398//1112 382//1099
-g shirt
-s 1
-f 385//330 399//332 386//331
-f 399//332 385//330 400//333
-s 8
-f 400//1183 401//1184 399//1182
-f 399//1182 401//1184 390//1178 386//1177
-s 1
-f 385//330 383//328 384//329 402//334
-f 400//333 385//330 402//334 403//335
-f 403//335 404//336 400//333
-f 403//335 402//334 309//287 308//286
-f 309//287 402//334 384//329 310//288
-f 404//336 403//335 308//286 405//337
-f 306//284 406//338 405//337 308//286
-f 407//339 406//338 306//284 303//281
-f 303//281 301//279 408//340 407//339
-f 408//340 301//279 300//278 409//341
-f 409//341 300//278 293//273 410//342
-f 410//342 293//273 292//272 411//343
-f 411//343 292//272 291//271 412//344
-f 411//343 413//345 414//346 410//342
-f 410//342 414//346 415//347 409//341
-f 409//341 415//347 416//348 408//340
-f 408//340 416//348 417//349 407//339
-s 8
-f 400//1183 418//1185 419//1186 401//1184
-f 401//1184 419//1186 392//1179 390//1178
-f 400//1183 420//1187 418//1185
-f 400//1183 421//1188 420//1187
-s 1
-f 400//333 404//336 422//351 421//350
-f 404//336 405//337 423//352 422//351
-s 8
-f 420//1187 421//1188 425//1191 424//1190
-f 424//1190 426//1192 418//1185 420//1187
-s 1
-f 422//351 425//353 421//350
-s 8
-f 423//1189 427//1193 428//1194
-s 1
-f 428//354 425//353 422//351 423//352
-s 8
-f 429//1195 426//1192 424//1190 430//1196
-f 430//1196 13//1172 15//1174 429//1195
-f 424//1190 425//1191 431//1197 430//1196
-s 1
-f 428//354 431//355 425//353
-s 8
-f 427//1193 432//1198 431//1197 428//1194
-f 431//1197 12//1171 13//1172 430//1196
-f 418//1185 426//1192 433//1199 419//1186
-f 419//1186 433//1199 394//1180 392//1179
-f 394//1180 433//1199 434//1200 397//1181
-f 433//1199 426//1192 429//1195 434//1200
-f 434//1200 429//1195 435//1201
-f 435//1201 429//1195 15//1174 14//1173
-f 14//1173 16//1175 436//1202 435//1201
-f 435//1201 436//1202 397//1181 434//1200
-f 432//1198 17//1176 12//1171 431//1197
-g tie
-s 12
-f 437//1114 397//1111 436//1113 438//1115
-s 10
-f 438//1233 436//1232 16//1229 18//1230
-f 18//1230 19//1231 439//1234 438//1233
-s 12
-f 438//1115 439//1116 440//1117 437//1114
-f 437//1114 440//1117 396//1110 395//1109
-f 396//1110 441//1118 398//1112
-f 396//1110 440//1117 442//1119 441//1118
-f 440//1117 439//1116 443//1120 442//1119
-f 439//1116 19//1083 20//1084 443//1120
-f 441//1118 444//1121 398//1112
-f 441//1118 442//1119 445//1122 444//1121
-f 442//1119 443//1120 446//1123 445//1122
-f 443//1120 20//1084 21//1085 446//1123
-s 15
-f 398//1261 444//1262 447//1263 448//1264
-s 55
-f 398//1462 448//1463 449//1464 382//1461
-f 448//1463 450//1465 451//1466 449//1464
-f 378//1460 382//1461 449//1464 452//1467
-f 375//1458 452//1467 453//1468 364//1457
-f 375//1458 376//1459 378//1460 452//1467
-f 452//1467 449//1464 451//1466 453//1468
-f 453//1468 454//1469 363//1456 364//1457
-f 451//1466 455//1470 454//1469 453//1468
-f 450//1465 456//1471 455//1470 451//1466
-s 15
-f 448//1264 447//1263 457//1267 450//1265
-s 55
-f 363//1456 454//1469 458//1472 362//1455
-f 455//1470 458//1472 454//1469
-f 458//1472 459//1473 357//1454 362//1455
-f 455//1470 460//1474 459//1473 458//1472
-f 455//1470 456//1471 460//1474
-s 15
-f 450//1265 457//1267 461//1269 456//1266
-f 456//1266 461//1269 462//1270 460//1268
-s 55
-f 460//1474 463//1475 459//1473
-f 357//1454 459//1473 463//1475 464//1476
-s 54
-f 357//1483 465//1484 356//1482
-f 465//1484 466//1485 467//1486 356//1482
-s 15
-f 357//1260 468//1275 465//1273
-f 357//1260 464//1272 468//1275
-f 468//1275 469//1276 466//1274 465//1273
-f 468//1275 464//1272 469//1276
-f 464//1272 470//1277 471//1278 469//1276
-f 469//1276 471//1278 472//1279 466//1274
-s 55
-f 464//1476 463//1475 473//1478 470//1477
-s 15
-f 460//1268 462//1270 474//1281 463//1271
-f 463//1271 474//1281 475//1282 473//1280
-s 12
-f 444//1121 445//1122 476//1124 477//1125
-f 445//1122 446//1123 478//1126 476//1124
-f 446//1123 21//1085 22//1086 478//1126
-f 478//1126 22//1086 23//1087 479//1127
-f 478//1126 479//1127 480//1128 476//1124
-f 476//1124 480//1128 481//1129 477//1125
-f 26//1090 479//1127 23//1087 24//1088
-f 26//1090 25//1089 480//1128 479//1127
-f 480//1128 25//1089 27//1091 481//1129
-s 15
-f 444//1262 477//1283 482//1285 447//1263
-f 447//1263 482//1285 483//1286 457//1267
-f 457//1267 483//1286 461//1269
-f 461//1269 483//1286 462//1270
-f 462//1270 483//1286 484//1287 474//1281
-f 474//1281 484//1287 485//1288 475//1282
-f 477//1283 481//1284 486//1289 482//1285
-f 482//1285 486//1289 487//1290 483//1286
-f 483//1286 487//1290 488//1291 484//1287
-f 481//1284 27//1237 28//1238 486//1289
-f 486//1289 28//1238 29//1239 487//1290
-f 487//1290 29//1239 30//1240 488//1291
-f 488//1291 30//1240 31//1241 489//1292
-f 484//1287 488//1291 489//1292 485//1288
-f 485//1288 489//1292 490//1293 491//1294
-f 489//1292 31//1241 32//1242 490//1293
-f 490//1293 32//1242 33//1243 492//1295
-f 492//1295 493//1296 491//1294
-f 491//1294 490//1293 492//1295
-f 493//1296 475//1282 485//1288 491//1294
-f 492//1295 33//1243 34//1244 494//1297
-f 492//1295 494//1297 495//1298
-f 495//1298 496//1299 493//1296 492//1295
-f 493//1296 496//1299 497//1300 498//1301
-f 493//1296 498//1301 499//1302
-f 499//1302 473//1280 475//1282 493//1296
-s 55
-f 473//1478 499//1480 500//1481 470//1477
-s 15
-f 470//1277 500//1303 501//1304 471//1278
-f 471//1278 501//1304 502//1305 472//1279
-f 502//1305 501//1304 503//1306
-s 30
-f 356//1058 467//1078 504//1079 355//1057
-f 355//1057 504//1079 505//1080 354//1056
-f 354//1056 505//1080 352//1054
-f 505//1080 506//1081 87//1046 88//1047 352//1054
-f 506//1081 507//1082 86//1045 87//1046
-f 507//1082 85//1044 86//1045
-s 15
-f 508//1310 36//1246 85//1259
-f 508//1310 85//1259 507//1309 509//1311
-f 509//1311 507//1309 510//1312
-f 510//1312 507//1309 506//1308
-f 505//1307 510//1312 506//1308
-f 505//1307 511//1313 512//1314 510//1312
-s 67
-f 504//1488 513//1491 511//1490 505//1489
-s 15
-f 508//1310 35//1245 36//1246
-f 508//1310 514//1315 35//1245
-f 508//1310 515//1316 516//1317 514//1315
-f 515//1316 517//1318 518//1319 516//1317
-s off
-f 466//3 519//3 467//3
-s 67
-f 467//1487 519//1492 513//1491 504//1488
-s 15
-f 466//1274 472//1279 520//1320
-f 520//1320 521//1321 466//1274
-f 520//1320 522//1322 523//1323 521//1321
-f 522//1322 524//1324 523//1323
-f 523//1323 524//1324 509//1311 510//1312
-s 69
-f 466//1493 521//1499 525//1501 519//1498
-f 521//1499 523//1500 526//1502 525//1501
-f 523//1500 510//1494 512//1496 526//1502
-f 519//1498 525//1501 526//1502 512//1496 511//1495 513//1497
-s 15
-f 472//1279 502//1305 520//1320
-f 520//1320 502//1305 522//1322
-f 522//1322 502//1305 527//1325 524//1324
-f 502//1305 497//1300 527//1325
-f 527//1325 528//1326 524//1324
-f 524//1324 528//1326 509//1311
-f 528//1326 517//1318 515//1316
-f 528//1326 515//1316 529//1327
-f 529//1327 509//1311 528//1326
-f 529//1327 515//1316 508//1310
-f 508//1310 509//1311 529//1327
-f 496//1299 495//1298 517//1318 528//1326
-f 528//1326 497//1300 496//1299
-f 497//1300 528//1326 527//1325
-f 495//1298 494//1297 518//1319 517//1318
-f 34//1244 37//1247 518//1319 494//1297
-f 518//1319 37//1247 38//1248 516//1317
-f 38//1248 39//1249 514//1315 516//1317
-f 35//1245 514//1315 39//1249 40//1250
-g coat
-s 1
-f 85//71 36//37 84//70
-f 40//38 41//39 531//357 530//356
-f 84//70 530//356 532//358
-f 530//356 531//357 533//359 532//358
-f 84//70 532//358 534//360 83//69
-f 532//358 533//359 535//361 534//360
-g shirt
-s 15
-f 41//1251 42//1252 531//1328
-f 531//1328 42//1252 536//1331 533//1329
-f 42//1252 43//1253 536//1331
-f 533//1329 536//1331 537//1332 535//1330
-f 536//1331 43//1253 44//1254 537//1332
-g coat
-s 1
-f 83//69 534//360 538//362 82//68
-f 82//68 538//362 45//40 1//26
-f 45//40 538//362 539//363 46//41
-f 534//360 535//361 539//363 538//362
-g shirt
-s 15
-f 535//1330 537//1332 540//1334 539//1333
-f 539//1333 540//1334 47//1256 46//1255
-f 537//1332 44//1254 48//1257 540//1334
-f 540//1334 48//1257 49//1258 47//1256
-g coat
-s 1
-f 271//252 270//251 541//364 542//365
-f 272//253 271//252 542//365 543//366
-f 273//254 272//253 543//366 544//367
-f 274//255 273//254 544//367 545//368
-f 261//242 274//255 545//368 546//369
-f 257//238 261//242 546//369
-f 545//368 544//367 547//370 548//371
-f 544//367 543//366 549//372 547//370
-f 543//366 542//365 550//373 549//372
-f 542//365 541//364 551//374 550//373
-f 270//251 281//262 552//375 541//364
-f 281//262 282//263 553//376 552//375
-f 282//263 283//264 554//377 553//376
-f 283//264 284//265 555//378 554//377
-f 284//265 11//36 50//42 555//378
-f 555//378 50//42 51//43 556//379
-f 555//378 556//379 557//380 554//377
-f 554//377 557//380 558//381 553//376
-f 553//376 558//381 559//382 552//375
-f 552//375 559//382 551//374 541//364
-g shirt
-f 412//344 560//383 413//345 411//343
-g hair
-s 71
-f 564//1503 566//1505 567//1506 565//1504
-f 565//1504 567//1506 568//1507
-f 567//1506 566//1505 569//1508
-f 568//1507 567//1506 570//1509 571//1510
-f 570//1509 567//1506 569//1508 572//1511
-f 570//1509 573//1512 571//1510
-f 571//1510 573//1512 574//1513 575//1514
-f 574//1513 576//1515 575//1514
-f 576//1515 574//1513 577//1516
-f 577//1516 578//1517 579//1518 576//1515
-f 574//1513 573//1512 580//1519 581//1520
-f 581//1520 577//1516 574//1513
-f 577//1516 581//1520 582//1521 583//1522
-f 583//1522 578//1517 577//1516
-f 583//1522 584//1523 585//1524 578//1517
-f 578//1517 585//1524 586//1525 579//1518
-f 584//1523 587//1526 588//1527 585//1524
-f 585//1524 588//1527 586//1525
-s 22
-f 52//1544 601//1559 602//1560 53//1545
-f 53//1545 602//1560 54//1546
-f 602//1560 601//1559 600//1558 603//1561
-f 603//1561 600//1558 599//1557 604//1562
-f 604//1562 599//1557 598//1556 605//1563
-f 605//1563 598//1556 597//1555 606//1564 607//1565
-f 606//1564 597//1555 596//1554
-f 596//1554 595//1553 608//1566 609//1567
-f 609//1567 607//1565 606//1564 596//1554
-f 594//1552 608//1566 595//1553
-f 594//1552 593//1551 610//1568 608//1566
-f 593//1551 611//1569 610//1568
-s off
-f 614//4 615//4 616//4
-s 71
-f 573//1512 570//1509 572//1511 580//1519
-f 580//1519 572//1511 617//1531 618//1532
-f 618//1532 617//1531 613//1530 619//1533
-f 619//1533 620//1534 582//1521 581//1520 618//1532
-f 581//1520 580//1519 618//1532
-f 620//1534 619//1533 621//1535
-s 47
-f 621//1689 619//1688 613//1687 622//1690
-f 622//1690 613//1687 612//1686
-f 623//1691 624//1692 625//1693 612//1686
-f 622//1690 612//1686 625//1693
-s 49
-f 623//1707 291//1703 289//1702 624//1708
-s 47
-f 289//1685 626//1694 627//1695 624//1692
-f 289//1685 286//1684 628//1696 626//1694
-f 628//1696 286//1684 285//1683 629//1697
-f 625//1693 624//1692 627//1695 630//1698
-f 625//1693 630//1698 631//1699 622//1690
-f 622//1690 631//1699 632//1700 633//1701 621//1689
-s 71
-f 621//1535 633//1536 634//1537 582//1521 620//1534
-f 584//1523 583//1522 582//1521 634//1537
-f 634//1537 636//1538 587//1526 584//1523
-f 588//1527 587//1526 637//1539
-f 637//1539 611//1529 593//1528 588//1527
-f 587//1526 636//1538 638//1540 637//1539
-f 637//1539 638//1540 639//1541 611//1529
-s 22
-f 611//1569 639//1570 640//1571
-f 640//1571 641//1572 610//1568 611//1569
-f 610//1568 641//1572 642//1573 608//1566
-f 608//1566 643//1574 644//1575 609//1567
-s off
-f 642//5 645//5 643//5
-s 22
-f 641//1572 640//1571 646//1577
-f 645//1576 642//1573 641//1572 646//1577
-f 646//1577 640//1571 639//1570 647//1578
-f 609//1567 644//1575 648//1579 607//1565
-f 607//1565 648//1579 649//1580
-f 649//1580 605//1563 607//1565
-f 648//1579 650//1581 651//1582 649//1580
-f 649//1580 651//1582 605//1563
-f 605//1563 651//1582 652//1583 604//1562
-f 604//1562 652//1583 653//1584 603//1561
-f 603//1561 55//1547 54//1546 602//1560
-f 603//1561 653//1584 654//1585 55//1547
-f 55//1547 654//1585 655//1586 656//1587 657//1588
-f 655//1586 654//1585 653//1584 658//1589
-f 659//1590 658//1589 653//1584 652//1583
-f 659//1590 652//1583 651//1582 650//1581
-f 646//1577 647//1578 660//1591 645//1576
-s 1
-f 645//400 661//402 662//403 643//398
-s 22
-f 645//1576 660//1591 661//1592
-s 1
-f 643//398 662//403 663//404 664//405 644//399
-s 22
-f 664//1593 665//1594 648//1579
-s 1
-f 664//405 663//404 666//407 665//406
-f 665//406 666//407 667//408
-f 667//408 668//409 669//410 665//406
-s 22
-f 669//1595 670//1596 659//1590 650//1581
-s 1
-f 669//410 668//409 671//412 670//411
-f 671//412 672//413 670//411
-f 644//399 664//405 648//401
-s 22
-f 655//1586 658//1589 672//1597 673//1598
-f 670//1596 672//1597 658//1589 659//1590
-f 655//1586 673//1598 674//1599 656//1587
-s 1
-f 674//415 676//416 677//417
-s 22
-f 674//1599 677//1601 56//1548 57//1549 675//1600
-s 1
-f 674//415 673//414 671//412 676//416
-f 671//412 673//414 672//413
-f 677//417 676//416 671//412 678//418
-f 678//418 671//412 667//408 679//419
-f 679//419 666//407 663//404
-f 667//408 671//412 668//409
-f 679//419 667//408 666//407
-f 662//403 680//420 663//404
-f 663//404 680//420 681//421
-f 663//404 681//421 682//422 683//423
-f 683//423 682//422 684//424
-f 683//423 684//424 685//425 686//426
-f 683//423 686//426 678//418 679//419 663//404
-f 680//420 662//403 661//402
-f 680//420 661//402 687//427 681//421
-s 22
-f 681//1602 687//1604 688//1605 682//1603
-f 682//1603 688//1605 689//1606
-s 1
-f 689//428 690//429 684//424 682//422
-s 22
-f 661//1592 660//1591 691//1607 687//1604
-f 688//1605 691//1607 692//1608 689//1606
-f 689//1606 692//1608 693//1609
-s 1
-f 693//430 694//431 690//429 689//428
-s 77
-f 660//1714 647//1713 638//1711
-f 660//1714 638//1711 636//1710 691//1715
-f 695//1716 691//1715 636//1710
-s 71
-f 636//1538 634//1537 696//1543 695//1542
-s 22
-f 697//1612 693//1609 692//1608
-f 692//1608 691//1607 695//1610 697//1612
-f 697//1612 698//1613 693//1609
-s 1
-f 693//430 698//434 699//435 694//431
-s 22
-f 688//1605 687//1604 691//1607
-s 1
-f 699//435 698//434 700//436 701//437
-f 701//437 700//436 702//438 703//439
-f 702//438 704//440 630//393 627//390
-f 703//439 702//438 628//391 629//392
-f 702//438 626//389 628//391
-f 702//438 627//390 626//389
-f 630//393 704//440 632//395 631//394
-f 632//395 704//440 697//433 696//432
-s 22
-f 697//1612 695//1610 696//1611
-f 697//1612 704//1614 698//1613
-s 1
-f 698//434 704//440 700//436
-f 696//432 634//397 633//396 632//395
-f 704//440 702//438 700//436
-s 77
-f 647//1713 639//1712 638//1711
-s 1
-f 629//392 285//266 705//441 706//442
-g shirt
-f 705//441 285//266 334//308 188//169
-g coat
-f 188//169 187//168 707//443 705//441
-f 707//443 187//168 189//170 708//444
-f 708//444 189//170 191//172 709//445
-f 710//446 709//445 191//172 199//180
-f 711//447 705//441 707//443
-f 707//443 708//444 712//448 711//447
-f 711//447 712//448 713//449 714//450
-f 714//450 713//449 715//451 716//452
-f 715//451 713//449 717//453 718//454
-f 713//449 712//448 719//455 717//453
-f 712//448 708//444 709//445 719//455
-g hair
-f 711//447 714//450 720//456 721//457
-f 714//450 716//452 59//45 720//456
-g coat
-f 718//454 717//453 722//458 723//459
-f 722//458 717//453 719//455 724//460
-f 724//460 719//455 709//445 710//446
-f 198//179 204//185 725//461 199//180
-f 199//180 725//461 726//462 710//446
-f 710//446 726//462 727//463 724//460
-f 724//460 727//463 728//464 722//458
-f 722//458 728//464 729//465 723//459
-g hair
-f 59//45 58//44 730//466 720//456
-f 720//456 730//466 731//467 721//457
-f 701//437 731//467 732//468 733//469
-f 733//469 699//435 701//437
-f 58//44 60//46 734//470 730//466
-f 730//466 734//470 732//468 731//467
-f 732//468 735//471 736//472 733//469
-f 733//469 736//472 694//431 699//435
-f 735//471 732//468 734//470 737//473
-f 60//46 61//47 737//473 734//470
-f 690//429 694//431 736//472
-f 736//472 735//471 738//474 690//429
-f 738//474 735//471 737//473 739//475
-f 62//48 739//475 737//473 61//47
-f 62//48 63//49 740//476 739//475
-f 739//475 740//476 685//425 738//474
-f 738//474 685//425 684//424 690//429
-f 685//425 740//476 741//477 686//426
-f 741//477 740//476 63//49 64//50
-s 22
-f 64//1550 56//1548 677//1601 741//1615
-s 1
-f 741//477 677//417 678//418 686//426
-f 711//447 721//457 742//478 706//442 705//441
-f 742//478 703//439 629//392 706//442
-f 731//467 701//437 703//439 742//478 721//457
-g coat
-f 204//185 206//187 725//461
-f 725//461 206//187 743//479 744//480
-f 744//480 743//479 257//238 745//481
-f 206//187 205//186 256//237 743//479
-f 725//461 744//480 746//482 747//483
-f 744//480 745//481 746//482
-f 725//461 747//483 748//484 726//462
-f 726//462 748//484 749//485 727//463
-f 727//463 749//485 750//486 728//464
-f 728//464 750//486 751//487 729//465
-f 751//487 750//486 752//488 753//489
-f 750//486 749//485 754//490 752//488
-f 749//485 748//484 755//491 754//490
-f 748//484 747//483 756//492 755//491
-f 747//483 746//482 756//492
-f 257//238 546//369 757//493 745//481
-f 546//369 545//368 548//371 757//493
-f 757//493 746//482 745//481
-f 757//493 548//371 758//494 746//482
-f 548//371 547//370 759//495 758//494
-f 549//372 760//496 759//495 547//370
-f 549//372 550//373 761//497 760//496
-f 550//373 551//374 762//498 761//497
-f 551//374 559//382 763//499 762//498
-f 559//382 558//381 764//500 763//499
-f 558//381 557//380 765//501 764//500
-f 556//379 766//502 765//501 557//380
-f 556//379 51//43 65//51 766//502
-f 753//489 752//488 767//503 768//504
-f 752//488 754//490 769//505 767//503
-f 754//490 755//491 770//506 769//505
-f 755//491 756//492 771//507 770//506
-f 756//492 746//482 758//494 771//507
-f 768//504 767//503 772//508 773//509
-f 767//503 769//505 774//510 772//508
-f 769//505 770//506 775//511 774//510
-f 770//506 776//512 775//511
-f 770//506 771//507 777//513 776//512
-f 771//507 758//494 759//495 777//513
-f 773//509 772//508 778//514 779//515
-f 772//508 774//510 780//516 778//514
-f 774//510 775//511 781//517 780//516
-f 775//511 776//512 782//518 781//517
-f 776//512 777//513 783//519 782//518
-f 779//515 778//514 784//520 785//521
-f 778//514 780//516 786//522 784//520
-f 780//516 781//517 787//523 786//522
-f 781//517 782//518 788//524 787//523
-f 782//518 789//525 788//524
-f 782//518 783//519 790//526 789//525
-f 785//521 784//520 791//527 792//528
-f 784//520 786//522 793//529 791//527
-f 786//522 787//523 794//530 793//529
-f 787//523 788//524 795//531 794//530
-f 788//524 789//525 796//532 795//531
-f 789//525 790//526 797//533 796//532
-f 792//528 791//527 798//534 799//535
-f 791//527 793//529 800//536 798//534
-f 793//529 794//530 801//537 800//536
-f 794//530 795//531 802//538 801//537
-f 795//531 796//532 803//539 802//538
-f 796//532 797//533 804//540 803//539
-f 799//535 798//534 805//541 806//542
-f 798//534 800//536 807//543 805//541
-f 800//536 801//537 808//544 807//543
-f 801//537 802//538 809//545 808//544
-f 802//538 803//539 810//546 809//545
-f 803//539 804//540 811//547 810//546
-f 806//542 805//541 812//548 813//549
-f 813//549 812//548 814//550 815//551
-f 815//551 814//550 816//552 817//553
-f 805//541 807//543 818//554 812//548
-f 812//548 818//554 819//555 814//550
-f 814//550 819//555 820//556 816//552
-f 807//543 808//544 821//557 818//554
-f 818//554 821//557 822//558 819//555
-f 819//555 822//558 823//559 820//556
-f 808//544 809//545 824//560 821//557
-f 821//557 824//560 825//561 822//558
-f 822//558 825//561 826//562 823//559
-f 809//545 810//546 827//563 824//560
-f 824//560 827//563 828//564 825//561
-f 825//561 828//564 829//565 826//562
-f 810//546 811//547 830//566 827//563
-f 827//563 830//566 831//567 828//564
-f 828//564 831//567 832//568 829//565
-f 777//513 759//495 760//496 783//519
-f 783//519 760//496 761//497 790//526
-f 790//526 761//497 762//498 797//533
-f 797//533 762//498 763//499 804//540
-f 804//540 763//499 764//500 811//547
-f 811//547 764//500 765//501 830//566
-f 830//566 765//501 766//502 831//567
-f 831//567 766//502 65//51 832//568
-g hair
-s 22
-f 674//1599 675//1600 657//1588 656//1587
-f 669//1595 650//1581 648//1579 665//1594
-s off
-f 608//6 642//6 643//6
-s 49
-f 563//1706 560//1705 412//1704
-s off
-f 614//7 616//7 615//7
-g shirt
-s 1
-f 340//314 341//315 153//134 154//135
-s off
-f 592//8 427//8 423//8 591//8
-s 1
-f 406//338 407//339 417//349 562//385
-s off
-f 406//9 562//9 561//9
-s 1
-f 423//352 405//337 591//388
-f 561//384 589//386 590//387 591//388 405//337
-f 405//337 406//338 561//384
-g hair
-s 49
-f 635//1709 563//1706 412//1704 291//1703 623//1707
-g coat
-s 1
-f 743//479 256//237 257//238
-g tie
-s 15
-f 497//1300 503//1306 500//1303 498//1301
-f 503//1306 501//1304 500//1303
-f 497//1300 502//1305 503//1306
-s 55
-f 500//1481 499//1480 498//1479
-s 12
-f 437//1114 395//1109 397//1111
-s 15
-f 36//1246 35//1245 40//1250
-g coat
-s 1
-f 36//37 40//38 530//356 84//70
-g shirt
-s 15
-f 28//1238 27//1237 25//1235
-f 29//1239 28//1238 25//1235 26//1236
-s off
-f 42//10 41//10 40//10
-s 15
-f 26//1236 833//1335 834//1336 29//1239
-f 29//1239 834//1336 835//1337 30//1240
-f 30//1240 835//1337 836//1338 31//1241
-f 31//1241 836//1338 837//1339 32//1242
-f 32//1242 837//1339 838//1340 33//1243
-f 33//1243 838//1340 839//1341 34//1244
-f 34//1244 839//1341 840//1342 37//1247
-f 37//1247 840//1342 841//1343 38//1248
-f 38//1248 841//1343 842//1344 39//1249
-f 39//1249 842//1344 843//1345 40//1250
-f 40//1250 843//1345 844//1346 42//1252
-f 42//1252 844//1346 845//1347 43//1253
-f 43//1253 845//1347 846//1348 44//1254
-f 44//1254 846//1348 847//1349 48//1257
-g tie
-s 13
-f 24//1717 833//1719 26//1718
-g coat
-s 83
-f 872//1745 871//1744 870//1743 869//1742 868//1741 867//1740 850//1723 849//1722 848//1721
-g shirt
-s 15
-f 49//1258 848//1350 849//1351 47//1256
-f 47//1256 849//1351 850//1352 46//1255
-g coat
-s 1
-f 46//41 850//569 851//570 45//40
-f 45//40 851//570 852//571 1//26
-f 1//26 852//571 853//572 2//27
-s 3
-f 2//964 853//968 854//969 4//965
-s 1
-f 4//29 854//573 855//574 3//28
-f 3//28 855//574 856//575 5//30
-f 5//30 856//575 857//576 6//31
-f 6//31 857//576 858//577 7//32
-f 7//32 858//577 859//578 8//33
-s 5
-f 8//986 859//1002 860//1003 9//987
-s 1
-f 9//34 860//579 861//580 10//35
-f 10//35 861//580 862//581 11//36
-f 11//36 862//581 863//582 50//42
-f 50//42 863//582 864//583 51//43
-f 51//43 864//583 865//584 65//51
-f 65//51 865//584 866//585 832//568
-f 832//568 866//585 867//586 829//565
-f 829//565 867//586 868//587 826//562
-f 826//562 868//587 869//588 823//559
-f 823//559 869//588 870//589 820//556
-f 820//556 870//589 871//590 816//552
-f 816//552 871//590 872//591 817//553
-g shirt
-s 15
-f 49//1258 48//1257 847//1349
-g coat
-s 83
-f 866//1739 865//1738 864//1737 863//1736 862//1735 861//1734 860//1733
-f 867//1740 866//1739 860//1733 859//1732 858//1731 857//1730 856//1729 855//1728 854//1727 853//1726 852//1725 851//1724 850//1723
-s 1
-f 914//599 913//598 912//597 911//596
-f 916//601 915//600 913//598 914//599
-f 918//603 917//602 915//600 916//601
-f 920//605 919//604 917//602 918//603
-f 922//607 921//606 919//604 920//605
-f 924//609 923//608 921//606 922//607
-f 926//611 925//610 923//608 924//609
-s 86
-f 876//1770 874//1769 925//1771 926//1772
-s 84
-f 874//1776 873//1775 927//1793 925//1791
-s 1
-f 925//610 927//612 928//613 923//608
-f 923//608 928//613 929//614 921//606
-s 96
-f 921//2006 929//2007 930//2008 919//2005
-f 919//2005 930//2008 931//2009 917//2004
-f 917//2004 931//2009 932//2010 915//2003
-f 915//2003 932//2010 933//2011 913//2002
-f 913//2002 933//2011 912//2001
-s 1
-f 935//616 934//615 914//599 911//596
-f 937//618 936//617 934//615 935//616
-f 939//620 938//619 936//617 937//618
-f 940//621 938//619 939//620
-f 942//623 941//622 938//619 940//621
-f 941//622 944//625 943//624 936//617 938//619
-f 943//624 946//627 945//626 934//615 936//617
-f 945//626 916//601 914//599 934//615
-f 948//629 947//628 918//603 916//601 945//626
-f 951//632 950//631 949//630 941//622 942//623
-f 941//622 949//630 944//625
-f 949//630 953//634 952//633 944//625
-f 950//631 954//635 949//630
-f 949//630 954//635 955//636 953//634
-f 948//629 945//626 946//627
-f 956//637 947//628 948//629
-f 958//639 948//629 946//627 957//638
-f 959//640 956//637 948//629 958//639
-f 952//633 953//634 960//641
-f 953//634 955//636 960//641
-f 958//639 957//638 961//642
-f 959//640 958//639 961//642
-f 952//633 962//643 943//624 944//625
-f 962//643 957//638 946//627 943//624
-f 963//644 962//643 952//633 960//641
-f 961//642 957//638 962//643 963//644
-f 955//636 965//646 964//645 960//641
-f 965//646 959//640 961//642 964//645
-f 965//646 966//647 956//637 959//640
-f 955//636 954//635 966//647 965//646
-f 964//645 961//642 963//644 960//641
-f 968//649 967//648 950//631 951//632
-f 967//648 969//650 966//647 954//635 950//631
-f 969//650 970//651 947//628 956//637 966//647
-f 970//651 920//605 918//603 947//628
-f 971//652 922//607 920//605 970//651
-f 972//653 924//609 922//607 971//652
-f 973//654 926//611 924//609 972//653
-s 84
-f 875//1777 876//1778 926//1792 973//1797
-f 973//1797 974//1798 877//1779 875//1777
-s 1
-f 972//653 975//656 974//655 973//654
-f 971//652 976//657 975//656 972//653
-f 970//651 969//650 976//657 971//652
-f 967//648 977//658 976//657 969//650
-f 968//649 978//659 977//658 967//648
-f 980//661 979//660 977//658 978//659
-f 982//663 981//662 979//660 980//661
-s 84
-f 879//1781 878//1780 981//1799 982//1800
-f 878//1780 877//1779 974//1798 981//1799
-s 1
-f 981//662 974//655 975//656 979//660
-f 979//660 975//656 976//657 977//658
-f 984//665 911//596 912//597 983//664
-f 985//666 911//596 984//665
-f 984//665 986//667 985//666
-f 983//664 988//669 987//668 986//667 984//665
-s 102
-f 989//2015 988//2014 983//2013
-f 983//2013 990//2016 989//2015
-f 912//2012 990//2016 983//2013
-s 1
-f 992//671 991//670 986//667 987//668
-g shirt
-f 996//674 992//671 995//673
-g coat
-f 998//676 997//675 991//670 992//671 996//674
-f 1000//678 997//675 998//676 999//677
-f 999//677 1002//680 1001//679 1000//678
-f 1003//681 986//667 991//670
-f 991//670 997//675 1004//682 1003//681
-f 1004//682 997//675 1000//678 1005//683
-f 1005//683 1000//678 1001//679 1006//684
-f 1008//686 1007//685 935//616 911//596
-f 911//596 985//666 1009//687 1008//686
-f 986//667 1010//688 1009//687 985//666
-f 1011//689 937//618 935//616 1007//685
-f 1012//690 939//620 937//618 1011//689
-f 1014//692 1013//691 951//632 942//623
-f 1013//691 1015//693 968//649 951//632
-f 1015//693 1016//694 978//659 968//649
-f 1016//694 1017//695 980//661 978//659
-f 1017//695 1018//696 982//663 980//661
-s 84
-f 1018//1809 880//1782 879//1781 982//1800
-s 1
-f 1019//697 940//621 939//620 1012//690
-f 1014//692 942//623 940//621 1019//697
-f 1021//699 1001//679 1002//680 1020//698
-f 1022//700 1006//684 1001//679 1021//699
-f 1024//702 1021//699 1020//698 1023//701
-f 1025//703 1022//700 1021//699 1024//702
-f 1024//702 1027//705 1026//704 1025//703
-f 1024//702 1023//701 1028//706 1027//705
-f 1026//704 1027//705 1030//708 1029//707
-f 1027//705 1028//706 1031//709 1030//708
-f 1031//709 1033//711 1032//710 1030//708
-f 1029//707 1030//708 1032//710 1034//712
-f 1036//714 1035//713 1029//707 1034//712
-f 1035//713 1037//715 1026//704 1029//707
-f 1037//715 1038//716 1025//703 1026//704
-f 1040//718 1039//717 1006//684 1022//700
-f 1039//717 1041//719 1005//683 1006//684
-f 1041//719 1042//720 1004//682 1005//683
-f 1040//718 1022//700 1025//703 1038//716
-f 1044//722 1043//721 1035//713 1036//714
-f 1043//721 1045//723 1037//715 1035//713
-f 1045//723 1046//724 1038//716 1037//715
-f 1046//724 1047//725 1040//718 1038//716
-s 84
-f 1047//1819 1048//1820 1039//1815 1040//1816
-s 1
-f 1049//727 1045//723 1043//721
-f 1051//729 1050//728 1045//723 1049//727
-f 1052//730 1046//724 1045//723 1050//728
-f 1053//731 1047//725 1046//724 1052//730
-f 1054//732 1048//726 1047//725 1053//731
-s 84
-f 1048//1820 1055//1821 1041//1817 1039//1815
-f 1055//1821 1056//1822 1042//1818 1041//1817
-s 1
-f 1054//732 1057//735 1055//733 1048//726
-f 1057//735 1058//736 1056//734 1055//733
-f 1059//737 1010//688 986//667 1003//681
-f 1004//682 1042//720 1059//737 1003//681
-f 1061//739 1060//738 1009//687 1010//688
-s off
-f 1060//11 1062//11 1008//11 1009//11
-s 1
-f 1007//685 1008//686 1062//740
-f 1063//741 1011//689 1007//685 1062//740
-f 1064//742 1012//690 1011//689 1063//741
-f 1065//743 1019//697 1012//690 1064//742
-s 89
-f 1065//2026 1066//2027 1014//2020 1019//2025
-f 1066//2027 1067//2028 1013//2019 1014//2020
-f 1067//2028 1068//2029 1015//2021 1013//2019
-f 1068//2029 1069//2030 1016//2022 1015//2021
-f 1069//2030 1070//2031 1017//2023 1016//2022
-f 1070//2031 1071//2032 1018//2024 1017//2023
-f 1071//2032 881//2018 880//2017 1018//2024
-s 84
-f 1073//1837 1072//1836 1066//1830 1065//1829
-f 1065//1829 1076//1840 1075//1839 1074//1838 1073//1837
-f 1072//1836 1077//1841 1067//1831 1066//1830
-f 1077//1841 1078//1842 1068//1832 1067//1831
-f 1078//1842 1079//1843 1069//1833 1068//1832
-f 1079//1843 1080//1844 1070//1834 1069//1833
-f 1080//1844 1081//1845 1071//1835 1070//1834
-f 882//1784 881//1783 1071//1835 1081//1845
-s off
-f 1082//12 1061//12 1010//12 1059//12
-s 84
-f 1056//1822 1082//1846 1059//1823 1042//1818
-s 1
-f 1058//736 1085//747 1084//746 1083//745 1082//744 1056//734
-s 84
-f 1082//1846 1060//1824 1061//1825
-f 1083//1847 1086//1850 1060//1824 1082//1846
-f 1063//1827 1062//1826 1060//1824
-f 1064//1828 1063//1827 1060//1824
-f 1086//1850 1087//1851 1064//1828 1060//1824
-f 1065//1829 1064//1828 1087//1851 1076//1840
-f 1085//1849 1074//1838 1075//1839 1084//1848
-g button
-f 1089//1853 1088//1852 1086//1850 1083//1847
-s 1
-f 1084//746 1090//749 1089//748 1083//745
-s 84
-f 1075//1839 1091//1855 1090//1854 1084//1848
-f 1075//1839 1076//1840 1092//1856 1091//1855
-f 1076//1840 1087//1851 1093//1857 1092//1856
-f 1093//1857 1087//1851 1086//1850 1088//1852
-s 1
-f 1089//748 1090//749 1095//751 1094//750
-s 84
-f 1094//1858 1096//1860 1088//1852 1089//1853
-f 1097//1861 1093//1857 1088//1852 1096//1860
-f 1098//1862 1092//1856 1093//1857 1097//1861
-f 1099//1863 1091//1855 1092//1856 1098//1862
-f 1095//1859 1090//1854 1091//1855 1099//1863
-s 1
-f 1094//750 1095//751 1100//752
-s 84
-f 1096//1860 1094//1858 1100//1864
-f 1097//1861 1096//1860 1100//1864
-f 1098//1862 1097//1861 1100//1864
-f 1099//1863 1098//1862 1100//1864
-f 1095//1859 1099//1863 1100//1864
-g coat
-s 1
-f 1101//753 1052//730 1050//728
-f 1101//753 1103//755 1053//731 1052//730
-f 1104//756 1054//732 1053//731 1103//755
-f 1105//757 1057//735 1054//732 1104//756
-f 1102//754 1106//758 1103//755 1101//753
-f 1106//758 1104//756 1103//755
-f 1106//758 1107//759 1105//757 1104//756
-f 1105//757 1108//760 1058//736 1057//735
-f 1109//761 1085//747 1058//736 1108//760
-s 84
-f 1110//1866 1074//1838 1085//1849 1109//1865
-f 1111//1867 1073//1837 1074//1838 1110//1866
-s 1
-f 1107//759 1112//762 1108//760 1105//757
-f 1113//763 1109//761 1108//760 1112//762
-s 84
-f 1114//1869 1110//1866 1109//1865 1113//1868
-f 1115//1870 1110//1866 1114//1869
-f 1115//1870 1111//1867 1110//1866
-f 1114//1869 1116//1871 1115//1870
-f 1113//1868 1117//1872 1116//1871 1114//1869
-s 1
-f 1112//762 1118//767 1117//766 1113//763
-f 1107//759 1119//768 1118//767 1112//762
-f 1106//758 1119//768 1107//759
-s 84
-f 1120//1873 1072//1836 1073//1837 1111//1867
-f 1121//1874 1077//1841 1072//1836 1120//1873
-f 1122//1875 1078//1842 1077//1841 1121//1874
-f 1123//1876 1079//1843 1078//1842 1122//1875
-f 1124//1877 1080//1844 1079//1843 1123//1876
-f 1125//1878 1081//1845 1080//1844 1124//1877
-f 883//1785 882//1784 1081//1845 1125//1878
-f 1115//1870 1126//1879 1120//1873 1111//1867
-f 1126//1879 1121//1874 1120//1873
-f 1126//1879 1127//1880 1122//1875 1121//1874
-f 1127//1880 1123//1876 1122//1875
-f 1127//1880 1128//1881 1124//1877 1123//1876
-f 1128//1881 1129//1882 1125//1878 1124//1877
-f 1129//1882 883//1785 1125//1878
-g shirt
-s 116
-f 1133//2038 1132//2037 1131//2036 1130//2035
-s 84
-f 1132//1885 1135//1887 1134//1886 1131//1884
-f 1134//1886 1135//1887 1137//1889 1136//1888
-f 1135//1887 1139//1891 1138//1890 1137//1889
-f 1132//1885 1140//1892 1139//1891 1135//1887
-s 116
-f 1133//2038 1141//2040 1140//2039 1132//2037
-f 1143//2042 1142//2041 1140//2039 1141//2040
-s 84
-f 1142//1893 1144//1894 1139//1891 1140//1892
-f 1144//1894 1145//1895 1138//1890 1139//1891
-f 1147//1897 1146//1896 1145//1895 1144//1894
-f 1149//1899 1148//1898 1146//1896 1147//1897
-f 1150//1900 1148//1898 1149//1899
-f 1152//1902 1151//1901 1148//1898 1150//1900
-f 1154//1904 1153//1903 1151//1901 1152//1902
-f 1156//1906 1155//1905 1154//1904 1152//1902
-f 1152//1902 1150//1900 1157//1907 1156//1906
-f 1149//1899 1158//1908 1157//1907 1150//1900
-f 1144//1894 1142//1893 1159//1909 1147//1897
-f 1159//1909 1158//1908 1149//1899 1147//1897
-s 116
-f 1143//2042 1160//2044 1159//2043 1142//2041
-f 1162//2046 1161//2045 1159//2043 1160//2044
-s 84
-f 1158//1908 1159//1909 1161//1910
-f 1161//1910 1163//1911 1157//1907 1158//1908
-s 116
-f 1162//2046 1164//2048 1163//2047 1161//2045
-s 84
-f 1166//1913 1165//1912 1155//1905 1156//1906
-f 1156//1906 1157//1907 1167//1914 1166//1913
-f 1163//1911 1167//1914 1157//1907
-s 116
-f 1164//2048 1169//2050 1168//2049 1163//2047
-s 84
-f 1168//1915 1170//1916 1167//1914 1163//1911
-f 1171//1917 1166//1913 1167//1914 1170//1916
-f 1172//1918 1165//1912 1166//1913 1171//1917
-f 1170//1916 1173//1919 1171//1917
-f 1168//1915 1173//1919 1170//1916
-f 1174//1920 1172//1918 1171//1917 1173//1919
-f 1173//1919 1175//1921 1174//1920
-f 1176//1922 1175//1921 1173//1919
-f 1173//1919 1177//1923 1176//1922
-f 1178//1924 1177//1923 1173//1919
-s 116
-f 1173//2051 1168//2049 1169//2050 1178//2052
-s 84
-f 1180//1926 1179//1925 1033//1814 1031//1813
-s 116
-f 1180//2054 1133//2038 1130//2035 1179//2053
-f 1180//2054 1181//2055 1141//2040 1133//2038
-s 84
-f 1031//1813 1028//1812 1181//1927 1180//1926
-s 116
-f 1181//2055 1182//2056 1143//2042 1141//2040
-s 84
-f 1028//1812 1023//1811 1182//1928 1181//1927
-s 116
-f 1182//2056 1183//2057 1160//2044 1143//2042
-s 84
-f 1023//1811 1020//1810 1183//1929 1182//1928
-s 116
-f 1160//2044 1183//2057 1184//2058 1162//2046
-f 1184//2058 1185//2059 1164//2048 1162//2046
-s 84
-f 1002//1808 1184//1930 1183//1929 1020//1810
-f 1002//1808 999//1807 1185//1931 1184//1930
-f 996//1805 1187//1933 1186//1932 998//1806
-f 995//1804 1188//1934 1187//1933 996//1805
-f 994//1803 1189//1935 1188//1934 995//1804
-s 1
-f 1190//774 994//672 995//673 992//671
-s 84
-f 993//1802 994//1803 1190//1936
-s 1
-f 992//671 987//668 1190//774
-s 84
-f 1191//1937 1189//1935 994//1803 993//1802
-f 1191//1937 1172//1918 1174//1920 1189//1935
-f 1175//1921 1188//1934 1189//1935 1174//1920
-f 1176//1922 1188//1934 1175//1921
-f 1176//1922 1177//1923 1188//1934
-f 1177//1923 1178//1924 1187//1933 1188//1934
-s 116
-f 1178//2052 1169//2050 1186//2060 1187//2061
-f 1169//2050 1164//2048 1185//2059 1186//2060
-s 104
-f 990//2064 1193//2066 1192//2065 989//2063
-s 103
-f 1192//2071 1194//2072 988//2069 989//2070
-s 104
-f 990//2064 912//2062 1195//2067 1193//2066
-s 103
-f 1196//2073 987//2068 988//2069 1194//2072
-s 101
-f 912//2074 933//2078 1197//2085 1195//2083
-f 1195//2083 1197//2085 1199//2087 1198//2086
-f 1199//2087 1200//2088 1198//2086
-f 1201//2089 1193//2081 1195//2083 1198//2086
-f 1198//2086 1200//2088 1201//2089
-f 1193//2081 1201//2089 1202//2090 1192//2080
-f 1203//2091 1194//2082 1192//2080 1202//2090
-f 1204//2092 1196//2084 1194//2082 1203//2091
-f 1203//2091 1206//2094 1205//2093 1204//2092
-f 1202//2090 1207//2095 1206//2094 1203//2091
-f 1208//2096 1206//2094 1207//2095
-f 1206//2094 1208//2096 1209//2097
-f 1210//2098 1205//2093 1206//2094 1209//2097
-s 84
-f 1211//1939 1190//1936 987//1801 1196//1938
-f 1211//1939 993//1802 1190//1936
-f 1213//1941 1212//1940 1191//1937 993//1802
-f 1191//1937 1212//1940 1165//1912 1172//1918
-f 1213//1941 1215//1943 1214//1942 1212//1940
-f 1214//1942 1155//1905 1165//1912 1212//1940
-s 101
-f 1216//2102 1211//2099 1196//2084 1204//2092
-f 1204//2092 1205//2093 1216//2102
-f 1205//2093 1210//2098 1217//2103 1216//2102
-f 1211//2099 1216//2102 1213//2100 993//2079
-f 1216//2102 1217//2103 1215//2101 1213//2100
-f 1217//2103 1218//2104 1215//2101
-f 1210//2098 1219//2105 1218//2104 1217//2103
-f 1210//2098 1209//2097 1220//2106 1219//2105
-g tie
-s 12
-f 1222//1135 1218//1133 1221//1134
-f 1223//1136 1222//1135 1221//1134
-s 101
-f 1219//2105 1220//2106 1221//2107
-f 1218//2104 1219//2105 1221//2107
-g shirt
-f 1224//2108 1215//2101 1218//2104
-g tie
-s 12
-f 1218//1133 1225//1138 1224//1137
-f 1218//1133 1222//1135 1226//1139 1225//1138
-f 1222//1135 1223//1136 1227//1140 1226//1139
-g shirt
-s 84
-f 1228//1945 1215//1943 1224//1944
-f 1229//1946 1214//1942 1215//1943 1228//1945
-f 1155//1905 1214//1942 1229//1946
-f 1231//1948 1230//1947 1228//1945 1224//1944
-g tie
-s 12
-f 1224//1137 1225//1138 1232//1142 1231//1141
-f 1225//1138 1226//1139 1233//1143 1232//1142
-f 1226//1139 1227//1140 1234//1144 1233//1143
-f 1232//1142 1235//1145 1231//1141
-f 1232//1142 1233//1143 1236//1146 1235//1145
-f 1236//1146 1237//1147 1235//1145
-f 1233//1143 1234//1144 1238//1148 1236//1146
-f 1236//1146 1238//1148 1239//1149 1237//1147
-f 1234//1144 1241//1151 1240//1150 1238//1148
-f 1238//1148 1240//1150 1242//1152 1239//1149
-f 1227//1140 1243//1153 1241//1151 1234//1144
-g shirt
-s 84
-f 1231//1948 1244//1949 1230//1947
-f 1245//1950 1230//1947 1244//1949
-s 8
-f 1244//1208 1246//1210 1245//1209
-f 1231//1203 1235//1204 1246//1210 1244//1208
-s 84
-f 1247//1951 1229//1946 1228//1945 1230//1947
-f 1248//1952 1247//1951 1230//1947 1245//1950
-f 1245//1950 1249//1953 1248//1952
-f 1153//1903 1154//1904 1247//1951 1248//1952
-f 1155//1905 1229//1946 1247//1951 1154//1904
-f 1250//1954 1153//1903 1248//1952 1249//1953
-f 1153//1903 1250//1954 1251//1955 1151//1901
-f 1148//1898 1151//1901 1251//1955 1252//1956
-f 1252//1956 1253//1957 1146//1896 1148//1898
-f 1254//1958 1145//1895 1146//1896 1253//1957
-f 1255//1959 1138//1890 1145//1895 1254//1958
-f 1256//1960 1137//1889 1138//1890 1255//1959
-f 1257//1961 1136//1888 1137//1889 1256//1960
-f 1255//1959 1259//1963 1258//1962 1256//1960
-f 1254//1958 1260//1964 1259//1963 1255//1959
-f 1253//1957 1261//1965 1260//1964 1254//1958
-f 1252//1956 1262//1966 1261//1965 1253//1957
-s 8
-f 1246//1210 1264//1212 1263//1211 1245//1209
-f 1235//1204 1237//1205 1264//1212 1246//1210
-f 1263//1211 1265//1213 1245//1209
-f 1265//1213 1266//1214 1245//1209
-s 84
-f 1266//1967 1267//1968 1249//1953 1245//1950
-f 1267//1968 1268//1969 1250//1954 1249//1953
-s 8
-f 1269//1216 1270//1217 1266//1214 1265//1213
-f 1265//1213 1263//1211 1271//1218 1269//1216
-s 84
-f 1266//1967 1270//1970 1267//1968
-s 8
-f 1273//1220 1272//1219 1268//1215
-s 84
-f 1268//1969 1267//1968 1270//1970 1273//1971
-s 8
-f 1275//1222 1269//1216 1271//1218 1274//1221
-f 1274//1221 15//1174 13//1172 1275//1222
-f 1275//1222 1276//1223 1270//1217 1269//1216
-s 84
-f 1270//1970 1276//1972 1273//1971
-s 8
-f 1273//1220 1276//1223 1277//1224 1272//1219
-f 1275//1222 13//1172 12//1171 1276//1223
-f 1264//1212 1278//1225 1271//1218 1263//1211
-f 1237//1205 1239//1206 1278//1225 1264//1212
-f 1242//1207 1279//1226 1278//1225 1239//1206
-f 1279//1226 1274//1221 1271//1218 1278//1225
-f 1280//1227 1274//1221 1279//1226
-f 14//1173 15//1174 1274//1221 1280//1227
-f 1280//1227 1281//1228 16//1175 14//1173
-f 1279//1226 1242//1207 1281//1228 1280//1227
-f 1276//1223 12//1171 17//1176 1277//1224
-g tie
-s 12
-f 1283//1156 1281//1154 1242//1152 1282//1155
-s 11
-f 18//2115 16//2114 1281//2117 1283//2118
-f 1283//2118 1284//2119 19//2116 18//2115
-s 12
-f 1282//1155 1285//1158 1284//1157 1283//1156
-f 1240//1150 1241//1151 1285//1158 1282//1155
-f 1243//1153 1286//1159 1241//1151
-f 1286//1159 1287//1160 1285//1158 1241//1151
-f 1287//1160 1288//1161 1284//1157 1285//1158
-f 1288//1161 20//1084 19//1083 1284//1157
-f 1243//1153 1289//1162 1286//1159
-f 1289//1162 1290//1163 1287//1160 1286//1159
-f 1290//1163 1291//1164 1288//1161 1287//1160
-f 1291//1164 21//1085 20//1084 1288//1161
-s 15
-f 1293//1381 1292//1380 1289//1379 1243//1378
-s 125
-f 1227//2127 1294//2130 1293//2129 1243//2128
-f 1294//2130 1296//2132 1295//2131 1293//2129
-f 1297//2133 1294//2130 1227//2127 1223//2126
-f 1209//2123 1298//2134 1297//2133 1220//2124
-f 1297//2133 1223//2126 1221//2125 1220//2124
-f 1298//2134 1296//2132 1294//2130 1297//2133
-f 1209//2123 1208//2122 1299//2135 1298//2134
-f 1298//2134 1299//2135 1300//2136 1296//2132
-f 1296//2132 1300//2136 1301//2137 1295//2131
-s 15
-f 1295//1382 1302//1384 1292//1380 1293//1381
-s 125
-f 1207//2121 1303//2138 1299//2135 1208//2122
-f 1299//2135 1303//2138 1300//2136
-f 1207//2121 1202//2120 1304//2139 1303//2138
-f 1303//2138 1304//2139 1305//2140 1300//2136
-f 1305//2140 1301//2137 1300//2136
-s 15
-f 1301//1383 1306//1386 1302//1384 1295//1382
-f 1305//1385 1307//1387 1306//1386 1301//1383
-s 125
-f 1304//2139 1308//2141 1305//2140
-f 1309//2142 1308//2141 1304//2139 1202//2120
-s 124
-f 1201//2148 1310//2150 1202//2149
-f 1201//2148 1312//2152 1311//2151 1310//2150
-s 15
-f 1310//1390 1313//1392 1202//1377
-f 1313//1392 1309//1389 1202//1377
-f 1310//1390 1311//1391 1314//1393 1313//1392
-f 1314//1393 1309//1389 1313//1392
-f 1314//1393 1316//1395 1315//1394 1309//1389
-f 1311//1391 1317//1396 1316//1395 1314//1393
-s 125
-f 1315//2143 1318//2144 1308//2141 1309//2142
-s 15
-f 1308//1388 1319//1398 1307//1387 1305//1385
-f 1318//1397 1320//1399 1319//1398 1308//1388
-s 12
-f 1322//1166 1321//1165 1290//1163 1289//1162
-f 1321//1165 1323//1167 1291//1164 1290//1163
-f 1323//1167 22//1086 21//1085 1291//1164
-f 1324//1168 23//1087 22//1086 1323//1167
-f 1321//1165 1325//1169 1324//1168 1323//1167
-f 1322//1166 1326//1170 1325//1169 1321//1165
-f 24//1088 23//1087 1324//1168 885//1131
-f 1324//1168 1325//1169 884//1130 885//1131
-f 1326//1170 886//1132 884//1130 1325//1169
-s 15
-f 1292//1380 1327//1402 1322//1400 1289//1379
-f 1302//1384 1328//1403 1327//1402 1292//1380
-f 1306//1386 1328//1403 1302//1384
-f 1307//1387 1328//1403 1306//1386
-f 1319//1398 1329//1404 1328//1403 1307//1387
-f 1320//1399 1330//1405 1329//1404 1319//1398
-f 1327//1402 1331//1406 1326//1401 1322//1400
-f 1328//1403 1332//1407 1331//1406 1327//1402
-f 1329//1404 1333//1408 1332//1407 1328//1403
-f 1331//1406 887//1356 886//1355 1326//1401
-f 1332//1407 888//1357 887//1356 1331//1406
-f 1333//1408 889//1358 888//1357 1332//1407
-f 1334//1409 890//1359 889//1358 1333//1408
-f 1330//1405 1334//1409 1333//1408 1329//1404
-f 1336//1411 1335//1410 1334//1409 1330//1405
-f 1335//1410 891//1360 890//1359 1334//1409
-f 1337//1412 892//1361 891//1360 1335//1410
-f 1336//1411 1338//1413 1337//1412
-f 1337//1412 1335//1410 1336//1411
-f 1336//1411 1330//1405 1320//1399 1338//1413
-f 1339//1414 893//1362 892//1361 1337//1412
-f 1340//1415 1339//1414 1337//1412
-f 1337//1412 1338//1413 1341//1416 1340//1415
-f 1343//1418 1342//1417 1341//1416 1338//1413
-f 1344//1419 1343//1418 1338//1413
-f 1338//1413 1320//1399 1318//1397 1344//1419
-s 125
-f 1315//2143 1345//2147 1344//2146 1318//2144
-s 15
-f 1316//1395 1346//1421 1345//1420 1315//1394
-f 1317//1396 1347//1422 1346//1421 1316//1395
-f 1348//1423 1346//1421 1347//1422
-s 101
-f 1200//2088 1349//2110 1312//2109 1201//2089
-f 1199//2087 1350//2111 1349//2110 1200//2088
-f 1197//2085 1350//2111 1199//2087
-f 1197//2085 933//2078 932//2077 1351//2112 1350//2111
-f 932//2077 931//2076 1352//2113 1351//2112
-f 931//2076 930//2075 1352//2113
-s 15
-f 930//1376 895//1364 1353//1427
-f 1354//1428 1352//1426 930//1376 1353//1427
-f 1355//1429 1352//1426 1354//1428
-f 1351//1425 1352//1426 1355//1429
-f 1351//1425 1355//1429 1350//1424
-f 1355//1429 1357//1431 1356//1430 1350//1424
-s 137
-f 1350//2155 1356//2156 1358//2157 1349//2154
-s 15
-f 895//1364 894//1363 1353//1427
-f 894//1363 1359//1432 1353//1427
-f 1359//1432 1361//1434 1360//1433 1353//1427
-f 1361//1434 1363//1436 1362//1435 1360//1433
-s off
-f 1312//13 1364//13 1311//13
-s 137
-f 1349//2154 1358//2157 1364//2158 1312//2153
-s 15
-f 1365//1437 1317//1396 1311//1391
-f 1311//1391 1366//1438 1365//1437
-f 1366//1438 1368//1440 1367//1439 1365//1437
-f 1368//1440 1369//1441 1367//1439
-f 1355//1429 1354//1428 1369//1441 1368//1440
-s 139
-f 1364//2164 1370//2167 1366//2165 1311//2159
-f 1370//2167 1371//2168 1368//2166 1366//2165
-f 1371//2168 1357//2162 1355//2160 1368//2166
-f 1358//2163 1356//2161 1357//2162 1371//2168 1370//2167 1364//2164
-s 15
-f 1365//1437 1347//1422 1317//1396
-f 1367//1439 1347//1422 1365//1437
-f 1369//1441 1372//1442 1347//1422 1367//1439
-f 1372//1442 1342//1417 1347//1422
-f 1369//1441 1373//1443 1372//1442
-f 1354//1428 1373//1443 1369//1441
-f 1360//1433 1362//1435 1373//1443
-f 1374//1444 1360//1433 1373//1443
-f 1373//1443 1354//1428 1374//1444
-f 1353//1427 1360//1433 1374//1444
-f 1374//1444 1354//1428 1353//1427
-f 1373//1443 1362//1435 1340//1415 1341//1416
-f 1341//1416 1342//1417 1373//1443
-f 1372//1442 1373//1443 1342//1417
-f 1362//1435 1363//1436 1339//1414 1340//1415
-f 1339//1414 1363//1436 896//1365 893//1362
-f 1361//1434 897//1366 896//1365 1363//1436
-f 1361//1434 1359//1432 898//1367 897//1366
-f 899//1368 898//1367 1359//1432 894//1363
-g coat
-s 84
-f 929//1795 895//1786 930//1796
-f 1375//1973 1376//1974 900//1788 899//1787
-f 1377//1975 1375//1973 929//1795
-f 1377//1975 1378//1976 1376//1974 1375//1973
-f 928//1794 1379//1977 1377//1975 929//1795
-f 1379//1977 1380//1978 1378//1976 1377//1975
-g shirt
-s 15
-f 1376//1445 901//1370 900//1369
-f 1378//1446 1381//1448 901//1370 1376//1445
-f 1381//1448 902//1371 901//1370
-f 1380//1447 1382//1449 1381//1448 1378//1446
-f 1382//1449 903//1372 902//1371 1381//1448
-g coat
-s 84
-f 927//1793 1383//1979 1379//1977 928//1794
-f 873//1775 904//1789 1383//1979 927//1793
-f 905//1790 1384//1980 1383//1979 904//1789
-f 1383//1979 1384//1980 1380//1978 1379//1977
-g shirt
-s 15
-f 1384//1450 1385//1451 1382//1449 1380//1447
-f 905//1373 906//1374 1385//1451 1384//1450
-f 1385//1451 907//1375 903//1372 1382//1449
-f 906//1374 49//1258 907//1375 1385//1451
-g coat
-s 1
-f 1387//776 1386//775 1115//764 1116//765
-f 1388//777 1387//776 1116//765 1117//766
-f 1389//778 1388//777 1117//766 1118//767
-f 1390//779 1389//778 1118//767 1119//768
-f 1391//780 1390//779 1119//768 1106//758
-f 1391//780 1106//758 1102//754
-f 1393//782 1392//781 1389//778 1390//779
-f 1392//781 1394//783 1388//777 1389//778
-f 1394//783 1395//784 1387//776 1388//777
-f 1395//784 1396//785 1386//775 1387//776
-f 1386//775 1397//786 1126//769 1115//764
-f 1397//786 1398//787 1127//770 1126//769
-f 1398//787 1399//788 1128//771 1127//770
-f 1399//788 1400//789 1129//772 1128//771
-f 1400//789 908//593 883//592 1129//772
-f 1401//790 909//594 908//593 1400//789
-f 1399//788 1402//791 1401//790 1400//789
-f 1398//787 1403//792 1402//791 1399//788
-f 1397//786 1404//793 1403//792 1398//787
-f 1386//775 1396//785 1404//793 1397//786
-g shirt
-s 84
-f 1256//1960 1258//1962 1405//1981 1257//1961
-g hair
-s 141
-f 1410//2170 1412//2172 1411//2171 1409//2169
-f 1413//2173 1412//2172 1410//2170
-f 1414//2174 1411//2171 1412//2172
-f 1416//2176 1415//2175 1412//2172 1413//2173
-f 1417//2177 1414//2174 1412//2172 1415//2175
-f 1416//2176 1418//2178 1415//2175
-f 1420//2180 1419//2179 1418//2178 1416//2176
-f 1420//2180 1421//2181 1419//2179
-f 1422//2182 1419//2179 1421//2181
-f 1421//2181 1424//2184 1423//2183 1422//2182
-f 1426//2186 1425//2185 1418//2178 1419//2179
-f 1419//2179 1422//2182 1426//2186
-f 1428//2188 1427//2187 1426//2186 1422//2182
-f 1422//2182 1423//2183 1428//2188
-f 1423//2183 1430//2190 1429//2189 1428//2188
-f 1424//2184 1431//2191 1430//2190 1423//2183
-f 1430//2190 1433//2193 1432//2192 1429//2189
-f 1431//2191 1433//2193 1430//2190
-s 22
-f 53//1545 1447//1625 1446//1624 52//1544
-f 54//1546 1447//1625 53//1545
-f 1448//1626 1445//1623 1446//1624 1447//1625
-f 1449//1627 1444//1622 1445//1623 1448//1626
-f 1450//1628 1443//1621 1444//1622 1449//1627
-f 1452//1630 1451//1629 1442//1620 1443//1621 1450//1628
-f 1441//1619 1442//1620 1451//1629
-f 1454//1632 1453//1631 1440//1618 1441//1619
-f 1441//1619 1451//1629 1452//1630 1454//1632
-f 1440//1618 1453//1631 1439//1617
-f 1453//1631 1455//1633 1438//1616 1439//1617
-f 1455//1633 1456//1634 1438//1616
-s off
-f 1461//14 1460//14 1459//14
-s 141
-f 1425//2185 1417//2177 1415//2175 1418//2178
-f 1463//2198 1462//2197 1417//2177 1425//2185
-f 1464//2199 1458//2196 1462//2197 1463//2198
-f 1463//2198 1426//2186 1427//2187 1465//2200 1464//2199
-f 1463//2198 1425//2185 1426//2186
-f 1466//2201 1464//2199 1465//2200
-s 117
-f 1467//2217 1458//2214 1464//2215 1466//2216
-f 1457//2213 1458//2214 1467//2217
-f 1457//2213 1470//2220 1469//2219 1468//2218
-f 1470//2220 1457//2213 1467//2217
-s 119
-f 1469//2235 1134//2229 1136//2230 1468//2234
-s 117
-f 1469//2219 1472//2222 1471//2221 1134//2212
-f 1471//2221 1473//2223 1131//2211 1134//2212
-f 1474//2224 1130//2210 1131//2211 1473//2223
-f 1475//2225 1472//2222 1469//2219 1470//2220
-f 1467//2217 1476//2226 1475//2225 1470//2220
-f 1466//2216 1478//2228 1477//2227 1476//2226 1467//2217
-s 141
-f 1465//2200 1427//2187 1479//2203 1478//2202 1466//2201
-f 1479//2203 1427//2187 1428//2188 1429//2189
-f 1429//2189 1432//2192 1481//2204 1479//2203
-f 1482//2205 1432//2192 1433//2193
-f 1433//2193 1438//2194 1456//2195 1482//2205
-f 1482//2205 1483//2206 1481//2204 1432//2192
-f 1456//2195 1484//2207 1483//2206 1482//2205
-s 22
-f 1485//1636 1484//1635 1456//1634
-f 1456//1634 1455//1633 1486//1637 1485//1636
-f 1453//1631 1487//1638 1486//1637 1455//1633
-f 1454//1632 1489//1640 1488//1639 1453//1631
-s off
-f 1488//15 1490//15 1487//15
-s 22
-f 1491//1642 1485//1636 1486//1637
-f 1491//1642 1486//1637 1487//1638 1490//1641
-f 1492//1643 1484//1635 1485//1636 1491//1642
-f 1452//1630 1493//1644 1489//1640 1454//1632
-f 1494//1645 1493//1644 1452//1630
-f 1452//1630 1450//1628 1494//1645
-f 1494//1645 1496//1647 1495//1646 1493//1644
-f 1450//1628 1496//1647 1494//1645
-f 1449//1627 1497//1648 1496//1647 1450//1628
-f 1448//1626 1498//1649 1497//1648 1449//1627
-f 1447//1625 54//1546 55//1547 1448//1626
-f 55//1547 1499//1650 1498//1649 1448//1626
-f 657//1588 1501//1652 1500//1651 1499//1650 55//1547
-f 1502//1653 1498//1649 1499//1650 1500//1651
-f 1497//1648 1498//1649 1502//1653 1503//1654
-f 1495//1646 1496//1647 1497//1648 1503//1654
-f 1490//1641 1504//1655 1492//1643 1491//1642
-s 1
-f 1488//803 1506//808 1505//807 1490//805
-s 22
-f 1505//1656 1504//1655 1490//1641
-s 1
-f 1489//804 1508//810 1507//809 1506//808 1488//803
-s 22
-f 1493//1644 1509//1658 1508//1657
-s 1
-f 1509//811 1510//812 1507//809 1508//810
-f 1511//813 1510//812 1509//811
-f 1509//811 1513//815 1512//814 1511//813
-s 22
-f 1495//1646 1503//1654 1514//1660 1513//1659
-s 1
-f 1514//816 1515//817 1512//814 1513//815
-f 1514//816 1516//818 1515//817
-f 1493//806 1508//810 1489//804
-s 22
-f 1517//1663 1516//1662 1502//1653 1500//1651
-f 1503//1654 1502//1653 1516//1662 1514//1660
-f 1501//1652 1518//1664 1517//1663 1500//1651
-f 1520//1666 1519//1665 1518//1664
-f 675//1600 57//1549 56//1548 1520//1666 1518//1664
-f 1519//1665 1515//1661 1517//1663 1518//1664
-s 1
-f 1516//818 1517//819 1515//817
-s 22
-f 1521//1667 1515//1661 1519//1665 1520//1666
-s 1
-f 1522//821 1511//813 1515//817 1521//820
-f 1507//809 1510//812 1522//821
-f 1512//814 1515//817 1511//813
-f 1510//812 1511//813 1522//821
-f 1507//809 1523//822 1506//808
-f 1524//823 1523//822 1507//809
-f 1526//825 1525//824 1524//823 1507//809
-f 1527//826 1525//824 1526//825
-f 1529//828 1528//827 1527//826 1526//825
-f 1507//809 1522//821 1521//820 1529//828 1526//825
-f 1505//807 1506//808 1523//822
-f 1524//823 1530//829 1505//807 1523//822
-s 22
-f 1525//1669 1531//1672 1530//1671 1524//1668
-f 1532//1673 1531//1672 1525//1669
-s 1
-f 1525//824 1527//826 1533//831 1532//830
-s 22
-f 1530//1671 1534//1674 1504//1655 1505//1656
-f 1532//1673 1535//1675 1534//1674 1531//1672
-f 1536//1676 1535//1675 1532//1673
-s 1
-f 1532//830 1533//831 1537//833 1536//832
-s 147
-f 1483//2238 1492//2240 1504//2241
-f 1534//2242 1481//2237 1483//2238 1504//2241
-f 1481//2237 1534//2242 1538//2243
-s 141
-f 1538//2208 1539//2209 1479//2203 1481//2204
-s 22
-f 1535//1675 1536//1676 1540//1679
-f 1540//1679 1538//1677 1534//1674 1535//1675
-f 1536//1676 1541//1680 1540//1679
-s 1
-f 1537//833 1542//837 1541//836 1536//832
-s 22
-f 1534//1674 1530//1671 1531//1672
-s 1
-f 1544//839 1543//838 1541//836 1542//837
-f 1546//841 1545//840 1543//838 1544//839
-f 1472//795 1475//798 1547//842 1545//840
-f 1474//797 1473//796 1545//840 1546//841
-f 1473//796 1471//794 1545//840
-f 1471//794 1472//795 1545//840
-f 1476//799 1477//800 1547//842 1475//798
-f 1539//834 1540//835 1547//842 1477//800
-s 22
-f 1539//1678 1538//1677 1540//1679
-f 1541//1680 1547//1681 1540//1679
-s 1
-f 1543//838 1547//842 1541//836
-f 1477//800 1478//801 1479//802 1539//834
-f 1543//838 1545//840 1547//842
-s 147
-f 1483//2238 1484//2239 1492//2240
-s 1
-f 1549//844 1548//843 1130//773 1474//797
-g shirt
-s 84
-f 1033//1814 1179//1925 1130//1883 1548//1987
-g coat
-s 1
-f 1548//843 1550//845 1032//710 1033//711
-f 1551//846 1034//712 1032//710 1550//845
-f 1552//847 1036//714 1034//712 1551//846
-f 1044//722 1036//714 1552//847 1553//848
-f 1550//845 1548//843 1554//849
-f 1554//849 1555//850 1551//846 1550//845
-f 1557//852 1556//851 1555//850 1554//849
-f 716//452 715//451 1556//851 1557//852
-f 718//454 1558//853 1556//851 715//451
-f 1558//853 1559//854 1555//850 1556//851
-f 1559//854 1552//847 1551//846 1555//850
-g hair
-f 1561//856 1560//855 1557//852 1554//849
-f 1560//855 59//45 716//452 1557//852
-g coat
-f 723//459 1562//857 1558//853 718//454
-f 1563//858 1559//854 1558//853 1562//857
-f 1553//848 1552//847 1559//854 1563//858
-f 1044//722 1564//859 1049//727 1043//721
-f 1553//848 1565//860 1564//859 1044//722
-f 1563//858 1566//861 1565//860 1553//848
-f 1562//857 1567//862 1566//861 1563//858
-f 723//459 729//465 1567//862 1562//857
-g hair
-f 1560//855 1568//863 58//44 59//45
-f 1561//856 1569//864 1568//863 1560//855
-f 1571//866 1570//865 1569//864 1544//839
-f 1544//839 1542//837 1571//866
-f 1568//863 1572//867 60//46 58//44
-f 1569//864 1570//865 1572//867 1568//863
-f 1571//866 1574//869 1573//868 1570//865
-f 1542//837 1537//833 1574//869 1571//866
-f 1575//870 1572//867 1570//865 1573//868
-f 1572//867 1575//870 61//47 60//46
-f 1574//869 1537//833 1533//831
-f 1533//831 1576//871 1573//868 1574//869
-f 1577//872 1575//870 1573//868 1576//871
-f 61//47 1575//870 1577//872 62//48
-f 1577//872 1578//873 63//49 62//48
-f 1576//871 1528//827 1578//873 1577//872
-f 1533//831 1527//826 1528//827 1576//871
-f 1529//828 1579//874 1578//873 1528//827
-f 64//50 63//49 1578//873 1579//874
-s 22
-f 1579//1682 1520//1666 56//1548 64//1550
-f 1529//1670 1521//1667 1520//1666 1579//1682
-s 1
-f 1548//843 1549//844 1580//875 1561//856 1554//849
-f 1549//844 1474//797 1546//841 1580//875
-f 1561//856 1580//875 1546//841 1544//839 1569//864
-g coat
-f 1564//859 1051//729 1049//727
-f 1582//877 1581//876 1051//729 1564//859
-f 1583//878 1102//754 1581//876 1582//877
-f 1581//876 1101//753 1050//728 1051//729
-f 1585//880 1584//879 1582//877 1564//859
-f 1584//879 1583//878 1582//877
-f 1565//860 1586//881 1585//880 1564//859
-f 1566//861 1587//882 1586//881 1565//860
-f 1567//862 1588//883 1587//882 1566//861
-f 729//465 751//487 1588//883 1567//862
-f 753//489 1589//884 1588//883 751//487
-f 1589//884 1590//885 1587//882 1588//883
-f 1590//885 1591//886 1586//881 1587//882
-f 1591//886 1592//887 1585//880 1586//881
-f 1592//887 1584//879 1585//880
-f 1583//878 1593//888 1391//780 1102//754
-f 1593//888 1393//782 1390//779 1391//780
-f 1583//878 1584//879 1593//888
-f 1584//879 1594//889 1393//782 1593//888
-f 1594//889 1595//890 1392//781 1393//782
-f 1392//781 1595//890 1596//891 1394//783
-f 1596//891 1597//892 1395//784 1394//783
-f 1597//892 1598//893 1396//785 1395//784
-f 1598//893 1599//894 1404//793 1396//785
-f 1599//894 1600//895 1403//792 1404//793
-f 1600//895 1601//896 1402//791 1403//792
-f 1402//791 1601//896 1602//897 1401//790
-f 1602//897 910//595 909//594 1401//790
-f 768//504 1603//898 1589//884 753//489
-f 1603//898 1604//899 1590//885 1589//884
-f 1604//899 1605//900 1591//886 1590//885
-f 1605//900 1606//901 1592//887 1591//886
-f 1606//901 1594//889 1584//879 1592//887
-f 773//509 1607//902 1603//898 768//504
-f 1607//902 1608//903 1604//899 1603//898
-f 1608//903 1609//904 1605//900 1604//899
-f 1609//904 1610//905 1605//900
-f 1610//905 1611//906 1606//901 1605//900
-f 1611//906 1595//890 1594//889 1606//901
-f 779//515 1612//907 1607//902 773//509
-f 1612//907 1613//908 1608//903 1607//902
-f 1613//908 1614//909 1609//904 1608//903
-f 1614//909 1615//910 1610//905 1609//904
-f 1615//910 1616//911 1611//906 1610//905
-f 785//521 1617//912 1612//907 779//515
-f 1617//912 1618//913 1613//908 1612//907
-f 1618//913 1619//914 1614//909 1613//908
-f 1619//914 1620//915 1615//910 1614//909
-f 1620//915 1621//916 1615//910
-f 1621//916 1622//917 1616//911 1615//910
-f 792//528 1623//918 1617//912 785//521
-f 1623//918 1624//919 1618//913 1617//912
-f 1624//919 1625//920 1619//914 1618//913
-f 1625//920 1626//921 1620//915 1619//914
-f 1626//921 1627//922 1621//916 1620//915
-f 1627//922 1628//923 1622//917 1621//916
-f 799//535 1629//924 1623//918 792//528
-f 1629//924 1630//925 1624//919 1623//918
-f 1630//925 1631//926 1625//920 1624//919
-f 1631//926 1632//927 1626//921 1625//920
-f 1632//927 1633//928 1627//922 1626//921
-f 1633//928 1634//929 1628//923 1627//922
-f 806//542 1635//930 1629//924 799//535
-f 1635//930 1636//931 1630//925 1629//924
-f 1636//931 1637//932 1631//926 1630//925
-f 1637//932 1638//933 1632//927 1631//926
-f 1638//933 1639//934 1633//928 1632//927
-f 1639//934 1640//935 1634//929 1633//928
-f 813//549 1641//936 1635//930 806//542
-f 815//551 1642//937 1641//936 813//549
-f 817//553 1643//938 1642//937 815//551
-f 1641//936 1644//939 1636//931 1635//930
-f 1642//937 1645//940 1644//939 1641//936
-f 1643//938 1646//941 1645//940 1642//937
-f 1644//939 1647//942 1637//932 1636//931
-f 1645//940 1648//943 1647//942 1644//939
-f 1646//941 1649//944 1648//943 1645//940
-f 1647//942 1650//945 1638//933 1637//932
-f 1648//943 1651//946 1650//945 1647//942
-f 1649//944 1652//947 1651//946 1648//943
-f 1650//945 1653//948 1639//934 1638//933
-f 1651//946 1654//949 1653//948 1650//945
-f 1652//947 1655//950 1654//949 1651//946
-f 1653//948 1656//951 1640//935 1639//934
-f 1654//949 1657//952 1656//951 1653//948
-f 1655//950 1658//953 1657//952 1654//949
-f 1616//911 1596//891 1595//890 1611//906
-f 1622//917 1597//892 1596//891 1616//911
-f 1628//923 1598//893 1597//892 1622//917
-f 1634//929 1599//894 1598//893 1628//923
-f 1640//935 1600//895 1599//894 1634//929
-f 1656//951 1601//896 1600//895 1640//935
-f 1657//952 1602//897 1601//896 1656//951
-f 1658//953 910//595 1602//897 1657//952
-g hair
-s 22
-f 1501//1652 657//1588 675//1600 1518//1664
-f 1509//1658 1493//1644 1495//1646 1513//1659
-s off
-f 1488//16 1487//16 1453//16
-s 119
-f 1257//2231 1405//2232 1408//2233
-s off
-f 1460//17 1461//17 1459//17
-g shirt
-s 84
-f 999//1807 998//1806 1186//1932 1185//1931
-s off
-f 1436//18 1268//18 1272//18 1437//18
-s 84
-f 1407//1983 1262//1966 1252//1956 1251//1955
-s off
-f 1406//19 1407//19 1251//19
-s 84
-f 1436//1986 1250//1954 1268//1969
-f 1250//1954 1436//1986 1435//1985 1434//1984 1406//1982
-f 1406//1982 1251//1955 1250//1954
-g hair
-s 119
-f 1468//2234 1136//2230 1257//2231 1408//2233 1480//2236
-g coat
-s 1
-f 1102//754 1101//753 1581//876
-g tie
-s 15
-f 1343//1418 1345//1420 1348//1423 1342//1417
-f 1345//1420 1346//1421 1348//1423
-f 1348//1423 1347//1422 1342//1417
-s 125
-f 1343//2145 1344//2146 1345//2147
-s 12
-f 1242//1152 1240//1150 1282//1155
-s 15
-f 899//1368 894//1363 895//1364
-g coat
-s 84
-f 929//1795 1375//1973 899//1787 895//1786
-g shirt
-s 15
-f 884//1353 886//1355 887//1356
-f 885//1354 884//1353 887//1356 888//1357
-s off
-f 899//20 900//20 901//20
-s 15
-f 888//1357 834//1336 833//1335 885//1354
-f 889//1358 835//1337 834//1336 888//1357
-f 890//1359 836//1338 835//1337 889//1358
-f 891//1360 837//1339 836//1338 890//1359
-f 892//1361 838//1340 837//1339 891//1360
-f 893//1362 839//1341 838//1340 892//1361
-f 896//1365 840//1342 839//1341 893//1362
-f 897//1366 841//1343 840//1342 896//1365
-f 898//1367 842//1344 841//1343 897//1366
-f 899//1368 843//1345 842//1344 898//1367
-f 901//1370 844//1346 843//1345 899//1368
-f 902//1371 845//1347 844//1346 901//1370
-f 903//1372 846//1348 845//1347 902//1371
-f 907//1375 847//1349 846//1348 903//1372
-g tie
-s 13
-f 885//1720 833//1719 24//1717
-g coat
-s 83
-f 848//1721 1659//1746 1660//1747 1677//1764 1678//1765 1679//1766 1680//1767 1681//1768 872//1745
-g shirt
-s 15
-f 906//1374 1659//1452 848//1350 49//1258
-f 905//1373 1660//1453 1659//1452 906//1374
-g coat
-s 84
-f 904//1789 1661//1989 1660//1988 905//1790
-f 873//1775 1662//1990 1661//1989 904//1789
-f 874//1776 1663//1991 1662//1990 873//1775
-s 86
-f 876//1770 1664//1774 1663//1773 874//1769
-s 84
-f 875//1777 1665//1993 1664//1992 876//1778
-f 877//1779 1666//1994 1665//1993 875//1777
-f 878//1780 1667//1995 1666//1994 877//1779
-f 879//1781 1668//1996 1667//1995 878//1780
-f 880//1782 1669//1997 1668//1996 879//1781
-s 89
-f 881//2018 1670//2034 1669//2033 880//2017
-s 84
-f 882//1784 1671//1999 1670//1998 881//1783
-f 883//1785 1672//2000 1671//1999 882//1784
-s 1
-f 908//593 1673//955 1672//954 883//592
-f 909//594 1674//956 1673//955 908//593
-f 910//595 1675//957 1674//956 909//594
-f 1658//953 1676//958 1675//957 910//595
-f 1655//950 1677//959 1676//958 1658//953
-f 1652//947 1678//960 1677//959 1655//950
-f 1649//944 1679//961 1678//960 1652//947
-f 1646//941 1680//962 1679//961 1649//944
-f 1643//938 1681//963 1680//962 1646//941
-f 817//553 872//591 1681//963 1643//938
-g shirt
-s 15
-f 847//1349 907//1375 49//1258
-g coat
-s 83
-f 1670//1757 1671//1758 1672//1759 1673//1760 1674//1761 1675//1762 1676//1763
-f 1660//1747 1661//1748 1662//1749 1663//1750 1664//1751 1665//1752 1666//1753 1667//1754 1668//1755 1669//1756 1670//1757 1676//1763 1677//1764
-g brow
-s 154
-f 1683//2245 1685//2247 1686//2248 1684//2246
-f 1684//2246 1686//2248 1687//2249
-f 1686//2248 1685//2247 1688//2250 1693//2255
-f 1693//2255 1688//2250 1689//2251 1694//2256
-f 1694//2256 1689//2251 1690//2252 1695//2257
-f 1696//2258 1691//2253 1692//2254 1697//2259
-f 1695//2257 1690//2252 1691//2253 1696//2258
-f 1697//2259 1692//2254 1682//2244
-f 1698//2260 1687//2249 1686//2248 1693//2255
-f 1698//2260 1693//2255 1694//2256 1699//2261
-f 1699//2261 1694//2256 1695//2257 1700//2262
-f 1700//2262 1695//2257 1696//2258 1701//2263
-f 1701//2263 1696//2258 1697//2259
-g eyewhite
-s 156
-f 1712//2274 1702//2264 1703//2265
-g iris
-f 1712//2274 1703//2265 1704//2266 1713//2275
-g eyewhite
-f 1702//2264 1712//2274 1714//2276 1711//2273
-f 1711//2273 1714//2276 1710//2272
-f 1709//2271 1710//2272 1715//2277
-f 1709//2271 1715//2277 1716//2278 1708//2270
-f 1716//2278 1707//2269 1708//2270
-g iris
-f 1706//2268 1707//2269 1716//2278 1717//2279
-f 1718//2280 1717//2279 1716//2278 1715//2277
-f 1719//2281 1718//2280 1715//2277 1710//2272
-f 1720//2282 1719//2281 1710//2272 1714//2276
-f 1713//2275 1720//2282 1714//2276 1712//2274
-g pupil
-f 1706//2268 1721//2283 1705//2267
-f 1705//2267 1721//2283 1704//2266
-f 1704//2266 1721//2283 1713//2275
-f 1713//2275 1721//2283 1720//2282
-f 1720//2282 1721//2283 1719//2281
-f 1719//2281 1721//2283 1718//2280
-f 1718//2280 1721//2283 1717//2279
-f 1717//2279 1721//2283 1706//2268
-g brow
-s 159
-f 1724//2286 1726//2288 1725//2287 1723//2285
-f 1727//2289 1726//2288 1724//2286
-f 1733//2295 1728//2290 1725//2287 1726//2288
-f 1734//2296 1729//2291 1728//2290 1733//2295
-f 1735//2297 1730//2292 1729//2291 1734//2296
-f 1737//2299 1732//2294 1731//2293 1736//2298
-f 1736//2298 1731//2293 1730//2292 1735//2297
-f 1722//2284 1732//2294 1737//2299
-f 1733//2295 1726//2288 1727//2289 1738//2300
-f 1739//2301 1734//2296 1733//2295 1738//2300
-f 1740//2302 1735//2297 1734//2296 1739//2301
-f 1741//2303 1736//2298 1735//2297 1740//2302
-f 1737//2299 1736//2298 1741//2303
-g eyewhite
-s 161
-f 1743//2305 1742//2304 1752//2314
-g iris
-f 1753//2315 1744//2306 1743//2305 1752//2314
-g eyewhite
-f 1751//2313 1754//2316 1752//2314 1742//2304
-f 1750//2312 1754//2316 1751//2313
-f 1755//2317 1750//2312 1749//2311
-f 1748//2310 1756//2318 1755//2317 1749//2311
-f 1748//2310 1747//2309 1756//2318
-g iris
-f 1757//2319 1756//2318 1747//2309 1746//2308
-f 1755//2317 1756//2318 1757//2319 1758//2320
-f 1750//2312 1755//2317 1758//2320 1759//2321
-f 1754//2316 1750//2312 1759//2321 1760//2322
-f 1752//2314 1754//2316 1760//2322 1753//2315
-g pupil
-f 1745//2307 1761//2323 1746//2308
-f 1744//2306 1761//2323 1745//2307
-f 1753//2315 1761//2323 1744//2306
-f 1760//2322 1761//2323 1753//2315
-f 1759//2321 1761//2323 1760//2322
-f 1758//2320 1761//2323 1759//2321
-f 1757//2319 1761//2323 1758//2320
-f 1746//2308 1761//2323 1757//2319
-g face
-s 164
-f 1762//2324 1763//2325 1764//2326 1765//2327
-f 1762//2324 1766//2328 1763//2325
-s 165
-f 1767//2337 1768//2338 1769//2339
-f 1767//2337 1769//2339 1770//2340 1771//2341
-f 1771//2341 1770//2340 1772//2342 1773//2343
-f 1773//2343 1772//2342 1774//2344 1775//2345
-s 166
-f 1776//2352 1768//2347 1777//2353
-f 1778//2354 1777//2353 1768//2347
-f 1778//2354 1768//2347 1767//2346 1779//2355
-f 1779//2355 1767//2346 1771//2348 1780//2356
-f 1781//2357 1780//2356 1771//2348 1773//2349
-f 1781//2357 1773//2349 1775//2351 1782//2358
-f 1783//2359 1777//2353 1778//2354 1784//2360
-f 1784//2360 1778//2354 1779//2355 1785//2361
-f 1785//2361 1779//2355 1780//2356 1786//2362
-f 1786//2362 1780//2356 1781//2357 1787//2363
-f 1787//2363 1781//2357 1782//2358 1788//2364
-f 1789//2365 1788//2364 1790//2366
-f 1791//2367 1790//2366 1788//2364 1782//2358
-f 1792//2368 1793//2369 1776//2352 1777//2353
-f 1794//2370 1792//2368 1777//2353 1783//2359
-f 1795//2371 1794//2370 1783//2359 1796//2372
-f 1784//2360 1796//2372 1783//2359
-f 1797//2373 1795//2371 1796//2372
-f 1798//2374 1796//2372 1784//2360
-f 1798//2374 1784//2360 1785//2361
-f 1798//2374 1785//2361 1786//2362
-f 1798//2374 1786//2362 1799//2375
-f 1800//2376 1796//2372 1798//2374
-f 1796//2372 1800//2376 1801//2377 1797//2373
-f 1802//2378 1786//2362 1787//2363
-f 1803//2379 1787//2363 1788//2364
-f 1804//2380 1788//2364 1789//2365
-f 1788//2364 1804//2380 1805//2381 1803//2379
-f 1787//2363 1803//2379 1806//2382 1802//2378
-f 1798//2374 1799//2375 1807//2383 1800//2376
-f 1808//2384 1807//2383 1799//2375 1809//2385
-f 1786//2362 1802//2378 1809//2385 1799//2375
-f 1810//2386 1809//2385 1802//2378 1806//2382
-f 1808//2384 1809//2385 1810//2386 1811//2387
-f 1811//2387 1810//2386 1812//2388 1813//2389
-f 1814//2390 1812//2388 1810//2386 1806//2382
-f 1803//2379 1805//2381 1814//2390 1806//2382
-f 1815//2391 1801//2377 1800//2376 1807//2383
-f 1816//2392 1815//2391 1807//2383 1808//2384
-f 1817//2393 1816//2392 1808//2384 1811//2387
-f 1818//2394 1817//2393 1811//2387 1813//2389
-f 1819//2395 1820//2396 1801//2377
-f 1821//2397 1819//2395 1801//2377 1815//2391
-f 1822//2398 1821//2397 1815//2391 1816//2392
-f 1823//2399 1822//2398 1816//2392 1817//2393
-f 1824//2400 1823//2399 1817//2393 1818//2394
-f 1825//2401 1826//2402 1827//2403
-f 1825//2401 1827//2403 1820//2396
-f 1825//2401 1820//2396 1819//2395 1828//2404
-f 1826//2402 1825//2401 1828//2404 1829//2405
-f 1830//2406 1828//2404 1819//2395 1821//2397
-f 1831//2407 1830//2406 1821//2397 1822//2398
-f 1832//2408 1831//2407 1822//2398 1823//2399
-f 1824//2400 1833//2409 1832//2408 1823//2399
-f 1834//2410 1824//2400 1818//2394
-f 1835//2411 1833//2409 1836//2412
-f 1833//2409 1835//2411 1837//2413 1832//2408
-f 1832//2408 1837//2413 1838//2414 1831//2407
-f 1831//2407 1838//2414 1839//2415 1830//2406
-f 1830//2406 1839//2415 1829//2405 1828//2404
-f 1840//2416 1841//2417 1842//2418 1843//2419
-f 1843//2419 1842//2418 1844//2420 1845//2421
-f 1845//2421 1844//2420 1829//2405 1839//2415
-f 1846//2422 1840//2416 1843//2419
-f 1847//2423 1840//2416 1846//2422
-f 1848//2424 1846//2422 1843//2419 1845//2421
-f 1838//2414 1848//2424 1845//2421 1839//2415
-f 1849//2425 1846//2422 1848//2424
-f 1849//2425 1848//2424 1838//2414 1837//2413
-f 1835//2411 1849//2425 1837//2413
-f 1850//2426 1849//2425 1835//2411 1836//2412
-f 1846//2422 1849//2425 1851//2427
-f 1852//2428 1851//2427 1849//2425 1850//2426
-f 1853//2429 1804//2380 1789//2365 1854//2430
-f 1805//2381 1804//2380 1853//2429 1855//2431
-f 1854//2430 1789//2365 1856//2432
-f 1857//2433 1856//2432 1789//2365 1790//2366
-f 1858//2434 1854//2430 1859//2435
-f 1860//2436 1859//2435 1854//2430 1856//2432
-f 1861//2437 1860//2436 1856//2432 1857//2433
-f 1853//2429 1854//2430 1862//2438
-f 1863//2439 1862//2438 1854//2430 1858//2434
-f 1864//2440 1858//2434 1865//2441
-f 1866//2442 1865//2441 1858//2434 1867//2443
-f 1867//2443 1858//2434 1859//2435 1868//2444
-f 1869//2445 1868//2444 1859//2435 1860//2436
-f 1869//2445 1860//2436 1861//2437 1870//2446
-f 1871//2447 1864//2440 1865//2441 1872//2448
-f 1873//2449 1871//2447 1872//2448 1874//2450
-f 1875//2451 1873//2449 1874//2450 1876//2452
-f 1876//2452 1874//2450 1877//2453 1878//2454
-f 1872//2448 1877//2453 1874//2450
-f 1866//2442 1872//2448 1865//2441
-f 1879//2455 1878//2454 1877//2453 1880//2456
-f 1880//2456 1877//2453 1872//2448 1866//2442
-f 1881//2457 1879//2455 1880//2456 1882//2458
-f 1882//2458 1880//2456 1866//2442 1867//2443
-f 1882//2458 1867//2443 1868//2444 1883//2459
-f 1881//2457 1882//2458 1883//2459 1884//2460
-f 1883//2459 1885//2461 1886//2462 1884//2460
-f 1885//2461 1883//2459 1868//2444 1869//2445
-f 1869//2445 1870//2446 1887//2463 1885//2461
-f 1885//2461 1887//2463 1888//2464 1886//2462
-f 1888//2464 1887//2463 1889//2465 1890//2466
-f 1889//2465 1887//2463 1870//2446 1891//2467
-s 164
-f 1889//2329 1891//2331 1766//2328 1762//2324
-f 1890//2330 1889//2329 1762//2324 1765//2327
-s 166
-f 1892//2468 1863//2439 1858//2434 1864//2440
-f 1893//2469 1892//2468 1864//2440 1871//2447
-f 1871//2447 1873//2449 1894//2470
-f 1895//2471 1894//2470 1873//2449 1875//2451
-f 1896//2472 1897//2473 1898//2474
-f 1899//2475 1898//2474 1897//2473 1900//2476
-f 1901//2477 1898//2474 1902//2478
-f 1901//2477 1902//2478 1903//2479 1892//2468
-f 1893//2469 1901//2477 1892//2468
-f 1892//2468 1903//2479 1904//2480 1863//2439
-f 1863//2439 1904//2480 1905//2481 1862//2438
-f 1862//2438 1905//2481 1855//2431 1853//2429
-f 1814//2390 1805//2381 1855//2431 1906//2482
-f 1906//2482 1855//2431 1905//2481 1907//2483
-f 1907//2483 1905//2481 1908//2484
-f 1905//2481 1904//2480 1908//2484
-f 1908//2484 1904//2480 1903//2479 1909//2485
-f 1909//2485 1903//2479 1902//2478 1910//2486
-f 1910//2486 1902//2478 1898//2474 1911//2487
-f 1911//2487 1898//2474 1899//2475 1912//2488
-f 1909//2485 1913//2489 1908//2484
-f 1914//2490 1915//2491 1916//2492
-f 1917//2493 1908//2484 1914//2490
-f 1908//2484 1917//2493 1918//2494 1907//2483
-f 1907//2483 1918//2494 1919//2495 1906//2482
-f 1906//2482 1919//2495 1812//2388 1814//2390
-f 1911//2487 1912//2488 1920//2496 1921//2497
-f 1911//2487 1921//2497 1922//2498 1910//2486
-f 1910//2486 1922//2498 1913//2489 1909//2485
-f 1916//2492 1915//2491 1923//2499 1924//2500
-f 1924//2500 1923//2499 1925//2501 1926//2502
-f 1926//2502 1925//2501 1927//2503 1928//2504
-f 1928//2504 1929//2505 1930//2506 1926//2502
-f 1926//2502 1930//2506 1931//2507 1924//2500
-f 1924//2500 1931//2507 1932//2508 1916//2492
-f 1916//2492 1932//2508 1933//2509 1914//2490
-f 1914//2490 1933//2509 1934//2510 1917//2493
-f 1897//2473 1896//2472 1935//2511 1900//2476
-f 1895//2471 1935//2511 1896//2472 1894//2470
-f 1917//2493 1934//2510 1936//2512 1918//2494
-f 1918//2494 1936//2512 1937//2513 1938//2514
-f 1918//2494 1938//2514 1939//2515 1919//2495
-f 1919//2495 1939//2515 1813//2389 1812//2388
-f 1939//2515 1834//2410 1818//2394 1813//2389
-f 1940//2516 1934//2510 1933//2509 1941//2517
-f 1941//2517 1933//2509 1932//2508 1942//2518
-f 1942//2518 1932//2508 1931//2507 1943//2519
-f 1943//2519 1931//2507 1930//2506 1944//2520
-f 1944//2520 1930//2506 1929//2505 1945//2521
-f 1945//2521 1946//2522 1947//2523 1944//2520
-f 1944//2520 1947//2523 1948//2524 1943//2519
-f 1943//2519 1948//2524 1949//2525 1942//2518
-f 1942//2518 1949//2525 1950//2526 1941//2517
-f 1950//2526 1940//2516 1941//2517
-f 1940//2516 1951//2527 1934//2510
-f 1952//2528 1951//2527 1940//2516 1950//2526
-f 1953//2529 1952//2528 1950//2526 1949//2525
-f 1954//2530 1953//2529 1949//2525 1948//2524
-f 1955//2531 1954//2530 1948//2524 1947//2523
-f 1956//2532 1955//2531 1947//2523 1946//2522
-f 1957//2533 1951//2527 1952//2528
-f 1958//2534 1957//2533 1952//2528 1953//2529
-f 1959//2535 1958//2534 1953//2529 1954//2530
-f 1960//2536 1959//2535 1954//2530 1955//2531
-f 1961//2537 1960//2536 1955//2531 1956//2532
-f 1962//2538 1960//2536 1961//2537 1963//2539
-f 1960//2536 1962//2538 1964//2540 1959//2535
-f 1958//2534 1959//2535 1964//2540 1965//2541
-f 1965//2541 1957//2533 1958//2534
-f 1962//2538 1963//2539 1966//2542 1967//2543
-f 1962//2538 1967//2543 1968//2544 1964//2540
-f 1964//2540 1968//2544 1969//2545 1965//2541
-f 1965//2541 1969//2545 1970//2546 1957//2533
-f 1957//2533 1970//2546 1951//2527
-f 1971//2547 1951//2527 1970//2546
-f 1971//2547 1970//2546 1969//2545 1972//2548
-f 1972//2548 1969//2545 1968//2544 1973//2549
-f 1973//2549 1968//2544 1967//2543 1974//2550
-f 1974//2550 1967//2543 1966//2542 1975//2551
-f 1976//2552 1951//2527 1971//2547
-f 1977//2553 1951//2527 1976//2552
-f 1978//2554 1951//2527 1977//2553
-f 1937//2513 1951//2527 1978//2554
-f 1936//2512 1951//2527 1937//2513
-f 1934//2510 1951//2527 1936//2512
-f 1939//2515 1938//2514 1979//2555 1834//2410
-f 1978//2554 1979//2555 1938//2514 1937//2513
-f 1980//2556 1834//2410 1979//2555
-f 1979//2555 1978//2554 1977//2553
-f 1981//2557 1977//2553 1976//2552 1982//2558
-f 1982//2558 1976//2552 1971//2547 1983//2559
-f 1972//2548 1983//2559 1971//2547
-f 1983//2559 1972//2548 1984//2560 1985//2561
-f 1986//2562 1984//2560 1972//2548 1973//2549
-f 1987//2563 1986//2562 1973//2549 1974//2550
-f 1988//2564 1987//2563 1974//2550 1975//2551
-f 1983//2559 1985//2561 1989//2565 1982//2558
-f 1982//2558 1989//2565 1990//2566 1981//2557
-f 1981//2557 1990//2566 1991//2567 1980//2556
-f 1980//2556 1991//2567 1834//2410
-f 1824//2400 1834//2410 1992//2568
-f 1993//2569 1992//2568 1834//2410 1991//2567
-f 1993//2569 1991//2567 1994//2570
-f 1990//2566 1994//2570 1991//2567
-f 1995//2571 1994//2570 1990//2566 1989//2565
-f 1996//2572 1995//2571 1989//2565 1985//2561
-f 1997//2573 1996//2572 1985//2561 1984//2560
-f 1998//2574 1997//2573 1984//2560 1986//2562
-f 1999//2575 1998//2574 1986//2562 1987//2563
-f 1988//2564 1999//2575 1987//2563
-f 1824//2400 1992//2568 2000//2576 1833//2409
-f 2001//2577 2000//2576 1992//2568 1993//2569
-f 2002//2578 2001//2577 1993//2569 1994//2570
-f 2003//2579 2002//2578 1994//2570 2004//2580
-f 2004//2580 1994//2570 1995//2571 2005//2581
-f 1996//2572 2005//2581 1995//2571
-f 2006//2582 2004//2580 2005//2581 2007//2583
-f 2008//2584 2007//2583 2005//2581 1996//2572
-f 2006//2582 2003//2579 2004//2580
-f 2008//2584 1996//2572 1997//2573 2009//2585
-f 2009//2585 1997//2573 1998//2574 2010//2586
-f 2010//2586 1998//2574 1999//2575 2011//2587
-f 2012//2588 2003//2579 2013//2589
-f 2012//2588 2013//2589 2014//2590 2015//2591
-f 2016//2592 2012//2588 2015//2591
-f 2017//2593 2016//2592 2015//2591
-f 2017//2593 2015//2591 2018//2594
-f 2019//2595 2003//2579 2006//2582
-f 2018//2594 2015//2591 2014//2590
-f 2007//2583 2019//2595 2006//2582
-f 2020//2596 2019//2595 2007//2583 2008//2584
-f 2021//2597 2020//2596 2008//2584 2009//2585
-f 2019//2595 2020//2596 2022//2598 2023//2599
-f 2013//2589 2003//2579 2019//2595 2023//2599
-f 2024//2600 2012//2588 2016//2592
-f 2002//2578 2024//2600 2025//2601 2001//2577
-f 2001//2577 2025//2601 2026//2602 2000//2576
-f 2000//2576 2026//2602 1836//2412 1833//2409
-f 2024//2600 2016//2592 2027//2603 2028//2604
-f 2024//2600 2028//2604 2029//2605 2025//2601
-f 2025//2601 2029//2605 2030//2606 2026//2602
-f 2026//2602 2030//2606 1850//2426 1836//2412
-f 2031//2607 2014//2590 2013//2589 2023//2599
-f 2031//2607 2023//2599 2022//2598 2032//2608
-f 2033//2609 2034//2610 2035//2611
-f 2031//2607 2034//2610 2018//2594 2014//2590
-f 2034//2610 2033//2609 2036//2612 2018//2594
-f 2017//2593 2018//2594 2036//2612 2037//2613
-f 2038//2614 2036//2612 2033//2609 2039//2615
-f 2039//2615 2033//2609 2035//2611 2040//2616
-f 2040//2616 2035//2611 2041//2617
-f 2040//2616 2041//2617 2042//2618 2043//2619
-f 2044//2620 2037//2613 2036//2612 2038//2614
-f 2031//2607 2032//2608 2035//2611 2034//2610
-f 2039//2615 2040//2616 2043//2619 2045//2621
-f 2042//2618 2041//2617 2046//2622 2047//2623
-f 2041//2617 2035//2611 2048//2624 2046//2622
-f 2048//2624 2035//2611 2032//2608 2049//2625
-f 2049//2625 2032//2608 2022//2598 2050//2626
-f 2022//2598 2020//2596 2021//2597 2050//2626
-f 2047//2623 2046//2622 2051//2627 2052//2628
-f 2038//2614 2039//2615 2045//2621 2053//2629
-f 2044//2620 2038//2614 2053//2629 2054//2630
-f 2055//2631 2044//2620 2054//2630 2056//2632
-f 2044//2620 2055//2631 2057//2633 2037//2613
-f 2017//2593 2037//2613 2057//2633 2058//2634
-f 2058//2634 2057//2633 2059//2635 2060//2636
-f 2061//2637 2059//2635 2057//2633 2055//2631
-f 2062//2638 2061//2637 2055//2631 2056//2632
-f 2063//2639 2016//2592 2017//2593 2058//2634
-f 2027//2603 2016//2592 2063//2639
-f 2064//2640 2063//2639 2058//2634 2060//2636
-f 2065//2641 2027//2603 2063//2639
-f 2065//2641 2063//2639 2064//2640 2066//2642
-f 2027//2603 2065//2641 2028//2604
-f 2067//2643 2061//2637 2062//2638 2068//2644
-f 2061//2637 2067//2643 2069//2645 2059//2635
-f 2059//2635 2069//2645 2070//2646 2060//2636
-f 2060//2636 2070//2646 2071//2647 2064//2640
-f 2068//2644 2072//2648 2073//2649 2067//2643
-f 2067//2643 2073//2649 2074//2650 2069//2645
-f 2069//2645 2074//2650 2075//2651 2070//2646
-f 2070//2646 2075//2651 2076//2652 2071//2647
-f 2072//2648 2077//2653 2078//2654 2073//2649
-f 2073//2649 2078//2654 2079//2655 2074//2650
-f 2074//2650 2079//2655 2080//2656 2075//2651
-f 2081//2657 2078//2654 2077//2653 2082//2658
-f 2081//2657 2083//2659 2079//2655 2078//2654
-f 2084//2660 2083//2659 2081//2657
-f 2084//2660 2081//2657 2082//2658 2085//2661
-f 2086//2662 2084//2660 2087//2663 2088//2664
-f 2083//2659 2084//2660 2086//2662
-f 2087//2663 2084//2660 2085//2661 2089//2665
-f 2090//2666 2087//2663 2089//2665 2091//2667
-f 2092//2668 2090//2666 2091//2667 2093//2669
-f 2090//2666 2094//2670 2088//2664 2087//2663
-f 2090//2666 2095//2671 2094//2670
-f 2096//2672 2095//2671 2090//2666 2092//2668
-f 1841//2417 1840//2416 2097//2673
-f 1847//2423 2097//2673 1840//2416
-f 2098//2674 2097//2673 1847//2423
-f 2099//2675 2098//2674 1847//2423
-f 2100//2676 2097//2673 2098//2674
-f 2100//2676 2098//2674 2101//2677 2102//2678
-f 2103//2679 2101//2677 2098//2674 2104//2680
-f 2104//2680 2098//2674 2099//2675
-f 2104//2680 2099//2675 2105//2681 2106//2682
-f 2103//2679 2104//2680 2106//2682 2107//2683
-f 2108//2684 2103//2679 2107//2683
-f 2109//2685 2101//2677 2103//2679
-f 2102//2678 2101//2677 2110//2686 2111//2687
-f 2112//2688 2110//2686 2101//2677 2109//2685
-f 2113//2689 2112//2688 2109//2685 2114//2690
-f 2114//2690 2109//2685 2103//2679 2108//2684
-f 2115//2691 2106//2682 2105//2681 2116//2692
-f 2107//2683 2106//2682 2115//2691 2117//2693
-f 2108//2684 2107//2683 2117//2693 2118//2694
-f 2114//2690 2108//2684 2118//2694 2119//2695
-f 2113//2689 2114//2690 2119//2695 2120//2696
-f 2121//2697 2113//2689 2120//2696 2122//2698
-f 2113//2689 2121//2697 2123//2699 2112//2688
-f 2112//2688 2123//2699 2110//2686
-f 2110//2686 2123//2699 2111//2687
-f 2095//2671 2115//2691 2124//2700 2094//2670
-f 2116//2692 2124//2700 2115//2691
-f 2124//2700 2116//2692 2125//2701
-f 2124//2700 2125//2701 2088//2664 2094//2670
-f 2086//2662 2088//2664 2125//2701
-f 2117//2693 2115//2691 2095//2671 2096//2672
-f 2118//2694 2117//2693 2096//2672 2126//2702
-f 2126//2702 2096//2672 2092//2668 2127//2703
-f 2127//2703 2092//2668 2093//2669 2128//2704
-f 2119//2695 2118//2694 2126//2702 2129//2705
-f 2120//2696 2119//2695 2129//2705 2130//2706
-f 2122//2698 2120//2696 2130//2706 2131//2707
-f 2132//2708 2123//2699 2121//2697
-f 2133//2709 2132//2708 2121//2697 2122//2698
-f 2134//2710 2133//2709 2122//2698 2131//2707
-f 2135//2711 2129//2705 2126//2702 2127//2703
-f 2136//2712 2135//2711 2127//2703 2128//2704
-f 2137//2713 2130//2706 2129//2705 2135//2711
-f 2138//2714 2137//2713 2135//2711 2136//2712
-f 2139//2715 2131//2707 2130//2706 2137//2713
-f 2140//2716 2139//2715 2137//2713 2138//2714
-f 2141//2717 2134//2710 2131//2707 2139//2715
-f 2142//2718 2141//2717 2139//2715 2140//2716
-f 2143//2719 2075//2651 2080//2656
-f 2066//2642 2064//2640 2071//2647 2144//2720
-f 2076//2652 2145//2721 2144//2720 2071//2647
-f 2075//2651 2143//2719 2146//2722 2076//2652
-f 2076//2652 2146//2722 2145//2721
-f 2080//2656 2079//2655 2083//2659 2147//2723
-f 2148//2724 2083//2659 2086//2662
-f 2080//2656 2147//2723 2149//2725 2143//2719
-f 2143//2719 2149//2725 2146//2722
-f 2148//2724 2086//2662 2125//2701 2150//2726
-f 2150//2726 2125//2701 2116//2692 2151//2727
-f 2151//2727 2116//2692 2105//2681 2152//2728
-f 2152//2728 2105//2681 2099//2675 2153//2729
-f 2153//2729 2099//2675 1847//2423 2154//2730
-f 2154//2730 1847//2423 1846//2422
-f 2155//2731 2145//2721 2146//2722 2149//2725
-f 2156//2732 2155//2731 2149//2725
-f 2156//2732 2149//2725 2157//2733
-f 2158//2734 2159//2735 2160//2736
-f 2156//2732 2157//2733 2161//2737 2162//2738
-f 2162//2738 2161//2737 2159//2735 2158//2734
-f 2163//2739 2156//2732 2162//2738
-f 2163//2739 2162//2738 2158//2734 2164//2740
-f 2164//2740 2158//2734 2160//2736 2165//2741
-f 2165//2741 2160//2736 2166//2742 2167//2743
-f 2168//2744 2156//2732 2163//2739 2169//2745
-f 2169//2745 2163//2739 2164//2740 2170//2746
-f 2170//2746 2164//2740 2165//2741 2171//2747
-f 2171//2747 2165//2741 2167//2743 2172//2748
-f 2173//2749 2172//2748 2167//2743 1851//2427
-f 2167//2743 2166//2742 1846//2422 1851//2427
-f 2173//2749 1851//2427 1852//2428
-f 2144//2720 2145//2721 2174//2750
-f 2175//2751 2145//2721 2155//2731
-f 2175//2751 2155//2731 2156//2732 2168//2744
-f 2176//2752 2174//2750 2145//2721
-f 2144//2720 2174//2750 2066//2642
-f 2030//2606 1852//2428 1850//2426
-f 1852//2428 2030//2606 2177//2753 2178//2754
-f 2179//2755 2177//2753 2030//2606 2029//2605
-f 2180//2756 2179//2755 2029//2605 2028//2604
-f 2181//2757 2180//2756 2028//2604 2065//2641
-f 2174//2750 2181//2757 2065//2641 2066//2642
-f 2182//2758 2173//2749 1852//2428 2178//2754
-f 2183//2759 2172//2748 2173//2749 2182//2758
-f 2172//2748 2183//2759 2184//2760 2171//2747
-f 2171//2747 2184//2760 2185//2761 2170//2746
-f 2170//2746 2185//2761 2186//2762 2169//2745
-f 2169//2745 2186//2762 2187//2763 2168//2744
-f 2175//2751 2168//2744 2187//2763
-f 2145//2721 2175//2751 2188//2764 2176//2752
-f 2188//2764 2175//2751 2187//2763 2189//2765
-f 2189//2765 2187//2763 2186//2762 2190//2766
-f 2191//2767 2190//2766 2186//2762 2185//2761
-f 2191//2767 2185//2761 2184//2760 2192//2768
-f 2192//2768 2184//2760 2183//2759 2193//2769
-f 2194//2770 2193//2769 2178//2754 2177//2753
-f 2179//2755 2194//2770 2177//2753
-f 2195//2771 2194//2770 2179//2755 2180//2756
-f 2196//2772 2195//2771 2180//2756 2181//2757
-f 2174//2750 2176//2752 2196//2772 2181//2757
-f 2193//2769 2183//2759 2182//2758
-f 2193//2769 2182//2758 2178//2754
-f 2197//2773 1795//2371 1797//2373 2198//2774
-f 2197//2773 2198//2774 2199//2775 2200//2776
-f 2200//2776 2199//2775 2201//2777 2202//2778
-s 185
-f 2202//3180 2201//3179 2203//3181 2204//3182
-f 2203//3181 2201//3179 2199//3178 2205//3183
-f 2206//3184 2205//3183 2199//3178 2198//3177
-f 2207//3185 2206//3184 2198//3177 1797//3176
-f 2208//3186 2209//3187 2203//3181 2205//3183
-f 2210//3188 2208//3186 2205//3183 2206//3184
-f 2211//3189 2210//3188 2206//3184 2207//3185
-f 2209//3187 2204//3182 2203//3181
-f 2212//3190 2213//3191 2204//3182 2209//3187
-f 2214//3192 2212//3190 2209//3187 2208//3186
-f 2215//3193 2214//3192 2208//3186 2210//3188
-f 2216//3194 2215//3193 2210//3188 2211//3189
-s 188
-f 2217//3199 2216//3198 2211//3196
-f 2213//3197 2218//3200 2217//3199
-f 2217//3199 2218//3200 2216//3198
-s 185
-f 2216//3194 2218//3195 2215//3193
-s 187
-f 2215//3204 2218//3205 2214//3203
-f 2214//3203 2218//3205 2212//3201
-f 2212//3201 2218//3205 2213//3202
-s 189
-f 2219//3207 2202//3206 2220//3208
-f 2219//3207 2220//3208 2221//3209 2222//3210
-s 169
-f 2223//3218 2222//3217 2221//3216 2224//3219
-f 2224//3219 2221//3216 1793//3212 1792//3211
-f 1794//3213 1795//3214 2197//3215 2225//3220
-f 2225//3220 2224//3219 1792//3211 1794//3213
-s 186
-f 2202//3224 2226//3225 2200//3223
-f 2197//3222 2200//3223 2226//3225
-s 169
-f 2223//3218 2226//3221 2222//3217
-f 2197//3215 2226//3221 2225//3220
-f 2225//3220 2226//3221 2223//3218 2224//3219
-s off
-f 2226//21 2202//21 2219//21 2222//21
-s 190
-f 2227//3226 2228//3227 2229//3228 2230//3229
-s 166
-f 1775//2351 1774//2350 1791//2367 1782//2358
-f 2051//2627 2010//2586 2011//2587 2052//2628
-f 2021//2597 2009//2585 2231//2781 2232//2782
-s off
-f 2009//22 2010//22 2229//22 2231//22
-s 181
-f 2010//3232 2051//3234 2230//3237 2229//3236
-f 2051//3234 2046//3233 2227//3235 2230//3237
-s 166
-f 2046//2622 2048//2624 2228//2780 2227//2779
-f 2048//2624 2049//2625 2233//2783 2228//2780
-f 2049//2625 2050//2626 2234//2784 2233//2783
-f 2050//2626 2021//2597 2232//2782 2234//2784
-f 1921//2497 1920//2496 1927//2503 1925//2501
-f 1922//2498 1921//2497 1925//2501 1923//2499
-f 1913//2489 1922//2498 1923//2499 1915//2491
-f 1915//2491 1908//2484 1913//2489
-f 2024//2600 2002//2578 2003//2579 2012//2588
-f 1915//2491 1914//2490 1908//2484
-s 164
-f 1765//2327 1764//2326 2235//2332 2236//2333
-f 2235//2332 2237//2334 2236//2333
-s 191
-f 2238//3238 2239//3239 2240//3240
-f 2241//3241 2242//3242 2238//3238 2240//3240
-f 2243//3243 2244//3244 2242//3242 2241//3241
-f 2245//3245 2246//3246 2244//3244 2243//3243
-s 166
-f 2247//2791 2239//2785 2248//2792
-f 2239//2785 2247//2791 2249//2793
-f 2250//2794 2240//2786 2239//2785 2249//2793
-f 2251//2795 2241//2787 2240//2786 2250//2794
-f 2243//2788 2241//2787 2251//2795 2252//2796
-f 2253//2797 2245//2789 2243//2788 2252//2796
-f 2254//2798 2249//2793 2247//2791 2255//2799
-f 2256//2800 2250//2794 2249//2793 2254//2798
-f 2257//2801 2251//2795 2250//2794 2256//2800
-f 2258//2802 2252//2796 2251//2795 2257//2801
-f 2259//2803 2253//2797 2252//2796 2258//2802
-f 2260//2804 2259//2803 2261//2805
-f 2253//2797 2259//2803 2260//2804 2262//2806
-f 2247//2791 2248//2792 2263//2807 2264//2808
-f 2255//2799 2247//2791 2264//2808 2265//2809
-f 2266//2810 2255//2799 2265//2809 2267//2811
-f 2255//2799 2266//2810 2254//2798
-f 2266//2810 2267//2811 2268//2812
-f 2254//2798 2266//2810 2269//2813
-f 2256//2800 2254//2798 2269//2813
-f 2257//2801 2256//2800 2269//2813
-f 2270//2814 2257//2801 2269//2813
-f 2269//2813 2266//2810 2271//2815
-f 2268//2812 2272//2816 2271//2815 2266//2810
-f 2258//2802 2257//2801 2273//2817
-f 2259//2803 2258//2802 2274//2818
-f 2261//2805 2259//2803 2275//2819
-f 2274//2818 2276//2820 2275//2819 2259//2803
-f 2273//2817 2277//2821 2274//2818 2258//2802
-f 2271//2815 2278//2822 2270//2814 2269//2813
-f 2279//2823 2270//2814 2278//2822 2280//2824
-f 2270//2814 2279//2823 2273//2817 2257//2801
-f 2277//2821 2273//2817 2279//2823 2281//2825
-f 2282//2826 2281//2825 2279//2823 2280//2824
-f 2283//2827 2284//2828 2281//2825 2282//2826
-f 2277//2821 2281//2825 2284//2828 2285//2829
-f 2277//2821 2285//2829 2276//2820 2274//2818
-f 2278//2822 2271//2815 2272//2816 2286//2830
-f 2280//2824 2278//2822 2286//2830 2287//2831
-f 2282//2826 2280//2824 2287//2831 2288//2832
-f 2283//2827 2282//2826 2288//2832 2289//2833
-f 2272//2816 2290//2834 2291//2835
-f 2286//2830 2272//2816 2291//2835 2292//2836
-f 2287//2831 2286//2830 2292//2836 2293//2837
-f 2288//2832 2287//2831 2293//2837 2294//2838
-f 2289//2833 2288//2832 2294//2838 2295//2839
-f 2296//2840 2297//2841 2298//2842
-f 2290//2834 2296//2840 2298//2842
-f 2299//2843 2291//2835 2290//2834 2298//2842
-f 2300//2844 2299//2843 2298//2842 2297//2841
-f 2292//2836 2291//2835 2299//2843 2301//2845
-f 2293//2837 2292//2836 2301//2845 2302//2846
-f 2294//2838 2293//2837 2302//2846 2303//2847
-f 2294//2838 2303//2847 2304//2848 2295//2839
-f 2289//2833 2295//2839 2305//2849
-f 2306//2850 2304//2848 2307//2851
-f 2303//2847 2308//2852 2307//2851 2304//2848
-f 2302//2846 2309//2853 2308//2852 2303//2847
-f 2301//2845 2310//2854 2309//2853 2302//2846
-f 2299//2843 2300//2844 2310//2854 2301//2845
-f 2311//2855 2312//2856 2313//2857 2314//2858
-f 2315//2859 2316//2860 2312//2856 2311//2855
-f 2310//2854 2300//2844 2316//2860 2315//2859
-f 2311//2855 2314//2858 2317//2861
-f 2317//2861 2314//2858 2318//2862
-f 2315//2859 2311//2855 2317//2861 2319//2863
-f 2310//2854 2315//2859 2319//2863 2309//2853
-f 2319//2863 2317//2861 2320//2864
-f 2308//2852 2309//2853 2319//2863 2320//2864
-f 2308//2852 2320//2864 2307//2851
-f 2306//2850 2307//2851 2320//2864 2321//2865
-f 2322//2866 2320//2864 2317//2861
-f 2321//2865 2320//2864 2322//2866 2323//2867
-f 2324//2868 2261//2805 2275//2819 2325//2869
-f 2326//2870 2325//2869 2275//2819 2276//2820
-f 2327//2871 2261//2805 2324//2868
-f 2260//2804 2261//2805 2327//2871 2328//2872
-f 2329//2873 2324//2868 2330//2874
-f 2327//2871 2324//2868 2329//2873 2331//2875
-f 2328//2872 2327//2871 2331//2875 2332//2876
-f 2333//2877 2324//2868 2325//2869
-f 2330//2874 2324//2868 2333//2877 2334//2878
-f 2335//2879 2330//2874 2336//2880
-f 2337//2881 2330//2874 2335//2879 2338//2882
-f 2339//2883 2329//2873 2330//2874 2337//2881
-f 2331//2875 2329//2873 2339//2883 2340//2884
-f 2341//2885 2332//2876 2331//2875 2340//2884
-f 2342//2886 2335//2879 2336//2880 2343//2887
-f 2344//2888 2342//2886 2343//2887 2345//2889
-f 1876//2452 2344//2888 2345//2889 1875//2451
-f 1878//2454 2346//2890 2344//2888 1876//2452
-f 2344//2888 2346//2890 2342//2886
-f 2335//2879 2342//2886 2338//2882
-f 2347//2891 2346//2890 1878//2454 1879//2455
-f 2338//2882 2342//2886 2346//2890 2347//2891
-f 2348//2892 2347//2891 1879//2455 1881//2457
-f 2337//2881 2338//2882 2347//2891 2348//2892
-f 2349//2893 2339//2883 2337//2881 2348//2892
-f 1884//2460 2349//2893 2348//2892 1881//2457
-f 1884//2460 1886//2462 2350//2894 2349//2893
-f 2340//2884 2339//2883 2349//2893 2350//2894
-f 2350//2894 2351//2895 2341//2885 2340//2884
-f 1886//2462 1888//2464 2351//2895 2350//2894
-f 1890//2466 2352//2896 2351//2895 1888//2464
-f 2353//2897 2341//2885 2351//2895 2352//2896
-s 164
-f 2236//2333 2237//2334 2353//2336 2352//2335
-f 1765//2327 2236//2333 2352//2335 1890//2330
-s 166
-f 2336//2880 2330//2874 2334//2878 2354//2898
-f 2343//2887 2336//2880 2354//2898 2355//2899
-f 2343//2887 2355//2899 2356//2900
-f 1875//2451 2345//2889 2357//2901 1895//2471
-f 2356//2900 2355//2899 2358//2902
-f 1900//2476 2359//2903 2360//2904 1899//2475
-f 2361//2905 2360//2904 2358//2902
-f 2354//2898 2362//2906 2361//2905 2358//2902
-f 2354//2898 2358//2902 2355//2899
-f 2334//2878 2363//2907 2362//2906 2354//2898
-f 2333//2877 2364//2908 2363//2907 2334//2878
-f 2325//2869 2326//2870 2364//2908 2333//2877
-f 2365//2909 2326//2870 2276//2820 2285//2829
-f 2366//2910 2364//2908 2326//2870 2365//2909
-f 2367//2911 2364//2908 2366//2910
-f 2367//2911 2363//2907 2364//2908
-f 2368//2912 2362//2906 2363//2907 2367//2911
-f 2369//2913 2361//2905 2362//2906 2368//2912
-f 2370//2914 2360//2904 2361//2905 2369//2913
-f 1912//2488 1899//2475 2360//2904 2370//2914
-f 2367//2911 2371//2915 2368//2912
-f 2372//2916 2373//2917 2374//2918
-f 2374//2918 2367//2911 2375//2919
-f 2366//2910 2376//2920 2375//2919 2367//2911
-f 2365//2909 2377//2921 2376//2920 2366//2910
-f 2285//2829 2284//2828 2377//2921 2365//2909
-f 2378//2922 1920//2496 1912//2488 2370//2914
-f 2369//2913 2379//2923 2378//2922 2370//2914
-f 2368//2912 2371//2915 2379//2923 2369//2913
-f 2380//2924 2381//2925 2373//2917 2372//2916
-f 2382//2926 2383//2927 2381//2925 2380//2924
-f 1928//2504 1927//2503 2383//2927 2382//2926
-f 2382//2926 2384//2928 1929//2505 1928//2504
-f 2380//2924 2385//2929 2384//2928 2382//2926
-f 2372//2916 2386//2930 2385//2929 2380//2924
-f 2374//2918 2387//2931 2386//2930 2372//2916
-f 2375//2919 2388//2932 2387//2931 2374//2918
-f 1900//2476 1935//2511 2356//2900 2359//2903
-f 2357//2901 2356//2900 1935//2511 1895//2471
-f 2376//2920 2389//2933 2388//2932 2375//2919
-f 2390//2934 2391//2935 2389//2933 2376//2920
-f 2377//2921 2392//2936 2390//2934 2376//2920
-f 2284//2828 2283//2827 2392//2936 2377//2921
-f 2283//2827 2289//2833 2305//2849 2392//2936
-f 2393//2937 2387//2931 2388//2932 2394//2938
-f 2395//2939 2386//2930 2387//2931 2393//2937
-f 2396//2940 2385//2929 2386//2930 2395//2939
-f 2397//2941 2384//2928 2385//2929 2396//2940
-f 1945//2521 1929//2505 2384//2928 2397//2941
-f 2397//2941 2398//2942 1946//2522 1945//2521
-f 2396//2940 2399//2943 2398//2942 2397//2941
-f 2395//2939 2400//2944 2399//2943 2396//2940
-f 2393//2937 2401//2945 2400//2944 2395//2939
-f 2393//2937 2394//2938 2401//2945
-f 2388//2932 2402//2946 2394//2938
-f 2401//2945 2394//2938 2402//2946 2403//2947
-f 2400//2944 2401//2945 2403//2947 2404//2948
-f 2399//2943 2400//2944 2404//2948 2405//2949
-f 2398//2942 2399//2943 2405//2949 2406//2950
-f 1946//2522 2398//2942 2406//2950 1956//2532
-f 2403//2947 2402//2946 2407//2951
-f 2404//2948 2403//2947 2407//2951 2408//2952
-f 2405//2949 2404//2948 2408//2952 2409//2953
-f 2406//2950 2405//2949 2409//2953 2410//2954
-f 1956//2532 2406//2950 2410//2954 1961//2537
-f 1963//2539 1961//2537 2410//2954 2411//2955
-f 2409//2953 2412//2956 2411//2955 2410//2954
-f 2413//2957 2412//2956 2409//2953 2408//2952
-f 2408//2952 2407//2951 2413//2957
-f 2414//2958 1966//2542 1963//2539 2411//2955
-f 2412//2956 2415//2959 2414//2958 2411//2955
-f 2413//2957 2416//2960 2415//2959 2412//2956
-f 2407//2951 2417//2961 2416//2960 2413//2957
-f 2402//2946 2417//2961 2407//2951
-f 2417//2961 2402//2946 2418//2962
-f 2419//2963 2416//2960 2417//2961 2418//2962
-f 2420//2964 2415//2959 2416//2960 2419//2963
-f 2421//2965 2414//2958 2415//2959 2420//2964
-f 1975//2551 1966//2542 2414//2958 2421//2965
-f 2418//2962 2402//2946 2422//2966
-f 2422//2966 2402//2946 2423//2967
-f 2423//2967 2402//2946 2424//2968
-f 2424//2968 2402//2946 2391//2935
-f 2391//2935 2402//2946 2389//2933
-f 2389//2933 2402//2946 2388//2932
-f 2305//2849 2425//2969 2390//2934 2392//2936
-f 2391//2935 2390//2934 2425//2969 2424//2968
-f 2425//2969 2305//2849 2426//2970
-f 2425//2969 2426//2970 2427//2971
-f 2428//2972 2422//2966 2423//2967 2427//2971
-f 2429//2973 2418//2962 2422//2966 2428//2972
-f 2418//2962 2429//2973 2419//2963
-f 2430//2974 2431//2975 2419//2963 2429//2973
-f 2420//2964 2419//2963 2431//2975 2432//2976
-f 2421//2965 2420//2964 2432//2976 2433//2977
-f 1975//2551 2421//2965 2433//2977 1988//2564
-f 2428//2972 2434//2978 2430//2974 2429//2973
-f 2427//2971 2435//2979 2434//2978 2428//2972
-f 2426//2970 2436//2980 2435//2979 2427//2971
-f 2305//2849 2436//2980 2426//2970
-f 2437//2981 2305//2849 2295//2839
-f 2436//2980 2305//2849 2437//2981 2438//2982
-f 2439//2983 2436//2980 2438//2982
-f 2436//2980 2439//2983 2435//2979
-f 2434//2978 2435//2979 2439//2983 2440//2984
-f 2430//2974 2434//2978 2440//2984 2441//2985
-f 2431//2975 2430//2974 2441//2985 2442//2986
-f 2432//2976 2431//2975 2442//2986 2443//2987
-f 2433//2977 2432//2976 2443//2987 1999//2575
-f 2433//2977 1999//2575 1988//2564
-f 2304//2848 2444//2988 2437//2981 2295//2839
-f 2438//2982 2437//2981 2444//2988 2445//2989
-f 2439//2983 2438//2982 2445//2989 2446//2990
-f 2447//2991 2439//2983 2446//2990 2448//2992
-f 2449//2993 2440//2984 2439//2983 2447//2991
-f 2440//2984 2449//2993 2441//2985
-f 2450//2994 2449//2993 2447//2991 2451//2995
-f 2441//2985 2449//2993 2450//2994 2452//2996
-f 2447//2991 2448//2992 2451//2995
-f 2453//2997 2442//2986 2441//2985 2452//2996
-f 2454//2998 2443//2987 2442//2986 2453//2997
-f 2011//2587 1999//2575 2443//2987 2454//2998
-f 2455//2999 2448//2992 2456//3000
-f 2457//3001 2458//3002 2455//2999 2456//3000
-f 2457//3001 2456//3000 2459//3003
-f 2457//3001 2459//3003 2460//3004
-f 2461//3005 2457//3001 2460//3004
-f 2451//2995 2448//2992 2462//3006
-f 2458//3002 2457//3001 2461//3005
-f 2451//2995 2462//3006 2450//2994
-f 2452//2996 2450//2994 2462//3006 2463//3007
-f 2453//2997 2452//2996 2463//3007 2464//3008
-f 2465//3009 2466//3010 2463//3007 2462//3006
-f 2465//3009 2462//3006 2448//2992 2455//2999
-f 2459//3003 2456//3000 2467//3011
-f 2445//2989 2468//3012 2467//3011 2446//2990
-f 2444//2988 2469//3013 2468//3012 2445//2989
-f 2304//2848 2306//2850 2469//3013 2444//2988
-f 2470//3014 2471//3015 2459//3003 2467//3011
-f 2468//3012 2472//3016 2470//3014 2467//3011
-f 2469//3013 2473//3017 2472//3016 2468//3012
-f 2306//2850 2321//2865 2473//3017 2469//3013
-f 2465//3009 2455//2999 2458//3002 2474//3018
-f 2475//3019 2466//3010 2465//3009 2474//3018
-f 2476//3020 2477//3021 2478//3022
-f 2458//3002 2461//3005 2477//3021 2474//3018
-f 2461//3005 2479//3023 2478//3022 2477//3021
-f 2480//3024 2479//3023 2461//3005 2460//3004
-f 2481//3025 2478//3022 2479//3023 2482//3026
-f 2483//3027 2476//3020 2478//3022 2481//3025
-f 2484//3028 2476//3020 2483//3027
-f 2043//2619 2042//2618 2484//3028 2483//3027
-f 2482//3026 2479//3023 2480//3024 2485//3029
-f 2477//3021 2476//3020 2475//3019 2474//3018
-f 2045//2621 2043//2619 2483//3027 2481//3025
-f 2047//2623 2486//3030 2484//3028 2042//2618
-f 2486//3030 2487//3031 2476//3020 2484//3028
-f 2488//3032 2475//3019 2476//3020 2487//3031
-f 2489//3033 2466//3010 2475//3019 2488//3032
-f 2489//3033 2464//3008 2463//3007 2466//3010
-f 2052//2628 2490//3034 2486//3030 2047//2623
-f 2053//2629 2045//2621 2481//3025 2482//3026
-f 2054//2630 2053//2629 2482//3026 2485//3029
-f 2056//2632 2054//2630 2485//3029 2491//3035
-f 2480//3024 2492//3036 2491//3035 2485//3029
-f 2493//3037 2492//3036 2480//3024 2460//3004
-f 2494//3038 2495//3039 2492//3036 2493//3037
-f 2491//3035 2492//3036 2495//3039 2496//3040
-f 2056//2632 2491//3035 2496//3040 2062//2638
-f 2493//3037 2460//3004 2459//3003 2497//3041
-f 2497//3041 2459//3003 2471//3015
-f 2494//3038 2493//3037 2497//3041 2498//3042
-f 2497//3041 2471//3015 2499//3043
-f 2500//3044 2498//3042 2497//3041 2499//3043
-f 2470//3014 2499//3043 2471//3015
-f 2068//2644 2062//2638 2496//3040 2501//3045
-f 2495//3039 2502//3046 2501//3045 2496//3040
-f 2494//3038 2503//3047 2502//3046 2495//3039
-f 2498//3042 2504//3048 2503//3047 2494//3038
-f 2501//3045 2505//3049 2072//2648 2068//2644
-f 2502//3046 2506//3050 2505//3049 2501//3045
-f 2503//3047 2507//3051 2506//3050 2502//3046
-f 2504//3048 2508//3052 2507//3051 2503//3047
-f 2505//3049 2509//3053 2077//2653 2072//2648
-f 2506//3050 2510//3054 2509//3053 2505//3049
-f 2507//3051 2511//3055 2510//3054 2506//3050
-f 2082//2658 2077//2653 2509//3053 2512//3056
-f 2509//3053 2510//3054 2513//3057 2512//3056
-f 2512//3056 2513//3057 2514//3058
-f 2085//2661 2082//2658 2512//3056 2514//3058
-f 2515//3059 2516//3060 2514//3058 2517//3061
-f 2517//3061 2514//3058 2513//3057
-f 2089//2665 2085//2661 2514//3058 2516//3060
-f 2091//2667 2089//2665 2516//3060 2518//3062
-f 2093//2669 2091//2667 2518//3062 2519//3063
-f 2516//3060 2515//3059 2520//3064 2518//3062
-f 2520//3064 2521//3065 2518//3062
-f 2519//3063 2518//3062 2521//3065 2522//3066
-f 2523//3067 2314//2858 2313//2857
-f 2314//2858 2523//3067 2318//2862
-f 2318//2862 2523//3067 2524//3068
-f 2318//2862 2524//3068 2525//3069
-f 2524//3068 2523//3067 2526//3070
-f 2527//3071 2528//3072 2524//3068 2526//3070
-f 2529//3073 2524//3068 2528//3072 2530//3074
-f 2525//3069 2524//3068 2529//3073
-f 2531//3075 2532//3076 2525//3069 2529//3073
-f 2533//3077 2531//3075 2529//3073 2530//3074
-f 2533//3077 2530//3074 2534//3078
-f 2530//3074 2528//3072 2535//3079
-f 2536//3080 2537//3081 2528//3072 2527//3071
-f 2535//3079 2528//3072 2537//3081 2538//3082
-f 2539//3083 2535//3079 2538//3082 2540//3084
-f 2534//3078 2530//3074 2535//3079 2539//3083
-f 2541//3085 2532//3076 2531//3075 2542//3086
-f 2543//3087 2542//3086 2531//3075 2533//3077
-f 2544//3088 2543//3087 2533//3077 2534//3078
-f 2545//3089 2544//3088 2534//3078 2539//3083
-f 2546//3090 2545//3089 2539//3083 2540//3084
-f 2547//3091 2546//3090 2540//3084 2548//3092
-f 2538//3082 2549//3093 2548//3092 2540//3084
-f 2537//3081 2549//3093 2538//3082
-f 2536//3080 2549//3093 2537//3081
-f 2520//3064 2550//3094 2542//3086 2521//3065
-f 2542//3086 2550//3094 2541//3085
-f 2551//3095 2541//3085 2550//3094
-f 2520//3064 2515//3059 2551//3095 2550//3094
-f 2551//3095 2515//3059 2517//3061
-f 2522//3066 2521//3065 2542//3086 2543//3087
-f 2552//3096 2522//3066 2543//3087 2544//3088
-f 2553//3097 2519//3063 2522//3066 2552//3096
-f 2128//2704 2093//2669 2519//3063 2553//3097
-f 2554//3098 2552//3096 2544//3088 2545//3089
-f 2555//3099 2554//3098 2545//3089 2546//3090
-f 2556//3100 2555//3099 2546//3090 2547//3091
-f 2548//3092 2549//3093 2557//3101
-f 2547//3091 2548//3092 2557//3101 2558//3102
-f 2556//3100 2547//3091 2558//3102 2559//3103
-f 2553//3097 2552//3096 2554//3098 2560//3104
-f 2128//2704 2553//3097 2560//3104 2136//2712
-f 2560//3104 2554//3098 2555//3099 2561//3105
-f 2136//2712 2560//3104 2561//3105 2138//2714
-f 2561//3105 2555//3099 2556//3100 2562//3106
-f 2138//2714 2561//3105 2562//3106 2140//2716
-f 2562//3106 2556//3100 2559//3103 2563//3107
-f 2140//2716 2562//3106 2563//3107 2142//2718
-f 2511//3055 2507//3051 2564//3108
-f 2565//3109 2504//3048 2498//3042 2500//3044
-f 2504//3048 2565//3109 2566//3110 2508//3052
-f 2508//3052 2567//3111 2564//3108 2507//3051
-f 2566//3110 2567//3111 2508//3052
-f 2568//3112 2513//3057 2510//3054 2511//3055
-f 2517//3061 2513//3057 2569//3113
-f 2564//3108 2570//3114 2568//3112 2511//3055
-f 2567//3111 2570//3114 2564//3108
-f 2571//3115 2551//3095 2517//3061 2569//3113
-f 2572//3116 2541//3085 2551//3095 2571//3115
-f 2573//3117 2532//3076 2541//3085 2572//3116
-f 2574//3118 2525//3069 2532//3076 2573//3117
-f 2575//3119 2318//2862 2525//3069 2574//3118
-f 2317//2861 2318//2862 2575//3119
-f 2570//3114 2567//3111 2566//3110 2576//3120
-f 2570//3114 2576//3120 2577//3121
-f 2578//3122 2570//3114 2577//3121
-f 2579//3123 2580//3124 2581//3125
-f 2582//3126 2583//3127 2578//3122 2577//3121
-f 2581//3125 2580//3124 2583//3127 2582//3126
-f 2582//3126 2577//3121 2584//3128
-f 2585//3129 2581//3125 2582//3126 2584//3128
-f 2586//3130 2579//3123 2581//3125 2585//3129
-f 2587//3131 2588//3132 2579//3123 2586//3130
-f 2589//3133 2584//3128 2577//3121 2590//3134
-f 2591//3135 2585//3129 2584//3128 2589//3133
-f 2592//3136 2586//3130 2585//3129 2591//3135
-f 2593//3137 2587//3131 2586//3130 2592//3136
-f 2322//2866 2587//3131 2593//3137 2594//3138
-f 2322//2866 2317//2861 2588//3132 2587//3131
-f 2323//2867 2322//2866 2594//3138
-f 2595//3139 2566//3110 2565//3109
-f 2576//3120 2566//3110 2596//3140
-f 2590//3134 2577//3121 2576//3120 2596//3140
-f 2566//3110 2595//3139 2597//3141
-f 2500//3044 2595//3139 2565//3109
-f 2321//2865 2323//2867 2473//3017
-f 2598//3142 2599//3143 2473//3017 2323//2867
-f 2472//3016 2473//3017 2599//3143 2600//3144
-f 2470//3014 2472//3016 2600//3144 2601//3145
-f 2499//3043 2470//3014 2601//3145 2602//3146
-f 2500//3044 2499//3043 2602//3146 2595//3139
-f 2598//3142 2323//2867 2594//3138 2603//3147
-f 2603//3147 2594//3138 2593//3137 2604//3148
-f 2592//3136 2605//3149 2604//3148 2593//3137
-f 2591//3135 2606//3150 2605//3149 2592//3136
-f 2589//3133 2607//3151 2606//3150 2591//3135
-f 2590//3134 2608//3152 2607//3151 2589//3133
-f 2608//3152 2590//3134 2596//3140
-f 2597//3141 2609//3153 2596//3140 2566//3110
-f 2610//3154 2608//3152 2596//3140 2609//3153
-f 2611//3155 2607//3151 2608//3152 2610//3154
-f 2606//3150 2607//3151 2611//3155 2612//3156
-f 2613//3157 2605//3149 2606//3150 2612//3156
-f 2614//3158 2604//3148 2605//3149 2613//3157
-f 2599//3143 2598//3142 2614//3158 2615//3159
-f 2599//3143 2615//3159 2600//3144
-f 2601//3145 2600//3144 2615//3159 2616//3160
-f 2602//3146 2601//3145 2616//3160 2617//3161
-f 2602//3146 2617//3161 2597//3141 2595//3139
-f 2603//3147 2604//3148 2614//3158
-f 2598//3142 2603//3147 2614//3158
-f 2618//3162 2268//2812 2267//2811 2619//3163
-f 2620//3164 2621//3165 2618//3162 2619//3163
-f 2622//3166 2623//3167 2621//3165 2620//3164
-s 208
-f 2624//3252 2625//3253 2623//3251 2622//3250
-f 2626//3254 2621//3249 2623//3251 2625//3253
-f 2618//3248 2621//3249 2626//3254 2627//3255
-f 2268//3247 2618//3248 2627//3255 2628//3256
-f 2626//3254 2625//3253 2629//3257 2630//3258
-f 2627//3255 2626//3254 2630//3258 2631//3259
-f 2628//3256 2627//3255 2631//3259 2632//3260
-f 2625//3253 2624//3252 2629//3257
-f 2629//3257 2624//3252 2633//3261 2634//3262
-f 2630//3258 2629//3257 2634//3262 2635//3263
-f 2631//3259 2630//3258 2635//3263 2636//3264
-f 2632//3260 2631//3259 2636//3264 2637//3265
-s 211
-f 2632//3267 2637//3269 2638//3270
-f 2638//3270 2639//3271 2633//3268
-f 2637//3269 2639//3271 2638//3270
-s 208
-f 2636//3264 2639//3266 2637//3265
-s 210
-f 2635//3274 2639//3276 2636//3275
-f 2634//3273 2639//3276 2635//3274
-f 2633//3272 2639//3276 2634//3273
-s 212
-f 2640//3278 2622//3277 2641//3279
-f 2642//3280 2643//3281 2640//3278 2641//3279
-s 193
-f 2644//3289 2643//3288 2642//3287 2645//3290
-f 2264//3283 2263//3282 2643//3288 2644//3289
-f 2646//3291 2619//3286 2267//3285 2265//3284
-f 2265//3284 2264//3283 2644//3289 2646//3291
-s 209
-f 2620//3294 2647//3296 2622//3295
-f 2647//3296 2620//3294 2619//3293
-s 193
-f 2642//3287 2647//3292 2645//3290
-f 2646//3291 2647//3292 2619//3286
-f 2644//3289 2645//3290 2647//3292 2646//3291
-s off
-f 2642//23 2641//23 2622//23 2647//23
-s 166
-f 2648//3168 2649//3169 2650//3170 2651//3171
-f 2253//2797 2262//2806 2246//2790 2245//2789
-f 2052//2628 2011//2587 2454//2998 2490//3034
-f 2651//3171 2650//3170 2453//2997 2464//3008
-s off
-f 2650//24 2652//24 2454//24 2453//24
-s 203
-f 2652//3300 2653//3301 2490//3299 2454//3297
-f 2653//3301 2654//3302 2486//3298 2490//3299
-s 166
-f 2654//3174 2655//3175 2487//3031 2486//3030
-f 2655//3175 2649//3169 2488//3032 2487//3031
-f 2649//3169 2648//3168 2489//3033 2488//3032
-f 2648//3168 2651//3171 2464//3008 2489//3033
-f 2383//2927 1927//2503 1920//2496 2378//2922
-f 2381//2925 2383//2927 2378//2922 2379//2923
-f 2373//2917 2381//2925 2379//2923 2371//2915
-f 2371//2915 2367//2911 2373//2917
-f 2456//3000 2448//2992 2446//2990 2467//3011
-f 2367//2911 2374//2918 2373//2917
-f 1893//2469 1871//2447 1894//2470 1896//2472
-f 1893//2469 1896//2472 1898//2474 1901//2477
-f 1980//2556 1979//2555 1977//2553 1981//2557
-s off
-f 2234//25 2232//25 2228//25 2233//25
-s 190
-f 2231//3230 2229//3228 2228//3227 2232//3231
-s 166
-f 2345//2889 2343//2887 2356//2900 2357//2901
-f 2359//2903 2356//2900 2358//2902 2360//2904
-f 2424//2968 2425//2969 2427//2971 2423//2967
-f 2654//3174 2653//3173 2649//3169 2655//3175
-f 2652//3172 2650//3170 2649//3169 2653//3173
-# 2812 elements
diff --git a/src/geometry/brick2.int b/src/geometry/brick2.int
deleted file mode 100644
index 8df4211..0000000
--- a/src/geometry/brick2.int
+++ /dev/null
Binary files differ
diff --git a/src/geometry/concrete.int b/src/geometry/concrete.int
deleted file mode 100644
index bffe4f6..0000000
--- a/src/geometry/concrete.int
+++ /dev/null
Binary files differ
diff --git a/src/geometry/galleon.cg b/src/geometry/galleon.cg
deleted file mode 100644
index 4964118..0000000
--- a/src/geometry/galleon.cg
+++ /dev/null
Binary files differ
diff --git a/src/geometry/galleon.obj b/src/geometry/galleon.obj
deleted file mode 100644
index 0ed58af..0000000
--- a/src/geometry/galleon.obj
+++ /dev/null
@@ -1,8901 +0,0 @@
-# Tue Oct 27 19:26:52 1992
-#
-# Spanish Galleon
-#
-# Courtesy of:
-#
-# Viewpoint Animation Engineering
-# 870 West Center
-# Orem, Utah 84057
-# (801)224-2222
-# 1-800-DATASET
-#
-# (c) Copyright 1992 Viewpoint Animation Engineering Inc.
-# Sun Microsystems has been authorized to freely distribute
-# these Datasets. They are provided for unlimited use in
-# existing or modified form. The actual Dataset (ie, geometry)
-# may not, however, be resold in existing or modified form.
-#
-
-g
-v -0.471519 0.607158 0.742476
-v -0.471519 2.835144 0.742476
-v 0.235709 2.835144 1.035419
-v 0.235709 3.340722 1.035419
-v -1.250291 3.340722 0.419898
-v -1.435455 28.440485 0.343200
-v -0.525114 29.392422 0.720276
-v -0.339949 31.134907 0.796974
-v -0.009594 31.301920 0.933812
-v -0.009594 31.705118 0.933812
-v -0.813112 31.538105 0.600984
-v -0.998277 30.035196 0.524286
-v -1.638847 30.068596 0.258952
-v -1.981079 54.333931 0.117197
-v -0.471518 0.607158 -0.742476
-v -0.471518 2.835144 -0.742476
-v 0.235709 2.835144 -1.035419
-v 0.235709 3.340722 -1.035419
-v -1.250291 3.340722 -0.419898
-v -1.435455 28.440485 -0.343200
-v -0.525114 29.392422 -0.720276
-v -0.339949 31.134907 -0.796974
-v -0.009594 31.301920 -0.933812
-v -0.009594 31.705118 -0.933812
-v -0.813112 31.538105 -0.600984
-v -0.998277 30.035196 -0.524286
-v -1.638847 30.068596 -0.258952
-v -1.981079 54.333931 -0.117197
-v -1.521538 0.607158 -1.792495
-v -2.146818 54.333931 -0.282936
-v -3.006491 0.607158 -1.792497
-v -2.381211 54.333931 -0.282936
-v -4.056510 0.607158 -0.742476
-v -4.056510 2.835144 -0.742476
-v -4.763738 2.835144 -1.035419
-v -4.763738 3.340722 -1.035419
-v -3.277740 3.340722 -0.419898
-v -3.092574 28.440485 -0.343200
-v -4.002915 29.392422 -0.720276
-v -4.188079 31.134907 -0.796974
-v -4.518436 31.301920 -0.933812
-v -4.518436 31.705118 -0.933812
-v -3.714916 31.538105 -0.600984
-v -3.529752 30.035196 -0.524286
-v -2.889182 30.068596 -0.258952
-v -2.546952 54.333931 -0.117197
-v -4.056511 0.607158 0.742476
-v -4.056511 2.835144 0.742476
-v -4.763738 2.835144 1.035419
-v -4.763738 3.340722 1.035419
-v -3.277740 3.340722 0.419898
-v -3.092574 28.440485 0.343200
-v -4.002915 29.392422 0.720276
-v -4.188079 31.134907 0.796974
-v -4.518435 31.301920 0.933812
-v -4.518435 31.705118 0.933812
-v -3.714916 31.538105 0.600984
-v -3.529752 30.035196 0.524286
-v -2.889182 30.068596 0.258952
-v -2.546952 54.333931 0.117197
-v -3.006491 0.607158 1.792495
-v -3.006491 2.835144 1.792495
-v -3.299435 2.835144 2.499723
-v -3.299435 3.340722 2.499723
-v -2.683913 3.340722 1.013724
-v -2.607214 28.440485 0.828560
-v -2.984291 29.392422 1.738900
-v -3.060988 31.134907 1.924065
-v -3.197826 31.301920 2.254421
-v -3.197826 31.705118 2.254421
-v -2.864999 31.538105 1.450902
-v -2.788301 30.035196 1.265738
-v -2.522967 30.068596 0.625167
-v -2.381211 54.333931 0.282936
-v -1.521538 0.607158 1.792497
-v -1.521538 2.835144 1.792497
-v -1.228595 2.835144 2.499723
-v -1.228595 3.340722 2.499723
-v -1.844116 3.340722 1.013724
-v -1.920815 28.440485 0.828560
-v -1.543738 29.392422 1.738900
-v -1.467041 31.134907 1.924065
-v -1.330203 31.301920 2.254421
-v -1.330203 31.705118 2.254421
-v -1.663031 31.538105 1.450902
-v -1.739728 30.035196 1.265738
-v -2.005062 30.068596 0.625167
-v -2.146818 54.333931 0.282936
-v -1.732276 28.916454 1.283730
-v -2.795753 28.916454 1.283730
-v -2.378415 28.440485 0.828560
-v -2.149614 28.440485 0.828560
-v -2.086768 28.916454 1.283730
-v -2.441260 28.916454 1.283730
-v -10.859753 1.409189 15.317495
-v -10.505260 1.409189 15.317495
-v -10.442413 0.933218 14.862325
-v -10.671214 0.933218 14.862325
-v -3.396813 0.933175 14.862257
-v -3.625614 0.933175 14.862261
-v -3.562768 1.409142 15.317429
-v -3.208276 1.409142 15.317429
-v -7.081613 0.933123 14.862221
-v -7.310413 0.933123 14.862221
-v -7.373259 1.409093 15.317392
-v -7.018765 1.409093 15.317392
-v -32.243050 -19.185102 0.000000
-v -38.131035 -19.181059 0.000000
-v -38.073593 -19.202291 1.238075
-v -32.189545 -19.209759 1.238075
-v -24.875282 -19.207870 1.238075
-v -24.875282 -19.187256 0.000000
-v -21.158424 -19.201153 1.238075
-v -21.158424 -19.188753 0.000000
-v -17.426210 -19.199236 1.238075
-v -17.426210 -19.186226 0.000000
-v -10.703051 -19.188595 1.238075
-v -10.703051 -19.187540 0.000000
-v -6.862593 -19.192287 1.238075
-v -6.862593 -19.191231 0.000000
-v -2.943282 -19.197210 1.238075
-v -2.943282 -19.188084 0.000000
-v 2.420745 -19.188913 1.238075
-v 2.420745 -19.183977 0.000000
-v 7.603565 -19.183283 0.000000
-v 7.603565 -19.195683 1.238075
-v 12.967180 -18.306032 1.259959
-v 12.980299 -18.290831 0.000000
-v 16.730053 -16.014843 1.259959
-v 16.797665 -16.055038 0.000000
-v 19.381454 -13.269838 1.259959
-v 19.872108 -13.242973 0.000000
-v 22.486511 -8.349066 1.259959
-v 22.851847 -8.316385 0.000000
-v 24.247856 -5.150546 1.259967
-v 24.431244 -5.094540 0.000000
-v 26.552673 -2.858097 1.259976
-v 26.431309 -2.898813 0.000000
-v 29.468712 -0.579000 1.259978
-v 29.475975 -0.580864 0.000000
-v 30.889355 1.488847 1.259971
-v 30.886574 1.483778 0.000000
-v 30.887581 4.224448 1.259971
-v 30.886909 4.257463 0.000000
-v 29.521240 5.140058 1.259971
-v 29.460693 5.099638 0.000000
-v 27.605324 4.464114 1.605842
-v 27.489288 4.497021 0.000000
-v 27.217043 2.526036 1.605860
-v 27.104233 2.554623 0.000000
-v -32.122738 -17.475546 1.238075
-v -24.875282 -17.469940 1.238075
-v -21.158424 -17.471130 1.238075
-v -17.426210 -17.464722 1.238075
-v -10.703051 -17.446625 1.238075
-v -6.862593 -17.454201 1.238075
-v -2.943282 -17.458817 1.238075
-v 2.420745 -17.454708 1.238075
-v 7.603565 -17.449827 1.238075
-v 12.879044 -16.473442 1.238075
-v 16.405544 -14.094017 1.238075
-v 18.244587 -11.779632 1.238075
-v 20.710901 -7.529170 1.281522
-v 22.502172 -2.387520 1.780734
-v 26.162926 -1.127839 1.911312
-v 28.999243 0.125412 1.881888
-v -32.122726 -16.693306 4.355949
-v -24.875282 -16.438957 5.023836
-v -21.158424 -16.432545 5.456006
-v -17.426210 -16.414181 5.591547
-v -10.703051 -16.404001 5.960669
-v -6.862593 -16.404274 6.041844
-v -2.943282 -16.405006 6.357064
-v 2.420745 -16.404470 6.357064
-v 7.603565 -16.380497 6.357064
-v 12.832268 -15.500710 6.259944
-v 16.321648 -13.597433 5.927067
-v 18.157881 -11.652975 5.318019
-v 20.729614 -7.361181 4.084560
-v -32.122711 -15.201252 8.479453
-v -24.875282 -15.191301 8.889921
-v -21.158424 -15.188612 9.238050
-v -17.426210 -15.185617 9.648746
-v -10.703051 -15.151535 9.959948
-v -6.862593 -15.148084 10.122597
-v -2.943282 -15.161076 10.404315
-v 2.420745 -15.136637 10.490346
-v 7.603565 -15.139988 10.384273
-v 12.742552 -13.635256 10.271313
-v 16.052504 -12.004322 9.672956
-v 17.738865 -10.274949 8.849628
-v 20.423779 -6.674508 7.563237
-v 22.927841 -2.079975 5.293032
-v -32.122692 -13.101498 12.252906
-v -24.875282 -13.559512 12.869038
-v -21.158424 -13.563975 12.793823
-v -17.426210 -13.564394 13.015837
-v -10.703051 -13.542574 13.359402
-v -6.862593 -13.538811 13.468325
-v -2.943282 -13.548689 13.506525
-v 2.420745 -13.559494 13.319569
-v 7.603565 -13.121067 12.955379
-v 12.651917 -11.750661 12.163342
-v 15.776398 -10.370003 11.428668
-v 17.823387 -8.626553 10.201316
-v 20.243277 -5.812185 8.599287
-v 22.642578 -2.021900 6.338686
-v -32.122688 -10.525450 13.978191
-v -24.875282 -10.610699 14.971485
-v -21.158424 -10.603826 15.170494
-v -17.426210 -10.616206 15.433119
-v -10.703051 -10.590498 15.556311
-v -6.862593 -10.586885 15.660851
-v -2.943282 -10.611682 15.249158
-v 2.420745 -10.615954 14.819395
-v 7.603565 -10.423251 14.270162
-v 12.555428 -9.744363 13.830376
-v 15.481684 -8.625530 13.248377
-v 17.762831 -6.967863 11.940372
-v 19.731392 -4.773400 10.782165
-v 22.192654 -1.778881 8.919837
-v -38.881935 -16.109306 1.238075
-v -38.942127 -13.100367 1.238075
-v -32.122734 -13.101784 1.238075
-v -38.612694 -10.520290 1.238075
-v -32.122734 -10.529110 1.238075
-v -35.691887 -7.364658 1.238075
-v -32.122734 -7.294571 1.238075
-v -34.094254 -2.453040 1.238075
-v -32.122734 -2.380687 1.238075
-v -32.122818 3.000987 1.238075
-v -32.122829 0.590391 1.238075
-v -32.122726 -13.101580 3.815750
-v -32.122711 -13.101223 8.479156
-v -32.122711 -10.525373 8.478323
-v -32.122726 -10.527499 3.815633
-v -32.122726 -7.294347 3.815463
-v -32.122707 -7.294013 8.480250
-v -32.122684 -7.293530 14.206009
-v -32.122730 -2.380611 2.860078
-v -32.122726 -2.380491 4.517693
-v -32.122711 -3.604395 7.527471
-v -32.122704 -3.604366 9.285585
-v -32.122688 -3.604459 12.926102
-v -34.151215 -2.453028 0.000000
-v -35.631935 -7.364541 0.000000
-v -38.571144 -10.520123 0.000000
-v -38.914642 -13.100622 0.000000
-v -38.943748 -16.087477 0.000000
-v 26.141859 -0.943860 5.148655
-v 29.132690 0.554667 5.435258
-v 26.222294 -0.414192 7.186513
-v 23.797483 -0.793227 9.466203
-v 21.442825 -1.464471 9.712464
-v 22.778015 -0.755679 10.499197
-v 29.379856 3.334527 1.774282
-v 28.136330 2.362632 4.761501
-v 26.016197 1.315401 7.589925
-v 24.328785 1.265883 9.340617
-v 20.806227 -0.763545 10.438858
-v 21.705126 -0.275237 11.014637
-v 20.500061 0.752725 10.784106
-v 21.436293 0.883347 11.366537
-v 21.135654 1.550061 10.690931
-v 22.121262 1.561577 11.206270
-v 21.007219 3.249419 9.869397
-v 23.650299 1.840257 8.010921
-v 25.636337 1.698787 6.579282
-v 27.706768 2.015127 4.583124
-v 17.983040 6.662837 11.152293
-v 17.005033 6.662837 9.681633
-v 20.477345 3.637633 7.988389
-v 22.595039 2.320421 6.663224
-v 24.421982 1.686574 5.242180
-v 26.100426 1.864140 3.405339
-v 28.646168 2.885117 3.198632
-v 27.660387 1.772689 0.000000
-v 27.427397 1.142091 0.000000
-v 26.333582 1.027800 1.582581
-v 25.659239 1.174690 0.000000
-v 23.720354 0.966969 4.569222
-v 23.102367 0.608405 0.000000
-v 21.179319 1.176081 0.000000
-v 21.278627 1.400611 1.803334
-v 16.906103 5.316076 1.586848
-v 16.906103 5.316102 0.000000
-v 18.888571 1.302237 1.623599
-v 21.060875 1.981712 6.729387
-v 19.376360 2.471233 7.869488
-v 16.906103 5.316122 8.994491
-v 6.683901 5.316105 9.844049
-v 6.683901 5.315889 1.586848
-v 6.675109 5.316054 0.000000
-v 19.400375 -3.691560 11.374310
-v 18.681934 -1.983630 11.338428
-v 17.373505 -5.228647 12.646860
-v 16.633705 -3.074314 12.192126
-v 15.075657 -6.222204 13.865580
-v 14.621896 -3.523885 13.566364
-v 12.255808 -3.514410 13.771845
-v 12.411800 -6.757924 14.212804
-v 7.603565 -7.188782 14.846800
-v 7.603565 -3.490891 14.606509
-v 2.420745 -7.173941 15.276383
-v 2.420745 -3.480093 14.919241
-v -2.943282 -7.166555 15.589163
-v -2.961988 -3.473636 15.106121
-v -4.439586 -3.475051 15.065130
-v -6.862593 -7.149532 15.766785
-v -6.464514 -3.472743 15.131924
-v -8.018665 -3.474161 15.090826
-v -10.703051 -7.164166 15.766442
-v -9.989845 -3.475893 15.040714
-v -11.494260 -3.481347 14.882881
-v -17.426210 -7.163010 15.619746
-v -17.426210 -3.476307 15.028784
-v -21.158424 -7.158087 15.411015
-v -21.158424 -3.491715 14.582708
-v -24.875282 -7.172729 15.149325
-v -24.875282 -3.502623 14.266861
-v 18.104813 -0.132791 11.438385
-v 17.807384 1.818409 11.514686
-v 16.016308 -0.209789 12.214762
-v 15.502045 1.959264 11.977353
-v 15.252133 4.364689 12.089524
-v 17.344368 4.240352 11.840204
-v 13.062292 4.818222 12.265154
-v 13.673447 2.077692 12.471821
-v 14.041731 -0.091286 13.220635
-v 11.917332 -0.092658 13.622351
-v 11.917332 3.738120 12.682102
-v 13.062292 3.738120 12.646502
-v 13.062292 3.738120 13.693560
-v 13.062292 4.882016 13.297487
-v 6.935244 4.838787 12.860477
-v 6.935244 4.877757 13.657490
-v 11.917332 3.738120 13.693560
-v 10.851164 3.738120 13.693560
-v 9.059711 3.738120 13.693560
-v 7.942212 3.738120 13.693560
-v 6.935244 3.738120 13.693585
-v 10.851164 -0.092025 13.680202
-v 10.851164 3.738120 13.099374
-v 9.059711 -0.082416 13.958302
-v 9.059711 3.738120 13.247311
-v 7.942212 -0.088027 13.795906
-v 7.942212 3.738120 12.994835
-v 6.935244 3.738120 12.932455
-v 2.420745 -0.081102 13.996309
-v 2.420745 1.569107 13.480452
-v 2.420745 3.221424 12.616695
-v -1.886394 3.221424 12.694532
-v -1.898796 1.579293 13.775311
-v -1.898796 -0.093726 14.123177
-v -2.961988 -0.093726 14.123177
-v -2.961988 -0.093726 15.846119
-v -4.439586 -0.093726 15.846119
-v -6.464514 -0.093726 15.846119
-v -8.018665 -0.093726 15.846119
-v -9.989845 -0.093726 15.846119
-v -11.494260 -0.093726 15.846119
-v -6.464514 -0.093726 14.123177
-v -4.439586 -0.093726 14.123177
-v -9.989845 -0.093726 14.123177
-v -8.018665 -0.093726 14.123177
-v -12.515305 -0.093726 14.123177
-v -11.494260 -0.093726 14.123177
-v -12.515305 1.643136 15.278696
-v -1.898796 1.623528 15.278696
-v -1.898796 -0.093726 15.846119
-v -12.515305 -0.093726 15.846119
-v -12.515305 1.580878 13.821227
-v -8.522958 3.221424 12.703880
-v -10.136595 4.386232 12.483255
-v -12.771408 4.612774 12.141369
-v -13.215079 9.087099 12.333536
-v -17.426210 -0.085238 13.876673
-v -17.327192 1.568238 13.455286
-v -18.602346 1.558287 13.167220
-v -21.158424 -0.093337 13.642082
-v -20.301380 1.560132 13.220694
-v -21.564625 1.545988 12.811226
-v -24.875282 -0.115279 13.006975
-v -24.875282 1.535080 12.495492
-v -18.602346 5.420457 13.195373
-v -17.327192 5.420457 13.195373
-v -20.301380 5.420457 13.195373
-v -21.564625 5.420457 13.195373
-v -22.943232 5.420457 13.195373
-v -22.943232 6.953562 13.019781
-v -16.144386 6.964816 13.345592
-v -16.144386 5.420457 13.195373
-v -17.327192 5.420457 11.781666
-v -16.144386 5.420457 11.781666
-v -16.144386 6.916856 11.957180
-v -20.301380 5.420457 11.781666
-v -18.602346 5.420457 11.781666
-v -22.943232 6.914290 11.882894
-v -19.419006 9.058252 11.675020
-v -20.785156 10.432585 11.266025
-v -22.943232 5.420457 11.781666
-v -21.564625 5.420457 11.781666
-v -24.875282 11.097299 11.310978
-v -22.073826 12.809116 11.031629
-v -30.663502 11.097299 10.697601
-v -30.324631 13.255548 10.468728
-v -30.036606 14.678006 10.958575
-v -22.617615 13.859209 11.521384
-v -32.024277 15.183992 8.240927
-v -22.549631 13.892679 9.395622
-v -33.987694 15.764829 10.182573
-v -33.718784 15.003299 10.658934
-v -33.772961 13.609431 10.011785
-v -33.887344 11.097299 10.130578
-v -34.301479 16.149021 7.782318
-v -32.866196 16.196304 7.754097
-v -35.090012 19.437290 4.864941
-v -33.522549 19.528704 4.747104
-v -35.784195 21.577259 2.965577
-v -34.027481 21.557823 2.963631
-v -36.012775 22.438992 1.238075
-v -34.225647 22.404272 1.238075
-v -36.034115 22.694397 0.000000
-v -34.290081 22.667803 0.000000
-v -35.982044 20.292164 0.000000
-v -35.525314 19.202272 2.929065
-v -35.834301 18.574884 0.000000
-v -34.960712 15.855540 2.964757
-v -35.472115 15.759262 0.000000
-v -35.266460 13.591896 0.000000
-v -34.620663 13.597372 2.965675
-v -34.500881 12.321301 2.967943
-v -35.115417 12.681304 0.000000
-v -33.745373 13.603200 7.767865
-v -33.643600 11.097299 7.760621
-v -29.725348 1.534853 12.693987
-v -29.951672 -0.553082 12.838999
-v -29.089066 -2.256183 13.223326
-v -29.440445 -3.531864 13.420376
-v -26.469778 9.078413 12.638399
-v -30.376698 9.078413 12.195282
-v -34.513470 9.078413 11.671916
-v -35.326443 9.078413 8.519265
-v -36.337158 10.302411 4.204359
-v -32.288364 14.311578 0.000000
-v -38.840782 8.738811 0.000000
-v -36.824764 10.662413 0.000000
-v -38.226944 8.378810 4.931240
-v -37.265987 7.154811 10.030826
-v -36.054546 7.154811 15.249533
-v -31.044762 7.154811 15.397676
-v -28.175797 7.154811 15.624508
-v -26.515152 1.792719 14.466270
-v -28.182747 3.357670 15.498522
-v -30.193434 1.779966 14.420488
-v -31.038305 3.357670 15.387860
-v -35.530365 3.357670 15.019470
-v -36.705807 3.357670 10.029904
-v -37.666824 4.581672 4.931256
-v -38.222157 4.941670 0.000000
-v -36.700283 3.003968 2.860110
-v -37.202202 3.363967 0.000000
-v -36.408623 3.003968 4.518372
-v -35.959934 1.779966 7.527570
-v -35.191723 1.779966 9.285604
-v -34.204334 1.779966 14.226349
-v -30.329147 -0.633617 13.908249
-v -32.748100 -0.633628 13.436047
-v -29.538437 -2.280977 14.046997
-v -29.785950 -3.192493 13.980194
-v -30.527657 -3.185613 13.899263
-v -32.122818 1.776985 9.285594
-v -32.122818 1.776985 11.058003
-v -32.122688 -0.633649 11.458102
-v -32.122746 -0.633664 9.285579
-v -34.194592 -0.633673 9.285544
-v -34.248096 -0.633676 7.527580
-v -32.122818 3.000987 4.518517
-v -32.122818 1.776985 7.526671
-v -32.122761 -0.633678 7.527228
-v -32.122795 0.590334 4.518468
-v -33.900768 0.590325 4.518118
-v -34.417446 0.590306 2.860096
-v -34.639442 1.779966 11.836490
-v -33.089638 -0.885639 12.303194
-v -33.722881 3.003968 0.000000
-v -32.122818 3.000965 2.859260
-v -32.122826 0.590387 2.859397
-v -33.910358 21.114786 0.000000
-v -33.503494 19.450775 0.000000
-v -32.879219 16.897564 0.000000
-v -32.471931 15.231831 0.000000
-v -31.481258 12.189013 0.000000
-v -31.478973 12.189011 7.300096
-v -23.230810 12.189157 8.507561
-v -23.230810 12.188995 0.000000
-v -23.230810 12.189054 5.906754
-v -19.385841 7.391382 6.580861
-v -19.385841 7.391684 8.968118
-v -21.167429 7.390899 6.153070
-v -21.167429 7.390496 0.000000
-v -13.892597 7.391925 9.847868
-v -14.133162 7.391512 7.171891
-v -14.133162 7.391360 0.000000
-v -21.997017 12.885773 9.282518
-v -20.622669 10.264604 9.549243
-v -19.292164 9.097214 9.702837
-v -13.192261 9.087229 10.726978
-v -10.064362 4.446222 10.991236
-v -8.351521 3.221424 11.058840
-v -1.598226 3.221424 11.134462
-v 2.452951 3.221424 10.998412
-v 4.365315 4.001073 10.953445
-v 4.422665 4.063653 12.498808
-v 5.530656 6.149844 10.682220
-v 5.533552 6.171984 12.384296
-v 7.360672 6.662837 12.189878
-v 7.977384 6.662837 10.348160
-v 15.594139 6.662837 11.461397
-v 12.972380 6.662837 11.684002
-v -9.777788 1.447089 10.415768
-v -9.777788 1.447089 7.505733
-v -12.005382 1.447089 7.353243
-v -12.005382 1.447089 0.000000
-v -9.777788 1.447089 0.000000
-v -1.954006 1.447089 0.000000
-v -1.881737 1.447089 10.419345
-v 3.275857 1.447089 0.000000
-v 3.275857 1.447089 1.586848
-v 3.275857 1.447089 10.142793
-v 5.568399 1.447089 1.586848
-v 5.568399 1.447089 10.053401
-v 21.363655 1.139118 5.173973
-v -33.722420 3.002194 1.266791
-v -30.977203 -3.573457 13.137188
-v 21.934351 1.656698 10.462739
-v 24.074268 1.416270 8.771894
-v 25.925503 1.399094 7.091439
-v -8.976471 1.636600 15.278696
-v -5.437628 1.630064 15.278696
-v 15.260481 3.703158 0.742476
-v 15.260481 5.931142 0.742476
-v 15.967709 5.931142 1.035419
-v 15.967709 6.436721 1.035419
-v 14.481710 6.436721 0.419898
-v 14.296546 24.624481 0.343200
-v 15.206884 25.576418 0.720276
-v 15.392049 27.318907 0.796974
-v 15.722405 27.485916 0.933812
-v 15.722405 27.889114 0.933812
-v 14.918887 27.722105 0.600984
-v 14.733723 26.219193 0.524286
-v 14.093153 26.252592 0.258952
-v 13.750921 46.881989 0.117197
-v 15.260481 3.703158 -0.742476
-v 15.260481 5.931142 -0.742476
-v 15.967709 5.931142 -1.035419
-v 15.967709 6.436721 -1.035419
-v 14.481710 6.436721 -0.419898
-v 14.296546 24.624481 -0.343200
-v 15.206884 25.576418 -0.720276
-v 15.392050 27.318907 -0.796974
-v 15.722405 27.485916 -0.933812
-v 15.722405 27.889114 -0.933812
-v 14.918887 27.722105 -0.600984
-v 14.733723 26.219193 -0.524286
-v 14.093153 26.252592 -0.258952
-v 13.750921 46.881989 -0.117197
-v 14.210463 3.703158 -1.792495
-v 13.585180 46.881989 -0.282936
-v 12.725510 3.703158 -1.792497
-v 13.350788 46.881989 -0.282936
-v 11.675488 3.703158 -0.742476
-v 11.675488 5.931142 -0.742476
-v 10.968261 5.931142 -1.035419
-v 10.968261 6.436721 -1.035419
-v 12.454259 6.436721 -0.419898
-v 12.639424 24.624481 -0.343200
-v 11.729083 25.576418 -0.720276
-v 11.543920 27.318907 -0.796974
-v 11.213565 27.485916 -0.933812
-v 11.213565 27.889114 -0.933812
-v 12.017083 27.722105 -0.600984
-v 12.202246 26.219193 -0.524286
-v 12.842817 26.252592 -0.258952
-v 13.185047 46.881989 -0.117197
-v 11.675488 3.703158 0.742476
-v 11.675488 5.931142 0.742476
-v 10.968261 5.931142 1.035419
-v 10.968261 6.436721 1.035419
-v 12.454259 6.436721 0.419898
-v 12.639424 24.624481 0.343200
-v 11.729083 25.576418 0.720276
-v 11.543920 27.318907 0.796974
-v 11.213565 27.485916 0.933812
-v 11.213565 27.889114 0.933812
-v 12.017083 27.722105 0.600984
-v 12.202246 26.219193 0.524286
-v 12.842817 26.252592 0.258952
-v 13.185047 46.881989 0.117197
-v 12.725510 3.703158 1.792495
-v 12.725510 5.931142 1.792495
-v 12.432567 5.931142 2.499723
-v 12.432567 6.436721 2.499723
-v 13.048086 6.436721 1.013724
-v 13.124784 24.624481 0.828560
-v 12.747708 25.576418 1.738900
-v 12.671010 27.318907 1.924065
-v 12.534173 27.485916 2.254421
-v 12.534173 27.889114 2.254421
-v 12.867002 27.722105 1.450902
-v 12.943699 26.219193 1.265738
-v 13.209031 26.252592 0.625167
-v 13.350788 46.881989 0.282936
-v 14.210463 3.703158 1.792497
-v 14.210463 5.931142 1.792497
-v 14.503405 5.931142 2.499723
-v 14.503405 6.436721 2.499723
-v 13.887884 6.436721 1.013724
-v 13.811186 24.624481 0.828560
-v 14.188262 25.576418 1.738900
-v 14.264960 27.318907 1.924065
-v 14.401797 27.485916 2.254421
-v 14.401797 27.889114 2.254421
-v 14.068970 27.722105 1.450902
-v 13.992271 26.219193 1.265738
-v 13.726938 26.252592 0.625167
-v 13.585180 46.881989 0.282936
-v 13.999723 25.100452 1.283730
-v 12.936247 25.100452 1.283730
-v 13.467985 25.100452 1.283730
-v 13.467985 24.624481 0.828560
-v 11.795187 4.078778 12.650445
-v 11.451985 4.078778 12.650445
-v 11.451985 4.554746 13.105617
-v 11.983724 4.554746 13.105617
-v 8.480783 4.078758 12.650431
-v 8.292243 4.554726 13.105604
-v 8.823982 4.554726 13.105604
-v 8.823982 4.078758 12.650431
-v -16.707516 6.115158 0.742476
-v -16.707516 8.343143 0.742476
-v -16.000288 8.343143 1.035419
-v -16.000288 8.848721 1.035419
-v -17.486286 8.848721 0.419898
-v -17.671450 27.036480 0.343200
-v -16.761112 27.988419 0.720276
-v -16.575949 29.730904 0.796974
-v -16.245590 29.897915 0.933812
-v -16.245590 30.301113 0.933812
-v -17.049109 30.134102 0.600984
-v -17.234274 28.631191 0.524286
-v -17.874844 28.664593 0.258952
-v -18.217075 49.293991 0.117197
-v -16.707516 6.115158 -0.742476
-v -16.707516 8.343143 -0.742476
-v -16.000288 8.343143 -1.035419
-v -16.000288 8.848721 -1.035419
-v -17.486286 8.848721 -0.419898
-v -17.671450 27.036480 -0.343200
-v -16.761112 27.988419 -0.720276
-v -16.575947 29.730904 -0.796974
-v -16.245590 29.897915 -0.933812
-v -16.245590 30.301113 -0.933812
-v -17.049109 30.134102 -0.600984
-v -17.234274 28.631191 -0.524286
-v -17.874844 28.664593 -0.258952
-v -18.217075 49.293991 -0.117197
-v -17.757534 6.115158 -1.792495
-v -18.382814 49.293991 -0.282936
-v -19.242489 6.115158 -1.792497
-v -18.617208 49.293991 -0.282936
-v -20.292507 6.115158 -0.742476
-v -20.292507 8.343143 -0.742476
-v -20.999735 8.343143 -1.035419
-v -20.999735 8.848721 -1.035419
-v -19.513737 8.848721 -0.419898
-v -19.328571 27.036480 -0.343200
-v -20.238913 27.988419 -0.720276
-v -20.424078 29.730904 -0.796974
-v -20.754433 29.897915 -0.933812
-v -20.754433 30.301113 -0.933812
-v -19.950914 30.134102 -0.600984
-v -19.765751 28.631191 -0.524286
-v -19.125179 28.664593 -0.258952
-v -18.782949 49.293991 -0.117197
-v -20.292509 6.115158 0.742476
-v -20.292509 8.343143 0.742476
-v -20.999735 8.343143 1.035419
-v -20.999735 8.848721 1.035419
-v -19.513737 8.848721 0.419898
-v -19.328571 27.036480 0.343200
-v -20.238913 27.988419 0.720276
-v -20.424078 29.730904 0.796974
-v -20.754433 29.897915 0.933812
-v -20.754433 30.301113 0.933812
-v -19.950914 30.134102 0.600984
-v -19.765751 28.631191 0.524286
-v -19.125179 28.664593 0.258952
-v -18.782949 49.293991 0.117197
-v -19.242489 6.115158 1.792495
-v -19.242489 8.343143 1.792495
-v -19.535431 8.343143 2.499723
-v -19.535431 8.848721 2.499723
-v -18.919910 8.848721 1.013724
-v -18.843212 27.036480 0.828560
-v -19.220287 27.988419 1.738900
-v -19.296986 29.730904 1.924065
-v -19.433825 29.897915 2.254421
-v -19.433825 30.301113 2.254421
-v -19.100996 30.134102 1.450902
-v -19.024298 28.631191 1.265738
-v -18.758965 28.664593 0.625167
-v -18.617208 49.293991 0.282936
-v -17.757534 6.115158 1.792497
-v -17.757534 8.343143 1.792497
-v -17.464592 8.343143 2.499723
-v -17.464592 8.848721 2.499723
-v -18.080112 8.848721 1.013724
-v -18.156811 27.036480 0.828560
-v -17.779734 27.988419 1.738900
-v -17.703035 29.730904 1.924065
-v -17.566198 29.897915 2.254421
-v -17.566198 30.301113 2.254421
-v -17.899027 30.134102 1.450902
-v -17.975723 28.631191 1.265738
-v -18.241058 28.664593 0.625167
-v -18.382814 49.293991 0.282936
-v -17.968273 27.512449 1.283730
-v -19.031750 27.512449 1.283730
-v -18.500011 27.512449 1.283730
-v -18.500011 27.036480 0.828560
-v -17.796808 6.058776 12.650445
-v -18.140011 6.058776 12.650445
-v -18.140011 6.534745 13.105617
-v -17.608273 6.534745 13.105617
-v -21.111214 6.058758 12.650431
-v -21.299751 6.534726 13.105604
-v -20.768013 6.534726 13.105604
-v -20.768013 6.058758 12.650431
-v -35.773300 31.489208 0.000000
-v -34.736378 21.021118 0.000000
-v -34.903202 23.332542 0.000000
-v -34.561050 23.357229 0.000000
-v -34.583500 23.668274 0.000000
-v -34.171692 24.893951 0.000000
-v -33.985054 24.907419 0.000000
-v -34.005249 25.187370 0.000000
-v -35.056408 25.455433 0.000000
-v -34.738964 25.822281 0.000000
-v -35.099068 26.046429 0.000000
-v -34.818378 21.015203 -0.198465
-v -34.985210 23.326622 -0.198465
-v -34.743275 23.344069 -0.441034
-v -34.765717 23.655121 -0.441034
-v -34.499660 24.870266 -0.793862
-v -34.367695 24.879795 -0.926172
-v -34.387901 25.159744 -0.926172
-v -35.138412 25.449520 -0.198465
-v -34.921173 25.809122 -0.441034
-v -35.181068 26.040510 -0.198465
-v -35.016331 21.000908 -0.280672
-v -35.183147 23.312332 -0.280672
-v -35.183147 23.312332 -0.623716
-v -35.205605 23.623371 -0.623716
-v -35.291466 24.813129 -1.122690
-v -35.291466 24.813129 -1.309804
-v -35.311668 25.093071 -1.309804
-v -35.336365 25.435234 -0.280672
-v -35.361061 25.777367 -0.623716
-v -35.379028 26.026230 -0.280672
-v -35.214291 20.986626 -0.198465
-v -35.381107 23.298044 -0.198465
-v -35.623047 23.280582 -0.441034
-v -35.645496 23.591629 -0.441034
-v -36.083260 24.755985 -0.793862
-v -36.215240 24.746449 -0.926172
-v -36.235443 25.026409 -0.926172
-v -35.534321 25.420948 -0.198465
-v -35.800957 25.745636 -0.441034
-v -35.576973 26.011936 -0.198465
-v -35.296280 20.980709 0.000000
-v -35.463108 23.292116 0.000000
-v -35.805252 23.267427 0.000000
-v -35.827702 23.578472 0.000000
-v -36.411251 24.732311 0.000000
-v -36.597878 24.718842 0.000000
-v -36.618084 24.998800 0.000000
-v -35.616310 25.415024 0.000000
-v -35.983170 25.732475 0.000000
-v -35.658962 26.006020 0.000000
-v -35.214291 20.986626 0.198465
-v -35.381107 23.298044 0.198465
-v -35.623047 23.280582 0.441034
-v -35.645496 23.591629 0.441034
-v -36.083260 24.755985 0.793862
-v -36.215240 24.746449 0.926172
-v -36.235443 25.026409 0.926172
-v -35.534321 25.420948 0.198465
-v -35.800957 25.745636 0.441034
-v -35.576973 26.011936 0.198465
-v -35.016331 21.000908 0.280672
-v -35.183147 23.312332 0.280672
-v -35.183147 23.312332 0.623716
-v -35.205605 23.623371 0.623716
-v -35.291466 24.813129 1.122690
-v -35.291466 24.813129 1.309804
-v -35.311668 25.093071 1.309804
-v -35.336365 25.435234 0.280672
-v -35.361061 25.777367 0.623716
-v -35.379028 26.026230 0.280672
-v -34.818378 21.015203 0.198465
-v -34.985210 23.326622 0.198465
-v -34.743275 23.344069 0.441034
-v -34.765717 23.655121 0.441034
-v -34.499660 24.870266 0.793862
-v -34.367695 24.879795 0.926172
-v -34.387901 25.159744 0.926172
-v -35.138412 25.449520 0.198465
-v -34.921173 25.809122 0.441034
-v -35.181068 26.040510 0.198465
-v 41.515854 14.389792 0.409083
-v 19.986862 -0.162336 0.821899
-v 41.677841 14.150139 0.289265
-v 20.312319 -0.643831 0.581170
-v 41.744942 14.050873 0.000000
-v 20.447128 -0.843273 0.000000
-v 41.677841 14.150139 -0.289265
-v 20.312319 -0.643831 -0.581170
-v 41.515854 14.389792 -0.409081
-v 19.986862 -0.162336 -0.821899
-v 41.353859 14.629446 -0.289265
-v 19.661402 0.319160 -0.581170
-v 41.286762 14.728712 0.000000
-v 19.526598 0.518598 0.000000
-v 41.353859 14.629446 0.289265
-v 19.661402 0.319160 0.581170
-v -32.189545 -19.209759 -1.238075
-v -38.073593 -19.202291 -1.238075
-v -24.875282 -19.207870 -1.238075
-v -21.158424 -19.201153 -1.238075
-v -17.426210 -19.199236 -1.238075
-v -10.703051 -19.188595 -1.238075
-v -6.862593 -19.192287 -1.238075
-v -2.943282 -19.197210 -1.238075
-v 2.420745 -19.188913 -1.238075
-v 12.967180 -18.306032 -1.259959
-v 7.603565 -19.195683 -1.238075
-v 16.730053 -16.014843 -1.259959
-v 19.381454 -13.269838 -1.259959
-v 22.486511 -8.349066 -1.259959
-v 24.247856 -5.150546 -1.259967
-v 26.552673 -2.858097 -1.259976
-v 29.468712 -0.579000 -1.259978
-v 30.889355 1.488847 -1.259971
-v 30.887581 4.224448 -1.259971
-v 29.521240 5.140058 -1.259971
-v 27.605324 4.464114 -1.605842
-v 27.217043 2.526036 -1.605860
-v -32.122738 -17.475546 -1.238075
-v -24.875282 -17.469940 -1.238075
-v -21.158424 -17.471130 -1.238075
-v -17.426210 -17.464722 -1.238075
-v -10.703051 -17.446625 -1.238075
-v -6.862593 -17.454201 -1.238075
-v -2.943282 -17.458817 -1.238075
-v 2.420745 -17.454708 -1.238075
-v 7.603565 -17.449827 -1.238075
-v 12.879044 -16.473442 -1.238075
-v 16.405544 -14.094017 -1.238075
-v 18.244587 -11.779632 -1.238075
-v 20.710901 -7.529170 -1.281522
-v 22.502172 -2.387520 -1.780734
-v 26.162926 -1.127839 -1.911312
-v 28.999243 0.125412 -1.881888
-v -38.881935 -16.109306 -1.238075
-v -32.122734 -13.101784 -1.238075
-v -38.942127 -13.100367 -1.238075
-v -32.122734 -10.529110 -1.238075
-v -38.612694 -10.520290 -1.238075
-v -32.122734 -7.294571 -1.238075
-v -35.691887 -7.364658 -1.238075
-v -32.122734 -2.380687 -1.238075
-v -34.094254 -2.453040 -1.238075
-v -33.722420 3.002194 -1.266791
-v -32.122829 0.590391 -1.238075
-v -32.122818 3.000987 -1.238075
-v -32.122726 -16.693306 -4.355949
-v -32.122726 -13.101580 -3.815750
-v -32.122711 -15.201252 -8.479453
-v -32.122711 -13.101223 -8.479156
-v -32.122692 -13.101498 -12.252906
-v -32.122688 -10.525450 -13.978191
-v -32.122711 -10.525373 -8.478323
-v -32.122726 -10.527499 -3.815633
-v -32.122726 -7.294347 -3.815463
-v -32.122707 -7.294013 -8.480250
-v -32.122684 -7.293530 -14.206009
-v -32.122730 -2.380611 -2.860078
-v -32.122726 -2.380491 -4.517693
-v -32.122711 -3.604395 -7.527471
-v -32.122704 -3.604366 -9.285585
-v -32.122688 -3.604459 -12.926102
-v 22.927841 -2.079975 -5.293032
-v 26.141859 -0.943860 -5.148655
-v 29.132690 0.554667 -5.435258
-v 26.222294 -0.414192 -7.186513
-v 22.642578 -2.021900 -6.338686
-v 22.192654 -1.778881 -8.919837
-v 23.797483 -0.793227 -9.466203
-v 22.778015 -0.755679 -10.499197
-v 21.442825 -1.464471 -9.712464
-v 29.379856 3.334527 -1.774282
-v 28.136330 2.362632 -4.761501
-v 26.016197 1.315401 -7.589925
-v 24.328785 1.265883 -9.340617
-v 21.705126 -0.275237 -11.014637
-v 20.806227 -0.763545 -10.438858
-v 21.436293 0.883347 -11.366537
-v 20.500061 0.752725 -10.784106
-v 22.121262 1.561577 -11.206270
-v 21.135654 1.550061 -10.690931
-v 21.934351 1.656698 -10.462739
-v 24.074268 1.416270 -8.771894
-v 25.925503 1.399094 -7.091439
-v 17.005033 6.662837 -9.681633
-v 17.983040 6.662837 -11.152293
-v 21.007219 3.249419 -9.869397
-v 20.477345 3.637633 -7.988389
-v 23.650299 1.840257 -8.010921
-v 22.595039 2.320421 -6.663224
-v 25.636337 1.698787 -6.579282
-v 24.421982 1.686574 -5.242180
-v 27.706768 2.015127 -4.583124
-v 26.100426 1.864140 -3.405339
-v 28.646168 2.885117 -3.198632
-v 26.333582 1.027800 -1.582581
-v 23.720354 0.966969 -4.569222
-v 21.278627 1.400611 -1.803334
-v 16.906103 5.316076 -1.586848
-v 18.888571 1.302237 -1.623599
-v 19.376360 2.471233 -7.869488
-v 21.060875 1.981712 -6.729387
-v 16.906103 5.316122 -8.994491
-v 6.683901 5.316105 -9.844049
-v 6.683901 5.315889 -1.586848
-v 18.681934 -1.983630 -11.338428
-v 19.400375 -3.691560 -11.374310
-v 16.633705 -3.074314 -12.192126
-v 17.373505 -5.228647 -12.646860
-v 14.621896 -3.523885 -13.566364
-v 15.075657 -6.222204 -13.865580
-v 12.411800 -6.757924 -14.212804
-v 12.255808 -3.514410 -13.771845
-v 7.603565 -3.490891 -14.606509
-v 7.603565 -7.188782 -14.846800
-v 2.420745 -3.480093 -14.919241
-v 2.420745 -7.173941 -15.276383
-v -2.961988 -3.473636 -15.106121
-v -2.943282 -7.166555 -15.589163
-v -4.439586 -3.475051 -15.065130
-v -6.464514 -3.472743 -15.131924
-v -6.862593 -7.149532 -15.766785
-v -8.018665 -3.474161 -15.090826
-v -9.989845 -3.475893 -15.040714
-v -10.703051 -7.164166 -15.766442
-v -11.494260 -3.481347 -14.882881
-v -17.426210 -3.476307 -15.028784
-v -17.426210 -7.163010 -15.619746
-v -21.158424 -3.491715 -14.582708
-v -21.158424 -7.158087 -15.411015
-v -24.875282 -3.502623 -14.266861
-v -24.875282 -7.172729 -15.149325
-v 18.104813 -0.132791 -11.438385
-v 17.807384 1.818409 -11.514686
-v 16.016308 -0.209789 -12.214762
-v 15.502045 1.959264 -11.977353
-v 17.344368 4.240352 -11.840204
-v 15.252133 4.364689 -12.089524
-v 13.673447 2.077692 -12.471821
-v 14.041731 -0.091286 -13.220635
-v 11.917332 -0.092658 -13.622351
-v 11.917332 3.738120 -12.682102
-v 13.062292 3.738120 -12.646502
-v 13.062292 4.818222 -12.265154
-v 13.062292 4.882016 -13.297487
-v 13.062292 3.738120 -13.693560
-v 6.935244 4.838787 -12.860477
-v 6.935244 4.877757 -13.657490
-v 11.917332 3.738120 -13.693560
-v 10.851164 3.738120 -13.693560
-v 10.851164 -0.092025 -13.680202
-v 10.851164 3.738120 -13.099374
-v 9.059711 3.738120 -13.247311
-v 9.059711 -0.082416 -13.958302
-v 9.059711 3.738120 -13.693560
-v 7.942212 -0.088027 -13.795906
-v 7.942212 3.738120 -13.693560
-v 7.942212 3.738120 -12.994835
-v 6.935244 3.738120 -12.932455
-v 6.935244 3.738120 -13.693585
-v 2.420745 1.569107 -13.480452
-v 2.420745 -0.081102 -13.996309
-v 2.420745 3.221424 -12.616695
-v -1.886394 3.221424 -12.694532
-v -1.898796 1.579293 -13.775311
-v -1.898796 -0.093726 -14.123177
-v -2.961988 -0.093726 -14.123177
-v -2.961988 -0.093726 -15.846119
-v -4.439586 -0.093726 -15.846119
-v -6.464514 -0.093726 -15.846119
-v -8.018665 -0.093726 -15.846119
-v -9.989845 -0.093726 -15.846119
-v -11.494260 -0.093726 -15.846119
-v -6.464514 -0.093726 -14.123177
-v -4.439586 -0.093726 -14.123177
-v -8.018665 -0.093726 -14.123177
-v -9.989845 -0.093726 -14.123177
-v -11.494260 -0.093726 -14.123177
-v -12.515305 -0.093726 -14.123177
-v -12.515305 1.643136 -15.278696
-v -12.515305 -0.093726 -15.846119
-v -8.522958 3.221424 -12.703880
-v -12.515305 1.580878 -13.821227
-v -10.136595 4.386232 -12.483255
-v -12.771408 4.612774 -12.141369
-v -13.215079 9.087099 -12.333536
-v -1.898796 1.623528 -15.278696
-v -1.898796 -0.093726 -15.846119
-v -8.976471 1.636600 -15.278696
-v -5.437628 1.630064 -15.278696
-v -17.426210 -0.085238 -13.876673
-v -17.327192 1.568238 -13.455286
-v -18.602346 1.558287 -13.167220
-v -20.301380 1.560132 -13.220694
-v -21.158424 -0.093337 -13.642082
-v -21.564625 1.545988 -12.811226
-v -24.875282 1.535080 -12.495492
-v -24.875282 -0.115279 -13.006975
-v -17.327192 5.420457 -13.195373
-v -18.602346 5.420457 -13.195373
-v -16.144386 5.420457 -13.195373
-v -16.144386 6.964816 -13.345592
-v -20.301380 5.420457 -13.195373
-v -21.564625 5.420457 -13.195373
-v -16.144386 5.420457 -11.781666
-v -17.327192 5.420457 -11.781666
-v -16.144386 6.916856 -11.957180
-v -18.602346 5.420457 -11.781666
-v -20.301380 5.420457 -11.781666
-v -19.419006 9.058252 -11.675020
-v -22.943232 6.914290 -11.882894
-v -20.785156 10.432585 -11.266025
-v -22.943232 6.953562 -13.019781
-v -22.943232 5.420457 -11.781666
-v -22.943232 5.420457 -13.195373
-v -21.564625 5.420457 -11.781666
-v -24.875282 11.097299 -11.310978
-v -22.073826 12.809116 -11.031629
-v -30.324631 13.255548 -10.468728
-v -30.663502 11.097299 -10.697601
-v -22.617615 13.859209 -11.521384
-v -30.036606 14.678006 -10.958575
-v -22.549631 13.892679 -9.395622
-v -32.024277 15.183992 -8.240927
-v -33.987694 15.764829 -10.182573
-v -33.718784 15.003299 -10.658934
-v -33.772961 13.609431 -10.011785
-v -33.887344 11.097299 -10.130578
-v -32.866196 16.196304 -7.754097
-v -34.301479 16.149021 -7.782318
-v -33.522549 19.528704 -4.747104
-v -35.090012 19.437290 -4.864941
-v -34.027481 21.557823 -2.963631
-v -35.784195 21.577259 -2.965577
-v -34.225647 22.404272 -1.238075
-v -36.012775 22.438992 -1.238075
-v -35.525314 19.202272 -2.929065
-v -34.960712 15.855540 -2.964757
-v -34.620663 13.597372 -2.965675
-v -34.500881 12.321301 -2.967943
-v -33.643600 11.097299 -7.760621
-v -33.745373 13.603200 -7.767865
-v -29.725348 1.534853 -12.693987
-v -29.951672 -0.553082 -12.838999
-v -29.089066 -2.256183 -13.223326
-v -29.440445 -3.531864 -13.420376
-v -30.977203 -3.573457 -13.137188
-v -26.469778 9.078413 -12.638399
-v -30.376698 9.078413 -12.195282
-v -34.513470 9.078413 -11.671916
-v -35.326443 9.078413 -8.519265
-v -36.337158 10.302411 -4.204359
-v -38.226944 8.378810 -4.931240
-v -37.265987 7.154811 -10.030826
-v -36.054546 7.154811 -15.249533
-v -31.044762 7.154811 -15.397676
-v -28.175797 7.154811 -15.624508
-v -28.182747 3.357670 -15.498522
-v -26.515152 1.792719 -14.466270
-v -30.193434 1.779966 -14.420488
-v -31.038305 3.357670 -15.387860
-v -35.530365 3.357670 -15.019470
-v -36.705807 3.357670 -10.029904
-v -37.666824 4.581672 -4.931256
-v -36.700283 3.003968 -2.860110
-v -36.408623 3.003968 -4.518372
-v -35.959934 1.779966 -7.527570
-v -35.191723 1.779966 -9.285604
-v -34.204334 1.779966 -14.226349
-v -30.329147 -0.633617 -13.908249
-v -32.748100 -0.633628 -13.436047
-v -29.538437 -2.280977 -14.046997
-v -30.527657 -3.185613 -13.899263
-v -29.785950 -3.192493 -13.980194
-v -33.089638 -0.885639 -12.303194
-v -32.122818 1.776985 -11.058003
-v -32.122818 1.776985 -9.285594
-v -32.122746 -0.633664 -9.285579
-v -32.122688 -0.633649 -11.458102
-v -34.248096 -0.633676 -7.527580
-v -34.194592 -0.633673 -9.285544
-v -32.122818 1.776985 -7.526671
-v -32.122818 3.000987 -4.518517
-v -32.122795 0.590334 -4.518468
-v -32.122761 -0.633678 -7.527228
-v -34.417446 0.590306 -2.860096
-v -33.900768 0.590325 -4.518118
-v -34.639442 1.779966 -11.836490
-v -32.122818 3.000965 -2.859260
-v -32.122826 0.590387 -2.859397
-v -31.478973 12.189011 -7.300096
-v -23.230810 12.189157 -8.507561
-v -23.230810 12.189054 -5.906754
-v -19.385841 7.391684 -8.968118
-v -19.385841 7.391382 -6.580861
-v -21.167429 7.390899 -6.153070
-v -13.892597 7.391925 -9.847868
-v -14.133162 7.391512 -7.171891
-v -21.997017 12.885773 -9.282518
-v -20.622669 10.264604 -9.549243
-v -19.292164 9.097214 -9.702837
-v -13.192261 9.087229 -10.726978
-v -10.064362 4.446222 -10.991236
-v -8.351521 3.221424 -11.058840
-v -1.598226 3.221424 -11.134462
-v 2.452951 3.221424 -10.998412
-v 4.422665 4.063653 -12.498808
-v 4.365315 4.001073 -10.953445
-v 5.533552 6.171984 -12.384296
-v 5.530656 6.149844 -10.682220
-v 7.977384 6.662837 -10.348160
-v 7.360672 6.662837 -12.189878
-v 12.972380 6.662837 -11.684002
-v 15.594139 6.662837 -11.461397
-v -9.777788 1.447089 -10.415768
-v -9.777788 1.447089 -7.505733
-v -12.005382 1.447089 -7.353243
-v -1.881737 1.447089 -10.419345
-v 3.275857 1.447089 -10.142793
-v 3.275857 1.447089 -1.586848
-v 5.568399 1.447089 -10.053401
-v 5.568399 1.447089 -1.586848
-v 21.363655 1.139118 -5.173973
-v -24.875282 -16.438957 -5.023836
-v -21.158424 -16.432545 -5.456006
-v -17.426210 -16.414181 -5.591547
-v -10.703051 -16.404001 -5.960669
-v -6.862593 -16.404274 -6.041844
-v -2.943282 -16.405006 -6.357064
-v 2.420745 -16.404470 -6.357064
-v 7.603565 -16.380497 -6.357064
-v 12.832268 -15.500710 -6.259944
-v 16.321648 -13.597433 -5.927067
-v 18.157881 -11.652975 -5.318019
-v 20.729614 -7.361181 -4.084560
-v -24.875282 -15.191301 -8.889921
-v -21.158424 -15.188612 -9.238050
-v -17.426210 -15.185617 -9.648746
-v -10.703051 -15.151535 -9.959948
-v -6.862593 -15.148084 -10.122597
-v -2.943282 -15.161076 -10.404315
-v 2.420745 -15.136637 -10.490346
-v 7.603565 -15.139988 -10.384273
-v 12.742552 -13.635256 -10.271313
-v 16.052504 -12.004322 -9.672956
-v 17.738865 -10.274949 -8.849628
-v 20.423779 -6.674508 -7.563237
-v -24.875282 -13.559512 -12.869038
-v -21.158424 -13.563975 -12.793823
-v -17.426210 -13.564394 -13.015837
-v -10.703051 -13.542574 -13.359402
-v -6.862593 -13.538811 -13.468325
-v -2.943282 -13.548689 -13.506525
-v 2.420745 -13.559494 -13.319569
-v 7.603565 -13.121067 -12.955379
-v 12.651917 -11.750661 -12.163342
-v 15.776398 -10.370003 -11.428668
-v 17.823387 -8.626553 -10.201316
-v 20.243277 -5.812185 -8.599287
-v -24.875282 -10.610699 -14.971485
-v -21.158424 -10.603826 -15.170494
-v -17.426210 -10.616206 -15.433119
-v -10.703051 -10.590498 -15.556311
-v -6.862593 -10.586885 -15.660851
-v -2.943282 -10.611682 -15.249158
-v 2.420745 -10.615954 -14.819395
-v 7.603565 -10.423251 -14.270162
-v 12.555428 -9.744363 -13.830376
-v 15.481684 -8.625530 -13.248377
-v 17.762831 -6.967863 -11.940372
-v 19.731392 -4.773400 -10.782165
-v -0.566015 27.749599 22.499998
-v -0.341015 27.749599 18.749996
-v 0.033985 27.749599 0.000000
-v -0.609948 27.840916 22.499998
-v -0.450849 27.977892 18.749996
-v -0.185685 28.206188 0.000000
-v -0.716015 27.878740 22.499998
-v -0.716015 28.072454 18.749996
-v -0.716015 28.395309 0.000000
-v -0.822080 27.840916 22.499998
-v -0.981179 27.977892 18.749996
-v -1.246344 28.206188 0.000000
-v -0.866014 27.749599 22.499998
-v -1.091015 27.749599 18.749996
-v -1.466015 27.749599 0.000000
-v -0.822080 27.658281 22.499998
-v -0.981179 27.521307 18.749996
-v -1.246344 27.293011 0.000000
-v -0.716015 27.620457 22.499998
-v -0.716015 27.426743 18.749996
-v -0.629040 27.103886 0.000000
-v -0.609948 27.658281 22.499998
-v -0.450849 27.521307 18.749996
-v -0.185685 27.293011 0.000000
-v -0.028515 27.749599 3.124998
-v -0.091014 27.749599 6.249998
-v -0.153515 27.749599 9.374997
-v -0.216015 27.749599 12.499996
-v -0.278514 27.749599 15.624996
-v -0.229878 27.331060 3.124998
-v -0.274072 27.369110 6.249998
-v -0.318267 27.407154 9.374997
-v -0.362462 27.445206 12.499996
-v -0.406654 27.483257 15.624996
-v 0.774985 25.158726 18.494785
-v 2.349486 25.376209 15.522077
-v 2.411985 25.523190 12.499996
-v 2.474485 25.523190 9.374997
-v 2.536986 25.523190 6.249998
-v 2.599485 25.523190 3.124998
-v 2.661985 25.523190 0.000000
-v 4.919668 22.289122 12.150613
-v 4.982167 22.515976 9.184464
-v 5.044668 22.800421 6.258644
-v 5.107168 22.800417 3.133644
-v 5.169741 22.800392 0.000000
-v 6.853204 19.809378 6.116760
-v 7.224073 20.021494 3.140291
-v 7.286703 20.021448 0.000000
-v 1.446666 21.829916 18.079060
-v 3.021168 22.067556 15.120463
-v 1.779205 18.367237 17.606915
-v 4.073708 18.633253 14.668193
-v 5.324208 18.882090 11.717439
-v 6.173600 19.237459 8.841279
-v 1.779205 14.151859 16.952080
-v 4.073708 14.472324 14.051481
-v 6.008208 14.914806 11.236322
-v 7.006708 15.599648 8.590876
-v 7.753209 16.206085 5.890527
-v 8.093493 16.741280 3.140291
-v 7.878340 16.741234 0.000000
-v 0.519207 9.711632 16.052975
-v 2.813706 9.944913 13.395174
-v 4.532208 11.295698 10.912201
-v 5.638709 12.572056 8.312004
-v 5.953207 13.221888 5.642037
-v 6.293493 13.555683 2.924403
-v 6.510341 13.584993 0.000000
-v -1.712795 4.539915 14.229296
-v 0.005706 6.721300 12.935635
-v 1.796206 8.238514 10.569201
-v 3.514707 9.596653 8.026267
-v 4.153206 10.297425 5.391975
-v 4.215707 10.666860 2.699292
-v 4.278336 10.920532 -0.034037
-v 4.317936 22.048738 12.150613
-v 4.380435 22.275593 9.184464
-v 1.810253 25.282806 12.499996
-v 4.442935 22.560038 6.258644
-v 1.935254 25.282806 6.249998
-v 1.872753 25.282806 9.374997
-v 4.505436 22.560034 3.133644
-v 1.997753 25.282806 3.124998
-v 4.568008 22.560009 0.000000
-v 2.060253 25.282806 0.000000
-v 6.251471 19.568995 6.116760
-v 6.622341 19.781109 3.140291
-v 6.684969 19.781065 0.000000
-v 1.747754 25.135826 15.522077
-v 2.419436 21.827173 15.120463
-v 3.471975 18.392870 14.668193
-v 4.722476 18.641706 11.717439
-v 5.571867 18.997076 8.841279
-v 3.471975 14.231941 14.051481
-v 5.406476 14.674421 11.236322
-v 6.404974 15.359264 8.590876
-v 7.151477 15.965701 5.890527
-v 7.491759 16.500896 3.140291
-v 7.276607 16.500849 0.000000
-v 2.211973 9.704529 13.395174
-v 3.930475 11.055314 10.912201
-v 5.036976 12.331673 8.312004
-v 5.351475 12.981504 5.642037
-v 5.691761 13.315300 2.924403
-v 5.908608 13.344610 0.000000
-v -0.450849 27.977892 -18.749996
-v -0.609948 27.840916 -22.499998
-v -0.566015 27.749599 -22.499998
-v -0.341015 27.749599 -18.749996
-v -0.216015 27.749599 -12.499996
-v -0.153515 27.749599 -9.374997
-v -0.091014 27.749599 -6.249998
-v -0.028515 27.749599 -3.124998
-v -0.278514 27.749599 -15.624996
-v -0.716015 28.072454 -18.749996
-v -0.716015 27.878740 -22.499998
-v -0.981179 27.977892 -18.749996
-v -0.822080 27.840916 -22.499998
-v -1.091015 27.749599 -18.749996
-v -0.866014 27.749599 -22.499998
-v -0.981179 27.521307 -18.749996
-v -0.822080 27.658281 -22.499998
-v -0.716015 27.426743 -18.749996
-v -0.716015 27.620457 -22.499998
-v -0.450849 27.521307 -18.749996
-v -0.609948 27.658281 -22.499998
-v -0.229878 27.331060 -3.124998
-v -0.274072 27.369110 -6.249998
-v -0.318267 27.407154 -9.374997
-v -0.362462 27.445206 -12.499996
-v -0.406654 27.483257 -15.624996
-v 2.349486 25.376209 -15.522077
-v 2.411985 25.523190 -12.499996
-v 2.474485 25.523190 -9.374997
-v 2.536986 25.523190 -6.249998
-v 2.599485 25.523190 -3.124998
-v 4.919668 22.289122 -12.150613
-v 4.982167 22.515976 -9.184464
-v 5.044668 22.800421 -6.258644
-v 5.107168 22.800417 -3.133644
-v 6.853204 19.809378 -6.116760
-v 7.224073 20.021494 -3.140291
-v 0.774985 25.158726 -18.494785
-v 1.446666 21.829916 -18.079060
-v 3.021168 22.067556 -15.120463
-v 1.779205 18.367237 -17.606915
-v 4.073708 18.633253 -14.668193
-v 5.324208 18.882090 -11.717439
-v 6.173600 19.237459 -8.841279
-v 1.779205 14.151859 -16.952080
-v 4.073708 14.472324 -14.051481
-v 6.008208 14.914806 -11.236322
-v 7.006708 15.599648 -8.590876
-v 7.753209 16.206085 -5.890527
-v 8.093493 16.741280 -3.140291
-v 0.519207 9.711632 -16.052975
-v 2.813706 9.944913 -13.395174
-v 4.532208 11.295698 -10.912201
-v 5.638709 12.572056 -8.312004
-v 5.953207 13.221888 -5.642037
-v 6.293493 13.555683 -2.924403
-v -1.712795 4.539915 -14.229296
-v 0.005706 6.721300 -12.935635
-v 1.796206 8.238514 -10.569201
-v 3.514707 9.596653 -8.026267
-v 4.153206 10.297425 -5.391975
-v 4.215707 10.666860 -2.699292
-v 1.810253 25.282806 -12.499996
-v 4.380435 22.275593 -9.184464
-v 4.317936 22.048738 -12.150613
-v 1.872753 25.282806 -9.374997
-v 1.935254 25.282806 -6.249998
-v 4.442935 22.560038 -6.258644
-v 1.997753 25.282806 -3.124998
-v 4.505436 22.560034 -3.133644
-v 6.622341 19.781109 -3.140291
-v 6.251471 19.568995 -6.116760
-v 1.747754 25.135826 -15.522077
-v 2.419436 21.827173 -15.120463
-v 3.471975 18.392870 -14.668193
-v 4.722476 18.641706 -11.717439
-v 5.571867 18.997076 -8.841279
-v 3.471975 14.231941 -14.051481
-v 5.406476 14.674421 -11.236322
-v 6.404974 15.359264 -8.590876
-v 7.151477 15.965701 -5.890527
-v 7.491759 16.500896 -3.140291
-v 2.211973 9.704529 -13.395174
-v 3.930475 11.055314 -10.912201
-v 5.036976 12.331673 -8.312004
-v 5.351475 12.981504 -5.642037
-v 5.691761 13.315300 -2.924403
-v -0.441215 47.520119 0.000000
-v -0.816215 47.520119 -14.015965
-v -1.041214 47.520119 -16.818804
-v -0.660885 47.900337 0.000000
-v -0.926051 47.710224 -14.015965
-v -1.085148 47.596161 -16.818804
-v -1.191215 48.057846 0.000000
-v -1.191215 47.788982 -14.015965
-v -1.191215 47.627666 -16.818804
-v -1.721544 47.900337 0.000000
-v -1.456378 47.710224 -14.015965
-v -1.297281 47.596161 -16.818804
-v -1.941214 47.520119 0.000000
-v -1.566214 47.520119 -14.015965
-v -1.341214 47.520119 -16.818804
-v -1.721544 47.139870 0.000000
-v -1.456378 47.330002 -14.015965
-v -1.297281 47.444061 -16.818804
-v -1.147212 46.982380 0.000000
-v -1.147212 47.251244 -14.015965
-v -1.191215 47.412563 -16.818804
-v -0.660885 47.139870 0.000000
-v -0.926051 47.330002 -14.015965
-v -1.085148 47.444061 -16.818804
-v -0.881855 47.298306 -11.680260
-v -0.837662 47.266632 -9.344559
-v -0.793467 47.234909 -7.008858
-v -0.749272 47.203262 -4.673156
-v -0.705079 47.171555 -2.337453
-v -0.753716 47.520119 -11.680260
-v -0.691215 47.520119 -9.344559
-v -0.628715 47.520119 -7.008858
-v -0.566216 47.520119 -4.673156
-v -0.503715 47.520119 -2.337453
-v 2.186784 45.666019 0.000000
-v 2.124283 45.666019 -2.337453
-v 2.061785 45.666019 -4.673156
-v 1.999284 45.666019 -7.008858
-v 1.936783 45.666019 -9.344559
-v 1.874285 45.580280 -11.580549
-v 0.299784 45.386532 -13.903419
-v 4.694541 43.398529 0.000000
-v 4.631968 43.398544 -2.343915
-v 4.569468 43.403488 -4.796154
-v 4.506968 43.190250 -7.144563
-v 3.544468 42.994743 -9.666407
-v 2.545968 42.799408 -11.660814
-v 0.971465 42.588673 -13.968838
-v 6.503135 41.087234 0.000000
-v 6.440504 41.095375 -2.609166
-v 6.378005 40.956799 -5.189175
-v 5.650746 40.443047 -7.502493
-v 4.926439 40.128944 -9.945014
-v 3.598507 39.908993 -11.913838
-v 1.304004 39.676033 -14.292400
-v 7.403139 38.374527 0.000000
-v 7.340509 38.387520 -3.171366
-v 7.278009 37.949181 -5.513334
-v 6.531507 37.409622 -7.948401
-v 5.533008 36.794739 -10.264465
-v 3.598507 36.403469 -12.462982
-v 1.304004 36.126175 -14.981808
-v 6.035139 35.763321 0.000000
-v 5.972509 35.771698 -3.283163
-v 5.910010 35.459286 -5.936440
-v 5.847510 34.875942 -8.256088
-v 4.057008 33.780102 -10.944506
-v 2.338505 32.605881 -13.808851
-v 0.044005 32.376560 -16.380838
-v 3.803136 33.562889 0.000000
-v 3.740506 33.359436 -3.333341
-v 3.678006 33.020260 -6.361779
-v 3.039505 32.401882 -8.960025
-v 1.321005 31.238838 -11.792484
-v -0.181494 29.931759 -14.732271
-v -2.187994 28.006685 -18.449085
-v 4.086603 43.218376 0.000000
-v 4.024032 43.218391 -2.343915
-v 1.516346 45.485867 -2.337453
-v 1.578847 45.485867 0.000000
-v 3.961532 43.223335 -4.796154
-v 1.453848 45.485867 -4.673156
-v 3.899031 43.010098 -7.144563
-v 1.391347 45.485867 -7.008858
-v 1.328846 45.485867 -9.344559
-v 2.936531 42.814590 -9.666407
-v 1.266348 45.400127 -11.580549
-v 1.938032 42.619255 -11.660814
-v 5.895196 40.907082 0.000000
-v 5.832567 40.915222 -2.609166
-v 5.770068 40.776646 -5.189175
-v 5.042808 40.262894 -7.502493
-v 4.318501 39.948792 -9.945014
-v 2.990570 39.728840 -11.913838
-v 6.795203 38.194374 0.000000
-v 6.732572 38.207367 -3.171366
-v 6.670071 37.769028 -5.513334
-v 5.923571 37.229469 -7.948401
-v 4.925072 36.614586 -10.264465
-v 2.990570 36.223316 -12.462982
-v 5.427201 35.583168 0.000000
-v 5.364572 35.591545 -3.283163
-v 5.302073 35.279133 -5.936440
-v 5.239572 34.695789 -8.256088
-v 3.449071 33.599949 -10.944506
-v 1.730568 32.425728 -13.808851
-v -0.566216 47.520119 4.673156
-v -0.628715 47.520119 7.008858
-v -0.691215 47.520119 9.344559
-v -0.753716 47.520119 11.680260
-v -0.816215 47.520119 14.015965
-v -0.926051 47.710224 14.015965
-v -0.503715 47.520119 2.337453
-v -1.085148 47.596161 16.818804
-v -1.041214 47.520119 16.818804
-v -1.191215 47.788982 14.015965
-v -1.191215 47.627666 16.818804
-v -1.456378 47.710224 14.015965
-v -1.297281 47.596161 16.818804
-v -1.566214 47.520119 14.015965
-v -1.341214 47.520119 16.818804
-v -1.456378 47.330002 14.015965
-v -1.297281 47.444061 16.818804
-v -1.147212 47.251244 14.015965
-v -1.191215 47.412563 16.818804
-v -0.926051 47.330002 14.015965
-v -0.881855 47.298306 11.680260
-v -0.837662 47.266632 9.344559
-v -0.793467 47.234909 7.008858
-v -0.749272 47.203262 4.673156
-v -0.705079 47.171555 2.337453
-v -1.085148 47.444061 16.818804
-v 2.124283 45.666019 2.337453
-v 2.061785 45.666019 4.673156
-v 1.999284 45.666019 7.008858
-v 1.936783 45.666019 9.344559
-v 1.874285 45.580280 11.580549
-v 0.299784 45.386532 13.903419
-v 4.631968 43.398544 2.343915
-v 4.569468 43.403488 4.796154
-v 4.506968 43.190250 7.144563
-v 3.544468 42.994743 9.666407
-v 2.545968 42.799408 11.660814
-v 0.971465 42.588673 13.968838
-v 6.440504 41.095375 2.609166
-v 6.378005 40.956799 5.189175
-v 5.650746 40.443047 7.502493
-v 4.926439 40.128944 9.945014
-v 3.598507 39.908993 11.913838
-v 1.304004 39.676033 14.292400
-v 7.340509 38.387520 3.171366
-v 7.278009 37.949181 5.513334
-v 6.531507 37.409622 7.948401
-v 5.533008 36.794739 10.264465
-v 3.598507 36.403469 12.462982
-v 1.304004 36.126175 14.981808
-v 5.972509 35.771698 3.283163
-v 5.910010 35.459286 5.936440
-v 5.847510 34.875942 8.256088
-v 4.057008 33.780102 10.944506
-v 2.338505 32.605881 13.808851
-v 0.044005 32.376560 16.380838
-v 3.740506 33.359436 3.333341
-v 3.678006 33.020260 6.361779
-v 3.039505 32.401882 8.960025
-v 1.321005 31.238838 11.792484
-v -0.181494 29.931759 14.732271
-v -2.187994 28.006685 18.449085
-v 1.516346 45.485867 2.337453
-v 4.024032 43.218391 2.343915
-v 1.453848 45.485867 4.673156
-v 3.961532 43.223335 4.796154
-v 1.391347 45.485867 7.008858
-v 3.899031 43.010098 7.144563
-v 1.328846 45.485867 9.344559
-v 1.266348 45.400127 11.580549
-v 2.936531 42.814590 9.666407
-v 1.938032 42.619255 11.660814
-v 5.832567 40.915222 2.609166
-v 5.770068 40.776646 5.189175
-v 5.042808 40.262894 7.502493
-v 2.990570 39.728840 11.913838
-v 4.318501 39.948792 9.945014
-v 6.732572 38.207367 3.171366
-v 6.670071 37.769028 5.513334
-v 5.923571 37.229469 7.948401
-v 4.925072 36.614586 10.264465
-v 2.990570 36.223316 12.462982
-v 5.364572 35.591545 3.283163
-v 5.302073 35.279133 5.936440
-v 5.239572 34.695789 8.256088
-v 3.449071 33.599949 10.944506
-v 1.730568 32.425728 13.808851
-v 15.199894 24.244293 20.208620
-v 15.396472 24.244293 16.840515
-v 15.724104 24.244293 0.000000
-v 15.161510 24.324074 20.208620
-v 15.300512 24.443750 16.840515
-v 15.532181 24.643208 0.000000
-v 15.068842 24.357121 20.208620
-v 15.068842 24.526367 16.840515
-v 15.068842 24.808439 0.000000
-v 14.976175 24.324074 20.208620
-v 14.837173 24.443750 16.840515
-v 14.605503 24.643208 0.000000
-v 14.937790 24.244293 20.208620
-v 14.741212 24.244293 16.840515
-v 14.413582 24.244293 0.000000
-v 14.976175 24.164513 20.208620
-v 14.837173 24.044842 16.840515
-v 14.605503 23.845383 0.000000
-v 15.068842 24.131464 20.208620
-v 15.068842 23.962219 16.840515
-v 15.144831 23.680147 0.000000
-v 15.161510 24.164513 20.208620
-v 15.300512 24.044842 16.840515
-v 15.532181 23.845383 0.000000
-v 15.669498 24.244293 2.806750
-v 15.614893 24.244293 5.613504
-v 15.560287 24.244293 8.420256
-v 15.505682 24.244293 11.227010
-v 15.451077 24.244293 14.033761
-v 15.493570 23.878626 2.806750
-v 15.454958 23.911867 5.613504
-v 15.416346 23.945107 8.420256
-v 15.377735 23.978352 11.227010
-v 15.339125 24.011599 14.033761
-v 16.371500 21.980698 16.611292
-v 17.747112 22.170710 13.941322
-v 17.801716 22.299122 11.227010
-v 17.856321 22.299122 8.420256
-v 17.910927 22.299122 5.613504
-v 17.965530 22.299122 2.806750
-v 18.020136 22.299122 0.000000
-v 19.992630 19.473579 10.913207
-v 20.047235 19.671778 8.249126
-v 20.101841 19.920292 5.621270
-v 20.156446 19.920288 2.814516
-v 20.211115 19.920267 0.000000
-v 21.681923 17.307076 5.493834
-v 22.005945 17.492397 2.820486
-v 22.060665 17.492359 0.000000
-v 16.958334 19.072380 16.237904
-v 18.333946 19.280003 13.580609
-v 17.248869 16.047104 15.813843
-v 19.253532 16.279516 13.174398
-v 20.346069 16.496920 10.524145
-v 21.088167 16.807402 7.940892
-v 17.248869 12.364210 15.225695
-v 19.253532 12.644194 12.620491
-v 20.943666 13.030781 10.092027
-v 21.816038 13.629114 7.715988
-v 22.468241 14.158947 5.290641
-v 22.765541 14.626535 2.820486
-v 22.577564 14.626495 0.000000
-v 16.148031 8.484867 14.418156
-v 18.152691 8.688681 12.031022
-v 19.654114 9.868836 9.800913
-v 20.620842 10.983964 7.465518
-v 20.895615 11.551710 5.067457
-v 21.192915 11.843342 2.626584
-v 21.382370 11.868950 0.000000
-v 14.197975 3.966436 12.780198
-v 15.699396 5.872272 11.618281
-v 17.263721 7.197832 9.492843
-v 18.765144 8.384414 7.208880
-v 19.322987 8.996664 4.842861
-v 19.377592 9.319432 2.424399
-v 19.432312 9.541060 -0.030570
-v 19.466908 19.263561 10.913207
-v 19.521511 19.461760 8.249126
-v 17.275993 22.089104 11.227010
-v 19.576118 19.710272 5.621270
-v 17.385204 22.089104 5.613504
-v 17.330599 22.089104 8.420256
-v 19.630722 19.710270 2.814516
-v 17.439808 22.089104 2.806750
-v 19.685390 19.710247 0.000000
-v 17.494415 22.089104 0.000000
-v 21.156200 17.097057 5.493834
-v 21.480223 17.282379 2.820486
-v 21.534941 17.282339 0.000000
-v 17.221392 21.960691 13.941322
-v 17.808226 19.069984 13.580609
-v 18.727808 16.069500 13.174398
-v 19.820347 16.286903 10.524145
-v 20.562443 16.597382 7.940892
-v 18.727808 12.434175 12.620491
-v 20.417946 12.820762 10.092027
-v 21.290312 13.419096 7.715988
-v 21.942516 13.948927 5.290641
-v 22.239817 14.416519 2.820486
-v 22.051842 14.416475 0.000000
-v 17.626970 8.478662 12.031022
-v 19.128391 9.658816 9.800913
-v 20.095119 10.773947 7.465518
-v 20.369892 11.341692 5.067457
-v 20.667192 11.633322 2.626584
-v 20.856647 11.658932 0.000000
-v 15.300512 24.443750 -16.840515
-v 15.161510 24.324074 -20.208620
-v 15.199894 24.244293 -20.208620
-v 15.396472 24.244293 -16.840515
-v 15.505682 24.244293 -11.227010
-v 15.560287 24.244293 -8.420256
-v 15.614893 24.244293 -5.613504
-v 15.669498 24.244293 -2.806750
-v 15.451077 24.244293 -14.033761
-v 15.068842 24.526367 -16.840515
-v 15.068842 24.357121 -20.208620
-v 14.837173 24.443750 -16.840515
-v 14.976175 24.324074 -20.208620
-v 14.741212 24.244293 -16.840515
-v 14.937790 24.244293 -20.208620
-v 14.837173 24.044842 -16.840515
-v 14.976175 24.164513 -20.208620
-v 15.068842 23.962219 -16.840515
-v 15.068842 24.131464 -20.208620
-v 15.300512 24.044842 -16.840515
-v 15.161510 24.164513 -20.208620
-v 15.493570 23.878626 -2.806750
-v 15.454958 23.911867 -5.613504
-v 15.416346 23.945107 -8.420256
-v 15.377735 23.978352 -11.227010
-v 15.339125 24.011599 -14.033761
-v 17.747112 22.170710 -13.941322
-v 17.801716 22.299122 -11.227010
-v 17.856321 22.299122 -8.420256
-v 17.910927 22.299122 -5.613504
-v 17.965530 22.299122 -2.806750
-v 19.992630 19.473579 -10.913207
-v 20.047235 19.671778 -8.249126
-v 20.101841 19.920292 -5.621270
-v 20.156446 19.920288 -2.814516
-v 21.681923 17.307076 -5.493834
-v 22.005945 17.492397 -2.820486
-v 16.371500 21.980698 -16.611292
-v 16.958334 19.072380 -16.237904
-v 18.333946 19.280003 -13.580609
-v 17.248869 16.047104 -15.813843
-v 19.253532 16.279516 -13.174398
-v 20.346069 16.496920 -10.524145
-v 21.088167 16.807402 -7.940892
-v 17.248869 12.364210 -15.225695
-v 19.253532 12.644194 -12.620491
-v 20.943666 13.030781 -10.092027
-v 21.816038 13.629114 -7.715988
-v 22.468241 14.158947 -5.290641
-v 22.765541 14.626535 -2.820486
-v 16.148031 8.484867 -14.418156
-v 18.152691 8.688681 -12.031022
-v 19.654114 9.868836 -9.800913
-v 20.620842 10.983964 -7.465518
-v 20.895615 11.551710 -5.067457
-v 21.192915 11.843342 -2.626584
-v 14.197975 3.966436 -12.780198
-v 15.699396 5.872272 -11.618281
-v 17.263721 7.197832 -9.492843
-v 18.765144 8.384414 -7.208880
-v 19.322987 8.996664 -4.842861
-v 19.377592 9.319432 -2.424399
-v 17.275993 22.089104 -11.227010
-v 19.521511 19.461760 -8.249126
-v 19.466908 19.263561 -10.913207
-v 17.330599 22.089104 -8.420256
-v 17.385204 22.089104 -5.613504
-v 19.576118 19.710272 -5.621270
-v 17.439808 22.089104 -2.806750
-v 19.630722 19.710270 -2.814516
-v 21.480223 17.282379 -2.820486
-v 21.156200 17.097057 -5.493834
-v 17.221392 21.960691 -13.941322
-v 17.808226 19.069984 -13.580609
-v 18.727808 16.069500 -13.174398
-v 19.820347 16.286903 -10.524145
-v 20.562443 16.597382 -7.940892
-v 18.727808 12.434175 -12.620491
-v 20.417946 12.820762 -10.092027
-v 21.290312 13.419096 -7.715988
-v 21.942516 13.948927 -5.290641
-v 22.239817 14.416519 -2.820486
-v 17.626970 8.478662 -12.031022
-v 19.128391 9.658816 -9.800913
-v 20.095119 10.773947 -7.465518
-v 20.369892 11.341692 -5.067457
-v 20.667192 11.633322 -2.626584
-v 15.308929 41.517422 0.000000
-v 14.981298 41.517422 -12.588591
-v 14.784721 41.517422 -15.105992
-v 15.117007 41.849609 0.000000
-v 14.885338 41.683510 -12.588591
-v 14.746338 41.583855 -15.105992
-v 14.653669 41.987221 0.000000
-v 14.653669 41.752319 -12.588591
-v 14.653669 41.611382 -15.105992
-v 14.190331 41.849609 0.000000
-v 14.422001 41.683510 -12.588591
-v 14.561001 41.583855 -15.105992
-v 13.998409 41.517422 0.000000
-v 14.326038 41.517422 -12.588591
-v 14.522617 41.517422 -15.105992
-v 14.190331 41.185200 0.000000
-v 14.422001 41.351318 -12.588591
-v 14.561001 41.450974 -15.105992
-v 14.692114 41.047607 0.000000
-v 14.692114 41.282509 -12.588591
-v 14.653669 41.423450 -15.105992
-v 15.117007 41.185200 0.000000
-v 14.885338 41.351318 -12.588591
-v 14.746338 41.450974 -15.105992
-v 14.923951 41.323624 -10.490752
-v 14.962563 41.295952 -8.392917
-v 15.001173 41.268238 -6.295083
-v 15.039785 41.240585 -4.197246
-v 15.078396 41.212887 -2.099409
-v 15.035903 41.517422 -10.490752
-v 15.090508 41.517422 -8.392917
-v 15.145114 41.517422 -6.295083
-v 15.199718 41.517422 -4.197246
-v 15.254324 41.517422 -2.099409
-v 17.604961 39.897530 0.000000
-v 17.550356 39.897530 -2.099409
-v 17.495752 39.897530 -4.197246
-v 17.441147 39.897530 -6.295083
-v 17.386541 39.897530 -8.392917
-v 17.331936 39.822620 -10.401196
-v 15.956326 39.653347 -12.487507
-v 19.795940 37.916466 0.000000
-v 19.741272 37.916477 -2.105213
-v 19.686668 37.920795 -4.307718
-v 19.632061 37.734497 -6.416967
-v 18.791145 37.563686 -8.681988
-v 17.918774 37.393028 -10.473288
-v 16.543159 37.208908 -12.546264
-v 21.376074 35.897133 0.000000
-v 21.321356 35.904243 -2.343451
-v 21.266750 35.783173 -4.660714
-v 20.631359 35.334316 -6.738446
-v 19.998547 35.059895 -8.932222
-v 18.838356 34.867725 -10.700544
-v 16.833694 34.664192 -12.836876
-v 22.162392 33.527092 0.000000
-v 22.107674 33.538445 -2.848397
-v 22.053068 33.155472 -4.951861
-v 21.400864 32.684071 -7.138943
-v 20.528494 32.146858 -9.219141
-v 18.838356 31.805016 -11.193764
-v 16.833694 31.562752 -13.456076
-v 20.967196 31.245729 0.000000
-v 20.912479 31.253052 -2.948808
-v 20.857872 30.980101 -5.331879
-v 20.803268 30.470444 -7.415297
-v 19.238941 29.513027 -9.829927
-v 17.737516 28.487133 -12.402572
-v 15.732857 28.286781 -14.712629
-v 19.017138 29.323254 0.000000
-v 18.962420 29.145500 -2.993877
-v 18.907814 28.849167 -5.713902
-v 18.349968 28.308907 -8.047544
-v 16.848547 27.292774 -10.591549
-v 15.535843 26.150806 -13.231953
-v 13.782801 24.468904 -16.570248
-v 19.264797 37.759071 0.000000
-v 19.210129 37.759079 -2.105213
-v 17.019213 39.740131 -2.099409
-v 17.073820 39.740131 0.000000
-v 19.155525 37.763401 -4.307718
-v 16.964611 39.740131 -4.197246
-v 19.100918 37.577103 -6.416967
-v 16.910004 39.740131 -6.295083
-v 16.855398 39.740131 -8.392917
-v 18.260002 37.406288 -8.681988
-v 16.800793 39.665226 -10.401196
-v 17.387630 37.235630 -10.473288
-v 20.844931 35.739735 0.000000
-v 20.790213 35.746845 -2.343451
-v 20.735609 35.625778 -4.660714
-v 20.100216 35.176926 -6.738446
-v 19.467403 34.902496 -8.932222
-v 18.307213 34.710327 -10.700544
-v 21.631248 33.369698 0.000000
-v 21.576529 33.381050 -2.848397
-v 21.521923 32.998077 -4.951861
-v 20.869720 32.526680 -7.138943
-v 19.997353 31.989464 -9.219141
-v 18.307213 31.647621 -11.193764
-v 20.436052 31.088337 0.000000
-v 20.381334 31.095654 -2.948808
-v 20.326729 30.822704 -5.331879
-v 20.272125 30.313047 -7.415297
-v 18.707798 29.355633 -9.829927
-v 17.206375 28.329739 -12.402572
-v 15.199718 41.517422 4.197246
-v 15.145114 41.517422 6.295083
-v 15.090508 41.517422 8.392917
-v 15.035903 41.517422 10.490752
-v 14.981298 41.517422 12.588591
-v 14.885338 41.683510 12.588591
-v 15.254324 41.517422 2.099409
-v 14.746338 41.583855 15.105992
-v 14.784721 41.517422 15.105992
-v 14.653669 41.752319 12.588591
-v 14.653669 41.611382 15.105992
-v 14.422001 41.683510 12.588591
-v 14.561001 41.583855 15.105992
-v 14.326038 41.517422 12.588591
-v 14.522617 41.517422 15.105992
-v 14.422001 41.351318 12.588591
-v 14.561001 41.450974 15.105992
-v 14.692114 41.282509 12.588591
-v 14.653669 41.423450 15.105992
-v 14.885338 41.351318 12.588591
-v 14.923951 41.323624 10.490752
-v 14.962563 41.295952 8.392917
-v 15.001173 41.268238 6.295083
-v 15.039785 41.240585 4.197246
-v 15.078396 41.212887 2.099409
-v 14.746338 41.450974 15.105992
-v 17.550356 39.897530 2.099409
-v 17.495752 39.897530 4.197246
-v 17.441147 39.897530 6.295083
-v 17.386541 39.897530 8.392917
-v 17.331936 39.822620 10.401196
-v 15.956326 39.653347 12.487507
-v 19.741272 37.916477 2.105213
-v 19.686668 37.920795 4.307718
-v 19.632061 37.734497 6.416967
-v 18.791145 37.563686 8.681988
-v 17.918774 37.393028 10.473288
-v 16.543159 37.208908 12.546264
-v 21.321356 35.904243 2.343451
-v 21.266750 35.783173 4.660714
-v 20.631359 35.334316 6.738446
-v 19.998547 35.059895 8.932222
-v 18.838356 34.867725 10.700544
-v 16.833694 34.664192 12.836876
-v 22.107674 33.538445 2.848397
-v 22.053068 33.155472 4.951861
-v 21.400864 32.684071 7.138943
-v 20.528494 32.146858 9.219141
-v 18.838356 31.805016 11.193764
-v 16.833694 31.562752 13.456076
-v 20.912479 31.253052 2.948808
-v 20.857872 30.980101 5.331879
-v 20.803268 30.470444 7.415297
-v 19.238941 29.513027 9.829927
-v 17.737516 28.487133 12.402572
-v 15.732857 28.286781 14.712629
-v 18.962420 29.145500 2.993877
-v 18.907814 28.849167 5.713902
-v 18.349968 28.308907 8.047544
-v 16.848547 27.292774 10.591549
-v 15.535843 26.150806 13.231953
-v 13.782801 24.468904 16.570248
-v 17.019213 39.740131 2.099409
-v 19.210129 37.759079 2.105213
-v 16.964611 39.740131 4.197246
-v 19.155525 37.763401 4.307718
-v 16.910004 39.740131 6.295083
-v 19.100918 37.577103 6.416967
-v 16.855398 39.740131 8.392917
-v 16.800793 39.665226 10.401196
-v 18.260002 37.406288 8.681988
-v 17.387630 37.235630 10.473288
-v 20.790213 35.746845 2.343451
-v 20.735609 35.625778 4.660714
-v 20.100216 35.176926 6.738446
-v 18.307213 34.710327 10.700544
-v 19.467403 34.902496 8.932222
-v 21.576529 33.381050 2.848397
-v 21.521923 32.998077 4.951861
-v 20.869720 32.526680 7.138943
-v 19.997353 31.989464 9.219141
-v 18.307213 31.647621 11.193764
-v 20.381334 31.095654 2.948808
-v 20.326729 30.822704 5.331879
-v 20.272125 30.313047 7.415297
-v 18.707798 29.355633 9.829927
-v 17.206375 28.329739 12.402572
-v 37.183197 9.436539 12.125172
-v 36.948586 9.445372 14.550205
-v 36.915100 9.337111 14.550205
-v 37.099464 9.165879 12.125172
-v 37.201889 9.070754 8.083447
-v 37.253113 9.023188 6.062584
-v 37.304321 8.975623 4.041723
-v 37.355537 8.928061 2.020860
-v 37.406761 8.880497 0.000000
-v 37.574219 9.421815 0.000000
-v 37.150681 9.118316 10.104307
-v 37.037880 9.715820 12.125172
-v 36.890457 9.557086 14.550205
-v 37.283577 9.980377 0.000000
-v 36.748634 9.840131 12.125172
-v 36.774757 9.606809 14.550205
-v 36.705086 10.229001 0.000000
-v 36.484894 9.736646 12.125172
-v 36.669266 9.565416 14.550205
-v 36.177612 10.022031 0.000000
-v 36.401161 9.465988 12.125172
-v 36.635773 9.457152 14.550205
-v 36.010139 9.480717 0.000000
-v 36.546486 9.186706 12.125172
-v 36.693893 9.345439 14.550205
-v 36.372047 8.855958 0.000000
-v 36.835732 9.062397 12.125172
-v 36.809601 9.295714 14.550205
-v 36.879280 8.673531 0.000000
-v 36.872025 8.738340 2.020860
-v 36.864754 8.803152 4.041723
-v 36.857498 8.867962 6.062584
-v 36.850243 8.932775 8.083447
-v 36.842987 8.997587 10.104307
-v 37.233280 7.108510 10.037751
-v 37.335197 7.154058 8.083447
-v 37.367207 7.124331 6.062584
-v 37.399216 7.094601 4.041723
-v 37.431225 7.064876 2.020860
-v 37.463234 7.035147 0.000000
-v 37.081245 4.304998 7.857507
-v 37.221157 4.391452 5.939371
-v 37.388454 4.507402 4.047314
-v 37.420464 4.477671 2.026452
-v 37.452499 4.447899 0.000000
-v 36.892029 2.115348 3.955562
-v 37.182858 2.047582 2.030749
-v 37.214912 2.017770 0.000000
-v 36.323467 7.746022 11.960131
-v 35.084148 5.721714 11.691292
-v 36.003555 5.094525 9.778038
-v 33.607471 3.790157 11.385965
-v 34.909115 2.835039 9.485566
-v 35.667908 2.367693 7.577384
-v 36.271950 2.145690 5.717442
-v 31.602478 1.631277 10.962500
-v 32.930016 0.704046 9.086754
-v 34.131218 0.010538 7.266258
-v 34.968334 -0.113652 5.555511
-v 35.639095 -0.158133 3.809260
-v 36.067928 -0.045890 2.030749
-v 35.957718 0.056421 0.000000
-v 28.845230 -0.043453 10.381071
-v 30.131302 -1.015334 8.662334
-v 31.653908 -1.140924 7.056657
-v 32.827682 -1.013539 5.375172
-v 33.297836 -0.830322 3.648569
-v 33.630875 -0.821223 1.891142
-v 33.755875 -0.909353 0.000000
-v 25.242256 -1.630489 9.201742
-v 27.159927 -1.330692 8.365163
-v 28.798569 -1.405293 6.834847
-v 30.324669 -1.527117 5.190393
-v 30.984987 -1.471915 3.486860
-v 31.192715 -1.312438 1.745566
-v 31.345444 -1.212310 -0.022011
-v 36.912689 7.317153 8.083447
-v 36.798645 4.554550 5.939371
-v 36.658737 4.468093 7.857507
-v 36.944698 7.287426 6.062584
-v 36.976711 7.257699 4.041723
-v 36.965946 4.670499 4.047314
-v 37.008717 7.227970 2.020860
-v 36.997955 4.640769 2.026452
-v 37.040730 7.198245 0.000000
-v 37.029991 4.610995 0.000000
-v 36.760353 2.210679 2.030749
-v 36.469521 2.278445 3.955562
-v 36.792404 2.180868 0.000000
-v 36.810776 7.271606 10.037751
-v 35.581047 5.257621 9.778038
-v 34.486607 2.998137 9.485566
-v 35.245403 2.530790 7.577384
-v 35.849438 2.308786 5.717442
-v 32.507507 0.867143 9.086754
-v 33.708714 0.173633 7.266258
-v 34.545826 0.049446 5.555511
-v 35.216587 0.004963 3.809260
-v 35.645420 0.117208 2.030749
-v 35.535206 0.219519 0.000000
-v 29.708790 -0.852237 8.662334
-v 31.231400 -0.977827 7.056657
-v 32.405174 -0.850443 5.375172
-v 32.875324 -0.667224 3.648569
-v 33.208366 -0.658127 1.891142
-v 33.333366 -0.746256 0.000000
-v 37.099464 9.165879 -12.125172
-v 36.915100 9.337111 -14.550205
-v 36.948586 9.445372 -14.550205
-v 37.183197 9.436539 -12.125172
-v 37.150681 9.118316 -10.104307
-v 37.355537 8.928061 -2.020860
-v 37.304321 8.975623 -4.041723
-v 37.253113 9.023188 -6.062584
-v 37.201889 9.070754 -8.083447
-v 36.890457 9.557086 -14.550205
-v 37.037880 9.715820 -12.125172
-v 36.774757 9.606809 -14.550205
-v 36.748634 9.840131 -12.125172
-v 36.669266 9.565416 -14.550205
-v 36.484894 9.736646 -12.125172
-v 36.635773 9.457152 -14.550205
-v 36.401161 9.465988 -12.125172
-v 36.693893 9.345439 -14.550205
-v 36.546486 9.186706 -12.125172
-v 36.809601 9.295714 -14.550205
-v 36.835732 9.062397 -12.125172
-v 36.842987 8.997587 -10.104307
-v 36.850243 8.932775 -8.083447
-v 36.857498 8.867962 -6.062584
-v 36.864754 8.803152 -4.041723
-v 36.872025 8.738340 -2.020860
-v 37.233280 7.108510 -10.037751
-v 37.335197 7.154058 -8.083447
-v 37.367207 7.124331 -6.062584
-v 37.399216 7.094601 -4.041723
-v 37.431225 7.064876 -2.020860
-v 37.221157 4.391452 -5.939371
-v 37.081245 4.304998 -7.857507
-v 37.388454 4.507402 -4.047314
-v 37.420464 4.477671 -2.026452
-v 37.182858 2.047582 -2.030749
-v 36.892029 2.115348 -3.955562
-v 36.323467 7.746022 -11.960131
-v 36.003555 5.094525 -9.778038
-v 35.084148 5.721714 -11.691292
-v 34.909115 2.835039 -9.485566
-v 33.607471 3.790157 -11.385965
-v 35.667908 2.367693 -7.577384
-v 36.271950 2.145690 -5.717442
-v 32.930016 0.704046 -9.086754
-v 31.602478 1.631277 -10.962500
-v 34.131218 0.010538 -7.266258
-v 34.968334 -0.113652 -5.555511
-v 35.639095 -0.158133 -3.809260
-v 36.067928 -0.045890 -2.030749
-v 30.131302 -1.015334 -8.662334
-v 28.845230 -0.043453 -10.381071
-v 31.653908 -1.140924 -7.056657
-v 32.827682 -1.013539 -5.375172
-v 33.297836 -0.830322 -3.648569
-v 33.630875 -0.821223 -1.891142
-v 27.159927 -1.330692 -8.365163
-v 25.242256 -1.630489 -9.201742
-v 28.798569 -1.405293 -6.834847
-v 30.324669 -1.527117 -5.190393
-v 30.984987 -1.471915 -3.486860
-v 31.192715 -1.312438 -1.745566
-v 36.658737 4.468093 -7.857507
-v 36.798645 4.554550 -5.939371
-v 36.912689 7.317153 -8.083447
-v 36.965946 4.670499 -4.047314
-v 36.976711 7.257699 -4.041723
-v 36.944698 7.287426 -6.062584
-v 36.997955 4.640769 -2.026452
-v 37.008717 7.227970 -2.020860
-v 36.469521 2.278445 -3.955562
-v 36.760353 2.210679 -2.030749
-v 36.810776 7.271606 -10.037751
-v 35.581047 5.257621 -9.778038
-v 34.486607 2.998137 -9.485566
-v 35.245403 2.530790 -7.577384
-v 35.849438 2.308786 -5.717442
-v 32.507507 0.867143 -9.086754
-v 33.708714 0.173633 -7.266258
-v 34.545826 0.049446 -5.555511
-v 35.216587 0.004963 -3.809260
-v 35.645420 0.117208 -2.030749
-v 29.708790 -0.852237 -8.662334
-v 31.231400 -0.977827 -7.056657
-v 32.405174 -0.850443 -5.375172
-v 32.875324 -0.667224 -3.648569
-v 33.208366 -0.658127 -1.891142
-v -25.342682 39.050133 12.631252
-v -26.800455 41.402733 15.170297
-v -26.837248 41.324783 15.223574
-v -25.434660 38.855247 12.764452
-v -17.744377 26.753054 0.677289
-v -17.560419 27.142822 0.410891
-v -9.376750 14.896337 -11.201438
-v -9.284773 15.091215 -11.334633
-v -7.530965 12.652036 -13.588774
-v -7.567755 12.574083 -13.535497
-v -25.106192 39.202751 12.637131
-v -26.705860 41.463783 15.172644
-v -17.087444 27.448063 0.422648
-v -9.048284 15.243841 -11.328759
-v -7.436370 12.713083 -13.586423
-v -24.863726 39.223705 12.778642
-v -26.608875 41.472164 15.229251
-v -16.602512 27.489975 0.705667
-v -8.805818 15.264791 -11.187246
-v -7.339383 12.721467 -13.529819
-v -24.757313 39.100723 12.972888
-v -26.566311 41.422974 15.306951
-v -16.389688 27.244003 1.094167
-v -8.699405 15.141807 -10.992999
-v -7.296819 12.672277 -13.452118
-v -24.849295 38.905838 13.106089
-v -26.603102 41.345016 15.360229
-v -16.573647 26.854233 1.360564
-v -8.791386 14.946925 -10.859798
-v -7.333611 12.594320 -13.398837
-v -25.085781 38.753212 13.100214
-v -26.697697 41.283970 15.357880
-v -17.125172 26.520523 1.324638
-v -9.106422 14.765837 -10.889849
-v -7.428205 12.533272 -13.401189
-v -25.328247 38.732258 12.958700
-v -26.794685 41.275585 15.301274
-v -17.531553 26.507080 1.065789
-v -9.270339 14.773350 -11.007191
-v -7.525191 12.524889 -13.457792
-v -14.838583 7.725491 16.392136
-v -13.115796 20.643181 -4.782604
-v -11.111109 17.704510 -7.836226
-v -15.120483 23.581854 -1.728984
-v -21.105474 32.636868 7.212426
-v -19.115322 29.578697 4.268532
-v -23.095627 35.695042 10.156319
-v -17.850927 23.415936 11.145543
-v -15.971910 15.023872 13.064692
-v -20.878242 31.325497 10.889566
-v -22.710337 35.141632 11.368248
-v -19.020594 27.498768 10.741400
-v -16.675705 19.308691 11.771263
-v -15.242205 10.728598 14.661383
-v -11.429826 11.979118 4.484833
-v -12.855085 9.611444 10.086077
-v -10.146607 13.783422 -3.108587
-v -11.113446 17.269522 -0.589503
-v -12.173586 19.546953 1.645432
-v -14.496117 22.736921 3.615596
-v -16.618717 25.814238 5.499027
-v -18.831337 28.858936 7.356281
-v -20.830013 31.984983 9.160530
-v -13.958706 13.246996 10.484770
-v -15.075603 15.880554 10.990260
-v -12.059523 15.670089 5.786165
-v -13.219246 18.188381 6.546744
-v -14.729614 21.266827 7.743087
-v -16.833500 24.401178 9.291769
-v -12.997808 13.246996 10.484770
-v -14.114704 15.880554 10.990260
-v -13.768716 21.266827 7.743087
-v -15.872602 24.401178 9.291769
-v -12.258348 18.188381 6.546744
-v -11.098623 15.670089 5.786165
-v -10.152548 17.269522 -0.589503
-v -11.212686 19.546953 1.645432
-v -13.535219 22.736921 3.615596
-v -15.657820 25.814238 5.499027
-v -19.869114 31.984983 9.160530
-v -17.870438 28.858936 7.356281
-v -3.006491 2.835144 -1.792495
-v -3.299435 2.835144 -2.499723
-v -3.299435 3.340722 -2.499723
-v -2.683913 3.340722 -1.013724
-v -2.607214 28.440485 -0.828560
-v -2.795753 28.916454 -1.283730
-v -2.984291 29.392422 -1.738900
-v -3.060988 31.134907 -1.924065
-v -3.197826 31.301920 -2.254421
-v -3.197826 31.705118 -2.254421
-v -2.864999 31.538105 -1.450902
-v -2.788301 30.035196 -1.265738
-v -2.522967 30.068596 -0.625167
-v -1.521538 2.835144 -1.792497
-v -1.228595 2.835144 -2.499723
-v -1.228595 3.340722 -2.499723
-v -1.844116 3.340722 -1.013724
-v -1.920815 28.440485 -0.828560
-v -2.149614 28.440485 -0.828560
-v -2.378415 28.440485 -0.828560
-v -3.625614 0.933175 -14.862261
-v -3.396813 0.933175 -14.862257
-v -3.208276 1.409142 -15.317429
-v -3.562768 1.409142 -15.317429
-v -1.543738 29.392422 -1.738900
-v -1.467041 31.134907 -1.924065
-v -1.330203 31.301920 -2.254421
-v -1.330203 31.705118 -2.254421
-v -1.663031 31.538105 -1.450902
-v -1.739728 30.035196 -1.265738
-v -2.005062 30.068596 -0.625167
-v -1.732276 28.916454 -1.283730
-v -2.441260 28.916454 -1.283730
-v -2.086768 28.916454 -1.283730
-v -10.505260 1.409189 -15.317495
-v -10.859753 1.409189 -15.317495
-v -10.671214 0.933218 -14.862325
-v -10.442413 0.933218 -14.862325
-v -7.310413 0.933123 -14.862221
-v -7.081613 0.933123 -14.862221
-v -7.018765 1.409093 -15.317392
-v -7.373259 1.409093 -15.317392
-v 12.725510 5.931142 -1.792495
-v 12.432567 5.931142 -2.499723
-v 12.432567 6.436721 -2.499723
-v 13.048086 6.436721 -1.013724
-v 13.124784 24.624481 -0.828560
-v 12.936247 25.100452 -1.283730
-v 12.747708 25.576418 -1.738900
-v 12.671010 27.318907 -1.924065
-v 12.534173 27.485916 -2.254421
-v 12.534173 27.889114 -2.254421
-v 12.867002 27.722105 -1.450902
-v 12.943699 26.219193 -1.265738
-v 13.209031 26.252592 -0.625167
-v 14.210463 5.931142 -1.792497
-v 14.503405 5.931142 -2.499723
-v 14.503405 6.436721 -2.499723
-v 13.887884 6.436721 -1.013724
-v 13.811186 24.624481 -0.828560
-v 13.467985 24.624481 -0.828560
-v 13.999723 25.100452 -1.283730
-v 14.188262 25.576418 -1.738900
-v 13.467985 25.100452 -1.283730
-v 14.264960 27.318907 -1.924065
-v 14.401797 27.485916 -2.254421
-v 14.401797 27.889114 -2.254421
-v 14.068970 27.722105 -1.450902
-v 13.992271 26.219193 -1.265738
-v 13.726938 26.252592 -0.625167
-v 8.292243 4.554726 -13.105604
-v 8.480783 4.078758 -12.650431
-v 8.823982 4.078758 -12.650431
-v 8.823982 4.554726 -13.105604
-v 11.451985 4.078778 -12.650445
-v 11.795187 4.078778 -12.650445
-v 11.983724 4.554746 -13.105617
-v 11.451985 4.554746 -13.105617
-v -19.242489 8.343143 -1.792495
-v -19.535431 8.343143 -2.499723
-v -19.535431 8.848721 -2.499723
-v -18.919910 8.848721 -1.013724
-v -18.843212 27.036480 -0.828560
-v -19.031750 27.512449 -1.283730
-v -19.220287 27.988419 -1.738900
-v -19.296986 29.730904 -1.924065
-v -19.433825 29.897915 -2.254421
-v -19.433825 30.301113 -2.254421
-v -19.100996 30.134102 -1.450902
-v -19.024298 28.631191 -1.265738
-v -18.758965 28.664593 -0.625167
-v -17.757534 8.343143 -1.792497
-v -17.464592 8.343143 -2.499723
-v -17.464592 8.848721 -2.499723
-v -18.080112 8.848721 -1.013724
-v -18.156811 27.036480 -0.828560
-v -18.500011 27.036480 -0.828560
-v -17.968273 27.512449 -1.283730
-v -17.779734 27.988419 -1.738900
-v -18.500011 27.512449 -1.283730
-v -17.703035 29.730904 -1.924065
-v -17.566198 29.897915 -2.254421
-v -17.566198 30.301113 -2.254421
-v -17.899027 30.134102 -1.450902
-v -17.975723 28.631191 -1.265738
-v -18.241058 28.664593 -0.625167
-v -21.299751 6.534726 -13.105604
-v -21.111214 6.058758 -12.650431
-v -20.768013 6.058758 -12.650431
-v -20.768013 6.534726 -13.105604
-v -18.140011 6.058776 -12.650445
-v -17.796808 6.058776 -12.650445
-v -17.608273 6.534745 -13.105617
-v -18.140011 6.534745 -13.105617
-vn 0.000000 -0.691141 0.722719
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -0.691139 0.722722
-vn 0.000000 -0.691141 0.722721
-vn 0.000000 0.454456 0.890769
-vn 0.951234 -0.138151 0.275803
-vn 0.000000 -0.454457 -0.890769
-vn -0.903964 0.048238 -0.424879
-vn 0.000000 -0.454453 -0.890771
-vn -0.995330 0.080548 0.053198
-vn 0.000000 0.454454 0.890770
-vn 0.960300 -0.165937 -0.224251
-vn 0.000000 -0.454452 -0.890771
-vn -0.975849 0.069272 -0.207173
-vn 0.000000 0.454452 0.890771
-vn 0.986498 -0.160658 0.031790
-vn 0.796052 -0.294117 0.528958
-vn -0.073842 -0.027344 0.996895
-vn 1.000000 0.000000 0.000000
-vn -0.003044 0.998421 -0.056087
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000920 0.999353 -0.035944
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000000 0.999404 -0.034523
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -0.000715 -0.926299 -0.376788
-vn 0.780323 0.625377 -0.000051
-vn 0.233171 0.050419 -0.971128
-vn 0.815205 0.578105 -0.035150
-vn 0.068294 -0.005991 -0.997647
-vn 0.000000 0.000000 1.000000
-vn -0.960859 0.277039 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -0.691143 0.722718
-vn 0.000000 -0.691141 0.722720
-vn 0.000000 -0.498728 -0.866759
-vn -0.996095 0.061022 -0.063811
-vn 0.000000 0.498728 0.866759
-vn 0.961371 -0.201950 -0.187033
-vn -0.926465 -0.007117 -0.376314
-vn 0.000000 0.498727 0.866759
-vn 0.979784 -0.138269 0.144587
-vn 0.000000 -0.498727 -0.866759
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -0.691144 0.722717
-vn 0.000000 -0.691141 0.722720
-vn 0.000000 -0.490952 -0.871187
-vn -0.999878 -0.010796 0.011290
-vn 0.000000 0.490953 0.871186
-vn 0.956749 -0.130192 -0.260156
-vn -0.946483 -0.074628 -0.314007
-vn 0.000000 0.490953 0.871186
-vn 0.995191 -0.067699 0.070793
-vn 0.000000 -0.490953 -0.871186
-vn 0.071989 -0.997405 0.000000
-vn 0.828488 0.560007 0.000000
-vn -0.828491 -0.560002 0.000000
-vn 0.796052 -0.294117 -0.528958
-vn -0.073842 -0.027344 -0.996895
-vn 1.000000 0.000000 0.000000
-vn -0.003044 0.998421 0.056087
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000920 0.999353 0.035944
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000000 0.999404 0.034523
-vn -1.000000 0.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -0.000715 -0.926299 0.376788
-vn 0.780323 0.625377 0.000051
-vn 0.233171 0.050419 0.971128
-vn 0.815205 0.578105 0.035150
-vn 0.068294 -0.005991 0.997647
-vn 0.000000 0.000000 -1.000000
-vn -0.960859 0.277039 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 0.000000 1.000000
-vn 0.107249 -0.051603 0.992892
-vn 0.000000 0.000000 -1.000000
-vn 0.107249 -0.051603 -0.992892
-vn 0.000000 0.000000 -1.000000
-vn 0.047847 -0.027643 -0.998472
-vn 0.000000 0.000000 1.000000
-vn 0.047847 -0.027643 0.998472
-vn 0.000000 0.000000 1.000000
-vn 0.110211 -0.053028 0.992493
-vn 0.000000 0.000000 -1.000000
-vn 0.110211 -0.053028 -0.992493
-vn 0.000000 0.000000 -1.000000
-vn 0.049190 -0.028414 -0.998385
-vn 0.000000 0.000000 1.000000
-vn 0.049190 -0.028414 0.998385
-vn 0.000000 0.000000 1.000000
-vn 0.057338 -0.146135 0.987602
-vn 0.000000 0.000000 -1.000000
-vn 0.057338 -0.146135 -0.987602
-vn -0.428213 0.638920 0.639073
-vn 0.428218 -0.638908 -0.639082
-vn 0.000000 -0.691141 -0.722720
-vn 0.000000 -0.691139 -0.722722
-vn 0.000000 -0.691141 -0.722720
-vn 0.000000 0.454456 -0.890769
-vn 0.951234 -0.138151 -0.275803
-vn 0.000000 -0.454457 0.890769
-vn -0.903964 0.048238 0.424879
-vn 0.000000 -0.454453 0.890770
-vn -0.995330 0.080548 -0.053198
-vn 0.000000 0.454454 -0.890770
-vn 0.960300 -0.165937 0.224251
-vn 0.000000 -0.454452 0.890771
-vn -0.975849 0.069272 0.207173
-vn 0.000000 0.454452 -0.890771
-vn 0.986498 -0.160658 -0.031790
-vn 0.000000 -0.691143 -0.722718
-vn 0.000000 -0.691141 -0.722720
-vn 0.000000 -0.498728 0.866759
-vn -0.996095 0.061022 0.063811
-vn 0.000000 0.498728 -0.866759
-vn 0.961371 -0.201950 0.187033
-vn -0.926465 -0.007117 0.376314
-vn 0.000000 0.498727 -0.866759
-vn 0.979784 -0.138270 -0.144587
-vn 0.000000 -0.498727 0.866759
-vn 0.000000 -0.691144 -0.722717
-vn 0.000000 -0.691141 -0.722720
-vn 0.000000 -0.490952 0.871187
-vn -0.999878 -0.010796 -0.011290
-vn 0.000000 0.490953 -0.871186
-vn 0.956749 -0.130192 0.260156
-vn -0.946483 -0.074629 0.314007
-vn 0.000000 0.490952 -0.871186
-vn 0.995191 -0.067699 -0.070793
-vn 0.000000 -0.490953 0.871186
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.382683 0.000000 -0.923880
-vn -0.382684 0.000000 -0.923879
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923879 0.000000 0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.382683 0.000000 0.923880
-vn -0.382683 0.000000 0.923880
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382683 0.000000 -0.923880
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.923879 0.000000 0.382684
-vn 0.923879 0.000000 0.382684
-vn 0.923879 0.000000 -0.382684
-vn 0.923879 0.000000 -0.382684
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.382684 0.000000 0.923880
-vn -0.382684 0.000000 0.923880
-vn 0.382683 0.000000 0.923880
-vn 0.382683 0.000000 0.923880
-vn -0.382684 0.000000 -0.923880
-vn -0.382684 0.000000 -0.923880
-vn 0.382683 0.000000 -0.923880
-vn 0.382683 0.000000 -0.923880
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.923850 0.007985 0.382671
-vn 0.848857 -0.394732 0.351608
-vn 0.825591 -0.448837 0.341971
-vn 0.917828 -0.114267 0.380177
-vn 0.923850 0.007985 -0.382671
-vn 0.848857 -0.394732 -0.351608
-vn 0.825591 -0.448837 -0.341971
-vn 0.917828 -0.114267 -0.380177
-vn -0.923850 0.007985 -0.382671
-vn -0.848857 -0.394732 -0.351608
-vn -0.825592 -0.448837 -0.341971
-vn -0.917828 -0.114266 -0.380177
-vn -0.923850 0.007985 0.382671
-vn -0.848857 -0.394732 0.351608
-vn -0.825592 -0.448837 0.341971
-vn -0.917828 -0.114266 0.380177
-vn -0.382671 0.007985 0.923850
-vn -0.465039 -0.258222 0.846794
-vn -0.341971 -0.448837 0.825591
-vn -0.380177 -0.114267 0.917828
-vn 0.382671 0.007985 0.923850
-vn 0.465039 -0.258221 0.846794
-vn 0.341971 -0.448837 0.825591
-vn 0.380177 -0.114267 0.917828
-vn 0.265892 -0.719195 0.641920
-vn -0.265892 -0.719195 0.641919
-vn 0.000000 0.007377 0.999973
-vn 0.000000 0.007377 0.999973
-vn 0.000000 -0.691141 0.722720
-vn 0.000000 -0.691141 0.722720
-vn -0.382671 0.007985 -0.923850
-vn -0.465039 -0.258221 -0.846794
-vn -0.265892 -0.719195 -0.641920
-vn -0.341971 -0.448837 -0.825591
-vn -0.380177 -0.114267 -0.917828
-vn 0.382671 0.007985 -0.923850
-vn 0.465039 -0.258221 -0.846794
-vn 0.000000 0.007377 -0.999973
-vn 0.000000 0.007377 -0.999973
-vn 0.341971 -0.448837 -0.825592
-vn 0.380177 -0.114267 -0.917828
-vn 0.265892 -0.719194 -0.641920
-vn 0.000000 -0.691141 -0.722720
-vn 0.000000 -0.691141 -0.722720
-vn 0.390974 -0.906042 0.161947
-vn 0.390974 -0.906042 0.161947
-vn 0.390974 -0.906042 -0.161950
-vn 0.390974 -0.906042 -0.161950
-vn -0.390973 -0.906042 -0.161949
-vn -0.390973 -0.906042 -0.161949
-vn -0.390973 -0.906042 0.161949
-vn -0.390973 -0.906042 0.161949
-vn -0.161946 -0.906042 0.390975
-vn -0.161946 -0.906042 0.390975
-vn 0.161947 -0.906043 0.390973
-vn 0.161947 -0.906043 0.390973
-vn -0.161946 -0.906042 -0.390975
-vn -0.161946 -0.906042 -0.390975
-vn 0.161946 -0.906042 -0.390976
-vn 0.161946 -0.906042 -0.390976
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.382684 0.000000 0.923879
-vn -0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn -0.174230 0.982057 -0.072168
-vn -0.174230 0.982057 -0.072168
-vn -0.174230 0.982057 0.072169
-vn -0.174230 0.982057 0.072169
-vn 0.174230 0.982057 0.072169
-vn 0.174230 0.982057 0.072169
-vn 0.174230 0.982057 -0.072169
-vn 0.174230 0.982057 -0.072169
-vn 0.072168 0.982057 -0.174231
-vn 0.072168 0.982057 -0.174231
-vn -0.072168 0.982057 -0.174229
-vn -0.072168 0.982057 -0.174229
-vn 0.072168 0.982057 0.174231
-vn 0.072168 0.982057 0.174231
-vn -0.072168 0.982057 0.174231
-vn -0.072168 0.982057 0.174231
-vn -0.915772 0.132185 -0.379326
-vn -0.915772 0.132185 -0.379326
-vn -0.915772 0.132185 0.379326
-vn -0.915772 0.132185 0.379326
-vn 0.915773 0.132185 0.379325
-vn 0.915773 0.132185 0.379325
-vn 0.915773 0.132185 -0.379325
-vn 0.915773 0.132185 -0.379325
-vn 0.379326 0.132185 -0.915772
-vn 0.379326 0.132185 -0.915772
-vn -0.379325 0.132185 -0.915773
-vn -0.379325 0.132185 -0.915773
-vn 0.379326 0.132185 0.915772
-vn 0.379326 0.132185 0.915772
-vn -0.379325 0.132185 0.915773
-vn -0.379325 0.132185 0.915773
-vn 0.044453 0.998842 0.018413
-vn 0.044453 0.998842 0.018413
-vn 0.044453 0.998842 -0.018413
-vn 0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 0.018413
-vn -0.044453 0.998842 0.018413
-vn -0.018413 0.998842 0.044452
-vn -0.018413 0.998842 0.044452
-vn 0.018413 0.998842 0.044452
-vn 0.018413 0.998842 0.044452
-vn -0.018413 0.998842 -0.044452
-vn -0.018413 0.998842 -0.044452
-vn 0.018413 0.998842 -0.044452
-vn 0.018413 0.998842 -0.044452
-vn 0.923772 0.015264 0.382639
-vn 0.923772 0.015264 0.382639
-vn 0.923772 0.015264 -0.382639
-vn 0.923772 0.015264 -0.382639
-vn 0.382639 0.015264 -0.923772
-vn -0.382638 0.015264 -0.923772
-vn -0.923772 0.015264 -0.382640
-vn -0.923772 0.015264 -0.382640
-vn -0.923772 0.015264 0.382640
-vn -0.923772 0.015264 0.382640
-vn -0.382638 0.015264 0.923772
-vn -0.382638 0.015264 0.923772
-vn 0.382639 0.015264 0.923772
-vn 0.382639 0.015264 0.923772
-vn -0.382638 0.015264 -0.923772
-vn 0.382639 0.015264 -0.923772
-vn -0.000498 -1.000000 0.000000
-vn -0.000978 -1.000000 0.000000
-vn -0.000978 -0.999829 -0.018484
-vn -0.000498 -0.999831 -0.018381
-vn 0.000342 -0.999875 -0.015805
-vn 0.000342 -1.000000 0.000000
-vn 0.000649 -0.999930 -0.011797
-vn 0.000649 -1.000000 0.000000
-vn 0.000644 -0.999968 -0.007972
-vn 0.000645 -1.000000 0.000000
-vn -0.000134 -0.999995 -0.003267
-vn -0.000134 -1.000000 0.000000
-vn -0.000594 -0.999997 -0.002483
-vn -0.000594 -1.000000 0.000000
-vn 0.000465 -0.999988 -0.004895
-vn 0.000465 -1.000000 0.000000
-vn 0.000285 -0.999980 -0.006340
-vn 0.000285 -1.000000 0.000000
-vn 0.081838 -0.996646 0.000000
-vn 0.081835 -0.996609 -0.008551
-vn 0.344185 -0.938871 0.007579
-vn 0.344195 -0.938898 0.000000
-vn 0.605586 -0.790519 0.091348
-vn 0.608129 -0.793838 0.000000
-vn 0.760646 -0.613146 0.213235
-vn 0.778552 -0.627580 0.000000
-vn 0.848223 -0.481433 0.220772
-vn 0.869682 -0.493613 0.000000
-vn 0.808292 -0.581043 0.095151
-vn 0.811976 -0.583691 0.000000
-vn 0.668057 -0.744110 -0.000355
-vn 0.668057 -0.744110 0.000000
-vn 0.726716 -0.686915 -0.005694
-vn 0.726727 -0.686926 0.000000
-vn 0.955276 -0.295714 0.000866
-vn 0.955276 -0.295714 0.000000
-vn 0.999999 0.000260 -0.001367
-vn 1.000000 0.000260 0.000000
-vn -0.000498 -0.999831 0.018381
-vn -0.000978 -0.999829 0.018484
-vn 0.000342 -0.999875 0.015805
-vn 0.000649 -0.999930 0.011797
-vn 0.000644 -0.999968 0.007972
-vn -0.000134 -0.999995 0.003267
-vn -0.000594 -0.999997 0.002483
-vn 0.000465 -0.999988 0.004895
-vn 0.000285 -0.999980 0.006340
-vn 0.344185 -0.938871 -0.007579
-vn 0.081835 -0.996609 0.008551
-vn 0.605586 -0.790519 -0.091348
-vn 0.760646 -0.613146 -0.213235
-vn 0.848223 -0.481433 -0.220772
-vn 0.808292 -0.581043 -0.095151
-vn 0.668057 -0.744110 0.000355
-vn 0.726716 -0.686915 0.005694
-vn 0.955276 -0.295714 -0.000866
-vn 0.999999 0.000260 0.001367
-vn 0.532643 0.846199 -0.015426
-vn 0.532707 0.846300 0.000000
-vn 0.532643 0.846199 -0.015426
-vn 0.532707 0.846300 0.000000
-vn 0.532643 0.846199 0.015426
-vn 0.532643 0.846199 0.015426
-vn -0.311057 0.950245 0.016675
-vn -0.311100 0.950377 0.000000
-vn -0.311057 0.950245 0.016675
-vn -0.311100 0.950377 0.000000
-vn -0.311057 0.950245 -0.016675
-vn -0.311057 0.950245 -0.016675
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn -0.001558 0.003019 0.999994
-vn -0.005048 0.008466 0.999951
-vn -0.008364 0.009773 0.999917
-vn -0.006180 0.002751 0.999977
-vn 0.031027 -0.045147 0.998498
-vn 0.083067 -0.146694 0.985688
-vn 0.171496 -0.296152 0.939618
-vn 0.379549 -0.370895 0.847573
-vn 0.612488 -0.633300 0.473064
-vn -0.908937 0.181562 0.375326
-vn -0.980714 0.195447 0.000000
-vn -0.926840 0.365132 0.087447
-vn -0.999916 -0.012961 0.000000
-vn 0.001662 -0.284907 0.958554
-vn -0.002601 -0.611459 0.791272
-vn -0.004739 -0.614960 0.788544
-vn -0.001656 -0.620166 0.784469
-vn -0.002364 -0.624637 0.780912
-vn -0.003943 -0.628088 0.778132
-vn -0.002765 -0.630722 0.776004
-vn 0.001016 -0.631656 0.775248
-vn 0.055700 -0.627733 0.776433
-vn 0.226451 -0.593755 0.772124
-vn 0.431596 -0.502047 0.749449
-vn 0.559688 -0.398391 0.726660
-vn 0.640943 -0.317266 0.698952
-vn 0.637526 -0.529415 0.559715
-vn 0.328249 -0.731406 0.597743
-vn 0.503599 -0.691202 0.518294
-vn -0.000622 -0.957209 0.289396
-vn -0.011620 -0.958525 0.284770
-vn -0.016400 -0.961439 0.274527
-vn -0.009060 -0.964396 0.264307
-vn -0.007042 -0.966195 0.257717
-vn -0.011348 -0.967312 0.253337
-vn -0.008201 -0.968389 0.249311
-vn 0.001985 -0.968728 0.248118
-vn 0.099841 -0.959526 0.263329
-vn 0.350932 -0.896456 0.270578
-vn 0.637211 -0.736703 0.226343
-vn 0.810509 -0.563456 0.159977
-vn 0.898578 -0.431621 0.079123
-vn -0.032745 -0.924632 0.379451
-vn -0.027915 -0.929989 0.366525
-vn -0.025304 -0.933217 0.358421
-vn -0.021026 -0.931393 0.363408
-vn -0.013125 -0.931310 0.363990
-vn -0.017126 -0.929639 0.368073
-vn -0.009906 -0.925524 0.378560
-vn 0.017727 -0.913313 0.406872
-vn 0.138306 -0.872253 0.469091
-vn 0.350660 -0.781718 0.515709
-vn 0.604752 -0.636012 0.479337
-vn 0.779066 -0.492478 0.387970
-vn 0.869206 -0.411663 0.273889
-vn 0.682096 -0.710441 0.173255
-vn -0.088118 -0.757908 0.646383
-vn -0.051298 -0.773044 0.632274
-vn -0.029597 -0.786952 0.616304
-vn -0.033228 -0.783410 0.620617
-vn -0.020186 -0.775990 0.630422
-vn -0.005117 -0.761370 0.648297
-vn 0.018569 -0.730812 0.682326
-vn 0.057344 -0.685707 0.725615
-vn 0.162821 -0.645857 0.745894
-vn 0.327546 -0.624718 0.708831
-vn 0.568254 -0.552002 0.610230
-vn 0.745434 -0.452974 0.489023
-vn 0.828394 -0.409274 0.382436
-vn 0.665243 -0.692669 0.278679
-vn -0.126585 -0.324874 0.937248
-vn -0.083031 -0.336373 0.938061
-vn -0.049527 -0.354987 0.933559
-vn -0.041844 -0.357783 0.932867
-vn -0.021024 -0.344348 0.938607
-vn 0.019876 -0.328586 0.944265
-vn 0.058985 -0.312457 0.948099
-vn 0.081012 -0.303002 0.949540
-vn 0.135971 -0.321898 0.936960
-vn 0.243140 -0.369569 0.896829
-vn 0.485396 -0.368969 0.792624
-vn 0.682836 -0.329533 0.652030
-vn 0.768168 -0.313531 0.558226
-vn 0.619534 -0.642008 0.451667
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.004050 -0.001464 0.999991
-vn 0.004050 -0.001464 0.999991
-vn 0.008099 -0.002928 0.999963
-vn 0.008099 -0.002928 0.999963
-vn -0.155548 0.179096 0.971457
-vn -0.182194 0.240699 0.953346
-vn 0.382114 -0.914355 0.133959
-vn 0.484499 -0.866370 0.121091
-vn 0.387995 -0.898366 0.205909
-vn 0.343405 -0.880083 0.327913
-vn 0.423232 -0.483997 0.765912
-vn 0.138085 -0.809093 0.571228
-vn -0.443965 0.883319 0.150473
-vn -0.278326 0.947710 0.156141
-vn -0.028994 0.982343 0.184829
-vn 0.180907 0.973766 0.138031
-vn 0.112474 -0.299001 0.947601
-vn -0.234810 -0.551473 0.800463
-vn 0.058509 -0.134104 0.989239
-vn -0.429138 -0.313067 0.847248
-vn 0.285194 0.197417 0.937918
-vn 0.210505 0.971282 0.110905
-vn 0.554932 0.600983 0.575212
-vn 0.408425 0.890099 0.202271
-vn 0.061938 0.990093 0.126015
-vn -0.268469 0.954312 0.131197
-vn 0.429959 0.714252 0.552250
-vn 0.143742 0.770267 -0.621311
-vn 0.232969 0.763400 -0.602449
-vn 0.061981 0.909120 -0.411898
-vn -0.156425 0.952959 -0.259617
-vn -0.471350 0.868971 -0.150731
-vn -0.576295 0.726086 0.375077
-vn -0.865920 0.500183 0.000000
-vn -0.989994 0.141112 0.000000
-vn -0.460187 0.872346 -0.165047
-vn -0.205437 0.978670 0.000000
-vn -0.138800 0.934428 -0.327991
-vn 0.048613 0.998818 0.000000
-vn 0.467845 0.883810 0.000000
-vn 0.384094 0.920149 -0.076134
-vn 0.551719 0.832347 -0.052967
-vn 0.366455 0.930436 0.000000
-vn 0.428842 0.893311 -0.134496
-vn -0.037439 0.880778 -0.472048
-vn 0.189683 0.750419 -0.633160
-vn 0.214020 0.756073 -0.618506
-vn -0.226937 0.607334 -0.761344
-vn -0.411998 0.911184 0.001160
-vn -0.411998 0.911185 0.000000
-vn 0.556969 -0.013670 0.830421
-vn 0.382048 0.076277 0.920989
-vn 0.500121 0.035416 0.865231
-vn 0.405430 0.172047 0.897790
-vn 0.333241 0.015263 0.942718
-vn 0.297561 0.153827 0.942229
-vn 0.123103 0.109724 0.986309
-vn 0.145216 -0.018635 0.989224
-vn 0.110890 -0.030335 0.993370
-vn 0.095854 0.135837 0.986083
-vn 0.070909 -0.018533 0.997311
-vn 0.049046 0.176580 0.983064
-vn 0.040821 0.045228 0.998142
-vn 0.007370 0.115608 0.993268
-vn 0.004079 0.088693 0.996051
-vn 0.013448 0.082595 0.996492
-vn 0.004596 0.101518 0.994823
-vn -0.015378 0.105704 0.994279
-vn -0.029288 0.098868 0.994669
-vn -0.044604 0.105798 0.993387
-vn -0.032949 0.131347 0.990789
-vn -0.042621 0.067021 0.996841
-vn -0.045682 0.237634 0.970280
-vn -0.072399 0.073942 0.994631
-vn -0.093170 0.254066 0.962689
-vn -0.105730 0.094396 0.989904
-vn -0.125141 0.258127 0.957972
-vn 0.304162 0.023810 0.952323
-vn 0.270011 0.041486 0.961963
-vn 0.374880 0.143776 0.915857
-vn 0.265584 0.072621 0.961349
-vn 0.159298 0.154959 0.974993
-vn 0.298003 0.116049 0.947484
-vn 0.112454 0.305711 0.945460
-vn 0.234602 0.113939 0.965391
-vn 0.320457 0.197980 0.926343
-vn 0.136348 0.119007 0.983487
-vn 0.151168 0.093855 0.984042
-vn 0.146094 0.075611 0.986377
-vn 0.000000 0.327190 0.944959
-vn 0.017516 0.256234 0.966456
-vn -0.027045 0.261613 0.964794
-vn 0.017531 0.108058 0.993990
-vn 0.020891 0.168337 0.985508
-vn 0.031172 0.086795 0.995738
-vn -0.018860 0.116248 0.993041
-vn -0.012559 0.088054 0.996037
-vn 0.000025 0.031657 0.999499
-vn 0.086871 0.090782 0.992075
-vn 0.116889 0.165352 0.979283
-vn 0.053620 0.110638 0.992413
-vn 0.116889 0.165352 0.979283
-vn 0.009729 0.173236 0.984832
-vn -0.060523 0.204549 0.976984
-vn -0.083714 0.255371 0.963212
-vn 0.035971 0.252341 0.966969
-vn -0.002250 0.365469 0.930821
-vn -0.135289 0.847974 0.512481
-vn 0.011574 0.875069 0.483860
-vn 0.029526 0.442508 0.896279
-vn 0.026044 0.265581 0.963737
-vn 0.000000 0.279250 0.960218
-vn -0.006966 0.048920 0.998778
-vn -0.004497 0.140224 0.990110
-vn -0.004148 0.141952 0.989865
-vn -0.004147 0.141439 0.989938
-vn -0.017246 0.127797 0.991650
-vn -0.026184 0.030281 0.999198
-vn 0.016002 0.277204 0.960678
-vn 0.016002 0.277204 0.960678
-vn -0.012361 0.268507 0.963198
-vn -0.012361 0.268507 0.963198
-vn -0.023383 0.234430 0.971852
-vn 0.000000 0.218824 0.975764
-vn 0.000185 0.310974 0.950418
-vn 0.000184 0.313300 0.949654
-vn 0.000000 0.313741 0.949509
-vn 0.000000 0.310542 0.950560
-vn -0.009659 0.410519 0.911801
-vn 0.209958 0.810995 0.546081
-vn 0.345868 0.556792 0.755221
-vn -0.089097 0.206623 0.974355
-vn 0.174510 0.153230 0.972660
-vn -0.081234 0.271336 0.959051
-vn -0.086316 0.271239 0.958634
-vn -0.087111 0.239852 0.966893
-vn -0.132231 0.332916 0.933639
-vn -0.119249 0.254206 0.959770
-vn -0.163495 0.235513 0.958020
-vn -0.088396 0.283924 0.954763
-vn 0.109747 0.210021 0.971518
-vn -0.070976 0.018118 0.997313
-vn -0.047399 -0.020257 0.998671
-vn -0.094775 -0.019741 0.995303
-vn -0.063320 0.024917 0.997682
-vn 0.000000 0.113789 0.993505
-vn -0.014780 0.060170 0.998079
-vn -0.014779 -0.045290 0.998865
-vn 0.000000 -0.096813 0.995303
-vn 0.000000 0.398474 0.917180
-vn -0.047249 0.264787 0.963149
-vn -0.078847 -0.011689 0.996818
-vn 0.014963 0.343466 0.939046
-vn 0.014963 0.343466 0.939046
-vn -0.013305 0.124636 0.992113
-vn -0.065431 0.131200 0.989194
-vn -0.020415 0.177472 0.983914
-vn -0.010960 0.166519 0.985977
-vn -0.065852 0.234307 0.969930
-vn 0.125538 0.244740 0.961428
-vn -0.048087 -0.016246 0.998711
-vn -0.110254 0.380000 0.918392
-vn -0.116765 -0.117675 0.986163
-vn -0.114352 -0.366303 0.923442
-vn -0.096526 -0.375230 0.921892
-vn 0.148874 0.354954 -0.922954
-vn 0.264827 0.332418 -0.905188
-vn -0.984186 -0.159692 0.076660
-vn -0.703782 -0.325892 0.631257
-vn -0.753180 -0.142612 0.642169
-vn -0.694786 0.403993 0.595031
-vn -0.978547 -0.155407 0.135256
-vn -0.972902 -0.116808 0.199544
-vn -0.986642 -0.086804 0.137848
-vn -0.996582 -0.051510 0.064582
-vn -0.998667 -0.051618 0.000000
-vn -0.997128 -0.075732 0.000000
-vn -0.978534 -0.119823 0.167670
-vn -0.992300 -0.123854 0.000000
-vn -0.975218 -0.143091 0.168747
-vn -0.990826 -0.135146 0.000000
-vn -0.992466 -0.122522 0.000000
-vn -0.976178 -0.120030 0.180747
-vn -0.911609 0.334059 0.239530
-vn -0.949057 0.315103 0.000000
-vn -0.991092 -0.100151 0.087782
-vn -0.936786 0.320495 0.140413
-vn -0.004617 0.173236 0.984869
-vn -0.051868 0.232639 0.971179
-vn -0.139632 0.244987 0.959419
-vn -0.169449 0.263015 0.949795
-vn 0.378050 0.488514 0.786404
-vn -0.074203 0.746661 0.661053
-vn -0.456333 0.781419 0.425611
-vn -0.678291 0.700497 0.221868
-vn -0.652774 0.718758 0.239318
-vn -0.688381 0.725349 0.000000
-vn -0.706036 0.708176 0.000000
-vn -0.631292 0.740974 0.228972
-vn -0.601784 0.763373 0.234772
-vn -0.351728 0.872825 0.338325
-vn -0.043159 0.865597 0.498878
-vn 0.426695 0.574370 0.698592
-vn 0.716915 0.112171 0.688078
-vn 0.758164 0.095473 0.645037
-vn -0.183085 0.157225 0.970443
-vn 0.148874 0.354954 -0.922954
-vn 0.359364 0.324809 -0.874846
-vn 0.367321 0.351698 -0.861037
-vn 0.297364 0.317491 -0.900430
-vn 0.458623 0.303871 -0.835061
-vn 0.469618 0.323039 -0.821647
-vn 0.276933 0.372860 -0.885598
-vn 0.559261 0.465460 -0.685984
-vn 0.630410 0.558969 -0.538644
-vn 0.247626 0.765912 -0.593347
-vn -0.010843 0.830001 -0.557657
-vn -0.157013 0.808137 -0.567680
-vn -0.578608 0.580866 -0.572545
-vn -0.499662 0.628040 0.596577
-vn -0.557389 0.636957 -0.532544
-vn -0.433436 0.642411 0.632014
-vn -0.042672 0.818865 0.572398
-vn -0.152161 0.845866 -0.511232
-vn 0.094274 0.616930 0.781351
-vn 0.078118 0.638832 0.765370
-vn 0.186343 0.533377 -0.825097
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn -0.010843 0.830001 -0.557657
-vn -0.411993 0.911187 0.000000
-vn -0.271595 0.962411 0.000765
-vn -0.040347 0.827309 -0.560297
-vn 0.000000 1.000000 0.000000
-vn -0.239914 0.607394 -0.757307
-vn 0.128620 0.967244 -0.218851
-vn 0.008099 -0.002928 0.999963
-vn -0.182194 0.240699 0.953346
-vn 0.357690 0.769708 0.528778
-vn 0.319524 0.907313 0.273288
-vn 0.019270 0.977705 0.209097
-vn 0.000385 0.311767 0.950159
-vn 0.000384 0.312493 0.949920
-vn -0.908937 0.181562 -0.375326
-vn -0.926840 0.365132 -0.087447
-vn 0.343550 0.932835 0.108595
-vn 0.343550 0.932835 0.108595
-vn 0.572438 0.813026 0.106320
-vn 0.572438 0.813026 0.106320
-vn 0.350916 0.936401 0.003314
-vn 0.180208 0.957843 0.223747
-vn 0.054837 0.998292 -0.020148
-vn -0.156425 0.952959 0.259617
-vn -0.223117 0.966373 -0.127839
-vn -0.471350 0.868970 0.150731
-vn -0.627989 0.606445 -0.487703
-vn -0.460187 0.872346 0.165048
-vn -0.138800 0.934428 0.327991
-vn 0.384095 0.920149 0.076134
-vn 0.551719 0.832347 0.052967
-vn 0.428842 0.893311 0.134496
-vn 0.536322 0.831008 0.147594
-vn 0.027253 0.932118 0.361127
-vn 0.471549 0.880758 0.043652
-vn -0.000011 1.000000 0.000000
-vn -0.411998 0.911184 -0.001160
-vn -0.020820 0.226240 -0.973849
-vn -0.060523 0.204549 -0.976984
-vn -0.051837 0.299894 -0.952563
-vn -0.002250 0.365469 -0.930821
-vn 0.033028 0.249392 -0.967839
-vn -0.135289 0.847974 -0.512481
-vn 0.011574 0.875069 -0.483860
-vn 0.029526 0.442508 -0.896279
-vn 0.047123 0.251268 -0.966770
-vn 0.209958 0.810995 -0.546081
-vn 0.003451 0.457095 -0.889411
-vn 0.345868 0.556792 -0.755221
-vn -0.089097 0.206623 -0.974355
-vn 0.174510 0.153230 -0.972660
-vn -0.018298 0.420237 -0.907230
-vn -0.047249 0.264787 -0.963149
-vn 0.000000 0.398474 -0.917180
-vn -0.078847 -0.011689 -0.996818
-vn -0.065431 0.131200 -0.989194
-vn -0.032469 0.133629 -0.990499
-vn -0.020415 0.177472 -0.983914
-vn -0.044526 0.314179 -0.948319
-vn -0.048086 -0.016246 -0.998711
-vn -0.116765 -0.117675 -0.986163
-vn -0.110254 0.380000 -0.918392
-vn -0.096526 -0.375230 -0.921892
-vn -0.114352 -0.366303 -0.923442
-vn -0.984186 -0.159691 -0.076660
-vn -0.703782 -0.325892 -0.631257
-vn -0.753180 -0.142612 -0.642169
-vn -0.694786 0.403993 -0.595031
-vn -0.978547 -0.155406 -0.135256
-vn -0.972902 -0.116808 -0.199544
-vn -0.986642 -0.086804 -0.137848
-vn -0.996582 -0.051510 -0.064582
-vn -0.978534 -0.119823 -0.167670
-vn -0.975218 -0.143091 -0.168747
-vn -0.976178 -0.120030 -0.180747
-vn -0.911609 0.334059 -0.239530
-vn -0.936786 0.320494 -0.140413
-vn -0.991092 -0.100151 -0.087782
-vn -0.070496 0.737933 -0.671182
-vn -0.074203 0.746661 -0.661053
-vn -0.456333 0.781418 -0.425611
-vn -0.678291 0.700497 -0.221868
-vn -0.652774 0.718758 -0.239318
-vn -0.631292 0.740974 -0.228972
-vn -0.601784 0.763373 -0.234772
-vn -0.351728 0.872825 -0.338325
-vn -0.043159 0.865597 -0.498878
-vn -0.050739 0.856785 -0.513172
-vn 0.831646 0.554121 -0.036263
-vn 0.717163 0.695166 -0.049205
-vn 0.303995 0.952143 -0.031778
-vn 0.000000 1.000000 0.000000
-vn -0.195416 0.980690 0.007761
-vn -0.560456 0.746959 -0.357690
-vn -0.671650 0.740845 0.005932
-vn -0.611471 0.790924 0.023310
-vn -0.611471 0.790924 0.023310
-vn -0.117785 0.992762 0.023457
-vn -0.117785 0.992762 0.023457
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn -0.271595 0.962411 -0.000765
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.128620 0.967244 0.218851
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -0.988845 -0.145242 0.033023
-vn -0.988845 -0.145239 0.033023
-vn -0.988761 -0.149470 0.003221
-vn -0.988762 -0.149465 0.003225
-vn -1.000000 0.000000 0.000006
-vn -0.064201 -0.872217 0.484887
-vn -0.988168 -0.153378 0.000000
-vn -0.980657 -0.148457 0.127562
-vn -0.971555 -0.144479 0.187635
-vn -0.963527 -0.144431 0.225290
-vn -0.825920 -0.534641 0.178926
-vn -0.863285 -0.476281 0.167021
-vn -0.904585 -0.416699 0.089932
-vn -0.930451 -0.366417 0.000000
-vn -0.764102 -0.633483 0.121850
-vn -0.827879 -0.560907 0.000000
-vn -0.774383 -0.625081 0.098007
-vn -0.791643 -0.590519 0.156806
-vn -0.586142 -0.792046 0.170589
-vn -0.783917 -0.595080 0.177072
-vn -0.790636 -0.503094 0.348985
-vn -0.064201 -0.872217 0.484887
-vn -0.432186 -0.737990 0.518253
-vn -0.707464 -0.706750 0.000105
-vn -0.707464 -0.706750 0.000105
-vn -1.000000 -0.000020 0.000013
-vn -1.000000 -0.000020 0.000013
-vn -0.840440 -0.531300 0.106684
-vn -0.840440 -0.531300 0.106684
-vn -1.000000 -0.000016 0.000000
-vn -1.000000 -0.000016 0.000000
-vn -1.000000 -0.000018 0.000000
-vn -1.000000 -0.000018 0.000000
-vn -0.761963 -0.630098 0.149627
-vn -0.761963 -0.630098 0.149627
-vn -0.606091 -0.783425 0.137475
-vn -0.790636 -0.503094 0.348985
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -0.432186 -0.737990 0.518253
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -0.988845 -0.145242 -0.033023
-vn -0.988845 -0.145239 -0.033023
-vn -0.988761 -0.149470 -0.003221
-vn -0.988762 -0.149465 -0.003225
-vn -1.000000 0.000000 -0.000006
-vn -0.064201 -0.872217 -0.484887
-vn -0.432186 -0.737989 -0.518254
-vn -0.980657 -0.148457 -0.127562
-vn -0.971555 -0.144479 -0.187635
-vn -0.963527 -0.144431 -0.225290
-vn -0.825920 -0.534641 -0.178926
-vn -0.863285 -0.476281 -0.167021
-vn -0.904585 -0.416699 -0.089932
-vn -0.764102 -0.633483 -0.121850
-vn -0.774383 -0.625081 -0.098007
-vn -0.791643 -0.590519 -0.156806
-vn -0.586142 -0.792046 -0.170589
-vn -0.783917 -0.595079 -0.177072
-vn -0.790636 -0.503094 -0.348985
-vn -0.432186 -0.737989 -0.518254
-vn -0.064201 -0.872217 -0.484887
-vn -0.790636 -0.503094 -0.348985
-vn -0.707464 -0.706750 -0.000105
-vn -0.707464 -0.706750 -0.000105
-vn -1.000000 -0.000020 -0.000013
-vn -1.000000 -0.000020 -0.000013
-vn -0.840440 -0.531300 -0.106684
-vn -0.840440 -0.531300 -0.106684
-vn -1.000000 -0.000016 0.000000
-vn -1.000000 -0.000016 0.000000
-vn -1.000000 -0.000018 0.000000
-vn -1.000000 -0.000018 0.000000
-vn -0.761963 -0.630098 -0.149627
-vn -0.761963 -0.630098 -0.149627
-vn -0.606091 -0.783425 -0.137475
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000015 0.000000
-vn -0.967343 -0.253471 0.000000
-vn -0.966484 -0.253246 0.042143
-vn -0.991080 -0.130252 0.028205
-vn -0.998040 0.062190 -0.006929
-vn -0.904766 0.424835 -0.030227
-vn -0.864731 0.501983 -0.015936
-vn -0.982241 0.187302 0.010960
-vn -0.982300 0.187313 0.000000
-vn -0.864841 0.502047 0.000000
-vn -0.905179 0.425030 0.000000
-vn -0.998064 0.062191 0.000000
-vn -0.991474 -0.130304 0.000000
-vn -0.997327 0.073072 0.000000
-vn -0.997065 0.073052 0.022909
-vn -0.966484 -0.253246 -0.042143
-vn -0.991080 -0.130252 -0.028205
-vn -0.998040 0.062190 0.006929
-vn -0.904766 0.424835 0.030227
-vn -0.864731 0.501983 0.015936
-vn -0.982241 0.187302 -0.010960
-vn -0.997065 0.073052 -0.022909
-vn 0.578350 0.285793 0.764090
-vn 0.250386 0.130226 0.959348
-vn 0.231372 0.415637 0.879609
-vn 0.282524 0.559971 0.778853
-vn 0.676715 0.399167 0.618646
-vn 0.659150 0.075212 0.748241
-vn 0.647834 -0.110155 0.753775
-vn 0.590692 -0.107892 0.799651
-vn 0.405847 0.360061 0.840026
-vn 0.676715 0.399167 0.618646
-vn 0.659150 0.075212 0.748241
-vn 0.647834 -0.110155 0.753775
-vn 0.590692 -0.107892 0.799651
-vn 0.590692 -0.107892 0.799651
-vn 0.590692 -0.107892 0.799651
-vn 0.282524 0.559971 0.778853
-vn -0.450579 0.527013 0.720580
-vn -0.450579 0.527013 0.720580
-vn -0.295642 0.828243 0.476035
-vn -0.295642 0.828243 0.476035
-vn -0.089100 0.984906 0.148399
-vn 0.097191 0.990632 0.095925
-vn 0.117291 0.991040 0.063893
-vn 0.580264 0.794796 0.177748
-vn 0.117291 0.991040 0.063893
-vn 0.509041 0.750619 0.421246
-vn 0.406328 0.844909 0.347889
-vn 0.169327 0.818091 0.549595
-vn 0.663610 0.680521 0.310666
-vn 0.008975 0.665756 0.746116
-vn 0.642753 0.585407 0.494133
-vn 0.013507 0.795289 0.606080
-vn 0.640657 0.662571 0.388018
-vn 0.015595 0.945301 0.325826
-vn 0.629337 0.749031 0.207091
-vn 0.017361 0.999849 0.000000
-vn 0.630667 0.776053 0.000000
-vn 0.932045 0.362343 0.000000
-vn 0.971533 0.236903 0.000000
-vn 0.971320 0.237777 0.000000
-vn 0.973444 0.228927 0.000000
-vn 0.939724 0.341935 0.000000
-vn 0.965379 0.260852 0.000000
-vn 0.964909 0.260725 -0.031175
-vn 0.117291 0.991040 -0.063893
-vn 0.097191 0.990632 -0.095925
-vn 0.117291 0.991040 -0.063893
-vn 0.580264 0.794795 -0.177748
-vn 0.509041 0.750619 -0.421246
-vn 0.406328 0.844909 -0.347889
-vn 0.663610 0.680520 -0.310666
-vn 0.169328 0.818091 -0.549596
-vn 0.642753 0.585407 -0.494133
-vn 0.008975 0.665756 -0.746116
-vn 0.640658 0.662570 -0.388018
-vn 0.013507 0.795289 -0.606081
-vn 0.629337 0.749031 -0.207092
-vn 0.015595 0.945301 -0.325827
-vn 0.964909 0.260725 0.031175
-vn 0.003960 -0.990569 0.136954
-vn 0.003960 -0.990569 0.136954
-vn -0.054248 -0.035311 0.997903
-vn -0.056548 -0.026579 0.998046
-vn -0.058844 -0.017845 0.998108
-vn -0.008242 -0.844924 0.534823
-vn -0.040494 -0.294223 0.954878
-vn -0.046832 -0.642706 0.764680
-vn -0.048895 -0.289439 0.955947
-vn -0.057227 -0.284663 0.956918
-vn -0.078329 -0.403392 0.911669
-vn -0.139225 -0.140428 0.980253
-vn -0.139225 -0.140428 0.980253
-vn -0.176416 0.006735 0.984293
-vn -0.176416 0.006735 0.984293
-vn -0.176416 0.006735 0.984293
-vn 0.950690 -0.100397 0.293442
-vn 0.917871 0.186096 0.350544
-vn 0.868002 0.138068 0.476981
-vn 0.830271 -0.196277 0.521657
-vn 0.950690 -0.100397 0.293442
-vn 0.917871 0.186096 0.350544
-vn 0.868002 0.138068 0.476981
-vn 0.830271 -0.196277 0.521657
-vn -0.000197 -0.000261 1.000000
-vn -0.000082 -0.000105 1.000000
-vn -0.000082 -0.000105 1.000000
-vn -0.000140 -0.000183 1.000000
-vn -0.000140 -0.000183 1.000000
-vn -0.000166 -0.000082 -1.000000
-vn -0.000210 -0.000192 -1.000000
-vn -0.000188 -0.000137 -1.000000
-vn -0.000210 -0.000192 -1.000000
-vn -0.000188 -0.000137 -1.000000
-vn -0.000017 0.000000 1.000000
-vn 0.000000 -0.000016 1.000000
-vn 0.000000 -0.000016 1.000000
-vn -0.000008 -0.000008 1.000000
-vn -0.000008 -0.000008 1.000000
-vn -0.555518 -0.368362 -0.745459
-vn -0.390893 -0.269628 -0.880059
-vn -0.476491 -0.321209 -0.818402
-vn -0.390893 -0.269628 -0.880059
-vn -0.476491 -0.321209 -0.818402
-vn -0.032244 -0.998929 -0.033195
-vn -0.032244 -0.998929 -0.033195
-vn -0.063905 -0.997956 0.000000
-vn -0.063905 -0.997956 0.000000
-vn -0.000656 -1.000000 -0.000013
-vn -0.063765 -0.995760 -0.066306
-vn -0.063765 -0.995760 0.066306
-vn -0.032244 -0.998929 0.033195
-vn -0.032244 -0.998929 0.033195
-vn -0.000656 -1.000000 0.000013
-vn -0.000305 -0.000229 -1.000000
-vn -0.000225 -0.000132 -1.000000
-vn -0.000265 -0.000181 -1.000000
-vn -0.000225 -0.000132 -1.000000
-vn -0.000265 -0.000181 -1.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 -0.000010
-vn 0.000000 1.000000 -0.000010
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 -0.000010
-vn 0.000000 1.000000 0.000010
-vn 0.000000 1.000000 0.000010
-vn 0.000000 1.000000 0.000010
-vn 0.918662 0.395043 0.000000
-vn 0.918662 0.395043 -0.000015
-vn 0.918662 0.395043 -0.000015
-vn 0.918662 0.395043 0.000000
-vn 0.918662 0.395043 0.000015
-vn 0.918662 0.395043 0.000015
-vn -0.000057 1.000000 -0.000103
-vn -0.000015 1.000000 -0.000141
-vn -0.000098 1.000000 -0.000066
-vn -0.000098 1.000000 0.000000
-vn -0.000015 1.000000 -0.000141
-vn -0.000057 1.000000 -0.000103
-vn -0.000098 1.000000 0.000000
-vn -0.000015 1.000000 0.000141
-vn -0.000057 1.000000 0.000103
-vn -0.000098 1.000000 0.000066
-vn -0.000015 1.000000 0.000141
-vn -0.000057 1.000000 0.000103
-vn -0.003009 0.999937 0.010797
-vn 0.365466 0.930591 0.020860
-vn 0.791482 0.609971 0.038629
-vn 0.883316 0.466393 0.047225
-vn 0.887087 0.459285 0.046201
-vn 0.887087 0.459285 0.046201
-vn 0.883316 0.466393 0.047225
-vn 0.791482 0.609971 0.038629
-vn 0.365466 0.930591 0.020860
-vn -0.003009 0.999937 0.010797
-vn 0.941501 0.337010 0.000000
-vn 0.941501 0.337010 0.000000
-vn 0.941501 0.337010 0.000000
-vn 0.941501 0.337010 0.000000
-vn 0.941501 0.337010 0.000000
-vn 0.941501 0.337010 0.000000
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.382684 0.000000 -0.923879
-vn -0.382683 0.000000 -0.923880
-vn -0.923879 0.000000 -0.382684
-vn -0.923879 0.000000 -0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.382683 0.000000 0.923880
-vn -0.382683 0.000000 0.923880
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382683 0.000000 -0.923880
-vn 0.382684 0.000000 -0.923879
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn -0.923879 0.000000 -0.382684
-vn -0.923879 0.000000 -0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.382683 0.000000 0.923880
-vn -0.382683 0.000000 0.923880
-vn 0.382683 0.000000 0.923880
-vn 0.382683 0.000000 0.923880
-vn -0.382683 0.000000 -0.923880
-vn -0.382683 0.000000 -0.923880
-vn 0.382683 0.000000 -0.923880
-vn 0.382683 0.000000 -0.923880
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.923823 0.011019 0.382660
-vn 0.849397 -0.393369 0.351832
-vn 0.825592 -0.448836 0.341971
-vn 0.917828 -0.114267 0.380176
-vn 0.923823 0.011019 -0.382660
-vn 0.849397 -0.393369 -0.351832
-vn 0.825592 -0.448836 -0.341971
-vn 0.917828 -0.114267 -0.380177
-vn -0.923823 0.011019 -0.382661
-vn -0.849397 -0.393369 -0.351832
-vn -0.825591 -0.448836 -0.341972
-vn -0.917828 -0.114266 -0.380177
-vn -0.923823 0.011019 0.382660
-vn -0.849397 -0.393369 0.351832
-vn -0.825591 -0.448837 0.341972
-vn -0.917828 -0.114266 0.380177
-vn -0.382660 0.011019 0.923824
-vn -0.465296 -0.256226 0.847259
-vn -0.341971 -0.448837 0.825592
-vn -0.380177 -0.114267 0.917828
-vn 0.382660 0.011019 0.923823
-vn 0.465296 -0.256226 0.847259
-vn 0.341971 -0.448837 0.825591
-vn 0.380177 -0.114267 0.917828
-vn 0.265892 -0.719194 0.641920
-vn -0.265891 -0.719194 0.641920
-vn 0.000000 -0.691140 0.722721
-vn 0.000000 0.010180 0.999948
-vn -0.382660 0.011019 -0.923824
-vn -0.465296 -0.256226 -0.847259
-vn -0.265891 -0.719194 -0.641920
-vn -0.341971 -0.448837 -0.825592
-vn -0.380177 -0.114267 -0.917828
-vn 0.382660 0.011019 -0.923823
-vn 0.465296 -0.256226 -0.847259
-vn 0.000000 0.010180 -0.999948
-vn 0.265892 -0.719195 -0.641920
-vn 0.341971 -0.448837 -0.825591
-vn 0.000000 -0.691141 -0.722720
-vn 0.380177 -0.114267 -0.917828
-vn 0.390967 -0.906045 0.161946
-vn 0.390967 -0.906045 0.161946
-vn 0.390967 -0.906046 -0.161945
-vn 0.390967 -0.906046 -0.161945
-vn -0.390967 -0.906045 -0.161946
-vn -0.390967 -0.906045 -0.161946
-vn -0.390967 -0.906045 0.161946
-vn -0.390967 -0.906045 0.161946
-vn -0.161944 -0.906046 0.390967
-vn -0.161944 -0.906046 0.390967
-vn 0.161944 -0.906046 0.390967
-vn 0.161944 -0.906046 0.390967
-vn -0.161944 -0.906046 -0.390967
-vn -0.161944 -0.906046 -0.390967
-vn 0.161944 -0.906046 -0.390966
-vn 0.161944 -0.906046 -0.390966
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.382684 0.000000 0.923879
-vn -0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn -0.174226 0.982058 -0.072168
-vn -0.174226 0.982058 -0.072168
-vn -0.174226 0.982058 0.072166
-vn -0.174226 0.982058 0.072166
-vn 0.174226 0.982058 0.072168
-vn 0.174226 0.982058 0.072168
-vn 0.174226 0.982058 -0.072168
-vn 0.174226 0.982058 -0.072168
-vn 0.072167 0.982058 -0.174226
-vn 0.072167 0.982058 -0.174226
-vn -0.072167 0.982058 -0.174227
-vn -0.072167 0.982058 -0.174227
-vn 0.072167 0.982058 0.174226
-vn 0.072167 0.982058 0.174226
-vn -0.072167 0.982058 0.174225
-vn -0.072167 0.982058 0.174225
-vn -0.915773 0.132185 -0.379325
-vn -0.915773 0.132185 -0.379325
-vn -0.915773 0.132185 0.379325
-vn -0.915773 0.132185 0.379325
-vn 0.915773 0.132184 0.379325
-vn 0.915773 0.132184 0.379325
-vn 0.915773 0.132184 -0.379325
-vn 0.915773 0.132184 -0.379325
-vn 0.379326 0.132184 -0.915773
-vn 0.379326 0.132184 -0.915773
-vn -0.379325 0.132185 -0.915773
-vn -0.379325 0.132185 -0.915773
-vn 0.379326 0.132184 0.915773
-vn 0.379326 0.132184 0.915773
-vn -0.379325 0.132185 0.915773
-vn -0.379325 0.132185 0.915773
-vn 0.044453 0.998842 0.018413
-vn 0.044453 0.998842 0.018413
-vn 0.044453 0.998842 -0.018413
-vn 0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 -0.018413
-vn -0.044453 0.998842 0.018413
-vn -0.044453 0.998842 0.018413
-vn -0.018413 0.998842 0.044452
-vn -0.018413 0.998842 0.044452
-vn 0.018413 0.998842 0.044452
-vn 0.018413 0.998842 0.044452
-vn -0.018413 0.998842 -0.044452
-vn -0.018413 0.998842 -0.044452
-vn 0.018413 0.998842 -0.044452
-vn 0.018413 0.998842 -0.044452
-vn 0.923730 0.017953 0.382623
-vn 0.923730 0.017953 0.382623
-vn 0.923730 0.017953 -0.382623
-vn 0.923730 0.017953 -0.382623
-vn 0.382621 0.017953 -0.923731
-vn -0.382621 0.017953 -0.923731
-vn -0.923730 0.017953 -0.382622
-vn -0.923730 0.017953 -0.382622
-vn -0.923730 0.017953 0.382622
-vn -0.923730 0.017953 0.382622
-vn -0.382621 0.017953 0.923731
-vn -0.382621 0.017953 0.923731
-vn 0.382621 0.017953 0.923731
-vn 0.382621 0.017953 0.923731
-vn -0.382621 0.017953 -0.923731
-vn 0.382621 0.017953 -0.923731
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.382684 0.000000 -0.923879
-vn -0.382684 0.000000 -0.923879
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923879 0.000000 0.382684
-vn -0.923879 0.000000 0.382684
-vn -0.382683 0.000000 0.923880
-vn -0.382683 0.000000 0.923880
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -1.000000 0.000000
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.382684 0.000000 0.923879
-vn -0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.923823 0.011019 0.382660
-vn 0.849397 -0.393368 0.351832
-vn 0.825592 -0.448836 0.341971
-vn 0.917828 -0.114267 0.380176
-vn 0.923823 0.011019 -0.382660
-vn 0.849397 -0.393368 -0.351832
-vn 0.825592 -0.448835 -0.341971
-vn 0.917828 -0.114267 -0.380176
-vn -0.923823 0.011019 -0.382660
-vn -0.849397 -0.393369 -0.351832
-vn -0.825591 -0.448837 -0.341972
-vn -0.917828 -0.114267 -0.380177
-vn -0.923823 0.011019 0.382660
-vn -0.849397 -0.393368 0.351832
-vn -0.825592 -0.448836 0.341972
-vn -0.917828 -0.114267 0.380177
-vn -0.382660 0.011019 0.923823
-vn -0.465297 -0.256225 0.847259
-vn -0.341971 -0.448836 0.825592
-vn -0.380177 -0.114267 0.917828
-vn 0.382660 0.011019 0.923824
-vn 0.465296 -0.256225 0.847259
-vn 0.341972 -0.448836 0.825592
-vn 0.380178 -0.114267 0.917828
-vn 0.265892 -0.719193 0.641921
-vn -0.265892 -0.719193 0.641921
-vn 0.000000 -0.691139 0.722722
-vn 0.000000 0.010180 0.999948
-vn -0.382660 0.011019 -0.923823
-vn -0.465297 -0.256226 -0.847259
-vn -0.265892 -0.719194 -0.641920
-vn -0.341971 -0.448837 -0.825592
-vn -0.380176 -0.114267 -0.917828
-vn 0.382660 0.011019 -0.923824
-vn 0.465296 -0.256225 -0.847259
-vn 0.000000 0.010180 -0.999948
-vn 0.265892 -0.719194 -0.641920
-vn 0.341972 -0.448837 -0.825591
-vn 0.000000 -0.691141 -0.722720
-vn 0.380178 -0.114267 -0.917828
-vn 0.390970 -0.906045 0.161944
-vn 0.390970 -0.906045 0.161944
-vn 0.390970 -0.906045 -0.161944
-vn 0.390970 -0.906045 -0.161944
-vn -0.390972 -0.906044 -0.161944
-vn -0.390972 -0.906044 -0.161944
-vn -0.390972 -0.906044 0.161944
-vn -0.390972 -0.906044 0.161944
-vn -0.161945 -0.906046 0.390965
-vn -0.161945 -0.906046 0.390965
-vn 0.161945 -0.906046 0.390965
-vn 0.161945 -0.906046 0.390965
-vn -0.161945 -0.906046 -0.390965
-vn -0.161945 -0.906046 -0.390965
-vn 0.161945 -0.906046 -0.390965
-vn 0.161945 -0.906046 -0.390965
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 0.382683
-vn 0.923880 0.000000 -0.382683
-vn 0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 -0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.923880 0.000000 0.382683
-vn -0.382684 0.000000 0.923879
-vn -0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn 0.382684 0.000000 0.923879
-vn -0.382684 0.000000 -0.923879
-vn -0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn 0.382684 0.000000 -0.923879
-vn -0.174228 0.982057 -0.072166
-vn -0.174228 0.982057 -0.072166
-vn -0.174228 0.982057 0.072166
-vn -0.174228 0.982057 0.072166
-vn 0.174228 0.982057 0.072166
-vn 0.174228 0.982057 0.072166
-vn 0.174228 0.982057 -0.072166
-vn 0.174228 0.982057 -0.072166
-vn 0.072168 0.982058 -0.174226
-vn 0.072168 0.982058 -0.174226
-vn -0.072168 0.982058 -0.174226
-vn -0.072168 0.982058 -0.174226
-vn 0.072168 0.982058 0.174226
-vn 0.072168 0.982058 0.174226
-vn -0.072168 0.982058 0.174226
-vn -0.072168 0.982058 0.174226
-vn -0.915773 0.132186 -0.379325
-vn -0.915773 0.132186 -0.379325
-vn -0.915773 0.132186 0.379325
-vn -0.915773 0.132186 0.379325
-vn 0.915772 0.132185 0.379326
-vn 0.915772 0.132185 0.379326
-vn 0.915772 0.132185 -0.379326
-vn 0.915772 0.132185 -0.379326
-vn 0.379325 0.132185 -0.915773
-vn 0.379325 0.132185 -0.915773
-vn -0.379326 0.132185 -0.915772
-vn -0.379326 0.132185 -0.915772
-vn 0.379325 0.132185 0.915773
-vn 0.379325 0.132185 0.915773
-vn -0.379326 0.132185 0.915772
-vn -0.379326 0.132185 0.915772
-vn 0.044456 0.998842 0.018415
-vn 0.044456 0.998842 0.018415
-vn 0.044456 0.998842 -0.018415
-vn 0.044456 0.998842 -0.018415
-vn -0.044456 0.998842 -0.018415
-vn -0.044456 0.998842 -0.018415
-vn -0.044456 0.998842 0.018415
-vn -0.044456 0.998842 0.018415
-vn -0.018414 0.998842 0.044456
-vn -0.018414 0.998842 0.044456
-vn 0.018414 0.998842 0.044456
-vn 0.018414 0.998842 0.044456
-vn -0.018414 0.998842 -0.044454
-vn -0.018414 0.998842 -0.044454
-vn 0.018414 0.998842 -0.044454
-vn 0.018414 0.998842 -0.044454
-vn 0.923731 0.017953 0.382622
-vn 0.923731 0.017953 0.382622
-vn 0.923731 0.017953 -0.382622
-vn 0.923731 0.017953 -0.382622
-vn 0.382622 0.017953 -0.923731
-vn -0.382621 0.017953 -0.923731
-vn -0.923730 0.017953 -0.382623
-vn -0.923730 0.017953 -0.382623
-vn -0.923730 0.017953 0.382623
-vn -0.923730 0.017953 0.382623
-vn -0.382621 0.017953 0.923731
-vn -0.382621 0.017953 0.923731
-vn 0.382622 0.017953 0.923731
-vn 0.382622 0.017953 0.923731
-vn -0.382621 0.017953 -0.923731
-vn 0.382622 0.017953 -0.923731
-vn 0.997405 0.071989 0.000000
-vn 0.997405 0.071989 0.000000
-vn 0.705259 0.050902 -0.707120
-vn 0.705259 0.050902 -0.707120
-vn 0.000013 0.000002 -1.000000
-vn 0.000013 0.000002 -1.000000
-vn -0.705264 -0.050900 -0.707115
-vn -0.705264 -0.050900 -0.707115
-vn -0.997406 -0.071986 0.000000
-vn -0.997406 -0.071986 0.000000
-vn -0.705264 -0.050900 0.707115
-vn -0.705264 -0.050900 0.707115
-vn 0.000013 0.000002 1.000000
-vn 0.000013 0.000002 1.000000
-vn 0.705259 0.050902 0.707120
-vn 0.705259 0.050902 0.707120
-vn 0.071959 -0.997408 0.000000
-vn 0.071959 -0.997408 0.000000
-vn 0.071964 -0.997407 0.000019
-vn 0.071964 -0.997407 0.000019
-vn 0.071978 -0.997406 0.000007
-vn 0.071978 -0.997406 0.000007
-vn 0.071987 -0.997406 -0.000012
-vn 0.071987 -0.997406 -0.000012
-vn 0.071987 -0.997406 0.000000
-vn 0.071987 -0.997406 0.000000
-vn 0.071987 -0.997406 0.000012
-vn 0.071987 -0.997406 0.000012
-vn 0.071978 -0.997406 -0.000007
-vn 0.071978 -0.997406 -0.000007
-vn 0.071964 -0.997407 -0.000019
-vn 0.071964 -0.997407 -0.000019
-vn 0.997407 0.071973 0.000000
-vn 0.991926 -0.126817 0.000000
-vn 0.947926 -0.318492 0.000000
-vn 0.705268 0.050894 -0.707112
-vn 0.705568 -0.147480 -0.693126
-vn 0.678421 -0.337945 -0.652333
-vn 0.000007 -0.000003 -1.000000
-vn 0.014247 -0.197373 -0.980225
-vn 0.027776 -0.384902 -0.922539
-vn -0.705273 -0.050905 -0.707106
-vn -0.677081 -0.247265 -0.693125
-vn -0.622862 -0.431854 -0.652338
-vn -0.997406 -0.071987 0.000000
-vn -0.963438 -0.267930 0.000000
-vn -0.892370 -0.451304 0.000000
-vn -0.705273 -0.050905 0.707106
-vn -0.677081 -0.247265 0.693125
-vn -0.622862 -0.431854 0.652338
-vn 0.000008 -0.000003 1.000000
-vn 0.014247 -0.197373 0.980225
-vn 0.027776 -0.384901 0.922540
-vn 0.705269 0.050894 0.707111
-vn 0.705568 -0.147480 0.693125
-vn 0.678421 -0.337945 0.652333
-vn 0.071997 -0.997405 0.000000
-vn 0.071997 -0.997405 0.000000
-vn 0.071990 -0.997405 -0.000006
-vn 0.071990 -0.997405 -0.000006
-vn 0.071993 -0.997405 0.000006
-vn 0.071993 -0.997405 0.000006
-vn 0.072009 -0.997404 0.000018
-vn 0.072009 -0.997404 0.000018
-vn 0.072015 -0.997404 0.000000
-vn 0.072015 -0.997404 0.000000
-vn 0.072009 -0.997404 -0.000018
-vn 0.072009 -0.997404 -0.000018
-vn 0.071993 -0.997405 -0.000006
-vn 0.071993 -0.997405 -0.000006
-vn 0.071990 -0.997405 0.000006
-vn 0.071990 -0.997405 0.000006
-vn 0.997407 0.071963 0.000000
-vn 0.997407 0.071963 0.000000
-vn 0.705270 0.050889 -0.707110
-vn 0.705270 0.050889 -0.707110
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn -0.705272 -0.050902 -0.707107
-vn -0.705272 -0.050902 -0.707107
-vn -0.997405 -0.071990 0.000000
-vn -0.997405 -0.071990 0.000000
-vn -0.705272 -0.050902 0.707107
-vn -0.705272 -0.050902 0.707107
-vn 0.000000 0.000000 1.000000
-vn 0.000000 0.000000 1.000000
-vn 0.705270 0.050889 0.707110
-vn 0.705270 0.050889 0.707110
-vn 0.247111 0.968987 0.000000
-vn 0.247111 0.968987 0.000000
-vn 0.154734 0.962317 -0.223616
-vn 0.154734 0.962317 -0.223616
-vn -0.068287 0.946220 -0.316235
-vn -0.068287 0.946220 -0.316235
-vn -0.291311 0.930127 -0.223610
-vn -0.291311 0.930127 -0.223610
-vn -0.383692 0.923461 0.000000
-vn -0.383692 0.923461 0.000000
-vn -0.291311 0.930128 0.223609
-vn -0.291311 0.930128 0.223609
-vn -0.068287 0.946220 0.316234
-vn -0.068287 0.946220 0.316234
-vn 0.154733 0.962317 0.223616
-vn 0.154733 0.962317 0.223616
-vn 0.756180 -0.654363 0.000000
-vn 0.756180 -0.654363 0.000000
-vn 0.549605 -0.669284 -0.499993
-vn 0.549605 -0.669284 -0.499993
-vn 0.050899 -0.705292 -0.707087
-vn 0.050899 -0.705292 -0.707087
-vn -0.447793 -0.741274 -0.499995
-vn -0.447793 -0.741274 -0.499995
-vn -0.654355 -0.756188 -0.000001
-vn -0.654355 -0.756188 -0.000001
-vn -0.447793 -0.741274 0.499994
-vn -0.447793 -0.741274 0.499994
-vn 0.050899 -0.705292 0.707087
-vn 0.050899 -0.705292 0.707087
-vn 0.549605 -0.669284 0.499994
-vn 0.549605 -0.669284 0.499994
-vn -0.072213 0.997389 0.000000
-vn 0.528444 0.848968 -0.000002
-vn 0.836129 0.548533 0.000000
-vn 0.356614 0.836559 -0.415928
-vn 0.580956 0.530107 -0.617638
-vn -0.058211 0.806620 -0.588197
-vn -0.035055 0.485649 -0.873451
-vn -0.473038 0.776694 -0.415910
-vn -0.651071 0.441199 -0.617616
-vn -0.644864 0.764297 0.000000
-vn -0.906230 0.422786 0.000000
-vn -0.473038 0.776694 0.415910
-vn -0.651071 0.441199 0.617616
-vn -0.058211 0.806620 0.588197
-vn -0.035055 0.485649 0.873451
-vn 0.356614 0.836560 0.415926
-vn 0.580956 0.530107 0.617637
-vn 0.013161 0.008894 0.999874
-vn 0.013161 0.008894 0.999874
-vn 0.409092 -0.576862 0.707017
-vn 0.409092 -0.576862 0.707017
-vn 0.573092 -0.819491 0.000000
-vn 0.573092 -0.819491 0.000000
-vn 0.409092 -0.576862 -0.707018
-vn 0.409092 -0.576862 -0.707018
-vn 0.013161 0.008894 -0.999874
-vn 0.013161 0.008894 -0.999874
-vn -0.382773 0.594654 -0.707016
-vn -0.382773 0.594654 -0.707016
-vn -0.546773 0.837281 0.000000
-vn -0.546773 0.837281 0.000000
-vn -0.382773 0.594654 0.707016
-vn -0.382773 0.594654 0.707016
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn -0.005048 0.008466 -0.999951
-vn -0.001558 0.003019 -0.999994
-vn -0.008365 0.009773 -0.999917
-vn -0.006180 0.002751 -0.999977
-vn 0.031027 -0.045147 -0.998498
-vn 0.083067 -0.146694 -0.985688
-vn 0.171496 -0.296152 -0.939618
-vn 0.379549 -0.370895 -0.847573
-vn 0.612488 -0.633300 -0.473064
-vn 0.001662 -0.284907 -0.958554
-vn -0.002601 -0.611459 -0.791272
-vn -0.004739 -0.614960 -0.788544
-vn -0.001656 -0.620166 -0.784469
-vn -0.002364 -0.624637 -0.780912
-vn -0.003943 -0.628088 -0.778132
-vn -0.002765 -0.630722 -0.776004
-vn 0.001016 -0.631656 -0.775248
-vn 0.055700 -0.627733 -0.776433
-vn 0.226451 -0.593755 -0.772124
-vn 0.431595 -0.502047 -0.749449
-vn 0.559688 -0.398391 -0.726660
-vn 0.640943 -0.317266 -0.698952
-vn 0.637526 -0.529415 -0.559715
-vn 0.328249 -0.731406 -0.597743
-vn 0.503599 -0.691202 -0.518294
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.000000 0.000000 -1.000000
-vn 0.004050 -0.001464 -0.999991
-vn 0.004050 -0.001464 -0.999991
-vn 0.008099 -0.002928 -0.999963
-vn 0.008099 -0.002928 -0.999963
-vn 0.008099 -0.002928 -0.999963
-vn -0.000622 -0.957209 -0.289396
-vn -0.032745 -0.924632 -0.379451
-vn -0.088118 -0.757908 -0.646383
-vn -0.126585 -0.324875 -0.937248
-vn -0.155548 0.179096 -0.971457
-vn -0.182194 0.240699 -0.953346
-vn 0.682096 -0.710442 -0.173255
-vn 0.382114 -0.914355 -0.133959
-vn 0.484499 -0.866370 -0.121091
-vn 0.387995 -0.898366 -0.205909
-vn 0.665242 -0.692669 -0.278679
-vn 0.619534 -0.642008 -0.451667
-vn 0.343405 -0.880083 -0.327913
-vn 0.138085 -0.809093 -0.571228
-vn 0.423232 -0.483997 -0.765912
-vn -0.443970 0.883317 -0.150474
-vn -0.278328 0.947710 -0.156141
-vn -0.028994 0.982343 -0.184829
-vn 0.180907 0.973766 -0.138031
-vn -0.234810 -0.551473 -0.800463
-vn 0.112474 -0.299001 -0.947601
-vn -0.429138 -0.313068 -0.847248
-vn 0.058509 -0.134104 -0.989239
-vn 0.210505 0.971281 -0.110905
-vn 0.285194 0.197417 -0.937918
-vn 0.357690 0.769708 -0.528778
-vn 0.319524 0.907313 -0.273288
-vn 0.019270 0.977705 -0.209097
-vn -0.085357 0.390766 0.916524
-vn 0.317031 0.181809 -0.930826
-vn 0.436582 0.371589 -0.819340
-vn -0.191248 0.436032 0.879375
-vn 0.446545 0.800932 -0.398881
-vn -0.279063 0.516941 0.809256
-vn 0.068499 0.970003 -0.233244
-vn -0.313107 0.940180 -0.134258
-vn -0.443970 0.883317 -0.150474
-vn -0.191248 0.436032 0.879375
-vn -0.279063 0.516941 0.809256
-vn -0.085357 0.390766 0.916524
-vn -0.265697 0.367191 0.891390
-vn 0.382048 0.076277 -0.920989
-vn 0.556969 -0.013670 -0.830421
-vn 0.405430 0.172048 -0.897790
-vn 0.500121 0.035416 -0.865231
-vn 0.297561 0.153827 -0.942229
-vn 0.333241 0.015263 -0.942718
-vn 0.145215 -0.018635 -0.989225
-vn 0.123103 0.109724 -0.986309
-vn 0.095854 0.135837 -0.986083
-vn 0.110890 -0.030335 -0.993370
-vn 0.049046 0.176580 -0.983064
-vn 0.070909 -0.018533 -0.997311
-vn 0.007370 0.115608 -0.993268
-vn 0.040821 0.045228 -0.998142
-vn 0.004079 0.088693 -0.996051
-vn 0.004596 0.101518 -0.994823
-vn 0.013448 0.082595 -0.996492
-vn -0.015378 0.105704 -0.994279
-vn -0.044604 0.105798 -0.993387
-vn -0.029288 0.098868 -0.994669
-vn -0.032949 0.131347 -0.990789
-vn -0.045682 0.237634 -0.970280
-vn -0.042621 0.067021 -0.996841
-vn -0.093170 0.254066 -0.962689
-vn -0.072399 0.073942 -0.994631
-vn -0.125141 0.258126 -0.957972
-vn -0.105730 0.094396 -0.989904
-vn 0.304162 0.023810 -0.952323
-vn 0.270011 0.041486 -0.961963
-vn 0.374880 0.143776 -0.915857
-vn 0.265584 0.072621 -0.961349
-vn 0.298003 0.116049 -0.947484
-vn 0.159298 0.154959 -0.974993
-vn 0.234602 0.113939 -0.965391
-vn 0.320457 0.197980 -0.926343
-vn 0.136348 0.119007 -0.983487
-vn 0.151169 0.093855 -0.984042
-vn 0.146094 0.075611 -0.986377
-vn 0.112454 0.305711 -0.945460
-vn 0.017516 0.256234 -0.966456
-vn 0.000000 0.327190 -0.944959
-vn -0.027045 0.261613 -0.964794
-vn 0.017531 0.108058 -0.993990
-vn 0.020891 0.168337 -0.985508
-vn 0.031172 0.086795 -0.995738
-vn 0.086871 0.090782 -0.992075
-vn 0.116889 0.165352 -0.979283
-vn 0.116889 0.165352 -0.979283
-vn 0.053620 0.110638 -0.992413
-vn -0.018860 0.116248 -0.993041
-vn 0.030185 0.137334 -0.990065
-vn -0.012559 0.088054 -0.996037
-vn -0.177074 0.118082 -0.977088
-vn 0.000025 0.031657 -0.999499
-vn 0.038914 0.255286 -0.966082
-vn 0.015496 0.272673 -0.961982
-vn 0.000000 0.279250 -0.960218
-vn -0.006966 0.048920 -0.998778
-vn -0.004497 0.140224 -0.990110
-vn -0.004148 0.141952 -0.989865
-vn -0.004147 0.141439 -0.989938
-vn -0.017246 0.127797 -0.991650
-vn -0.026184 0.030281 -0.999198
-vn 0.016002 0.277204 -0.960678
-vn 0.016002 0.277204 -0.960678
-vn -0.012361 0.268507 -0.963198
-vn -0.012361 0.268507 -0.963198
-vn 0.000000 0.218824 -0.975764
-vn -0.023383 0.234430 -0.971852
-vn 0.000185 0.310974 -0.950418
-vn 0.000000 0.310542 -0.950560
-vn -0.061505 0.213730 -0.974955
-vn 0.000184 0.313300 -0.949654
-vn 0.000000 0.313741 -0.949509
-vn 0.000385 0.311767 -0.950159
-vn 0.000384 0.312493 -0.949920
-vn -0.081234 0.271336 -0.959051
-vn -0.130536 0.166777 -0.977316
-vn -0.087111 0.239852 -0.966893
-vn -0.119249 0.254206 -0.959770
-vn -0.132231 0.332916 -0.933639
-vn -0.163495 0.235513 -0.958020
-vn 0.109746 0.210021 -0.971518
-vn -0.088396 0.283924 -0.954763
-vn -0.047399 -0.020257 -0.998671
-vn -0.070976 0.018118 -0.997313
-vn 0.000000 -0.096813 -0.995303
-vn -0.014779 -0.045290 -0.998865
-vn -0.094775 -0.019741 -0.995303
-vn -0.063320 0.024917 -0.997682
-vn 0.014963 0.343466 -0.939046
-vn 0.014963 0.343466 -0.939046
-vn 0.044018 0.097420 -0.994269
-vn -0.014780 0.060170 -0.998079
-vn -0.010960 0.166519 -0.985977
-vn 0.000000 0.113789 -0.993505
-vn -0.065852 0.234308 -0.969930
-vn 0.381431 0.120164 -0.916554
-vn 0.264827 0.332418 0.905188
-vn 0.148874 0.354954 0.922954
-vn -0.004617 0.173236 -0.984869
-vn -0.051868 0.232639 -0.971179
-vn -0.139632 0.244987 -0.959419
-vn -0.169449 0.263015 -0.949795
-vn -0.182194 0.240699 -0.953346
-vn 0.716915 0.112171 -0.688078
-vn 0.758164 0.095473 -0.645037
-vn 0.758164 0.095473 -0.645037
-vn 0.716915 0.112171 -0.688078
-vn -0.183085 0.157225 -0.970443
-vn 0.148874 0.354954 0.922954
-vn 0.359364 0.324809 0.874846
-vn 0.367321 0.351698 0.861037
-vn 0.297364 0.317491 0.900430
-vn 0.458623 0.303871 0.835061
-vn 0.469618 0.323039 0.821647
-vn 0.276933 0.372860 0.885598
-vn 0.297364 0.317491 0.900430
-vn 0.312759 0.218473 0.924365
-vn 0.094421 0.280653 0.955154
-vn -0.018003 0.377460 0.925851
-vn -0.066775 0.368329 0.927294
-vn -0.177074 0.118082 -0.977088
-vn -0.293864 0.230645 0.927603
-vn -0.085639 0.233313 -0.968623
-vn -0.361786 0.326763 0.873119
-vn -0.146949 0.479817 0.864975
-vn 0.048479 0.329208 -0.943012
-vn 0.097063 0.293624 -0.950980
-vn 0.115750 0.257383 -0.959352
-vn 0.212250 0.267783 0.939809
-vn -0.018003 0.377460 0.925851
-vn -0.066775 0.368329 0.927294
-vn -0.293864 0.230645 0.927603
-vn -0.011620 -0.958525 -0.284770
-vn -0.016400 -0.961439 -0.274527
-vn -0.009060 -0.964396 -0.264307
-vn -0.007042 -0.966195 -0.257717
-vn -0.011348 -0.967312 -0.253337
-vn -0.008201 -0.968389 -0.249311
-vn 0.001985 -0.968728 -0.248118
-vn 0.099841 -0.959526 -0.263329
-vn 0.350932 -0.896456 -0.270578
-vn 0.637211 -0.736703 -0.226343
-vn 0.810509 -0.563456 -0.159977
-vn 0.898578 -0.431620 -0.079123
-vn -0.027915 -0.929989 -0.366525
-vn -0.025304 -0.933217 -0.358422
-vn -0.021026 -0.931393 -0.363408
-vn -0.013125 -0.931310 -0.363990
-vn -0.017126 -0.929639 -0.368073
-vn -0.009906 -0.925524 -0.378560
-vn 0.017727 -0.913313 -0.406872
-vn 0.138306 -0.872253 -0.469091
-vn 0.350660 -0.781717 -0.515709
-vn 0.604752 -0.636012 -0.479337
-vn 0.779066 -0.492478 -0.387970
-vn 0.869206 -0.411663 -0.273889
-vn -0.051298 -0.773044 -0.632274
-vn -0.029597 -0.786952 -0.616304
-vn -0.033228 -0.783409 -0.620617
-vn -0.020186 -0.775990 -0.630422
-vn -0.005117 -0.761370 -0.648297
-vn 0.018569 -0.730812 -0.682326
-vn 0.057344 -0.685707 -0.725615
-vn 0.162821 -0.645857 -0.745894
-vn 0.327546 -0.624718 -0.708831
-vn 0.568254 -0.552002 -0.610231
-vn 0.745434 -0.452974 -0.489023
-vn 0.828394 -0.409274 -0.382436
-vn -0.083031 -0.336373 -0.938061
-vn -0.049527 -0.354987 -0.933559
-vn -0.041844 -0.357783 -0.932867
-vn -0.021024 -0.344348 -0.938607
-vn 0.019876 -0.328586 -0.944265
-vn 0.058985 -0.312457 -0.948099
-vn 0.081012 -0.303002 -0.949540
-vn 0.135971 -0.321898 -0.936960
-vn 0.243140 -0.369569 -0.896829
-vn 0.485396 -0.368969 -0.792624
-vn 0.682836 -0.329533 -0.652029
-vn 0.768168 -0.313531 -0.558226
-vn 0.578350 0.285793 -0.764090
-vn 0.250386 0.130226 -0.959348
-vn 0.231372 0.415637 -0.879609
-vn 0.282524 0.559972 -0.778853
-vn 0.676715 0.399167 -0.618646
-vn 0.659150 0.075212 -0.748241
-vn 0.647834 -0.110155 -0.753775
-vn 0.590692 -0.107892 -0.799651
-vn 0.405847 0.360061 -0.840026
-vn 0.676715 0.399167 -0.618646
-vn 0.659150 0.075212 -0.748241
-vn 0.647834 -0.110155 -0.753775
-vn 0.590692 -0.107892 -0.799651
-vn 0.590692 -0.107892 -0.799651
-vn 0.590692 -0.107892 -0.799651
-vn 0.282524 0.559972 -0.778853
-vn -0.450579 0.527013 -0.720580
-vn -0.450579 0.527013 -0.720580
-vn -0.295642 0.828243 -0.476035
-vn -0.295642 0.828243 -0.476035
-vn -0.089100 0.984906 -0.148399
-vn 0.003960 -0.990569 -0.136954
-vn 0.003960 -0.990569 -0.136954
-vn -0.054248 -0.035311 -0.997903
-vn -0.056548 -0.026579 -0.998046
-vn -0.058844 -0.017845 -0.998108
-vn -0.040494 -0.294223 -0.954878
-vn -0.008242 -0.844924 -0.534823
-vn -0.046832 -0.642706 -0.764680
-vn -0.048895 -0.289439 -0.955947
-vn -0.057227 -0.284663 -0.956918
-vn -0.078329 -0.403392 -0.911668
-vn -0.139225 -0.140428 -0.980253
-vn -0.139225 -0.140428 -0.980253
-vn -0.176416 0.006735 -0.984293
-vn -0.176416 0.006735 -0.984293
-vn -0.176416 0.006735 -0.984293
-vn 0.950690 -0.100397 -0.293442
-vn 0.917871 0.186096 -0.350544
-vn 0.868001 0.138068 -0.476981
-vn 0.830271 -0.196277 -0.521657
-vn 0.950690 -0.100397 -0.293442
-vn 0.917871 0.186096 -0.350544
-vn 0.868001 0.138068 -0.476981
-vn 0.830271 -0.196277 -0.521657
-vn -0.000197 -0.000261 -1.000000
-vn -0.000082 -0.000105 -1.000000
-vn -0.000082 -0.000105 -1.000000
-vn -0.000140 -0.000183 -1.000000
-vn -0.000140 -0.000183 -1.000000
-vn -0.000166 -0.000082 1.000000
-vn -0.000210 -0.000192 1.000000
-vn -0.000188 -0.000137 1.000000
-vn -0.000210 -0.000192 1.000000
-vn -0.000188 -0.000137 1.000000
-vn -0.000017 0.000000 -1.000000
-vn 0.000000 -0.000016 -1.000000
-vn 0.000000 -0.000016 -1.000000
-vn -0.000008 -0.000008 -1.000000
-vn -0.000008 -0.000008 -1.000000
-vn -0.555518 -0.368362 0.745459
-vn -0.476491 -0.321209 0.818402
-vn -0.390893 -0.269628 0.880059
-vn -0.476491 -0.321209 0.818402
-vn -0.390893 -0.269628 0.880059
-vn -0.000305 -0.000229 1.000000
-vn -0.000225 -0.000132 1.000000
-vn -0.000265 -0.000181 1.000000
-vn -0.000225 -0.000132 1.000000
-vn -0.000265 -0.000181 1.000000
-vn -0.003009 0.999937 -0.010797
-vn 0.365466 0.930591 -0.020860
-vn 0.791482 0.609971 -0.038629
-vn 0.883316 0.466393 -0.047226
-vn 0.887087 0.459285 -0.046201
-vn 0.887087 0.459285 -0.046201
-vn 0.883316 0.466393 -0.047226
-vn 0.791482 0.609971 -0.038629
-vn 0.365466 0.930591 -0.020860
-vn -0.003009 0.999937 -0.010797
-vn 0.899818 0.432912 0.053989
-vn 0.855654 0.497688 0.141994
-vn 0.791101 0.611685 0.000000
-vn 0.667633 0.742423 0.055444
-vn 0.668223 0.743041 0.036983
-vn 0.668698 0.743534 0.000000
-vn -0.000002 0.998668 0.051588
-vn -0.000001 0.999408 0.034409
-vn 0.000000 1.000000 0.000000
-vn -0.667632 0.742424 0.055444
-vn -0.668222 0.743042 0.036983
-vn -0.668698 0.743534 0.000000
-vn -0.899815 0.432919 0.053989
-vn -0.900545 0.433268 0.036010
-vn -0.901130 0.433548 0.000000
-vn 0.745737 0.666074 0.014915
-vn 0.745737 0.666074 0.014915
-vn 0.745737 0.666074 0.014915
-vn 0.749358 0.661826 0.021169
-vn 0.756453 0.653702 0.021301
-vn 0.855819 0.216306 0.469878
-vn 0.835209 0.472749 0.280953
-vn 0.734879 0.677350 0.033918
-vn 0.705775 0.708095 0.021988
-vn 0.696867 0.716869 0.021803
-vn 0.692228 0.721546 0.013841
-vn 0.692296 0.721613 0.000000
-vn 0.909932 0.326044 0.256358
-vn 0.840054 0.537837 0.070998
-vn 0.808999 0.582269 0.080523
-vn 0.774704 0.631568 0.030906
-vn 0.766343 0.642432 0.000000
-vn 0.916005 0.359898 0.177223
-vn 0.908113 0.414910 0.056399
-vn 0.906833 0.421491 0.000000
-vn 0.852002 0.105637 0.512771
-vn 0.852948 0.109895 0.510297
-vn 0.812134 -0.000004 0.583472
-vn 0.845581 0.033342 0.532805
-vn 0.912297 0.090853 0.399324
-vn 0.942579 0.239933 0.232329
-vn 0.772410 -0.203442 0.601659
-vn 0.820110 -0.184602 0.541610
-vn 0.910916 -0.148014 0.385129
-vn 0.961603 -0.135715 0.238542
-vn 0.979385 -0.142420 0.143254
-vn 0.990364 -0.132350 0.040778
-vn 0.992556 -0.121791 0.000000
-vn 0.747426 -0.435266 0.501894
-vn 0.779154 -0.476694 0.407041
-vn 0.823362 -0.518545 0.230620
-vn 0.850162 -0.517719 0.095870
-vn 0.852938 -0.521533 0.022390
-vn 0.847102 -0.531397 0.005863
-vn 0.846332 -0.532656 -0.000027
-vn 0.730419 -0.548998 0.406312
-vn 0.740092 -0.613764 0.274877
-vn 0.752137 -0.648224 0.118726
-vn 0.802817 -0.593755 0.054228
-vn 0.832290 -0.554339 -0.000851
-vn 0.811583 -0.584236 -0.000878
-vn 0.789837 -0.613316 -0.000054
-vn 0.668223 0.743041 -0.036983
-vn 0.667633 0.742423 -0.055444
-vn 0.899818 0.432912 -0.053989
-vn 0.855654 0.497688 -0.141994
-vn 0.749358 0.661826 -0.021169
-vn 0.745737 0.666074 -0.014915
-vn 0.745737 0.666074 -0.014915
-vn 0.745737 0.666074 -0.014915
-vn 0.756453 0.653702 -0.021301
-vn -0.000001 0.999408 -0.034409
-vn -0.000002 0.998668 -0.051588
-vn -0.668222 0.743042 -0.036983
-vn -0.667632 0.742424 -0.055444
-vn -0.900545 0.433268 -0.036010
-vn -0.899815 0.432919 -0.053989
-vn 0.835209 0.472749 -0.280953
-vn 0.734879 0.677350 -0.033918
-vn 0.705775 0.708095 -0.021988
-vn 0.696867 0.716869 -0.021803
-vn 0.692228 0.721546 -0.013841
-vn 0.909932 0.326044 -0.256358
-vn 0.840054 0.537838 -0.070998
-vn 0.808999 0.582269 -0.080523
-vn 0.774704 0.631568 -0.030906
-vn 0.916005 0.359898 -0.177223
-vn 0.908113 0.414910 -0.056399
-vn 0.855819 0.216306 -0.469878
-vn 0.852002 0.105637 -0.512771
-vn 0.852948 0.109895 -0.510297
-vn 0.812134 -0.000004 -0.583472
-vn 0.845581 0.033342 -0.532805
-vn 0.912297 0.090853 -0.399324
-vn 0.942579 0.239933 -0.232329
-vn 0.772410 -0.203442 -0.601659
-vn 0.820110 -0.184602 -0.541610
-vn 0.910916 -0.148014 -0.385129
-vn 0.961603 -0.135715 -0.238542
-vn 0.979385 -0.142420 -0.143254
-vn 0.990364 -0.132350 -0.040778
-vn 0.747426 -0.435266 -0.501894
-vn 0.779154 -0.476694 -0.407041
-vn 0.823362 -0.518545 -0.230620
-vn 0.850162 -0.517719 -0.095870
-vn 0.852937 -0.521533 -0.022390
-vn 0.847112 -0.531381 -0.005890
-vn 0.730419 -0.548997 -0.406312
-vn 0.740092 -0.613764 -0.274877
-vn 0.752137 -0.648224 -0.118726
-vn 0.802817 -0.593755 -0.054228
-vn 0.832290 -0.554339 0.000851
-vn 0.811606 -0.584205 0.000825
-vn 0.899819 -0.432909 0.053989
-vn 0.899819 -0.432909 0.053989
-vn -0.899816 -0.432916 0.053989
-vn -0.900546 -0.433267 0.036010
-vn -0.901130 -0.433548 0.000000
-vn -0.667634 -0.742422 0.055444
-vn -0.662365 -0.748272 0.036898
-vn -0.656896 -0.753981 0.000000
-vn -0.000002 -0.998668 0.051588
-vn 0.017436 -0.999254 0.034473
-vn 0.034891 -0.999391 0.000000
-vn 0.667636 -0.742420 0.055444
-vn 0.571899 -0.819217 0.042606
-vn 0.371705 -0.928351 0.000000
-vn 0.371651 -0.928215 0.017132
-vn 0.371651 -0.928215 0.017132
-vn 0.371651 -0.928215 0.017132
-vn 0.371651 -0.928215 0.017132
-vn 0.371651 -0.928215 0.017132
-vn 0.899819 -0.432909 -0.053989
-vn 0.899819 -0.432909 -0.053989
-vn -0.900546 -0.433267 -0.036010
-vn -0.899816 -0.432916 -0.053989
-vn -0.662365 -0.748272 -0.036898
-vn -0.667635 -0.742422 -0.055444
-vn 0.017436 -0.999254 -0.034473
-vn -0.000002 -0.998668 -0.051588
-vn 0.571899 -0.819217 -0.042606
-vn 0.667636 -0.742420 -0.055444
-vn 0.371651 -0.928214 -0.017132
-vn 0.371651 -0.928214 -0.017132
-vn 0.371651 -0.928214 -0.017132
-vn 0.371651 -0.928214 -0.017132
-vn 0.371651 -0.928214 -0.017132
-vn -0.810233 -0.571641 -0.129415
-vn -0.671909 -0.740634 0.000000
-vn -0.676821 -0.736114 -0.007072
-vn -0.686546 -0.727050 -0.007295
-vn -0.696069 -0.717935 -0.007512
-vn -0.711305 -0.702696 -0.016204
-vn -0.769136 -0.634378 -0.077422
-vn -0.900372 -0.372538 -0.224823
-vn -0.922923 -0.139675 -0.358754
-vn -0.889126 -0.025617 -0.456944
-vn -0.844278 0.196119 -0.498731
-vn -0.795508 0.420875 -0.435926
-vn -0.766404 0.521943 -0.374433
-vn -0.772261 0.565928 -0.288684
-vn -0.793697 0.580479 -0.181904
-vn -0.856434 0.505553 -0.104576
-vn -0.892435 0.450389 -0.026622
-vn -0.873734 0.486253 -0.012079
-vn -0.852481 0.522757 0.000103
-vn -0.909932 -0.326044 -0.256358
-vn -0.840054 -0.537837 -0.070998
-vn -0.756313 -0.653454 -0.031438
-vn -0.808999 -0.582269 -0.080522
-vn -0.715976 -0.697868 -0.018952
-vn -0.729169 -0.684063 -0.019231
-vn -0.774704 -0.631568 -0.030905
-vn -0.706757 -0.707373 -0.010897
-vn -0.766343 -0.642431 0.000000
-vn -0.704435 -0.709768 0.000000
-vn -0.916005 -0.359898 -0.177223
-vn -0.908113 -0.414910 -0.056398
-vn -0.906833 -0.421491 0.000000
-vn -0.865371 -0.449519 -0.221508
-vn -0.891470 -0.127348 -0.434814
-vn -0.882252 -0.046081 -0.468518
-vn -0.912297 -0.090853 -0.399324
-vn -0.942579 -0.239933 -0.232329
-vn -0.853820 0.180375 -0.488320
-vn -0.910916 0.148014 -0.385129
-vn -0.961603 0.135715 -0.238542
-vn -0.979385 0.142420 -0.143254
-vn -0.990364 0.132350 -0.040778
-vn -0.992556 0.121791 0.000000
-vn -0.805482 0.449555 -0.386134
-vn -0.837657 0.479937 -0.260749
-vn -0.873595 0.471447 -0.120704
-vn -0.882382 0.469145 -0.036116
-vn -0.876455 0.481325 -0.012330
-vn -0.874376 0.485250 0.000052
-vn -0.810233 -0.571641 0.129415
-vn -0.676821 -0.736114 0.007072
-vn -0.686546 -0.727050 0.007295
-vn -0.696069 -0.717935 0.007512
-vn -0.711305 -0.702696 0.016205
-vn -0.769136 -0.634378 0.077422
-vn -0.900372 -0.372538 0.224823
-vn -0.922923 -0.139675 0.358754
-vn -0.889126 -0.025617 0.456944
-vn -0.844278 0.196119 0.498731
-vn -0.795508 0.420875 0.435926
-vn -0.766404 0.521943 0.374433
-vn -0.772261 0.565928 0.288684
-vn -0.793697 0.580480 0.181903
-vn -0.856434 0.505553 0.104576
-vn -0.892435 0.450389 0.026622
-vn -0.873776 0.486176 0.012183
-vn -0.756313 -0.653454 0.031438
-vn -0.840054 -0.537837 0.070998
-vn -0.909932 -0.326044 0.256358
-vn -0.729169 -0.684063 0.019231
-vn -0.715976 -0.697868 0.018952
-vn -0.808999 -0.582269 0.080523
-vn -0.706757 -0.707373 0.010897
-vn -0.774704 -0.631568 0.030905
-vn -0.908113 -0.414910 0.056398
-vn -0.916005 -0.359898 0.177223
-vn -0.865371 -0.449519 0.221508
-vn -0.891470 -0.127348 0.434814
-vn -0.882252 -0.046081 0.468518
-vn -0.912297 -0.090853 0.399324
-vn -0.942579 -0.239933 0.232329
-vn -0.853820 0.180375 0.488320
-vn -0.910916 0.148014 0.385128
-vn -0.961603 0.135715 0.238542
-vn -0.979385 0.142420 0.143254
-vn -0.990364 0.132350 0.040778
-vn -0.805482 0.449555 0.386134
-vn -0.837657 0.479937 0.260749
-vn -0.873595 0.471447 0.120704
-vn -0.882382 0.469145 0.036116
-vn -0.876476 0.481286 0.012381
-vn 0.738347 0.674421 0.000000
-vn 0.805468 0.567633 -0.170335
-vn 0.863787 0.499063 -0.069343
-vn 0.619227 0.785212 0.000000
-vn 0.618558 0.784468 -0.044670
-vn 0.617736 0.783530 -0.066952
-vn 0.000000 1.000000 0.000000
-vn 0.000000 0.999265 -0.038328
-vn 0.000000 0.998348 -0.057460
-vn -0.619247 0.785197 0.000000
-vn -0.618569 0.784460 -0.044669
-vn -0.617738 0.783529 -0.066951
-vn -0.865875 0.500261 0.000000
-vn -0.864947 0.499727 -0.046263
-vn -0.863789 0.499060 -0.069341
-vn 0.695032 0.718582 -0.023876
-vn 0.689708 0.723699 -0.023740
-vn 0.687015 0.726411 -0.018382
-vn 0.687015 0.726411 -0.018382
-vn 0.687015 0.726411 -0.018379
-vn 0.624714 0.780854 0.000000
-vn 0.624466 0.780880 -0.016398
-vn 0.628227 0.777635 -0.024792
-vn 0.636735 0.770667 -0.025327
-vn 0.717441 0.690516 -0.092012
-vn 0.798070 0.525003 -0.295730
-vn 0.780741 0.288022 -0.554514
-vn 0.731224 0.682138 0.000000
-vn 0.732744 0.680135 -0.022425
-vn 0.753104 0.652786 -0.081886
-vn 0.786793 0.583571 -0.201000
-vn 0.843100 0.418041 -0.338267
-vn 0.800048 0.262514 -0.539453
-vn 0.769962 0.223391 -0.597708
-vn 0.880395 0.474241 0.000000
-vn 0.882146 0.469741 -0.034090
-vn 0.882090 0.440111 -0.167985
-vn 0.866349 0.382375 -0.321293
-vn 0.834359 0.308219 -0.456996
-vn 0.757131 0.222409 -0.614237
-vn 0.729457 0.179958 -0.659930
-vn 0.996828 -0.079589 0.000000
-vn 0.996258 -0.085400 -0.013287
-vn 0.991315 -0.062658 -0.115625
-vn 0.949413 -0.021307 -0.313306
-vn 0.866787 -0.010319 -0.498572
-vn 0.771048 0.023567 -0.636341
-vn 0.732066 0.057951 -0.678764
-vn 0.810683 -0.585485 0.000000
-vn 0.811337 -0.584039 0.025115
-vn 0.820110 -0.571400 0.030345
-vn 0.829057 -0.541638 -0.138900
-vn 0.817000 -0.484846 -0.312147
-vn 0.824654 -0.352067 -0.442713
-vn 0.745632 -0.036899 -0.665336
-vn 0.718556 -0.695469 0.000000
-vn 0.725301 -0.687574 0.034360
-vn 0.709476 -0.701217 0.070270
-vn 0.690551 -0.722539 -0.032824
-vn 0.702154 -0.701121 -0.124136
-vn 0.726806 -0.682700 -0.075323
-vn 0.821862 -0.413404 -0.391969
-vn 0.687015 0.726411 0.018382
-vn 0.687015 0.726411 0.018382
-vn 0.689708 0.723699 0.023740
-vn 0.695032 0.718582 0.023876
-vn 0.805468 0.567634 0.170335
-vn 0.618558 0.784468 0.044669
-vn 0.687015 0.726411 0.018379
-vn 0.617736 0.783530 0.066951
-vn 0.863787 0.499063 0.069342
-vn 0.000000 0.999265 0.038328
-vn -0.000001 0.998348 0.057460
-vn -0.618569 0.784460 0.044669
-vn -0.617738 0.783529 0.066950
-vn -0.864947 0.499727 0.046262
-vn -0.863789 0.499060 0.069340
-vn 0.624466 0.780880 0.016398
-vn 0.628227 0.777635 0.024792
-vn 0.636735 0.770667 0.025327
-vn 0.717441 0.690516 0.092012
-vn 0.798070 0.525003 0.295730
-vn 0.780741 0.288022 0.554514
-vn 0.732744 0.680135 0.022425
-vn 0.753104 0.652786 0.081886
-vn 0.786793 0.583571 0.201000
-vn 0.843100 0.418041 0.338267
-vn 0.800048 0.262514 0.539453
-vn 0.769962 0.223391 0.597709
-vn 0.882146 0.469741 0.034090
-vn 0.882090 0.440111 0.167985
-vn 0.866349 0.382375 0.321293
-vn 0.834359 0.308219 0.456996
-vn 0.757131 0.222409 0.614237
-vn 0.729457 0.179958 0.659930
-vn 0.996258 -0.085400 0.013287
-vn 0.991315 -0.062658 0.115625
-vn 0.949413 -0.021307 0.313306
-vn 0.866786 -0.010319 0.498573
-vn 0.771048 0.023567 0.636341
-vn 0.732066 0.057951 0.678764
-vn 0.811337 -0.584039 -0.025115
-vn 0.820110 -0.571400 -0.030345
-vn 0.829057 -0.541638 0.138900
-vn 0.817000 -0.484846 0.312147
-vn 0.824654 -0.352067 0.442713
-vn 0.745632 -0.036899 0.665336
-vn 0.725301 -0.687574 -0.034360
-vn 0.709476 -0.701217 -0.070270
-vn 0.690551 -0.722539 0.032824
-vn 0.702154 -0.701121 0.124137
-vn 0.726806 -0.682700 0.075323
-vn 0.821862 -0.413404 0.391969
-vn 0.863809 -0.499025 -0.069340
-vn 0.863809 -0.499025 -0.069340
-vn -0.865891 -0.500233 0.000000
-vn -0.864965 -0.499694 -0.046264
-vn -0.863810 -0.499022 -0.069341
-vn -0.608435 -0.793604 0.000000
-vn -0.607419 -0.793149 -0.044239
-vn -0.606266 -0.792515 -0.066043
-vn 0.030470 -0.999536 0.000000
-vn 0.031549 -0.998760 -0.038505
-vn 0.032621 -0.997795 -0.057794
-vn 0.316691 -0.948529 0.000000
-vn 0.530133 -0.846344 -0.051588
-vn 0.631845 -0.772102 -0.068051
-vn 0.316637 -0.948366 -0.018523
-vn 0.316637 -0.948366 -0.018523
-vn 0.316637 -0.948366 -0.018523
-vn 0.316637 -0.948366 -0.018523
-vn 0.316637 -0.948366 -0.018523
-vn 0.863809 -0.499025 0.069340
-vn 0.863809 -0.499025 0.069340
-vn -0.864965 -0.499694 0.046264
-vn -0.863810 -0.499022 0.069341
-vn -0.607419 -0.793149 0.044240
-vn -0.606266 -0.792515 0.066044
-vn 0.031549 -0.998760 0.038505
-vn 0.032621 -0.997795 0.057794
-vn 0.530133 -0.846344 0.051587
-vn 0.316637 -0.948366 0.018523
-vn 0.316637 -0.948366 0.018523
-vn 0.316637 -0.948366 0.018523
-vn 0.316637 -0.948366 0.018523
-vn 0.316637 -0.948366 0.018523
-vn 0.631845 -0.772102 0.068051
-vn -0.599290 -0.800532 0.000000
-vn -0.746101 -0.646479 0.159366
-vn -0.701104 -0.707070 0.092223
-vn -0.639524 -0.768591 0.016628
-vn -0.624929 -0.780630 0.008978
-vn -0.614770 -0.788659 0.008694
-vn -0.604469 -0.796585 0.008397
-vn -0.848774 -0.450443 0.276919
-vn -0.871169 -0.237734 0.429590
-vn -0.832683 -0.174623 0.525496
-vn -0.828398 -0.010699 0.560038
-vn -0.829863 0.122709 0.544307
-vn -0.794675 0.607035 0.000000
-vn -0.800988 0.598102 -0.026321
-vn -0.783234 0.619693 -0.050241
-vn -0.761361 0.642562 0.086279
-vn -0.769103 0.605752 0.203825
-vn -0.799205 0.578094 0.164555
-vn -0.852670 0.383166 0.355157
-vn -0.731224 -0.682137 0.000000
-vn -0.732744 -0.680135 0.022424
-vn -0.637954 -0.769966 0.012870
-vn -0.635658 -0.771970 0.000000
-vn -0.753104 -0.652786 0.081886
-vn -0.646651 -0.762486 0.021393
-vn -0.786793 -0.583571 0.201001
-vn -0.659868 -0.751057 0.022055
-vn -0.737981 -0.668945 0.088861
-vn -0.843100 -0.418041 0.338266
-vn -0.839173 -0.496739 0.221446
-vn -0.849263 -0.269218 0.454175
-vn -0.880395 -0.474241 0.000000
-vn -0.882146 -0.469741 0.034089
-vn -0.882090 -0.440111 0.167985
-vn -0.866349 -0.382375 0.321293
-vn -0.834360 -0.308219 0.456996
-vn -0.808351 -0.219583 0.546216
-vn -0.996828 0.079589 0.000000
-vn -0.996258 0.085400 0.013287
-vn -0.991315 0.062658 0.115625
-vn -0.949413 0.021307 0.313306
-vn -0.866786 0.010319 0.498573
-vn -0.817925 0.000263 0.575325
-vn -0.843462 0.537189 0.000000
-vn -0.844250 0.535541 -0.020928
-vn -0.850533 0.525541 -0.019988
-vn -0.854246 0.493154 0.164505
-vn -0.835439 0.426097 0.347106
-vn -0.851671 0.327905 0.408821
-vn -0.746101 -0.646479 -0.159366
-vn -0.701104 -0.707070 -0.092223
-vn -0.639524 -0.768591 -0.016628
-vn -0.624929 -0.780630 -0.008978
-vn -0.614770 -0.788659 -0.008694
-vn -0.604469 -0.796585 -0.008397
-vn -0.848774 -0.450443 -0.276919
-vn -0.871169 -0.237734 -0.429590
-vn -0.832683 -0.174623 -0.525496
-vn -0.828398 -0.010700 -0.560038
-vn -0.829863 0.122709 -0.544306
-vn -0.800988 0.598102 0.026321
-vn -0.783234 0.619693 0.050241
-vn -0.761361 0.642562 -0.086279
-vn -0.769103 0.605752 -0.203824
-vn -0.799205 0.578094 -0.164555
-vn -0.852670 0.383166 -0.355157
-vn -0.637954 -0.769966 -0.012870
-vn -0.732744 -0.680135 -0.022424
-vn -0.646651 -0.762486 -0.021393
-vn -0.753104 -0.652786 -0.081886
-vn -0.659868 -0.751057 -0.022055
-vn -0.786793 -0.583571 -0.201001
-vn -0.737981 -0.668945 -0.088861
-vn -0.839173 -0.496739 -0.221446
-vn -0.843100 -0.418041 -0.338266
-vn -0.849263 -0.269218 -0.454175
-vn -0.882146 -0.469741 -0.034089
-vn -0.882090 -0.440111 -0.167985
-vn -0.866349 -0.382375 -0.321294
-vn -0.808351 -0.219583 -0.546216
-vn -0.834360 -0.308219 -0.456996
-vn -0.996258 0.085400 -0.013287
-vn -0.991315 0.062658 -0.115625
-vn -0.949413 0.021307 -0.313306
-vn -0.866786 0.010319 -0.498573
-vn -0.817925 0.000263 -0.575325
-vn -0.844250 0.535541 0.020928
-vn -0.850533 0.525541 0.019988
-vn -0.854246 0.493154 -0.164505
-vn -0.835439 0.426097 -0.347106
-vn -0.851671 0.327905 -0.408821
-vn 0.899889 0.432945 0.052521
-vn 0.856173 0.497731 0.138680
-vn 0.791103 0.611683 0.000000
-vn 0.667691 0.742482 0.053937
-vn 0.668249 0.743067 0.035977
-vn 0.668699 0.743533 0.000000
-vn -0.000002 0.998740 0.050186
-vn -0.000001 0.999440 0.033472
-vn 0.000000 1.000000 0.000000
-vn -0.667687 0.742485 0.053937
-vn -0.668247 0.743069 0.035977
-vn -0.668699 0.743534 0.000000
-vn -0.899883 0.432957 0.052521
-vn -0.900576 0.433284 0.035030
-vn -0.901132 0.433546 0.000000
-vn 0.745742 0.666076 0.014508
-vn 0.745742 0.666077 0.014508
-vn 0.745742 0.666077 0.014508
-vn 0.749368 0.661834 0.020592
-vn 0.756462 0.653710 0.020721
-vn 0.860948 0.217589 0.459809
-vn 0.837252 0.472812 0.274696
-vn 0.734903 0.677369 0.032995
-vn 0.705784 0.708104 0.021390
-vn 0.696876 0.716878 0.021209
-vn 0.692231 0.721550 0.013464
-vn 0.692296 0.721613 0.000000
-vn 0.911564 0.326059 0.250473
-vn 0.840178 0.537891 0.069091
-vn 0.809162 0.582337 0.078363
-vn 0.774726 0.631582 0.030066
-vn 0.766343 0.642432 0.000000
-vn 0.916801 0.360119 0.172597
-vn 0.908199 0.414926 0.054881
-vn 0.906833 0.421490 0.000000
-vn 0.858065 0.106377 0.502402
-vn 0.858963 0.110660 0.499938
-vn 0.819652 -0.000090 0.572862
-vn 0.852057 0.033503 0.522376
-vn 0.916174 0.091207 0.390264
-vn 0.943951 0.240171 0.226437
-vn 0.780046 -0.205409 0.591045
-vn 0.826581 -0.186060 0.531173
-vn 0.914503 -0.148473 0.376352
-vn 0.963096 -0.135585 0.232514
-vn 0.979949 -0.142243 0.139520
-vn 0.990415 -0.132297 0.039686
-vn 0.992556 -0.121789 0.000000
-vn 0.752566 -0.437952 0.491775
-vn 0.782666 -0.478388 0.398221
-vn 0.824610 -0.519048 0.224962
-vn 0.850384 -0.517822 0.093312
-vn 0.852950 -0.521538 0.021781
-vn 0.847103 -0.531398 0.005703
-vn 0.846332 -0.532656 -0.000026
-vn 0.733683 -0.551450 0.397004
-vn 0.741600 -0.614900 0.268192
-vn 0.752420 -0.648472 0.115536
-vn 0.802876 -0.593807 0.052761
-vn 0.832290 -0.554339 -0.000828
-vn 0.811583 -0.584236 -0.000855
-vn 0.789837 -0.613316 -0.000052
-vn 0.668249 0.743067 -0.035977
-vn 0.667691 0.742482 -0.053937
-vn 0.899889 0.432945 -0.052521
-vn 0.856173 0.497731 -0.138680
-vn 0.749368 0.661834 -0.020592
-vn 0.745742 0.666077 -0.014508
-vn 0.745742 0.666077 -0.014508
-vn 0.745742 0.666076 -0.014508
-vn 0.756462 0.653709 -0.020721
-vn -0.000002 0.999440 -0.033472
-vn -0.000002 0.998740 -0.050186
-vn -0.668247 0.743069 -0.035977
-vn -0.667688 0.742485 -0.053937
-vn -0.900576 0.433284 -0.035030
-vn -0.899883 0.432957 -0.052521
-vn 0.837252 0.472812 -0.274696
-vn 0.734903 0.677369 -0.032995
-vn 0.705784 0.708104 -0.021390
-vn 0.696876 0.716878 -0.021209
-vn 0.692231 0.721550 -0.013464
-vn 0.911564 0.326058 -0.250473
-vn 0.840178 0.537891 -0.069091
-vn 0.809162 0.582337 -0.078363
-vn 0.774726 0.631582 -0.030066
-vn 0.916801 0.360119 -0.172597
-vn 0.908199 0.414926 -0.054881
-vn 0.860948 0.217589 -0.459809
-vn 0.858065 0.106377 -0.502402
-vn 0.858963 0.110660 -0.499938
-vn 0.819652 -0.000090 -0.572862
-vn 0.852057 0.033503 -0.522376
-vn 0.916174 0.091206 -0.390264
-vn 0.943951 0.240171 -0.226436
-vn 0.780046 -0.205409 -0.591045
-vn 0.826581 -0.186060 -0.531173
-vn 0.914503 -0.148473 -0.376352
-vn 0.963096 -0.135585 -0.232514
-vn 0.979949 -0.142243 -0.139521
-vn 0.990415 -0.132297 -0.039686
-vn 0.752566 -0.437952 -0.491775
-vn 0.782666 -0.478388 -0.398221
-vn 0.824610 -0.519048 -0.224962
-vn 0.850384 -0.517822 -0.093312
-vn 0.852950 -0.521538 -0.021781
-vn 0.847113 -0.531381 -0.005729
-vn 0.733683 -0.551450 -0.397004
-vn 0.741600 -0.614900 -0.268192
-vn 0.752420 -0.648472 -0.115536
-vn 0.802876 -0.593807 -0.052761
-vn 0.832290 -0.554339 0.000828
-vn 0.811606 -0.584205 0.000803
-vn 0.899885 -0.432952 0.052522
-vn 0.899885 -0.432952 0.052522
-vn -0.899880 -0.432964 0.052522
-vn -0.900573 -0.433291 0.035031
-vn -0.901129 -0.433551 0.000000
-vn -0.667692 -0.742481 0.053937
-vn -0.662391 -0.748298 0.035894
-vn -0.656897 -0.753980 0.000000
-vn -0.000002 -0.998740 0.050186
-vn 0.017435 -0.999285 0.033535
-vn 0.034891 -0.999391 0.000000
-vn 0.667695 -0.742478 0.053937
-vn 0.571935 -0.819251 0.041448
-vn 0.371709 -0.928349 0.000000
-vn 0.371656 -0.928221 0.016665
-vn 0.371656 -0.928221 0.016665
-vn 0.371656 -0.928221 0.016665
-vn 0.371656 -0.928221 0.016665
-vn 0.371656 -0.928221 0.016665
-vn 0.899886 -0.432952 -0.052522
-vn 0.899886 -0.432952 -0.052522
-vn -0.900573 -0.433291 -0.035030
-vn -0.899880 -0.432964 -0.052521
-vn -0.662391 -0.748298 -0.035894
-vn -0.667692 -0.742481 -0.053937
-vn 0.017436 -0.999285 -0.033535
-vn -0.000002 -0.998740 -0.050186
-vn 0.571936 -0.819251 -0.041448
-vn 0.667696 -0.742478 -0.053937
-vn 0.371658 -0.928220 -0.016666
-vn 0.371658 -0.928220 -0.016666
-vn 0.371658 -0.928220 -0.016666
-vn 0.371658 -0.928220 -0.016666
-vn 0.371658 -0.928220 -0.016666
-vn -0.810598 -0.571899 -0.125946
-vn -0.671909 -0.740634 0.000000
-vn -0.676822 -0.736115 -0.006880
-vn -0.686547 -0.727051 -0.007096
-vn -0.696070 -0.717936 -0.007308
-vn -0.711311 -0.702701 -0.015763
-vn -0.769270 -0.634467 -0.075335
-vn -0.901669 -0.372819 -0.219088
-vn -0.926116 -0.140148 -0.350239
-vn -0.894138 -0.025648 -0.447056
-vn -0.849984 0.197430 -0.488415
-vn -0.799637 0.422898 -0.426307
-vn -0.769309 0.523922 -0.365608
-vn -0.773996 0.567145 -0.281562
-vn -0.794400 0.581001 -0.177106
-vn -0.856674 0.505719 -0.101775
-vn -0.892452 0.450398 -0.025896
-vn -0.873738 0.486256 -0.011750
-vn -0.852481 0.522758 0.000100
-vn -0.911564 -0.326059 -0.250473
-vn -0.840179 -0.537891 -0.069091
-vn -0.756334 -0.653470 -0.030582
-vn -0.809162 -0.582336 -0.078362
-vn -0.715983 -0.697874 -0.018436
-vn -0.729177 -0.684069 -0.018707
-vn -0.774726 -0.631581 -0.030066
-vn -0.706759 -0.707375 -0.010600
-vn -0.766343 -0.642432 0.000000
-vn -0.704436 -0.709768 0.000000
-vn -0.916801 -0.360119 -0.172597
-vn -0.908199 -0.414926 -0.054881
-vn -0.906833 -0.421490 0.000000
-vn -0.866689 -0.449486 -0.216360
-vn -0.895961 -0.127966 -0.425297
-vn -0.887493 -0.046300 -0.458490
-vn -0.916174 -0.091207 -0.390264
-vn -0.943952 -0.240171 -0.226436
-vn -0.859350 0.181510 -0.478092
-vn -0.914503 0.148472 -0.376352
-vn -0.963096 0.135585 -0.232513
-vn -0.979949 0.142243 -0.139521
-vn -0.990415 0.132297 -0.039686
-vn -0.992556 0.121789 0.000000
-vn -0.808768 0.451110 -0.377352
-vn -0.839214 0.480655 -0.254345
-vn -0.873936 0.471628 -0.117490
-vn -0.882413 0.469161 -0.035134
-vn -0.876459 0.481327 -0.011994
-vn -0.874376 0.485250 0.000050
-vn -0.810598 -0.571899 0.125945
-vn -0.676822 -0.736115 0.006880
-vn -0.686547 -0.727051 0.007096
-vn -0.696070 -0.717936 0.007308
-vn -0.711311 -0.702701 0.015763
-vn -0.769270 -0.634467 0.075335
-vn -0.901669 -0.372819 0.219088
-vn -0.926116 -0.140148 0.350239
-vn -0.894138 -0.025648 0.447056
-vn -0.849984 0.197430 0.488415
-vn -0.799637 0.422898 0.426307
-vn -0.769309 0.523922 0.365608
-vn -0.773996 0.567145 0.281563
-vn -0.794400 0.581001 0.177106
-vn -0.856674 0.505720 0.101775
-vn -0.892452 0.450398 0.025897
-vn -0.873779 0.486178 0.011850
-vn -0.756334 -0.653470 0.030582
-vn -0.840179 -0.537891 0.069091
-vn -0.911564 -0.326059 0.250473
-vn -0.729177 -0.684069 0.018707
-vn -0.715983 -0.697874 0.018436
-vn -0.809162 -0.582336 0.078362
-vn -0.706759 -0.707375 0.010600
-vn -0.774726 -0.631581 0.030066
-vn -0.908199 -0.414926 0.054881
-vn -0.916801 -0.360119 0.172597
-vn -0.866689 -0.449486 0.216360
-vn -0.895961 -0.127966 0.425297
-vn -0.887493 -0.046300 0.458490
-vn -0.916174 -0.091207 0.390264
-vn -0.943952 -0.240171 0.226436
-vn -0.859350 0.181510 0.478092
-vn -0.914503 0.148472 0.376352
-vn -0.963096 0.135585 0.232513
-vn -0.979949 0.142243 0.139521
-vn -0.990415 0.132297 0.039686
-vn -0.808768 0.451110 0.377352
-vn -0.839213 0.480655 0.254345
-vn -0.873936 0.471628 0.117490
-vn -0.882413 0.469161 0.035134
-vn -0.876480 0.481288 0.012044
-vn 0.738347 0.674421 0.000000
-vn 0.806153 0.567767 -0.166608
-vn 0.863896 0.499132 -0.067458
-vn 0.619226 0.785213 0.000000
-vn 0.618594 0.784508 -0.043454
-vn 0.617817 0.783620 -0.065133
-vn 0.000000 1.000000 0.000000
-vn 0.000000 0.999305 -0.037285
-vn -0.000001 0.998436 -0.055898
-vn -0.619244 0.785198 0.000000
-vn -0.618602 0.784502 -0.043455
-vn -0.617815 0.783622 -0.065133
-vn -0.865872 0.500266 0.000000
-vn -0.864990 0.499766 -0.045006
-vn -0.863892 0.499140 -0.067459
-vn 0.695043 0.718593 -0.023226
-vn 0.689718 0.723710 -0.023093
-vn 0.687022 0.726417 -0.017881
-vn 0.687022 0.726417 -0.017881
-vn 0.687022 0.726417 -0.017878
-vn 0.624714 0.780853 0.000000
-vn 0.624471 0.780885 -0.015951
-vn 0.628239 0.777647 -0.024117
-vn 0.636747 0.770679 -0.024639
-vn 0.717673 0.690581 -0.089681
-vn 0.800177 0.525367 -0.289320
-vn 0.787284 0.290410 -0.543917
-vn 0.731224 0.682137 0.000000
-vn 0.732755 0.680143 -0.021814
-vn 0.753271 0.652862 -0.079712
-vn 0.787727 0.584035 -0.195933
-vn 0.845671 0.419171 -0.330358
-vn 0.806306 0.264556 -0.529037
-vn 0.777431 0.225586 -0.587122
-vn 0.880395 0.474242 0.000000
-vn 0.882174 0.469754 -0.033162
-vn 0.882771 0.440367 -0.163686
-vn 0.868778 0.383372 -0.313451
-vn 0.838973 0.309714 -0.447438
-vn 0.764875 0.224491 -0.603796
-vn 0.738142 0.182045 -0.649620
-vn 0.996828 -0.079588 0.000000
-vn 0.996263 -0.085397 -0.012925
-vn 0.991668 -0.062376 -0.112711
-vn 0.951868 -0.021112 -0.305780
-vn 0.872481 -0.010318 -0.488540
-vn 0.779498 0.023999 -0.625944
-vn 0.741302 0.058701 -0.668599
-vn 0.810684 -0.585484 0.000000
-vn 0.811350 -0.584049 0.024432
-vn 0.820129 -0.571417 0.029518
-vn 0.829589 -0.541693 -0.135462
-vn 0.819375 -0.485373 -0.305022
-vn 0.829011 -0.352148 -0.434433
-vn 0.754667 -0.037342 -0.655044
-vn 0.718556 -0.695469 0.000000
-vn 0.725325 -0.687595 0.033425
-vn 0.709570 -0.701311 0.068364
-vn 0.690571 -0.722559 -0.031951
-vn 0.702443 -0.701413 -0.120804
-vn 0.726916 -0.682805 -0.073285
-vn 0.825351 -0.413141 -0.384851
-vn 0.687022 0.726417 0.017881
-vn 0.687022 0.726417 0.017881
-vn 0.689718 0.723710 0.023093
-vn 0.695043 0.718593 0.023226
-vn 0.806153 0.567767 0.166608
-vn 0.618594 0.784508 0.043455
-vn 0.687022 0.726417 0.017878
-vn 0.617817 0.783619 0.065133
-vn 0.863896 0.499131 0.067460
-vn 0.000000 0.999305 0.037285
-vn -0.000001 0.998436 0.055898
-vn -0.618602 0.784502 0.043455
-vn -0.617814 0.783622 0.065134
-vn -0.864990 0.499766 0.045007
-vn -0.863891 0.499140 0.067461
-vn 0.624471 0.780885 0.015952
-vn 0.628239 0.777647 0.024117
-vn 0.636747 0.770679 0.024639
-vn 0.717673 0.690581 0.089681
-vn 0.800177 0.525367 0.289320
-vn 0.787284 0.290410 0.543917
-vn 0.732755 0.680143 0.021814
-vn 0.753271 0.652862 0.079712
-vn 0.787727 0.584035 0.195933
-vn 0.845671 0.419171 0.330358
-vn 0.806306 0.264556 0.529037
-vn 0.777431 0.225586 0.587122
-vn 0.882174 0.469754 0.033162
-vn 0.882771 0.440367 0.163686
-vn 0.868778 0.383372 0.313451
-vn 0.838973 0.309714 0.447438
-vn 0.764875 0.224490 0.603796
-vn 0.738142 0.182045 0.649620
-vn 0.996263 -0.085397 0.012925
-vn 0.991668 -0.062376 0.112711
-vn 0.951868 -0.021112 0.305780
-vn 0.872481 -0.010318 0.488540
-vn 0.779498 0.023999 0.625944
-vn 0.741302 0.058701 0.668600
-vn 0.811351 -0.584049 -0.024432
-vn 0.820129 -0.571417 -0.029518
-vn 0.829589 -0.541693 0.135462
-vn 0.819375 -0.485373 0.305022
-vn 0.829011 -0.352148 0.434434
-vn 0.754667 -0.037342 0.655044
-vn 0.725325 -0.687595 -0.033425
-vn 0.709570 -0.701311 -0.068364
-vn 0.690571 -0.722559 0.031951
-vn 0.702443 -0.701413 0.120804
-vn 0.726916 -0.682805 0.073285
-vn 0.825351 -0.413141 0.384851
-vn 0.863925 -0.499082 -0.067460
-vn 0.863925 -0.499082 -0.067460
-vn -0.865893 -0.500229 0.000000
-vn -0.865015 -0.499723 -0.045006
-vn -0.863920 -0.499091 -0.067460
-vn -0.608436 -0.793603 0.000000
-vn -0.607457 -0.793186 -0.043037
-vn -0.606349 -0.792599 -0.064251
-vn 0.030471 -0.999536 0.000000
-vn 0.031551 -0.998800 -0.037458
-vn 0.032627 -0.997885 -0.056223
-vn 0.316688 -0.948530 0.000000
-vn 0.530187 -0.846394 -0.050186
-vn 0.631936 -0.772187 -0.066204
-vn 0.316636 -0.948376 -0.018019
-vn 0.316636 -0.948376 -0.018019
-vn 0.316636 -0.948376 -0.018019
-vn 0.316636 -0.948376 -0.018019
-vn 0.316636 -0.948376 -0.018019
-vn 0.863925 -0.499082 0.067460
-vn 0.863925 -0.499082 0.067460
-vn -0.865015 -0.499723 0.045006
-vn -0.863920 -0.499091 0.067460
-vn -0.607457 -0.793186 0.043037
-vn -0.606349 -0.792599 0.064251
-vn 0.031551 -0.998800 0.037458
-vn 0.032626 -0.997885 0.056224
-vn 0.530187 -0.846394 0.050187
-vn 0.316636 -0.948376 0.018019
-vn 0.316636 -0.948376 0.018019
-vn 0.316636 -0.948376 0.018019
-vn 0.316636 -0.948376 0.018019
-vn 0.316636 -0.948376 0.018019
-vn 0.631936 -0.772187 0.066205
-vn -0.599290 -0.800532 0.000000
-vn -0.746611 -0.646922 0.155129
-vn -0.701281 -0.707213 0.089752
-vn -0.639529 -0.768597 0.016175
-vn -0.624930 -0.780632 0.008733
-vn -0.614771 -0.788661 0.008457
-vn -0.604470 -0.796586 0.008169
-vn -0.850655 -0.451033 0.270102
-vn -0.875490 -0.238936 0.420031
-vn -0.838922 -0.175843 0.515063
-vn -0.835471 -0.010815 0.549428
-vn -0.836553 0.123691 0.533741
-vn -0.794675 0.607035 0.000000
-vn -0.801003 0.598112 -0.025605
-vn -0.783288 0.619735 -0.048875
-vn -0.761511 0.642683 0.084027
-vn -0.769960 0.606434 0.198493
-vn -0.799785 0.578517 0.160191
-vn -0.855618 0.383711 0.347394
-vn -0.731224 -0.682137 0.000000
-vn -0.732754 -0.680143 0.021814
-vn -0.637957 -0.769970 0.012520
-vn -0.635659 -0.771970 0.000000
-vn -0.753271 -0.652862 0.079711
-vn -0.646659 -0.762495 0.020811
-vn -0.787727 -0.584035 0.195932
-vn -0.659878 -0.751067 0.021455
-vn -0.738191 -0.669008 0.086614
-vn -0.845671 -0.419171 0.330358
-vn -0.840448 -0.496941 0.216096
-vn -0.853971 -0.270770 0.444317
-vn -0.880395 -0.474242 0.000000
-vn -0.882174 -0.469754 0.033162
-vn -0.882771 -0.440367 0.163685
-vn -0.868777 -0.383372 0.313452
-vn -0.838973 -0.309714 0.447439
-vn -0.814886 -0.221235 0.535739
-vn -0.996828 0.079588 0.000000
-vn -0.996263 0.085397 0.012925
-vn -0.991668 0.062376 0.112711
-vn -0.951868 0.021111 0.305780
-vn -0.872481 0.010318 0.488540
-vn -0.825279 0.000153 0.564726
-vn -0.843462 0.537189 0.000000
-vn -0.844260 0.535547 -0.020359
-vn -0.850544 0.525544 -0.019441
-vn -0.854915 0.493345 0.160407
-vn -0.838262 0.426955 0.339156
-vn -0.855533 0.328568 0.400132
-vn -0.746611 -0.646922 -0.155129
-vn -0.701281 -0.707213 -0.089752
-vn -0.639529 -0.768597 -0.016175
-vn -0.624930 -0.780632 -0.008733
-vn -0.614771 -0.788661 -0.008457
-vn -0.604470 -0.796586 -0.008169
-vn -0.850655 -0.451033 -0.270102
-vn -0.875490 -0.238936 -0.420031
-vn -0.838922 -0.175843 -0.515063
-vn -0.835471 -0.010815 -0.549428
-vn -0.836553 0.123691 -0.533741
-vn -0.801003 0.598112 0.025605
-vn -0.783288 0.619735 0.048875
-vn -0.761511 0.642683 -0.084027
-vn -0.769960 0.606434 -0.198493
-vn -0.799786 0.578517 -0.160191
-vn -0.855618 0.383711 -0.347394
-vn -0.637957 -0.769970 -0.012520
-vn -0.732754 -0.680143 -0.021814
-vn -0.646659 -0.762495 -0.020811
-vn -0.753271 -0.652862 -0.079711
-vn -0.659878 -0.751067 -0.021455
-vn -0.787727 -0.584035 -0.195932
-vn -0.738191 -0.669008 -0.086614
-vn -0.840448 -0.496941 -0.216096
-vn -0.845671 -0.419171 -0.330358
-vn -0.853971 -0.270770 -0.444317
-vn -0.882174 -0.469754 -0.033162
-vn -0.882771 -0.440367 -0.163685
-vn -0.868777 -0.383372 -0.313452
-vn -0.814886 -0.221235 -0.535739
-vn -0.838973 -0.309714 -0.447439
-vn -0.996263 0.085397 -0.012925
-vn -0.991668 0.062376 -0.112711
-vn -0.951868 0.021111 -0.305780
-vn -0.872481 0.010318 -0.488540
-vn -0.825279 0.000153 -0.564726
-vn -0.844260 0.535547 0.020359
-vn -0.850544 0.525544 0.019441
-vn -0.854915 0.493345 -0.160407
-vn -0.838262 0.426955 -0.339156
-vn -0.855533 0.328568 -0.400132
-vn 0.993924 0.089671 0.063831
-vn 0.991388 0.089520 0.095585
-vn 0.951185 -0.294245 0.093093
-vn 0.949761 -0.263276 0.169235
-vn 0.997765 -0.059685 0.030054
-vn 0.997956 -0.059356 0.023660
-vn 0.997550 -0.065796 0.023773
-vn 0.997092 -0.072360 0.023888
-vn 0.991277 -0.131793 0.000000
-vn 0.995962 0.089777 0.000000
-vn 0.997188 -0.067887 0.031734
-vn 0.679311 0.731442 0.059403
-vn 0.677813 0.729831 0.088978
-vn 0.680514 0.732736 0.000000
-vn 0.016056 0.997832 0.063832
-vn 0.016088 0.995291 0.095587
-vn 0.016015 0.999872 0.000000
-vn -0.364558 0.929104 0.062153
-vn -0.363677 0.926862 0.093094
-vn -0.365266 0.930903 0.000000
-vn 0.917270 -0.258315 0.303131
-vn 0.998959 -0.024410 0.038551
-vn 0.999612 0.008824 0.026436
-vn 0.999517 0.016521 0.026336
-vn 0.999675 0.018217 0.017848
-vn 0.999876 0.015741 0.000000
-vn 0.884956 -0.376979 0.273386
-vn 0.981145 -0.177428 0.076642
-vn 0.988508 -0.123689 0.086911
-vn 0.997365 -0.064404 0.033395
-vn 0.998710 -0.050770 0.000000
-vn 0.913828 -0.358465 0.190845
-vn 0.947530 -0.313813 0.060889
-vn 0.951301 -0.308263 0.000000
-vn 0.720988 -0.478886 0.500845
-vn 0.681368 -0.491661 0.542224
-vn 0.685009 -0.489335 0.539734
-vn 0.578949 -0.537358 0.613241
-vn 0.627789 -0.538212 0.562324
-vn 0.720934 -0.547029 0.425456
-vn 0.850335 -0.463283 0.249600
-vn 0.414986 -0.655129 0.631342
-vn 0.464139 -0.677064 0.571104
-vn 0.559696 -0.719904 0.410461
-vn 0.608602 -0.750976 0.256201
-vn 0.619061 -0.770047 0.154245
-vn 0.635383 -0.770942 0.044007
-vn 0.644398 -0.764690 0.000000
-vn 0.245694 -0.811195 0.530657
-vn 0.242252 -0.868554 0.432352
-vn 0.248688 -0.936525 0.247135
-vn 0.270344 -0.957192 0.103429
-vn 0.270056 -0.962541 0.024195
-vn 0.259082 -0.965835 0.006336
-vn 0.257662 -0.966235 -0.000029
-vn 0.159410 -0.887098 0.433181
-vn 0.123609 -0.947670 0.294352
-vn 0.109876 -0.985648 0.128163
-vn 0.184173 -0.981147 0.058577
-vn 0.232618 -0.972568 -0.000920
-vn 0.197099 -0.980383 -0.000950
-vn 0.161376 -0.986893 -0.000058
-vn 0.949760 -0.263276 -0.169235
-vn 0.951185 -0.294245 -0.093093
-vn 0.991388 0.089520 -0.095585
-vn 0.993924 0.089670 -0.063831
-vn 0.997188 -0.067888 -0.031734
-vn 0.997092 -0.072361 -0.023889
-vn 0.997550 -0.065797 -0.023773
-vn 0.997956 -0.059357 -0.023660
-vn 0.997765 -0.059686 -0.030054
-vn 0.677813 0.729831 -0.088978
-vn 0.679311 0.731442 -0.059403
-vn 0.016088 0.995291 -0.095586
-vn 0.016056 0.997832 -0.063831
-vn -0.363677 0.926862 -0.093094
-vn -0.364558 0.929104 -0.062153
-vn 0.917270 -0.258315 -0.303131
-vn 0.998959 -0.024410 -0.038551
-vn 0.999612 0.008824 -0.026436
-vn 0.999517 0.016521 -0.026336
-vn 0.999675 0.018217 -0.017848
-vn 0.981145 -0.177428 -0.076642
-vn 0.884956 -0.376979 -0.273386
-vn 0.988508 -0.123689 -0.086911
-vn 0.997365 -0.064404 -0.033395
-vn 0.947530 -0.313813 -0.060889
-vn 0.913828 -0.358465 -0.190845
-vn 0.720988 -0.478886 -0.500845
-vn 0.685009 -0.489335 -0.539734
-vn 0.681368 -0.491661 -0.542224
-vn 0.627789 -0.538212 -0.562324
-vn 0.578949 -0.537358 -0.613241
-vn 0.720935 -0.547029 -0.425456
-vn 0.850335 -0.463283 -0.249600
-vn 0.464139 -0.677064 -0.571104
-vn 0.414986 -0.655130 -0.631342
-vn 0.559696 -0.719904 -0.410461
-vn 0.608602 -0.750976 -0.256201
-vn 0.619061 -0.770047 -0.154245
-vn 0.635383 -0.770942 -0.044007
-vn 0.242252 -0.868554 -0.432352
-vn 0.245694 -0.811195 -0.530657
-vn 0.248688 -0.936525 -0.247135
-vn 0.270344 -0.957192 -0.103429
-vn 0.270056 -0.962541 -0.024195
-vn 0.259101 -0.965829 -0.006365
-vn 0.123609 -0.947670 -0.294352
-vn 0.159410 -0.887098 -0.433181
-vn 0.109876 -0.985648 -0.128163
-vn 0.184173 -0.981147 -0.058577
-vn 0.232618 -0.972568 0.000920
-vn 0.197137 -0.980376 0.000892
-vn 0.363681 -0.926860 0.093095
-vn 0.363681 -0.926860 0.093095
-vn -0.953481 0.294977 0.062153
-vn -0.951181 0.294258 0.093095
-vn -0.955326 0.295555 0.000000
-vn -0.993197 -0.097487 0.063683
-vn -0.991388 -0.089513 0.095585
-vn -0.994423 -0.105465 0.000000
-vn -0.666429 -0.743190 0.059512
-vn -0.677811 -0.729833 0.088975
-vn -0.654535 -0.756032 0.000000
-vn -0.138441 -0.987639 0.073510
-vn -0.016083 -0.995291 0.095585
-vn -0.359388 -0.933188 0.000000
-vn -0.359231 -0.932778 0.029619
-vn -0.359231 -0.932778 0.029619
-vn -0.359231 -0.932778 0.029619
-vn -0.359231 -0.932778 0.029619
-vn -0.359231 -0.932778 0.029619
-vn 0.363681 -0.926860 -0.093095
-vn 0.363681 -0.926860 -0.093095
-vn -0.951181 0.294258 -0.093095
-vn -0.953481 0.294977 -0.062153
-vn -0.991388 -0.089513 -0.095585
-vn -0.993197 -0.097487 -0.063683
-vn -0.677811 -0.729833 -0.088975
-vn -0.666428 -0.743190 -0.059512
-vn -0.016083 -0.995291 -0.095586
-vn -0.138440 -0.987639 -0.073511
-vn -0.359230 -0.932779 -0.029618
-vn -0.359230 -0.932779 -0.029618
-vn -0.359230 -0.932779 -0.029618
-vn -0.359230 -0.932779 -0.029618
-vn -0.359230 -0.932779 -0.029618
-vn -0.971639 0.185090 -0.147174
-vn -0.995051 -0.099362 0.000000
-vn -0.995892 -0.090233 -0.007566
-vn -0.997348 -0.072341 -0.007999
-vn -0.998441 -0.055175 -0.008410
-vn -0.999456 -0.027640 -0.018014
-vn -0.992159 0.088881 -0.087872
-vn -0.899393 0.362665 -0.244061
-vn -0.763166 0.520128 -0.383463
-vn -0.657767 0.576066 -0.485274
-vn -0.475302 0.703698 -0.528107
-vn -0.291509 0.836741 -0.463559
-vn -0.203996 0.893520 -0.400009
-vn -0.179387 0.933836 -0.309470
-vn -0.186052 0.962782 -0.196051
-vn -0.283313 0.952364 -0.112859
-vn -0.347407 0.937273 -0.028770
-vn -0.309315 0.950870 -0.013055
-vn -0.268903 0.963167 0.000112
-vn -0.998726 0.037141 -0.034171
-vn -0.981145 0.177428 -0.076642
-vn -0.884956 0.376980 -0.273385
-vn -0.999760 -0.006435 -0.020930
-vn -0.999410 -0.027537 -0.020543
-vn -0.988508 0.123690 -0.086912
-vn -0.999002 -0.043098 -0.011742
-vn -0.997365 0.064404 -0.033395
-vn -0.998863 -0.047679 0.000000
-vn -0.998710 0.050770 0.000000
-vn -0.947530 0.313814 -0.060889
-vn -0.913828 0.358464 -0.190846
-vn -0.951301 0.308264 0.000000
-vn -0.933355 0.268960 -0.237716
-vn -0.728648 0.505474 -0.462134
-vn -0.665783 0.556349 -0.497201
-vn -0.720935 0.547028 -0.425456
-vn -0.850335 0.463283 -0.249599
-vn -0.493020 0.699378 -0.517495
-vn -0.559696 0.719904 -0.410461
-vn -0.608602 0.750976 -0.256200
-vn -0.619061 0.770046 -0.154246
-vn -0.635382 0.770943 -0.044006
-vn -0.644397 0.764691 0.000000
-vn -0.280194 0.867283 -0.411476
-vn -0.285188 0.916831 -0.279443
-vn -0.318897 0.938804 -0.130196
-vn -0.327262 0.944127 -0.039028
-vn -0.314663 0.949110 -0.013326
-vn -0.310471 0.950583 0.000056
-vn -0.971639 0.185090 0.147174
-vn -0.992159 0.088881 0.087872
-vn -0.999456 -0.027640 0.018014
-vn -0.998441 -0.055175 0.008410
-vn -0.997348 -0.072341 0.007999
-vn -0.995892 -0.090233 0.007566
-vn -0.899393 0.362665 0.244061
-vn -0.763166 0.520128 0.383463
-vn -0.657767 0.576065 0.485274
-vn -0.475302 0.703698 0.528107
-vn -0.291509 0.836741 0.463559
-vn -0.179386 0.933836 0.309470
-vn -0.203995 0.893520 0.400009
-vn -0.186052 0.962782 0.196051
-vn -0.283313 0.952364 0.112859
-vn -0.347407 0.937273 0.028770
-vn -0.309398 0.950842 0.013167
-vn -0.884956 0.376980 0.273385
-vn -0.981145 0.177428 0.076642
-vn -0.998726 0.037141 0.034171
-vn -0.988508 0.123690 0.086912
-vn -0.999410 -0.027537 0.020543
-vn -0.999760 -0.006435 0.020930
-vn -0.997365 0.064404 0.033395
-vn -0.999002 -0.043098 0.011742
-vn -0.913828 0.358464 0.190846
-vn -0.947530 0.313814 0.060889
-vn -0.933355 0.268960 0.237715
-vn -0.728648 0.505474 0.462134
-vn -0.665783 0.556349 0.497201
-vn -0.720935 0.547028 0.425456
-vn -0.850335 0.463283 0.249599
-vn -0.493020 0.699378 0.517495
-vn -0.559696 0.719904 0.410461
-vn -0.608602 0.750976 0.256200
-vn -0.619061 0.770046 0.154246
-vn -0.635382 0.770943 0.044006
-vn -0.280194 0.867283 0.411476
-vn -0.285188 0.916831 0.279443
-vn -0.318897 0.938804 0.130196
-vn -0.327262 0.944127 0.039028
-vn -0.314704 0.949095 0.013381
-vn -0.642812 0.322219 -0.694958
-vn -0.650165 0.333777 -0.682552
-vn -0.849450 0.041378 -0.526043
-vn -0.842422 0.029896 -0.537988
-vn -0.827539 0.006894 -0.561366
-vn -0.627422 0.298775 -0.719079
-vn -0.811581 -0.016117 -0.584017
-vn -0.611142 0.274958 -0.742229
-vn -0.602686 0.262924 -0.753419
-vn -0.803213 -0.027610 -0.595052
-vn -0.046321 0.717759 -0.694749
-vn -0.053653 0.728221 -0.683239
-vn -0.031609 0.696187 -0.717165
-vn -0.016858 0.673791 -0.738729
-vn -0.009478 0.662301 -0.749178
-vn 0.564162 0.759634 -0.323539
-vn 0.555743 0.770805 -0.311463
-vn 0.580414 0.736503 -0.347393
-vn 0.595837 0.712377 -0.370807
-vn 0.603229 0.699959 -0.382325
-vn 0.784184 0.619398 -0.037437
-vn 0.775833 0.630406 -0.025904
-vn 0.800127 0.596773 -0.060487
-vn 0.815026 0.573381 -0.083465
-vn 0.822075 0.561413 -0.094908
-vn -0.822085 -0.561403 0.094886
-vn -0.815033 -0.573374 0.083450
-vn -0.800130 -0.596770 0.060483
-vn -0.784191 -0.619390 0.037429
-vn -0.775845 -0.630393 0.025889
-vn 0.811581 0.016120 0.584018
-vn 0.803210 0.027611 0.595056
-vn 0.827538 -0.006892 0.561367
-vn 0.842421 -0.029896 0.537989
-vn 0.849450 -0.041377 0.526044
-vn 0.709679 -0.058148 0.702122
-vn 0.602687 -0.262921 0.753420
-vn 0.889941 0.415456 0.188151
-vn 0.892509 -0.223533 0.391742
-vn 0.629453 -0.354577 0.691422
-vn -0.223873 -0.683965 0.694315
-vn 0.009484 -0.662297 0.749182
-vn -0.625676 -0.722287 0.294671
-vn -0.207820 -0.882913 0.421040
-vn -0.015531 -0.752037 0.658938
-vn -0.602513 -0.710136 0.364260
-vn -0.603235 -0.699957 0.382319
-vn -0.601723 -0.729113 0.326073
-vn -0.594215 -0.749427 0.292008
-vn -0.586599 -0.760692 0.277938
-vn 0.102923 -0.952597 0.286295
-vn -0.718606 -0.668081 0.193064
-vn -0.783697 -0.600587 0.158477
-vn -0.701348 -0.686166 0.193102
-vn -0.736019 -0.651153 0.185138
-vn -0.724907 -0.663690 0.184459
-vn -0.722846 -0.660000 0.204680
-vn -0.617182 -0.211719 0.757800
-vn -0.616660 0.061761 0.784803
-vn -0.260879 -0.304354 0.916139
-vn -0.442996 -0.518355 0.731480
-vn -0.447647 -0.175289 0.876861
-vn -0.629808 0.045048 0.775443
-vn -0.402821 -0.459036 0.791847
-vn 0.095227 -0.947330 -0.305775
-vn 0.140687 -0.977049 -0.159942
-vn 0.338509 -0.940657 -0.023994
-vn -0.938729 -0.318623 -0.131408
-vn -0.883564 -0.452435 -0.120904
-vn -0.851603 -0.511546 -0.114423
-vn -0.845397 -0.521171 -0.116980
-vn -0.857481 -0.498418 -0.127696
-vn -0.875425 -0.469677 -0.114172
-vn -0.873974 -0.241441 -0.421754
-vn -0.837168 -0.269334 -0.476035
-vn -0.926765 -0.199398 -0.318352
-vn -0.878921 -0.300919 -0.370061
-vn -0.851871 -0.357230 -0.383017
-vn -0.832390 -0.384968 -0.398656
-vn 0.873111 0.157976 0.461216
-vn 0.744340 0.292281 0.600441
-vn 0.819560 0.359560 0.446136
-vn 0.764305 0.374954 0.524641
-vn 0.864151 0.315618 0.391954
-vn 0.954311 0.086140 0.286130
-vn 0.978318 0.164080 0.126383
-vn 0.891798 0.426135 0.152003
-vn 0.853511 0.511445 0.099717
-vn 0.828453 0.545351 0.127506
-vn 0.835750 0.409742 0.365560
-vn 0.833345 0.511746 0.208932
-# 2372 vertices
-
-# 0 vertex parms
-
-# 0 texture vertices
-
-# 3377 normals
-
-g mast2
-s 1
-f 15//188 16//189 2//187 1//186
-s 2
-f 16//204 17//205 3//203 2//202
-s 3
-f 17//220 18//221 4//219 3//218
-s 4
-f 18//236 19//237 5//235 4//234
-s 5
-f 19//254 20//255 6//251 5//250
-f 20//255 21//256 7//252 6//251
-f 21//256 22//257 8//253 7//252
-s 6
-f 22//296 23//297 9//295 8//294
-s 7
-f 23//312 24//313 10//311 9//310
-s 8
-f 24//328 25//329 11//327 10//326
-s 9
-f 25//344 26//345 12//343 11//342
-s 10
-f 26//360 27//361 13//359 12//358
-s 11
-f 27//376 28//377 14//375 13//374
-s 1
-f 47//194 48//195 34//193 33//192
-s 2
-f 48//208 49//209 35//207 34//206
-s 3
-f 49//224 50//225 36//223 35//222
-s 4
-f 50//240 51//241 37//239 36//238
-s 5
-f 51//262 52//263 38//259 37//258
-f 52//263 53//264 39//260 38//259
-f 53//264 54//265 40//261 39//260
-s 6
-f 54//300 55//301 41//299 40//298
-s 7
-f 55//316 56//317 42//315 41//314
-s 8
-f 56//332 57//333 43//331 42//330
-s 9
-f 57//348 58//349 44//347 43//346
-s 10
-f 58//364 59//365 45//363 44//362
-s 11
-f 59//382 60//383 46//381 45//380
-s 1
-f 61//196 62//197 48//195 47//194
-s 2
-f 62//210 63//211 49//209 48//208
-s 3
-f 63//226 64//227 50//225 49//224
-s 4
-f 64//242 65//243 51//241 50//240
-s 5
-f 65//266 66//267 52//263 51//262
-f 66//267 90//275 67//268 53//264 52//263
-f 67//268 68//269 54//265 53//264
-s 6
-f 68//302 69//303 55//301 54//300
-s 7
-f 69//318 70//319 56//317 55//316
-s 8
-f 70//334 71//335 57//333 56//332
-s 9
-f 71//350 72//351 58//349 57//348
-s 10
-f 72//366 73//367 59//365 58//364
-s 11
-f 73//384 74//385 60//383 59//382
-s 1
-f 75//198 76//199 62//197 61//196
-s 2
-f 76//212 77//213 63//211 62//210
-s 3
-f 77//228 78//229 64//227 63//226
-s 4
-f 78//244 79//245 65//243 64//242
-s 5
-f 79//270 80//271 92//277 91//276 66//267 65//266
-s off
-f 100//1 99//1 102//1 101//1
-s 5
-f 81//272 82//273 68//269 67//268
-s 6
-f 82//304 83//305 69//303 68//302
-s 7
-f 83//320 84//321 70//319 69//318
-s 8
-f 84//336 85//337 71//335 70//334
-s 9
-f 85//352 86//353 72//351 71//350
-s 10
-f 86//368 87//369 73//367 72//366
-s 11
-f 87//386 88//387 74//385 73//384
-s 1
-f 1//186 2//187 76//199 75//198
-s 2
-f 2//202 3//203 77//213 76//212
-s 3
-f 3//218 4//219 78//229 77//228
-s 4
-f 4//234 5//235 79//245 78//244
-s 5
-f 5//250 6//251 80//271 79//270
-f 6//251 7//252 81//272 89//274 80//271
-f 7//252 8//253 82//273 81//272
-s 6
-f 8//294 9//295 83//305 82//304
-s 7
-f 9//310 10//311 84//321 83//320
-s 8
-f 10//326 11//327 85//337 84//336
-s 9
-f 11//342 12//343 86//353 85//352
-s 10
-f 12//358 13//359 87//369 86//368
-s 11
-f 13//374 14//375 88//387 87//386
-s off
-f 61//2 47//2 33//2 31//2 29//2 15//2 1//2 75//2
-f 30//3 32//3 46//3 60//3 74//3 88//3 14//3 28//3
-s 5
-f 89//274 81//272 67//268 90//275 94//279 93//278
-s off
-f 96//4 95//4 98//4 97//4
-f 104//5 103//5 106//5 105//5
-f 95//6 96//6 94//6 90//6
-f 96//7 97//7 91//7 94//7
-f 97//8 98//8 66//8 91//8
-f 98//9 95//9 90//9 66//9
-f 99//10 100//10 92//10 80//10
-f 100//11 101//11 93//11 92//11
-f 101//12 102//12 89//12 93//12
-f 102//13 99//13 80//13 89//13
-f 103//14 104//14 91//14 92//14
-f 104//15 105//15 94//15 91//15
-f 105//16 106//16 93//16 94//16
-f 106//17 103//17 92//17 93//17
-g keel
-s 21
-f 108//391 107//390 110//393 109//392
-f 110//393 107//390 112//395 111//394
-f 111//394 112//395 114//397 113//396
-f 113//396 114//397 116//399 115//398
-f 115//398 116//399 118//401 117//400
-f 117//400 118//401 120//403 119//402
-f 119//402 120//403 122//405 121//404
-f 121//404 122//405 124//407 123//406
-f 127//410 126//409 125//408 128//411
-f 127//410 128//411 130//413 129//412
-f 129//412 130//413 132//415 131//414
-f 131//414 132//415 134//417 133//416
-f 133//416 134//417 136//419 135//418
-f 135//418 136//419 138//421 137//420
-f 137//420 138//421 140//423 139//422
-f 139//422 140//423 142//425 141//424
-g hull
-f 141//424 142//425 144//427 143//426
-s 25
-f 143//447 144//448 146//450 145//449
-s 26
-f 145//453 146//454 148//456 147//455
-s 23
-f 147//477 148//478 150//480 149//479
-g keel
-f 151//481 110//460 111//461 152//482
-f 152//482 111//461 113//462 153//483
-f 153//483 113//462 115//463 154//484
-f 154//484 115//463 117//464 155//485
-f 155//485 117//464 119//465 156//486
-f 156//486 119//465 121//466 157//487
-f 157//487 121//466 123//467 158//488
-f 158//488 123//467 126//468 159//489
-f 159//489 126//468 127//469 160//490
-f 160//490 127//469 129//470 161//491
-f 161//491 129//470 131//471 162//492
-f 162//492 131//471 133//472 163//493
-f 163//493 133//472 135//473 164//494
-f 164//494 135//473 137//474 165//495
-f 165//495 137//474 139//475 166//496
-f 139//475 141//476 166//496
-f 151//481 222//552 109//459 110//460
-f 222//552 151//481 224//554 223//553
-f 223//553 224//554 226//556 225//555
-f 225//555 226//556 228//558 227//557
-f 227//557 228//558 230//560 229//559
-f 534//798 229//559 230//560 232//562 231//561
-g hull
-s 30
-f 224//906 151//901 167//902 233//912
-f 233//912 167//902 180//903 234//913
-f 180//903 194//904 234//913
-f 194//904 208//905 235//914 234//913
-f 234//913 235//914 236//915 233//912
-f 233//912 236//915 226//907 224//906
-f 228//908 226//907 236//915 237//916
-f 237//916 236//915 235//914 238//917
-f 238//917 235//914 208//905 239//918
-f 230//909 228//908 237//916 240//919
-f 237//916 241//920 240//919
-f 242//921 241//920 237//916 238//917
-f 238//917 243//922 242//921
-f 244//923 243//922 238//917 239//918
-g keel
-s 22
-f 229//1020 245//1021 246//1022 227//1019
-f 225//1018 247//1023 248//1024 223//1017
-f 223//1017 248//1024 249//1025 222//1016
-f 222//1016 249//1025 108//1014 109//1015
-f 227//1019 246//1022 247//1023 225//1018
-g hull
-s 23
-f 193//523 164//494 165//495 250//565
-f 250//565 165//495 166//496 251//566
-f 166//496 141//476 251//566
-f 251//566 252//567 250//565
-f 250//565 252//567 207//537 193//523
-f 221//551 207//537 252//567 253//568
-f 221//551 253//568 255//570 254//569
-s 24
-f 141//1035 256//1043 257//1044 251//1039
-f 251//1039 257//1044 258//1045 252//1040
-f 252//1040 258//1045 259//1046 253//1041
-f 141//1035 143//1036 256//1043
-f 143//1036 145//1037 256//1043
-s 23
-f 254//569 255//570 261//576 260//575
-f 260//575 261//576 263//578 262//577
-s 33
-f 262//1051 263//1052 265//1054 264//1053
-s 23
-f 536//800 265//580 259//574 537//801
-s 24
-f 263//1048 261//1047 255//1042 253//1041 259//1046 265//1049
-s 23
-f 537//801 259//574 258//573 538//802
-f 258//573 257//572 538//802
-f 271//586 270//585 266//581 272//587
-f 272//587 266//581 267//582 273//588
-f 273//588 267//582 268//583 274//589
-f 274//589 268//583 269//584 275//590
-f 276//591 147//477 149//479
-s 24
-f 145//1037 147//1038 276//1050 256//1043
-s 23
-f 256//571 276//591 269//584 257//572
-f 269//584 276//591 149//479 275//590
-g deck
-s off
-f 278//18 277//18 279//18
-s 23
-f 279//594 280//595 282//597 281//596
-f 284//599 283//598 286//601 285//600
-s off
-f 285//19 287//19 284//19
-s 23
-f 287//602 289//604 288//603
-f 290//605 289//604 287//602 285//600
-f 291//606 290//605 285//600 286//601 293//608 292//607
-g hull
-f 275//590 279//594 281//596 274//589
-f 288//603 273//588 274//589 281//596
-f 254//569 260//575 295//610 294//609
-f 294//609 295//610 297//612 296//611
-f 296//611 297//612 299//614 298//613
-f 301//616 300//615 303//618 302//617
-f 302//617 303//618 305//620 304//619
-f 304//619 305//620 307//622 306//621
-f 307//622 308//623 306//621
-f 306//621 308//623 310//625 309//624
-f 310//625 311//626 309//624
-f 309//624 311//626 313//628 312//627
-f 313//628 314//629 312//627
-f 312//627 314//629 316//631 315//630
-f 315//630 316//631 318//633 317//632
-f 317//632 318//633 320//635 319//634
-f 301//616 298//613 299//614 300//615
-f 260//575 262//577 321//636 295//610
-f 322//637 321//636 262//577 264//579
-f 297//612 295//610 321//636 323//638
-f 323//638 321//636 322//637 324//639
-f 324//639 322//637 326//641 325//640
-f 324//639 328//643 329//644 323//638
-f 323//638 329//644 299//614 297//612
-f 300//615 299//614 329//644 330//645
-f 330//645 329//644 328//643 331//646
-f 328//643 332//647 331//646
-f 328//643 324//639 325//640 332//647
-f 325//640 327//642 332//647
-g rig
-s off
-f 332//20 327//20 334//20 333//20
-f 334//21 327//21 335//21 336//21
-s 23
-f 337//652 333//648 334//649
-f 337//652 338//653 342//657 330//645
-s off
-f 342//22 338//22 343//22
-g hull
-s 23
-f 342//657 343//658 345//660 344//659
-g rig
-s off
-f 339//23 345//23 343//23 338//23
-f 339//24 344//24 345//24
-s 23
-f 346//661 344//659 339//654 340//655
-s off
-f 340//25 347//25 346//25
-f 348//26 347//26 340//26 341//26
-g hull
-s 23
-f 348//663 346//661 347//662
-f 346//661 348//663 350//665 349//664
-g rig
-s off
-f 330//27 331//27 337//27
-f 332//28 333//28 337//28 331//28
-f 336//29 335//29 348//29 341//29
-g hull
-s 23
-f 330//645 342//657 344//659 346//661 303//618 300//615
-f 349//664 305//620 303//618 346//661
-f 351//666 352//667 353//668 350//665
-f 350//665 353//668 354//669 349//664
-f 349//664 354//669 307//622 305//620
-f 307//622 354//669 355//670
-g rig
-f 307//622 356//671 357//672 308//623
-f 310//625 358//673 359//674 311//626
-f 313//628 360//675 361//676 314//629
-g hull
-f 362//677 310//625 308//623 363//678
-f 313//628 311//626 365//680 364//679
-f 314//629 367//682 366//681
-g rig
-f 360//675 368//683 371//686 361//676
-g hull
-f 353//668 352//667 373//688 372//687
-f 373//688 374//689 372//687
-f 374//689 375//690 372//687
-f 374//689 376//691 375//690
-g rig
-s off
-f 355//30 356//30 307//30
-f 353//31 369//31 370//31 354//31
-f 308//32 357//32 363//32
-f 358//33 362//33 363//33 357//33
-f 310//34 362//34 358//34
-f 360//35 313//35 364//35
-f 539//36 540//36 369//36 353//36 372//36 368//36
-f 367//37 314//37 361//37
-f 371//38 366//38 367//38 361//38
-f 368//39 372//39 366//39 371//39
-f 311//40 359//40 365//40
-f 360//41 364//41 365//41 359//41
-g hull
-s 23
-f 314//629 366//681 377//692 316//631
-f 378//693 377//692 366//681 372//687
-f 377//692 378//693 379//694
-f 377//692 379//694 381//696 380//695
-f 381//696 382//697 380//695
-f 380//695 382//697 384//699 383//698
-f 380//695 383//698 320//635 318//633
-f 380//695 318//633 316//631 377//692
-g rig
-f 379//694 378//693 386//701 385//700
-f 386//701 392//707 391//706
-f 387//702 388//703 382//697 381//696
-g hull
-f 378//693 394//709 393//708
-f 375//690 376//691 395//710 394//709
-f 397//712 396//711 381//696 379//694
-f 395//710 376//691 399//714 398//713
-f 399//714 400//715 398//713
-g rig
-s off
-f 386//42 378//42 393//42
-f 381//43 396//43 387//43
-f 385//44 397//44 379//44
-f 397//45 385//45 387//45 396//45
-f 394//46 392//46 386//46 393//46
-f 395//47 391//47 392//47 394//47
-f 391//48 395//48 398//48 390//48
-f 401//49 389//49 390//49 398//49
-f 388//50 389//50 401//50 402//50
-f 388//51 402//51 382//51
-g hull
-s 23
-f 394//709 378//693 372//687 375//690
-f 402//717 401//716 384//699 382//697
-f 398//713 403//718 384//699 401//716
-f 403//718 398//713 400//715 404//719
-f 403//718 404//719 406//721 405//720
-f 406//721 404//719 408//723 407//722
-s 45
-f 407//1056 408//1057 410//1059 409//1058
-f 411//1060 412//1061 409//1058
-s 23
-f 407//722 412//727 413//728 406//721
-f 406//721 413//728 414//729 405//720
-s 45
-f 411//1060 409//1058 416//1063 415//1062
-f 415//1062 416//1063 418//1065 417//1064
-f 417//1064 418//1065 420//1067 419//1066
-f 419//1066 420//1067 422//1069 421//1068
-f 421//1068 422//1069 424//1071 423//1070
-s 23
-f 421//733 423//734 425//735 419//732
-f 419//732 425//735 427//737 426//736
-f 426//736 427//737 429//739 428//738
-f 431//741 430//740 433//743 432//742
-f 431//741 432//742 435//745 434//744
-f 434//744 435//745 414//729 413//728
-f 415//730 434//744 413//728 412//727 411//726
-f 428//738 415//730 417//731 426//736
-f 417//731 419//732 426//736
-f 384//699 436//746 437//747 383//698
-f 383//698 437//747 438//748 320//635
-f 438//748 439//749 320//635
-f 428//738 429//739 430//740 431//741
-f 431//741 434//744 415//730 428//738
-f 535//799 244//564 239//563 439//749
-f 319//634 320//635 439//749 239//563
-g aft
-f 440//750 403//718 405//720 441//751
-f 441//751 405//720 414//729 442//752
-f 442//752 414//729 435//745 443//753
-f 443//753 435//745 432//742 444//754
-f 447//756 446//755 448//757 444//754
-f 444//754 448//757 449//758 443//753
-f 443//753 449//758 450//759 442//752
-f 442//752 450//759 451//760 441//751
-f 441//751 451//760 452//761 440//750
-f 440//750 452//761 454//763 453//762
-f 440//750 453//762 384//699 403//718
-s 51
-f 384//1094 453//1099 455//1101 436//1095
-f 456//1102 455//1101 453//1099 454//1100
-g windows
-f 456//1102 454//1100 452//1098 451//1097
-f 456//1102 451//1097 450//1096 457//1103
-s 30
-f 457//929 450//928 449//927 458//930
-f 458//930 449//927 448//926 459//931
-f 459//931 448//926 446//925 460//932
-g aft
-f 459//931 460//932 462//934 461//933
-f 461//933 463//935 459//931
-f 459//931 463//935 464//936 458//930
-f 464//936 465//937 458//930
-s 51
-f 466//1104 455//1101 456//1102 457//1103
-s 49
-f 436//1110 455//1114 467//1115 437//1111
-s 51
-f 467//1105 455//1101 466//1104 468//1106
-f 469//1107 467//1105 468//1106 471//1109 470//1108
-s 49
-f 437//1111 467//1115 469//1116 438//1112
-f 469//1116 470//1117 439//1113 438//1112
-g hull
-s 23
-f 244//564 535//799 485//764
-s 30
-f 473//943 472//942 475//945 474//944
-g aft
-f 465//937 464//936 477//947 476//946
-f 476//946 477//947 242//921 243//922
-g hull
-f 479//949 478//948 481//951 480//950
-g aft
-f 463//935 461//933 483//953 482//952
-f 466//938 484//954 485//955 468//939
-f 457//929 484//954 466//938
-f 457//929 458//930 465//937 484//954
-f 482//952 483//953 240//919 241//920
-s off
-f 464//52 463//52 478//52 479//52
-s 56
-f 463//1119 482//1122 481//1121 478//1120
-f 241//1118 481//1121 482//1122
-g hull
-s 30
-f 481//951 241//920 242//921 480//950
-g aft
-s 55
-f 477//1125 464//1124 479//1126 480//1127
-s 54
-f 476//1132 243//1128 475//1131
-f 472//1130 465//1129 476//1132 475//1131
-s 30
-f 484//954 465//937 472//942 473//943
-g hull
-f 475//945 243//922 244//923 474//944
-s 53
-f 244//1133 485//1137 474//1135
-g aft
-f 485//1137 484//1136 473//1134 474//1135
-g keel
-s 22
-f 486//1026 245//1021 229//1020 534//1027
-g aft
-s 31
-f 486//1141 534//1143 231//1138 461//1139 462//1140
-f 487//1142 461//1139 231//1138
-g hull
-s 30
-f 231//910 232//911 488//957 487//956
-g aft
-s 57
-f 483//1150 488//1152 240//1148
-g hull
-s 30
-f 488//957 232//911 230//909 240//919
-s 45
-f 422//1069 489//1073 424//1071
-f 489//1073 422//1069 420//1067 490//1074
-f 490//1074 420//1067 418//1065 491//1075
-f 491//1075 418//1065 416//1063 492//1076
-f 492//1076 416//1063 409//1058 445//1072
-f 445//1072 409//1058 494//1078 493//1077
-g deck
-s 58
-f 493//1153 494//1154 495//1155 497//1157 496//1156
-s off
-f 497//53 495//53 499//53 498//53
-f 498//54 500//54 497//54
-s 59
-f 497//1162 500//1163 501//1164 496//1161
-s 60
-f 499//1168 502//1171 503//1172 498//1167
-f 500//1169 498//1167 503//1172 504//1173 501//1170
-g hull
-s 44
-f 408//1183 404//1182 505//1185 410//1184
-f 505//1185 404//1182 400//1181 506//1186
-f 506//1186 400//1181 399//1180 507//1187
-f 507//1187 399//1180 376//1179 508//1188
-s 23
-f 508//772 376//691 374//689 509//773
-f 509//773 374//689 373//688 510//774
-f 511//775 352//667 351//666 512//776
-f 512//776 351//666 514//778 513//777
-f 513//777 514//778 516//780 515//779
-f 270//585 271//586 518//782 517//781 520//784 519//783
-g deck
-s off
-f 502//55 521//55 522//55 503//55
-f 522//56 523//56 503//56
-s 23
-f 525//789 524//788 523//787 522//786
-f 525//789 522//786 521//785 527//791 526//790
-f 528//792 526//790 527//791 530//794 529//793
-f 529//793 530//794 532//796 531//795
-s off
-f 292//57 529//57 531//57
-s 23
-f 528//792 529//793 292//607 293//608
-f 287//602 288//603 533//797 284//599
-f 283//598 284//599 533//797 281//596 282//597
-g hull
-f 352//667 511//775 510//774 373//688
-f 495//766 410//725 505//769
-f 505//769 506//770 499//767 495//766
-f 507//771 499//767 506//770
-f 508//772 502//768 499//767 507//771
-f 502//768 508//772 509//773 521//785
-f 510//774 521//785 509//773
-f 410//725 495//766 494//765 409//724
-g deck
-s 61
-f 523//1191 524//1192 504//1190 503//1189
-g hull
-s 23
-f 527//791 511//775 512//776 530//794
-f 521//785 510//774 511//775 527//791
-f 512//776 513//777 532//796 530//794
-f 517//781 518//782 515//779 516//780
-f 532//796 513//777 515//779 291//606
-g deck
-s off
-f 292//58 531//58 532//58 291//58
-g hull
-s 23
-f 518//782 291//606 515//779
-f 290//605 291//606 518//782 271//586
-f 167//497 151//481 152//482 168//498
-f 168//498 152//482 153//483 169//499
-f 169//499 153//483 154//484 170//500
-f 170//500 154//484 155//485 171//501
-f 171//501 155//485 156//486 172//502
-f 172//502 156//486 157//487 173//503
-f 173//503 157//487 158//488 174//504
-f 174//504 158//488 159//489 175//505
-f 175//505 159//489 160//490 176//506
-f 176//506 160//490 161//491 177//507
-f 177//507 161//491 162//492 178//508
-f 178//508 162//492 163//493 179//509
-f 163//493 164//494 179//509
-f 180//510 167//497 168//498 181//511
-f 181//511 168//498 169//499 182//512
-f 182//512 169//499 170//500 183//513
-f 183//513 170//500 171//501 184//514
-f 184//514 171//501 172//502 185//515
-f 185//515 172//502 173//503 186//516
-f 186//516 173//503 174//504 187//517
-f 187//517 174//504 175//505 188//518
-f 188//518 175//505 176//506 189//519
-f 189//519 176//506 177//507 190//520
-f 190//520 177//507 178//508 191//521
-f 191//521 178//508 179//509 192//522
-f 192//522 179//509 164//494 193//523
-f 194//524 180//510 181//511 195//525
-f 195//525 181//511 182//512 196//526
-f 196//526 182//512 183//513 197//527
-f 197//527 183//513 184//514 198//528
-f 198//528 184//514 185//515 199//529
-f 199//529 185//515 186//516 200//530
-f 200//530 186//516 187//517 201//531
-f 201//531 187//517 188//518 202//532
-f 202//532 188//518 189//519 203//533
-f 203//533 189//519 190//520 204//534
-f 204//534 190//520 191//521 205//535
-f 205//535 191//521 192//522 206//536
-f 206//536 192//522 193//523 207//537
-f 208//538 194//524 195//525 209//539
-f 209//539 195//525 196//526 210//540
-f 210//540 196//526 197//527 211//541
-f 211//541 197//527 198//528 212//542
-f 212//542 198//528 199//529 213//543
-f 213//543 199//529 200//530 214//544
-f 214//544 200//530 201//531 215//545
-f 215//545 201//531 202//532 216//546
-f 216//546 202//532 203//533 217//547
-f 217//547 203//533 204//534 218//548
-f 218//548 204//534 205//535 219//549
-f 219//549 205//535 206//536 220//550
-f 220//550 206//536 207//537 221//551
-f 239//563 208//538 209//539 319//634
-f 319//634 209//539 210//540 317//632
-f 317//632 210//540 211//541 315//630
-f 315//630 211//541 212//542 312//627
-f 312//627 212//542 213//543 309//624
-f 309//624 213//543 214//544 306//621
-f 306//621 214//544 215//545 304//619
-f 304//619 215//545 216//546 302//617
-f 302//617 216//546 217//547 301//616
-f 301//616 217//547 218//548 298//613
-f 298//613 218//548 219//549 296//611
-f 296//611 219//549 220//550 294//609
-f 294//609 220//550 221//551 254//569
-f 348//663 335//650 516//780 514//778
-f 519//783 520//784 327//642 325//640
-f 326//641 266//581 270//585
-f 517//781 335//650 327//642 520//784
-f 266//581 326//641 322//637 264//579
-f 279//594 275//590 149//479 278//593
-f 277//592 278//593 149//479 150//480
-g aft
-f 432//742 433//743 447//756 444//754
-g hull
-s 33
-f 265//1054 536//1055 264//1053
-s 23
-f 514//778 351//666 350//665 348//663
-g keel
-s 21
-f 123//406 124//407 125//408 126//409
-g aft
-s 55
-f 477//1125 480//1127 242//1123
-g hull
-s 23
-f 519//783 325//640 326//641 270//585
-f 289//604 272//587 273//588 288//603
-f 271//586 272//587 289//604 290//605
-g deck
-f 288//603 281//596 533//797
-g hull
-f 517//781 516//780 335//650
-g rig
-f 370//685 369//684 357//672 356//671
-f 357//672 369//684 540//804 358//673
-s off
-f 356//59 355//59 354//59 370//59
-g aft
-s 57
-f 487//1151 488//1152 483//1150 461//1149
-s 30
-f 439//924 470//940 471//941 535//958
-f 471//941 468//939 485//955 535//958
-g hull
-s 23
-f 267//582 266//581 536//800 537//801
-f 268//583 267//582 537//801 538//802
-f 269//584 268//583 538//802 257//572
-f 266//581 264//579 536//800
-s 45
-f 407//1056 409//1058 412//1061
-g rig
-s 23
-f 368//683 360//675 359//674 539//803
-f 539//803 359//674 358//673 540//804
-f 341//656 340//655 336//651
-f 336//651 340//655 339//654 338//653 337//652 334//649
-f 390//705 388//703 387//702 385//700 386//701 391//706
-f 389//704 388//703 390//705
-g mast1
-s 63
-f 555//1197 556//1198 542//1196 541//1195
-s 64
-f 556//1213 557//1214 543//1212 542//1211
-s 65
-f 557//1229 558//1230 544//1228 543//1227
-s 66
-f 558//1245 559//1246 545//1244 544//1243
-s 67
-f 559//1263 560//1264 546//1260 545//1259
-f 560//1264 561//1265 547//1261 546//1260
-f 561//1265 562//1266 548//1262 547//1261
-s 68
-f 562//1301 563//1302 549//1300 548//1299
-s 69
-f 563//1317 564//1318 550//1316 549//1315
-s 70
-f 564//1333 565//1334 551//1332 550//1331
-s 71
-f 565//1349 566//1350 552//1348 551//1347
-s 72
-f 566//1365 567//1366 553//1364 552//1363
-s 73
-f 567//1381 568//1382 554//1380 553//1379
-s 63
-f 587//1203 588//1204 574//1202 573//1201
-s 64
-f 588//1217 589//1218 575//1216 574//1215
-s 65
-f 589//1233 590//1234 576//1232 575//1231
-s 66
-f 590//1249 591//1250 577//1248 576//1247
-s 67
-f 591//1271 592//1272 578//1268 577//1267
-f 592//1272 593//1273 579//1269 578//1268
-f 593//1273 594//1274 580//1270 579//1269
-s 68
-f 594//1305 595//1306 581//1304 580//1303
-s 69
-f 595//1321 596//1322 582//1320 581//1319
-s 70
-f 596//1337 597//1338 583//1336 582//1335
-s 71
-f 597//1353 598//1354 584//1352 583//1351
-s 72
-f 598//1369 599//1370 585//1368 584//1367
-s 73
-f 599//1387 600//1388 586//1386 585//1385
-s 63
-f 601//1205 602//1206 588//1204 587//1203
-s 64
-f 602//1219 603//1220 589//1218 588//1217
-s 65
-f 603//1235 604//1236 590//1234 589//1233
-s 66
-f 604//1251 605//1252 591//1250 590//1249
-s 67
-f 605//1275 606//1276 592//1272 591//1271
-f 606//1276 630//1284 607//1277 593//1273 592//1272
-f 607//1277 608//1278 594//1274 593//1273
-s 68
-f 608//1307 609//1308 595//1306 594//1305
-s 69
-f 609//1323 610//1324 596//1322 595//1321
-s 70
-f 610//1339 611//1340 597//1338 596//1337
-s 71
-f 611//1355 612//1356 598//1354 597//1353
-s 72
-f 612//1371 613//1372 599//1370 598//1369
-s 73
-f 613//1389 614//1390 600//1388 599//1387
-s 63
-f 615//1207 616//1208 602//1206 601//1205
-s 64
-f 616//1221 617//1222 603//1220 602//1219
-s 65
-f 617//1237 618//1238 604//1236 603//1235
-s 66
-f 618//1253 619//1254 605//1252 604//1251
-s 67
-f 619//1279 620//1280 632//1286 606//1276 605//1275
-f 629//1283 621//1281 607//1277 630//1284 631//1285
-f 621//1281 622//1282 608//1278 607//1277
-s 68
-f 622//1309 623//1310 609//1308 608//1307
-s 69
-f 623//1325 624//1326 610//1324 609//1323
-s 70
-f 624//1341 625//1342 611//1340 610//1339
-s 71
-f 625//1357 626//1358 612//1356 611//1355
-s 72
-f 626//1373 627//1374 613//1372 612//1371
-s 73
-f 627//1391 628//1392 614//1390 613//1389
-s 63
-f 541//1195 542//1196 616//1208 615//1207
-s 64
-f 542//1211 543//1212 617//1222 616//1221
-s 65
-f 543//1227 544//1228 618//1238 617//1237
-s 66
-f 544//1243 545//1244 619//1254 618//1253
-s 67
-f 545//1259 546//1260 620//1280 619//1279
-f 546//1260 547//1261 621//1281 629//1283 620//1280
-f 547//1261 548//1262 622//1282 621//1281
-s 68
-f 548//1299 549//1300 623//1310 622//1309
-s 69
-f 549//1315 550//1316 624//1326 623//1325
-s 70
-f 550//1331 551//1332 625//1342 624//1341
-s 71
-f 551//1347 552//1348 626//1358 625//1357
-s 72
-f 552//1363 553//1364 627//1374 626//1373
-s 73
-f 553//1379 554//1380 628//1392 627//1391
-s off
-f 601//60 587//60 573//60 571//60 569//60 555//60 541//60 615//60
-f 570//61 572//61 586//61 600//61 614//61 628//61 554//61 568//61
-f 638//62 637//62 640//62 639//62
-f 634//63 633//63 636//63 635//63
-f 633//64 634//64 632//64 620//64
-f 634//65 635//65 631//65 632//65
-f 635//66 636//66 629//66 631//66
-f 636//67 633//67 620//67 629//67
-f 637//68 638//68 630//68 606//68
-f 638//69 639//69 631//69 630//69
-f 639//70 640//70 632//70 631//70
-f 640//71 637//71 606//71 632//71
-g mast3
-s 83
-f 655//1397 656//1398 642//1396 641//1395
-s 84
-f 656//1413 657//1414 643//1412 642//1411
-s 85
-f 657//1429 658//1430 644//1428 643//1427
-s 86
-f 658//1445 659//1446 645//1444 644//1443
-s 87
-f 659//1463 660//1464 646//1460 645//1459
-f 660//1464 661//1465 647//1461 646//1460
-f 661//1465 662//1466 648//1462 647//1461
-s 88
-f 662//1501 663//1502 649//1500 648//1499
-s 89
-f 663//1517 664//1518 650//1516 649//1515
-s 90
-f 664//1533 665//1534 651//1532 650//1531
-s 91
-f 665//1549 666//1550 652//1548 651//1547
-s 92
-f 666//1565 667//1566 653//1564 652//1563
-s 93
-f 667//1581 668//1582 654//1580 653//1579
-s 83
-f 687//1403 688//1404 674//1402 673//1401
-s 84
-f 688//1417 689//1418 675//1416 674//1415
-s 85
-f 689//1433 690//1434 676//1432 675//1431
-s 86
-f 690//1449 691//1450 677//1448 676//1447
-s 87
-f 691//1471 692//1472 678//1468 677//1467
-f 692//1472 693//1473 679//1469 678//1468
-f 693//1473 694//1474 680//1470 679//1469
-s 88
-f 694//1505 695//1506 681//1504 680//1503
-s 89
-f 695//1521 696//1522 682//1520 681//1519
-s 90
-f 696//1537 697//1538 683//1536 682//1535
-s 91
-f 697//1553 698//1554 684//1552 683//1551
-s 92
-f 698//1569 699//1570 685//1568 684//1567
-s 93
-f 699//1587 700//1588 686//1586 685//1585
-s 83
-f 701//1405 702//1406 688//1404 687//1403
-s 84
-f 702//1419 703//1420 689//1418 688//1417
-s 85
-f 703//1435 704//1436 690//1434 689//1433
-s 86
-f 704//1451 705//1452 691//1450 690//1449
-s 87
-f 705//1475 706//1476 692//1472 691//1471
-f 706//1476 730//1484 707//1477 693//1473 692//1472
-f 707//1477 708//1478 694//1474 693//1473
-s 88
-f 708//1507 709//1508 695//1506 694//1505
-s 89
-f 709//1523 710//1524 696//1522 695//1521
-s 90
-f 710//1539 711//1540 697//1538 696//1537
-s 91
-f 711//1555 712//1556 698//1554 697//1553
-s 92
-f 712//1571 713//1572 699//1570 698//1569
-s 93
-f 713//1589 714//1590 700//1588 699//1587
-s 83
-f 715//1407 716//1408 702//1406 701//1405
-s 84
-f 716//1421 717//1422 703//1420 702//1419
-s 85
-f 717//1437 718//1438 704//1436 703//1435
-s 86
-f 718//1453 719//1454 705//1452 704//1451
-s 87
-f 719//1479 720//1480 732//1486 706//1476 705//1475
-f 729//1483 721//1481 707//1477 730//1484 731//1485
-f 721//1481 722//1482 708//1478 707//1477
-s 88
-f 722//1509 723//1510 709//1508 708//1507
-s 89
-f 723//1525 724//1526 710//1524 709//1523
-s 90
-f 724//1541 725//1542 711//1540 710//1539
-s 91
-f 725//1557 726//1558 712//1556 711//1555
-s 92
-f 726//1573 727//1574 713//1572 712//1571
-s 93
-f 727//1591 728//1592 714//1590 713//1589
-s 83
-f 641//1395 642//1396 716//1408 715//1407
-s 84
-f 642//1411 643//1412 717//1422 716//1421
-s 85
-f 643//1427 644//1428 718//1438 717//1437
-s 86
-f 644//1443 645//1444 719//1454 718//1453
-s 87
-f 645//1459 646//1460 720//1480 719//1479
-f 646//1460 647//1461 721//1481 729//1483 720//1480
-f 647//1461 648//1462 722//1482 721//1481
-s 88
-f 648//1499 649//1500 723//1510 722//1509
-s 89
-f 649//1515 650//1516 724//1526 723//1525
-s 90
-f 650//1531 651//1532 725//1542 724//1541
-s 91
-f 651//1547 652//1548 726//1558 725//1557
-s 92
-f 652//1563 653//1564 727//1574 726//1573
-s 93
-f 653//1579 654//1580 728//1592 727//1591
-s off
-f 701//72 687//72 673//72 671//72 669//72 655//72 641//72 715//72
-f 670//73 672//73 686//73 700//73 714//73 728//73 654//73 668//73
-f 738//74 737//74 740//74 739//74
-f 734//75 733//75 736//75 735//75
-f 733//76 734//76 732//76 720//76
-f 734//77 735//77 731//77 732//77
-f 735//78 736//78 729//78 731//78
-f 736//79 733//79 720//79 729//79
-f 737//80 738//80 730//80 706//80
-f 738//81 739//81 731//81 730//81
-f 739//82 740//82 732//82 731//82
-f 740//83 737//83 706//83 732//83
-g lamp
-s 104
-f 752//1597 753//1598 743//1596 742//1595
-s 105
-f 753//1613 754//1614 744//1612 743//1611
-s 106
-f 754//1630 755//1631 745//1628 744//1627
-f 755//1631 756//1632 746//1629 745//1628
-s 107
-f 756//1653 757//1654 747//1652 746//1651
-s 108
-f 757//1669 758//1670 748//1668 747//1667
-s 109
-f 758//1685 759//1686 749//1684 748//1683
-s 110
-f 759//1701 760//1702 750//1700 749//1699
-s 103
-f 760//1718 761//1719 751//1717 750//1716
-f 761//1719 741//1715 751//1717
-s 104
-f 762//1599 763//1600 753//1598 752//1597
-s 105
-f 763//1615 764//1616 754//1614 753//1613
-s 106
-f 764//1633 765//1634 755//1631 754//1630
-f 765//1634 766//1635 756//1632 755//1631
-s 107
-f 766//1655 767//1656 757//1654 756//1653
-s 108
-f 767//1671 768//1672 758//1670 757//1669
-s 109
-f 768//1687 769//1688 759//1686 758//1685
-s 110
-f 769//1703 770//1704 760//1702 759//1701
-s 103
-f 770//1720 771//1721 761//1719 760//1718
-f 771//1721 741//1715 761//1719
-s 104
-f 772//1601 773//1602 763//1600 762//1599
-s 105
-f 773//1617 774//1618 764//1616 763//1615
-s 106
-f 774//1636 775//1637 765//1634 764//1633
-f 775//1637 776//1638 766//1635 765//1634
-s 107
-f 776//1657 777//1658 767//1656 766//1655
-s 108
-f 777//1673 778//1674 768//1672 767//1671
-s 109
-f 778//1689 779//1690 769//1688 768//1687
-s 110
-f 779//1705 780//1706 770//1704 769//1703
-s 103
-f 780//1722 781//1723 771//1721 770//1720
-f 781//1723 741//1715 771//1721
-s 104
-f 782//1603 783//1604 773//1602 772//1601
-s 105
-f 783//1619 784//1620 774//1618 773//1617
-s 106
-f 784//1639 785//1640 775//1637 774//1636
-f 785//1640 786//1641 776//1638 775//1637
-s 107
-f 786//1659 787//1660 777//1658 776//1657
-s 108
-f 787//1675 788//1676 778//1674 777//1673
-s 109
-f 788//1691 789//1692 779//1690 778//1689
-s 110
-f 789//1707 790//1708 780//1706 779//1705
-s 103
-f 790//1724 791//1725 781//1723 780//1722
-f 791//1725 741//1715 781//1723
-s 104
-f 792//1605 793//1606 783//1604 782//1603
-s 105
-f 793//1621 794//1622 784//1620 783//1619
-s 106
-f 794//1642 795//1643 785//1640 784//1639
-f 795//1643 796//1644 786//1641 785//1640
-s 107
-f 796//1661 797//1662 787//1660 786//1659
-s 108
-f 797//1677 798//1678 788//1676 787//1675
-s 109
-f 798//1693 799//1694 789//1692 788//1691
-s 110
-f 799//1709 800//1710 790//1708 789//1707
-s 103
-f 800//1726 801//1727 791//1725 790//1724
-f 801//1727 741//1715 791//1725
-s 104
-f 802//1607 803//1608 793//1606 792//1605
-s 105
-f 803//1623 804//1624 794//1622 793//1621
-s 106
-f 804//1645 805//1646 795//1643 794//1642
-f 805//1646 806//1647 796//1644 795//1643
-s 107
-f 806//1663 807//1664 797//1662 796//1661
-s 108
-f 807//1679 808//1680 798//1678 797//1677
-s 109
-f 808//1695 809//1696 799//1694 798//1693
-s 110
-f 809//1711 810//1712 800//1710 799//1709
-s 103
-f 810//1728 811//1729 801//1727 800//1726
-f 811//1729 741//1715 801//1727
-s 104
-f 812//1609 813//1610 803//1608 802//1607
-s 105
-f 813//1625 814//1626 804//1624 803//1623
-s 106
-f 814//1648 815//1649 805//1646 804//1645
-f 815//1649 816//1650 806//1647 805//1646
-s 107
-f 816//1665 817//1666 807//1664 806//1663
-s 108
-f 817//1681 818//1682 808//1680 807//1679
-s 109
-f 818//1697 819//1698 809//1696 808//1695
-s 110
-f 819//1713 820//1714 810//1712 809//1711
-s 103
-f 820//1730 821//1731 811//1729 810//1728
-f 821//1731 741//1715 811//1729
-s 104
-f 742//1595 743//1596 813//1610 812//1609
-s 105
-f 743//1611 744//1612 814//1626 813//1625
-s 106
-f 744//1627 745//1628 815//1649 814//1648
-f 745//1628 746//1629 816//1650 815//1649
-s 107
-f 746//1651 747//1652 817//1666 816//1665
-s 108
-f 747//1667 748//1668 818//1682 817//1681
-s 109
-f 748//1683 749//1684 819//1698 818//1697
-s 110
-f 749//1699 750//1700 820//1714 819//1713
-s 103
-f 750//1716 751//1717 821//1731 820//1730
-f 751//1717 741//1715 821//1731
-s off
-f 802//84 792//84 782//84 772//84 762//84 752//84 742//84 812//84
-g foremast
-s 112
-f 825//1735 824//1734 822//1732 823//1733
-f 827//1737 826//1736 824//1734 825//1735
-f 829//1739 828//1738 826//1736 827//1737
-f 831//1741 830//1740 828//1738 829//1739
-f 833//1743 832//1742 830//1740 831//1741
-f 835//1745 834//1744 832//1742 833//1743
-f 837//1747 836//1746 834//1744 835//1745
-f 823//1733 822//1732 836//1746 837//1747
-s off
-f 824//85 826//85 828//85 830//85 832//85 834//85 836//85 822//85
-f 837//86 835//86 833//86 831//86 829//86 827//86 825//86 823//86
-g keel
-s 21
-f 839//429 838//428 107//390 108//391
-f 840//430 112//395 107//390 838//428
-f 841//431 114//397 112//395 840//430
-f 842//432 116//399 114//397 841//431
-f 843//433 118//401 116//399 842//432
-f 844//434 120//403 118//401 843//433
-f 845//435 122//405 120//403 844//434
-f 846//436 124//407 122//405 845//435
-f 128//411 125//408 848//438 847//437
-f 849//439 130//413 128//411 847//437
-f 850//440 132//415 130//413 849//439
-f 851//441 134//417 132//415 850//440
-f 852//442 136//419 134//417 851//441
-f 853//443 138//421 136//419 852//442
-f 854//444 140//423 138//421 853//443
-f 855//445 142//425 140//423 854//444
-g hull
-f 856//446 144//427 142//425 855//445
-s 25
-f 857//452 146//450 144//448 856//451
-s 26
-f 858//458 148//456 146//454 857//457
-s 23
-f 859//806 150//480 148//478 858//805
-g keel
-s 113
-f 861//1767 840//1750 838//1748 860//1766
-f 862//1768 841//1751 840//1750 861//1767
-f 863//1769 842//1752 841//1751 862//1768
-f 864//1770 843//1753 842//1752 863//1769
-f 865//1771 844//1754 843//1753 864//1770
-f 866//1772 845//1755 844//1754 865//1771
-f 867//1773 846//1756 845//1755 866//1772
-f 868//1774 848//1758 846//1756 867//1773
-f 869//1775 847//1757 848//1758 868//1774
-f 870//1776 849//1759 847//1757 869//1775
-f 871//1777 850//1760 849//1759 870//1776
-f 872//1778 851//1761 850//1760 871//1777
-f 873//1779 852//1762 851//1761 872//1778
-f 874//1780 853//1763 852//1762 873//1779
-f 875//1781 854//1764 853//1763 874//1780
-f 875//1781 855//1765 854//1764
-f 838//1748 839//1749 876//1782 860//1766
-f 878//1784 877//1783 860//1766 876//1782
-f 880//1786 879//1785 877//1783 878//1784
-f 882//1788 881//1787 879//1785 880//1786
-f 884//1790 883//1789 881//1787 882//1788
-f 887//1793 886//1792 883//1789 884//1790 885//1791
-g hull
-s 30
-f 889//967 888//966 860//959 877//960
-f 891//969 890//968 888//966 889//967
-f 891//969 892//970 890//968
-f 891//969 894//972 893//971 892//970
-f 889//967 895//973 894//972 891//969
-f 877//960 879//961 895//973 889//967
-f 896//974 895//973 879//961 881//962
-f 897//975 894//972 895//973 896//974
-f 898//976 893//971 894//972 897//975
-f 899//977 896//974 881//962 883//963
-f 899//977 900//978 896//974
-f 897//975 896//974 900//978 901//979
-f 901//979 902//980 897//975
-f 898//976 897//975 902//980 903//981
-g keel
-s 22
-f 882//1032 246//1022 245//1021 884//1033
-f 878//1030 248//1024 247//1023 880//1031
-f 876//1029 249//1025 248//1024 878//1030
-f 839//1028 108//1014 249//1025 876//1029
-f 880//1031 247//1023 246//1022 882//1032
-g hull
-s 113
-f 905//1801 874//1780 873//1779 904//1800
-f 906//1802 875//1781 874//1780 905//1801
-f 906//1802 855//1765 875//1781
-f 905//1801 907//1803 906//1802
-f 904//1800 908//1804 907//1803 905//1801
-f 910//1806 907//1803 908//1804 909//1805
-f 912//1808 911//1807 910//1806 909//1805
-s 115
-f 906//2021 914//2026 913//2025 855//2017
-f 907//2022 915//2027 914//2026 906//2021
-f 910//2023 916//2028 915//2027 907//2022
-f 913//2025 856//2018 855//2017
-f 913//2025 857//2019 856//2018
-s 113
-f 918//1814 917//1813 911//1807 912//1808
-f 920//1816 919//1815 917//1813 918//1814
-s 120
-f 922//2036 921//2035 919//2033 920//2034
-s 113
-f 924//1820 916//1812 921//1817 923//1819
-s 115
-f 921//2031 916//2028 910//2023 911//2024 917//2029 919//2030
-s 113
-f 925//1821 915//1811 916//1812 924//1820
-f 925//1821 914//1810 915//1811
-s 23
-f 929//810 928//809 927//808 926//807
-f 931//812 930//811 928//809 929//810
-f 933//814 932//813 930//811 931//812
-f 935//816 934//815 932//813 933//814
-f 859//806 858//805 936//817
-s 115
-f 913//2025 936//2032 858//2020 857//2019
-s 113
-f 914//1810 934//1829 936//1830 913//1809
-s 23
-f 935//816 859//806 936//817 934//815
-g deck
-s off
-f 937//87 277//87 278//87
-s 23
-f 938//819 282//597 280//595 937//818
-f 940//821 286//601 283//598 939//820
-s off
-f 939//88 941//88 940//88
-s 23
-f 943//824 942//823 941//822
-f 940//821 941//822 942//823 944//825
-f 946//827 293//608 286//601 940//821 944//825 945//826
-g hull
-f 933//814 938//819 937//818 935//816
-f 938//819 933//814 931//812 943//824
-s 113
-f 948//1836 947//1835 918//1814 912//1808
-f 950//1838 949//1837 947//1835 948//1836
-f 952//1840 951//1839 949//1837 950//1838
-f 956//1844 955//1843 954//1842 953//1841
-f 958//1846 957//1845 955//1843 956//1844
-f 960//1848 959//1847 957//1845 958//1846
-f 960//1848 961//1849 959//1847
-f 963//1851 962//1850 961//1849 960//1848
-f 963//1851 964//1852 962//1850
-f 966//1854 965//1853 964//1852 963//1851
-f 966//1854 967//1855 965//1853
-f 969//1857 968//1856 967//1855 966//1854
-f 971//1859 970//1858 968//1856 969//1857
-f 973//1861 972//1860 970//1858 971//1859
-f 954//1842 951//1839 952//1840 953//1841
-f 947//1835 974//1862 920//1816 918//1814
-f 922//1818 920//1816 974//1862 975//1863
-f 976//1864 974//1862 947//1835 949//1837
-f 977//1865 975//1863 974//1862 976//1864
-f 979//1867 978//1866 975//1863 977//1865
-f 976//1864 981//1869 980//1868 977//1865
-f 949//1837 951//1839 981//1869 976//1864
-f 982//1870 981//1869 951//1839 954//1842
-f 983//1871 980//1868 981//1869 982//1870
-f 983//1871 984//1872 980//1868
-f 984//1872 979//1867 977//1865 980//1868
-f 984//1872 985//1873 979//1867
-g rig
-s off
-f 987//89 986//89 985//89 984//89
-f 989//90 988//90 985//90 986//90
-s 113
-f 986//1874 987//1875 990//1878
-f 982//1870 992//1880 991//1879 990//1878
-s off
-f 993//91 991//91 992//91
-g hull
-s 113
-f 995//1883 994//1882 993//1881 992//1880
-g rig
-s off
-f 991//92 993//92 994//92 996//92
-f 994//93 995//93 996//93
-s 113
-f 998//1886 996//1884 995//1883 997//1885
-s off
-f 997//94 999//94 998//94
-f 1001//95 998//95 999//95 1000//95
-g hull
-s 23
-f 999//829 997//828 1000//830
-f 1003//832 1002//831 1000//830 997//828
-g rig
-s off
-f 990//96 983//96 982//96
-f 983//97 990//97 987//97 984//97
-f 1001//98 1000//98 988//98 989//98
-g hull
-s 113
-f 954//1842 955//1843 997//1885 995//1883 992//1880 982//1870
-f 997//1885 955//1843 957//1845 1003//1889
-s 23
-f 1002//831 1006//835 1005//834 1004//833
-f 1003//832 1007//836 1006//835 1002//831
-s 113
-f 957//1845 959//1847 1007//1890 1003//1889
-f 1008//1891 1007//1890 959//1847
-g rig
-f 961//1849 1010//1893 1009//1892 959//1847
-f 964//1852 1012//1895 1011//1894 962//1850
-f 967//1855 1014//1897 1013//1896 965//1853
-g hull
-f 1016//1899 961//1849 962//1850 1015//1898
-f 1018//1901 1017//1900 964//1852 965//1853
-f 1020//1903 1019//1902 967//1855
-g rig
-f 1014//1897 1022//1905 1021//1904 1013//1896
-g hull
-s 23
-f 1024//838 1023//837 1005//834 1006//835
-f 1024//838 1025//839 1023//837
-f 1024//838 1026//840 1025//839
-f 1026//840 1027//841 1025//839
-g rig
-s off
-f 959//99 1009//99 1008//99
-f 1007//100 1029//100 1028//100 1006//100
-f 1016//101 1010//101 961//101
-f 1010//102 1016//102 1015//102 1011//102
-f 1011//103 1015//103 962//103
-f 1018//104 965//104 1013//104
-f 1021//105 1024//105 1006//105 1028//105 1031//105 1030//105
-f 1014//106 967//106 1019//106
-f 1014//107 1019//107 1020//107 1022//107
-f 1022//108 1020//108 1024//108 1021//108
-f 1017//109 1012//109 964//109
-f 1012//110 1017//110 1018//110 1013//110
-g hull
-s 113
-f 968//1856 1032//1911 1020//1903 967//1855
-f 1024//1906 1020//1903 1032//1911 1033//1912
-f 1034//1913 1033//1912 1032//1911
-f 1036//1915 1035//1914 1034//1913 1032//1911
-f 1036//1915 1037//1916 1035//1914
-f 1039//1918 1038//1917 1037//1916 1036//1915
-f 970//1858 972//1860 1039//1918 1036//1915
-f 1032//1911 968//1856 970//1858 1036//1915
-g rig
-f 1041//1920 1040//1919 1033//1912 1034//1913
-f 1043//1922 1042//1921 1040//1919
-f 1035//1914 1037//1916 1045//1924 1044//1923
-g hull
-s 23
-f 1047//844 1046//843 1033//842
-f 1046//843 1048//845 1027//841 1026//840
-s 113
-f 1034//1913 1035//1914 1050//1926 1049//1925
-s 23
-f 1052//847 1051//846 1027//841 1048//845
-f 1052//847 1053//848 1051//846
-g rig
-s off
-f 1047//111 1033//111 1040//111
-f 1044//112 1050//112 1035//112
-f 1034//113 1049//113 1041//113
-f 1050//114 1044//114 1041//114 1049//114
-f 1047//115 1040//115 1042//115 1046//115
-f 1046//116 1042//116 1043//116 1048//116
-f 1054//117 1052//117 1048//117 1043//117
-f 1052//118 1054//118 1056//118 1055//118
-f 1057//119 1055//119 1056//119 1045//119
-f 1037//120 1057//120 1045//120
-g hull
-s 23
-f 1026//840 1024//838 1033//842 1046//843
-s 113
-f 1037//1916 1038//1917 1055//1929 1057//1931
-f 1055//1929 1038//1917 1058//1932 1052//1927
-s 23
-f 1059//850 1053//848 1052//847 1058//849
-f 1061//852 1060//851 1059//850 1058//849
-f 1063//854 1062//853 1059//850 1060//851
-s 45
-f 1065//1082 1064//1081 1062//1079 1063//1080
-f 1065//1082 1067//1084 1066//1083
-s 23
-f 1060//851 1068//857 1067//856 1063//854
-f 1061//852 1069//858 1068//857 1060//851
-s 45
-f 1071//1086 1070//1085 1065//1082 1066//1083
-f 1073//1088 1072//1087 1070//1085 1071//1086
-f 1075//1090 1074//1089 1072//1087 1073//1088
-f 1077//1092 1076//1091 1074//1089 1075//1090
-f 423//1070 424//1071 1076//1091 1077//1092
-s 23
-f 1075//861 425//735 423//734 1077//862
-f 1078//863 427//737 425//735 1075//861
-f 1079//864 429//739 427//737 1078//863
-f 1081//866 433//743 430//740 1080//865
-f 1083//868 1082//867 1081//866 1080//865
-f 1068//857 1069//858 1082//867 1083//868
-f 1066//855 1067//856 1068//857 1083//868 1071//859
-f 1078//863 1073//860 1071//859 1079//864
-f 1078//863 1075//861 1073//860
-s 113
-f 1039//1918 1085//1936 1084//1935 1038//1917
-f 972//1860 1086//1937 1085//1936 1039//1918
-f 972//1860 1087//1938 1086//1937
-s 23
-f 1080//865 430//740 429//739 1079//864
-f 1079//864 1071//859 1083//868 1080//865
-s 113
-f 1087//1938 898//1798 903//1799 1088//1939
-f 898//1798 1087//1938 972//1860 973//1861
-g aft
-s 23
-f 1090//870 1061//852 1058//849 1089//869
-f 1091//871 1069//858 1061//852 1090//870
-f 1092//872 1082//867 1069//858 1091//871
-f 1093//873 1081//866 1082//867 1092//872
-f 1093//873 1094//874 446//755 447//756
-f 1092//872 1095//875 1094//874 1093//873
-f 1091//871 1096//876 1095//875 1092//872
-f 1090//870 1097//877 1096//876 1091//871
-f 1089//869 1098//878 1097//877 1090//870
-s 113
-f 1100//1943 1099//1942 1098//1941 1089//1940
-f 1058//1932 1038//1917 1100//1943 1089//1940
-s 137
-f 1084//2039 1101//2045 1100//2044 1038//2038
-f 1099//2043 1100//2044 1101//2045 1102//2046
-g windows
-f 1097//2041 1098//2042 1099//2043 1102//2046
-f 1103//2047 1096//2040 1097//2041 1102//2046
-s 30
-f 1104//988 1095//985 1096//986 1103//987
-f 1105//989 1094//984 1095//985 1104//988
-f 460//932 446//925 1094//984 1105//989
-g aft
-f 1106//990 462//934 460//932 1105//989
-f 1105//989 1107//991 1106//990
-f 1104//988 1108//992 1107//991 1105//989
-f 1104//988 1109//993 1108//992
-s 137
-f 1103//2047 1102//2046 1101//2045 1110//2048
-s 135
-f 1085//2055 1111//2059 1101//2058 1084//2054
-s 137
-f 1112//2050 1110//2048 1101//2045 1111//2049
-f 1115//2053 1114//2052 1112//2050 1111//2049 1113//2051
-s 135
-f 1086//2056 1113//2060 1111//2059 1085//2055
-f 1086//2056 1087//2057 1115//2061 1113//2060
-g hull
-s 113
-f 1116//1944 1088//1939 903//1799
-s 30
-f 1120//1002 1119//1001 1118//1000 1117//999
-g aft
-f 1122//1004 1121//1003 1108//992 1109//993
-f 902//980 901//979 1121//1003 1122//1004
-g hull
-f 1126//1008 1125//1007 1124//1006 1123//1005
-g aft
-f 1128//1010 1127//1009 1106//990 1107//991
-f 1112//995 1116//998 1129//1011 1110//994
-f 1110//994 1129//1011 1103//987
-f 1129//1011 1109//993 1104//988 1103//987
-f 900//978 899//977 1127//1009 1128//1010
-s off
-f 1123//121 1124//121 1107//121 1108//121
-s 141
-f 1124//2064 1125//2065 1128//2066 1107//2063
-f 1128//2066 1125//2065 900//2062
-g hull
-s 30
-f 1126//1008 901//979 900//978 1125//1007
-g aft
-s 140
-f 1126//2071 1123//2070 1108//2068 1121//2069
-s 139
-f 1119//2075 902//2072 1122//2076
-f 1119//2075 1122//2076 1109//2073 1118//2074
-s 30
-f 1117//999 1118//1000 1109//993 1129//1011
-g hull
-f 1120//1002 903//981 902//980 1119//1001
-s 138
-f 1120//2080 1116//2078 903//2077
-g aft
-f 1120//2080 1117//2079 1129//2081 1116//2078
-g keel
-s 22
-f 885//1034 884//1033 245//1021 486//1026
-g aft
-s 31
-f 462//1140 1106//1146 887//1145 885//1144 486//1141
-f 887//1145 1106//1146 1130//1147
-g hull
-s 30
-f 1130//1012 1131//1013 886//964 887//965
-g aft
-s 142
-f 899//2082 1131//2086 1127//2084
-g hull
-s 30
-f 899//977 883//963 886//964 1131//1013
-s 45
-f 424//1071 489//1073 1076//1091
-f 490//1074 1074//1089 1076//1091 489//1073
-f 491//1075 1072//1087 1074//1089 490//1074
-f 492//1076 1070//1085 1072//1087 491//1075
-f 445//1072 1065//1082 1070//1085 492//1076
-f 493//1077 1132//1093 1065//1082 445//1072
-g deck
-s 58
-f 496//1156 1134//1160 1133//1159 1132//1158 493//1153
-s off
-f 1136//122 1135//122 1133//122 1134//122
-f 1134//123 1137//123 1136//123
-s 59
-f 496//1161 501//1164 1137//1166 1134//1165
-s 60
-f 1136//1175 1139//1178 1138//1177 1135//1174
-f 501//1170 504//1173 1139//1178 1136//1175 1137//1176
-g hull
-s 131
-f 1064//2092 1140//2093 1059//2090 1062//2091
-f 1141//2094 1053//2089 1059//2090 1140//2093
-f 1142//2095 1051//2088 1053//2089 1141//2094
-f 1143//2096 1027//2087 1051//2088 1142//2095
-s 23
-f 1144//880 1025//839 1027//841 1143//879
-f 1145//881 1023//837 1025//839 1144//880
-f 1147//883 1004//833 1005//834 1146//882
-f 1149//885 1148//884 1004//833 1147//883
-f 1151//887 1150//886 1148//884 1149//885
-f 1155//891 1154//890 1153//889 1152//888 926//807 927//808
-g deck
-s off
-f 1139//124 1157//124 1156//124 1138//124
-f 1139//125 1158//125 1157//125
-s 23
-f 1157//893 1158//894 524//788 525//789
-f 526//790 1159//895 1156//892 1157//893 525//789
-f 1161//897 1160//896 1159//895 526//790 528//792
-f 1163//899 1162//898 1160//896 1161//897
-s off
-f 1163//126 1161//126 946//126
-s 23
-f 293//608 946//827 1161//897 528//792
-f 939//820 1164//900 943//824 941//822
-f 282//597 938//819 1164//900 939//820 283//598
-g hull
-f 1023//837 1145//881 1146//882 1005//834
-s 113
-f 1140//1949 1064//1933 1133//1946
-f 1133//1946 1135//1947 1141//1950 1140//1949
-f 1141//1950 1135//1947 1142//1951
-f 1142//1951 1135//1947 1138//1948 1143//1952
-f 1156//1965 1144//1953 1143//1952 1138//1948
-f 1144//1953 1156//1965 1145//1954
-f 1065//1934 1132//1945 1133//1946 1064//1933
-g deck
-s 61
-f 1139//1193 504//1190 524//1192 1158//1194
-g hull
-s 113
-f 1160//1967 1147//1956 1146//1955 1159//1966
-f 1159//1966 1146//1955 1145//1954 1156//1965
-f 1160//1967 1162//1968 1149//1958 1147//1956
-s 23
-f 1150//886 1151//887 1152//888 1153//889
-s 113
-f 945//1834 1151//1960 1149//1958 1162//1968
-g deck
-s off
-f 945//127 1162//127 1163//127 946//127
-g hull
-s 113
-f 1151//1960 945//1834 1152//1961
-f 926//1822 1152//1961 945//1834 944//1833
-f 1165//1969 861//1767 860//1766 888//1794
-f 1166//1970 862//1768 861//1767 1165//1969
-f 1167//1971 863//1769 862//1768 1166//1970
-f 1168//1972 864//1770 863//1769 1167//1971
-f 1169//1973 865//1771 864//1770 1168//1972
-f 1170//1974 866//1772 865//1771 1169//1973
-f 1171//1975 867//1773 866//1772 1170//1974
-f 1172//1976 868//1774 867//1773 1171//1975
-f 1173//1977 869//1775 868//1774 1172//1976
-f 1174//1978 870//1776 869//1775 1173//1977
-f 1175//1979 871//1777 870//1776 1174//1978
-f 1176//1980 872//1778 871//1777 1175//1979
-f 1176//1980 873//1779 872//1778
-f 1177//1981 1165//1969 888//1794 890//1795
-f 1178//1982 1166//1970 1165//1969 1177//1981
-f 1179//1983 1167//1971 1166//1970 1178//1982
-f 1180//1984 1168//1972 1167//1971 1179//1983
-f 1181//1985 1169//1973 1168//1972 1180//1984
-f 1182//1986 1170//1974 1169//1973 1181//1985
-f 1183//1987 1171//1975 1170//1974 1182//1986
-f 1184//1988 1172//1976 1171//1975 1183//1987
-f 1185//1989 1173//1977 1172//1976 1184//1988
-f 1186//1990 1174//1978 1173//1977 1185//1989
-f 1187//1991 1175//1979 1174//1978 1186//1990
-f 1188//1992 1176//1980 1175//1979 1187//1991
-f 904//1800 873//1779 1176//1980 1188//1992
-f 1189//1993 1177//1981 890//1795 892//1796
-f 1190//1994 1178//1982 1177//1981 1189//1993
-f 1191//1995 1179//1983 1178//1982 1190//1994
-f 1192//1996 1180//1984 1179//1983 1191//1995
-f 1193//1997 1181//1985 1180//1984 1192//1996
-f 1194//1998 1182//1986 1181//1985 1193//1997
-f 1195//1999 1183//1987 1182//1986 1194//1998
-f 1196//2000 1184//1988 1183//1987 1195//1999
-f 1197//2001 1185//1989 1184//1988 1196//2000
-f 1198//2002 1186//1990 1185//1989 1197//2001
-f 1199//2003 1187//1991 1186//1990 1198//2002
-f 1200//2004 1188//1992 1187//1991 1199//2003
-f 908//1804 904//1800 1188//1992 1200//2004
-f 1201//2005 1189//1993 892//1796 893//1797
-f 1202//2006 1190//1994 1189//1993 1201//2005
-f 1203//2007 1191//1995 1190//1994 1202//2006
-f 1204//2008 1192//1996 1191//1995 1203//2007
-f 1205//2009 1193//1997 1192//1996 1204//2008
-f 1206//2010 1194//1998 1193//1997 1205//2009
-f 1207//2011 1195//1999 1194//1998 1206//2010
-f 1208//2012 1196//2000 1195//1999 1207//2011
-f 1209//2013 1197//2001 1196//2000 1208//2012
-f 1210//2014 1198//2002 1197//2001 1209//2013
-f 1211//2015 1199//2003 1198//2002 1210//2014
-f 1212//2016 1200//2004 1199//2003 1211//2015
-f 909//1805 908//1804 1200//2004 1212//2016
-f 973//1861 1201//2005 893//1797 898//1798
-f 971//1859 1202//2006 1201//2005 973//1861
-f 969//1857 1203//2007 1202//2006 971//1859
-f 966//1854 1204//2008 1203//2007 969//1857
-f 963//1851 1205//2009 1204//2008 966//1854
-f 960//1848 1206//2010 1205//2009 963//1851
-f 958//1846 1207//2011 1206//2010 960//1848
-f 956//1844 1208//2012 1207//2011 958//1846
-f 953//1841 1209//2013 1208//2012 956//1844
-f 952//1840 1210//2014 1209//2013 953//1841
-f 950//1838 1211//2015 1210//2014 952//1840
-f 948//1836 1212//2016 1211//2015 950//1838
-f 912//1808 909//1805 1212//2016 948//1836
-f 1148//1957 1150//1959 988//1876 1000//1887
-f 979//1867 985//1873 1154//1963 1155//1964
-f 927//1823 928//1824 978//1866
-f 1154//1963 985//1873 988//1876 1153//1962
-f 922//1818 975//1863 978//1866 928//1824
-s 23
-f 278//593 859//806 935//816 937//818
-f 150//480 859//806 278//593 277//592
-g aft
-f 1093//873 447//756 433//743 1081//866
-g hull
-s 120
-f 922//2036 923//2037 921//2035
-s 23
-f 1000//830 1002//831 1004//833 1148//884
-g keel
-s 21
-f 848//438 125//408 124//407 846//436
-g aft
-s 140
-f 901//2067 1126//2071 1121//2069
-g hull
-s 113
-f 927//1823 978//1866 979//1867 1155//1964
-f 943//1832 931//1827 929//1825 942//1831
-f 944//1833 942//1831 929//1825 926//1822
-g deck
-s 23
-f 1164//900 938//819 943//824
-g hull
-s 113
-f 988//1876 1150//1959 1153//1962
-g rig
-f 1009//1892 1010//1893 1028//1907 1029//1908
-f 1011//1894 1031//1910 1028//1907 1010//1893
-s off
-f 1029//128 1007//128 1008//128 1009//128
-g aft
-s 142
-f 1106//2083 1127//2084 1131//2086 1130//2085
-s 30
-f 1088//983 1114//996 1115//997 1087//982
-f 1088//983 1116//998 1112//995 1114//996
-g hull
-s 113
-f 924//1820 923//1819 928//1824 930//1826
-f 925//1821 924//1820 930//1826 932//1828
-f 914//1810 925//1821 932//1828 934//1829
-f 923//1819 922//1818 928//1824
-s 45
-f 1067//1084 1065//1082 1063//1080
-g rig
-s 113
-f 1030//1909 1012//1895 1013//1896 1021//1904
-f 1031//1910 1011//1894 1012//1895 1030//1909
-f 989//1877 998//1886 1001//1888
-f 986//1874 990//1878 991//1879 996//1884 998//1886 989//1877
-f 1043//1922 1040//1919 1041//1920 1044//1923 1045//1924 1054//1928
-f 1054//1928 1045//1924 1056//1930
-g sail2
-s 143
-f 1217//2101 1216//2100 1213//2097 1214//2098
-f 1240//2115 1239//2114 1238//2113 1237//2112 1215//2099 1218//2102 1217//2101 1214//2098 1241//2116
-f 1220//2104 1219//2103 1216//2100 1217//2101
-f 1221//2105 1220//2104 1217//2101 1218//2102
-f 1223//2107 1222//2106 1219//2103 1220//2104
-f 1224//2108 1223//2107 1220//2104 1221//2105
-f 1226//2110 1225//2109 1222//2106 1223//2107
-f 1227//2111 1226//2110 1223//2107 1224//2108
-s 144
-f 1229//2216 1228//2215 1225//2212 1226//2213
-f 1230//2217 1229//2216 1226//2213 1227//2214
-f 1232//2219 1231//2218 1228//2215 1229//2216
-f 1233//2220 1232//2219 1229//2216 1230//2217
-f 1235//2222 1234//2221 1231//2218 1232//2219
-f 1236//2223 1242//2224 1243//2225 1244//2226 1245//2227 1246//2228 1235//2222 1232//2219 1233//2220
-f 1214//2211 1213//2210 1234//2221 1235//2222
-s off
-f 1216//129 1219//129 1222//129 1225//129 1228//129 1231//129 1234//129 1213//129
-s 143
-f 1248//2118 1241//2116 1214//2098
-f 1248//2118 1249//2119 1240//2115 1241//2116
-f 1249//2119 1250//2120 1239//2114 1240//2115
-f 1250//2120 1251//2121 1238//2113 1239//2114
-f 1251//2121 1252//2122 1237//2112 1238//2113
-f 1252//2122 1253//2123 1215//2099 1237//2112
-f 1254//2124 1255//2125 1249//2119
-f 1255//2125 1256//2126 1251//2121 1250//2120
-f 1256//2126 1257//2127 1252//2122 1251//2121
-f 1257//2127 1258//2128 1253//2123 1252//2122
-f 1259//2129 1260//2130 1257//2127 1256//2126
-f 1260//2130 1261//2131 1258//2128 1257//2127
-f 1247//2117 1248//2118 1214//2098
-f 1249//2119 1248//2118 1254//2124
-f 1250//2120 1249//2119 1255//2125
-f 1262//2132 1263//2133 1248//2118 1247//2117
-f 1263//2133 1254//2124 1248//2118
-f 1264//2134 1265//2135 1263//2133 1262//2132
-f 1265//2135 1266//2136 1254//2124 1263//2133
-f 1266//2136 1267//2137 1254//2124
-f 1267//2137 1259//2129 1256//2126 1255//2125
-f 1268//2138 1269//2139 1265//2135 1264//2134
-f 1269//2139 1270//2140 1266//2136 1265//2135
-f 1270//2140 1271//2141 1267//2137 1266//2136
-f 1271//2141 1272//2142 1259//2129 1267//2137
-f 1272//2142 1273//2143 1260//2130 1259//2129
-f 1273//2143 1274//2144 1261//2131 1260//2130
-f 1275//2145 1276//2146 1269//2139 1268//2138
-f 1276//2146 1277//2147 1270//2140 1269//2139
-f 1277//2147 1278//2148 1271//2141 1270//2140
-f 1278//2148 1279//2149 1272//2142 1271//2141
-f 1279//2149 1280//2150 1273//2143 1272//2142
-f 1280//2150 1281//2151 1274//2144 1273//2143
-f 1282//2152 1283//2153 1276//2146 1275//2145
-f 1283//2153 1284//2154 1277//2147 1276//2146
-f 1284//2154 1285//2155 1278//2148 1277//2147
-f 1285//2155 1286//2156 1279//2149 1278//2148
-f 1286//2156 1287//2157 1280//2150 1279//2149
-f 1287//2157 1288//2158 1281//2151 1280//2150
-f 1255//2125 1254//2124 1267//2137
-s 145
-f 1291//2265 1290//2264 1289//2263
-f 1294//2268 1293//2267 1292//2266 1290//2264
-f 1293//2267 1296//2270 1295//2269 1292//2266
-f 1296//2270 1298//2272 1297//2271 1295//2269
-f 1292//2266 1295//2269 1300//2274 1299//2273
-f 1295//2269 1297//2271 1301//2275 1300//2274
-f 1289//2263 1302//2276 1291//2265
-f 1290//2264 1291//2265 1294//2268
-f 1247//2251 1302//2276 1303//2277 1262//2252
-f 1302//2276 1289//2263 1303//2277
-f 1262//2252 1303//2277 1304//2278 1264//2253
-f 1303//2277 1289//2263 1305//2279 1304//2278
-f 1289//2263 1306//2280 1305//2279
-f 1290//2264 1292//2266 1299//2273 1306//2280
-f 1264//2253 1304//2278 1307//2281 1268//2254
-f 1304//2278 1305//2279 1308//2282 1307//2281
-f 1305//2279 1306//2280 1309//2283 1308//2282
-f 1306//2280 1299//2273 1310//2284 1309//2283
-f 1299//2273 1300//2274 1311//2285 1310//2284
-f 1300//2274 1301//2275 1312//2286 1311//2285
-f 1268//2254 1307//2281 1313//2287 1275//2255
-f 1307//2281 1308//2282 1314//2288 1313//2287
-f 1308//2282 1309//2283 1315//2289 1314//2288
-f 1309//2283 1310//2284 1316//2290 1315//2289
-f 1310//2284 1311//2285 1317//2291 1316//2290
-f 1311//2285 1312//2286 1318//2292 1317//2291
-f 1275//2255 1313//2287 1283//2257 1282//2256
-f 1313//2287 1314//2288 1284//2258 1283//2257
-f 1314//2288 1315//2289 1285//2259 1284//2258
-f 1315//2289 1316//2290 1286//2260 1285//2259
-f 1316//2290 1317//2291 1287//2261 1286//2260
-f 1317//2291 1318//2292 1288//2262 1287//2261
-f 1306//2280 1289//2263 1290//2264
-f 1298//2272 1296//2270 1242//2246 1236//2245
-s off
-f 1247//130 1214//130 1235//130
-s 145
-f 1302//2276 1247//2251 1235//2244 1246//2250
-f 1291//2265 1302//2276 1246//2250 1245//2249
-f 1294//2268 1291//2265 1245//2249 1244//2248
-f 1293//2267 1294//2268 1244//2248 1243//2247
-f 1296//2270 1293//2267 1243//2247 1242//2246
-s 143
-f 1322//2162 1321//2161 1320//2160 1319//2159
-f 1327//2167 1322//2162 1319//2159 1218//2102 1215//2099 1326//2166 1325//2165 1324//2164 1323//2163
-f 1319//2159 1320//2160 1329//2169 1328//2168
-f 1218//2102 1319//2159 1328//2168 1221//2105
-f 1328//2168 1329//2169 1331//2171 1330//2170
-f 1221//2105 1328//2168 1330//2170 1224//2108
-f 1330//2170 1331//2171 1333//2173 1332//2172
-f 1224//2108 1330//2170 1332//2172 1227//2111
-s 144
-f 1332//2231 1333//2232 1335//2234 1334//2233
-f 1227//2214 1332//2231 1334//2233 1230//2217
-f 1334//2233 1335//2234 1337//2236 1336//2235
-f 1230//2217 1334//2233 1336//2235 1233//2220
-f 1336//2235 1337//2236 1339//2238 1338//2237
-f 1233//2220 1336//2235 1338//2237 1344//2243 1343//2242 1342//2241 1341//2240 1340//2239 1236//2223
-f 1338//2237 1339//2238 1321//2229 1322//2230
-s off
-f 1321//131 1339//131 1337//131 1335//131 1333//131 1331//131 1329//131 1320//131
-s 143
-f 1322//2162 1327//2167 1345//2174
-f 1327//2167 1323//2163 1346//2175 1345//2174
-f 1323//2163 1324//2164 1347//2176 1346//2175
-f 1324//2164 1325//2165 1348//2177 1347//2176
-f 1325//2165 1326//2166 1349//2178 1348//2177
-f 1326//2166 1215//2099 1253//2123 1349//2178
-f 1346//2175 1351//2180 1350//2179
-f 1347//2176 1348//2177 1352//2181 1351//2180
-f 1348//2177 1349//2178 1353//2182 1352//2181
-f 1349//2178 1253//2123 1258//2128 1353//2182
-f 1352//2181 1353//2182 1355//2184 1354//2183
-f 1353//2182 1258//2128 1261//2131 1355//2184
-f 1322//2162 1345//2174 1356//2185
-f 1350//2179 1345//2174 1346//2175
-f 1351//2180 1346//2175 1347//2176
-f 1356//2185 1345//2174 1358//2187 1357//2186
-f 1345//2174 1350//2179 1358//2187
-f 1357//2186 1358//2187 1360//2189 1359//2188
-f 1358//2187 1350//2179 1361//2190 1360//2189
-f 1350//2179 1362//2191 1361//2190
-f 1351//2180 1352//2181 1354//2183 1362//2191
-f 1359//2188 1360//2189 1364//2193 1363//2192
-f 1360//2189 1361//2190 1365//2194 1364//2193
-f 1361//2190 1362//2191 1366//2195 1365//2194
-f 1362//2191 1354//2183 1367//2196 1366//2195
-f 1354//2183 1355//2184 1368//2197 1367//2196
-f 1355//2184 1261//2131 1274//2144 1368//2197
-f 1363//2192 1364//2193 1370//2199 1369//2198
-f 1364//2193 1365//2194 1371//2200 1370//2199
-f 1365//2194 1366//2195 1372//2201 1371//2200
-f 1366//2195 1367//2196 1373//2202 1372//2201
-f 1367//2196 1368//2197 1374//2203 1373//2202
-f 1368//2197 1274//2144 1281//2151 1374//2203
-f 1369//2198 1370//2199 1376//2205 1375//2204
-f 1370//2199 1371//2200 1377//2206 1376//2205
-f 1371//2200 1372//2201 1378//2207 1377//2206
-f 1372//2201 1373//2202 1379//2208 1378//2207
-f 1373//2202 1374//2203 1380//2209 1379//2208
-f 1374//2203 1281//2151 1288//2158 1380//2209
-f 1362//2191 1350//2179 1351//2180
-s 145
-f 1383//2312 1382//2311 1381//2310
-f 1382//2311 1386//2315 1385//2314 1384//2313
-f 1386//2315 1388//2317 1387//2316 1385//2314
-f 1388//2317 1297//2271 1298//2272 1387//2316
-f 1390//2319 1389//2318 1388//2317 1386//2315
-f 1389//2318 1301//2275 1297//2271 1388//2317
-f 1381//2310 1391//2320 1383//2312
-f 1384//2313 1381//2310 1382//2311
-f 1357//2300 1392//2321 1391//2320 1356//2299
-f 1392//2321 1383//2312 1391//2320
-f 1359//2301 1393//2322 1392//2321 1357//2300
-f 1393//2322 1394//2323 1383//2312 1392//2321
-f 1394//2323 1395//2324 1383//2312
-f 1395//2324 1390//2319 1386//2315 1382//2311
-f 1363//2302 1396//2325 1393//2322 1359//2301
-f 1396//2325 1397//2326 1394//2323 1393//2322
-f 1397//2326 1398//2327 1395//2324 1394//2323
-f 1398//2327 1399//2328 1390//2319 1395//2324
-f 1399//2328 1400//2329 1389//2318 1390//2319
-f 1400//2329 1312//2286 1301//2275 1389//2318
-f 1369//2303 1401//2330 1396//2325 1363//2302
-f 1401//2330 1402//2331 1397//2326 1396//2325
-f 1402//2331 1403//2332 1398//2327 1397//2326
-f 1403//2332 1404//2333 1399//2328 1398//2327
-f 1404//2333 1405//2334 1400//2329 1399//2328
-f 1405//2334 1318//2292 1312//2286 1400//2329
-f 1375//2304 1376//2305 1401//2330 1369//2303
-f 1376//2305 1377//2306 1402//2331 1401//2330
-f 1377//2306 1378//2307 1403//2332 1402//2331
-f 1378//2307 1379//2308 1404//2333 1403//2332
-f 1379//2308 1380//2309 1405//2334 1404//2333
-f 1380//2309 1288//2262 1318//2292 1405//2334
-f 1382//2311 1383//2312 1395//2324
-f 1236//2245 1340//2294 1387//2316 1298//2272
-s off
-f 1338//132 1322//132 1356//132
-s 145
-f 1344//2298 1338//2293 1356//2299 1391//2320
-f 1343//2297 1344//2298 1391//2320 1381//2310
-f 1342//2296 1343//2297 1381//2310 1384//2313
-f 1341//2295 1342//2296 1384//2313 1385//2314
-f 1340//2294 1341//2295 1385//2314 1387//2316
-g sail1
-s 151
-f 1438//2353 1437//2352 1436//2351 1435//2350 1407//2336 1410//2339 1409//2338 1406//2335 1439//2354
-f 1411//2340 1410//2339 1407//2336 1408//2337
-f 1413//2342 1412//2341 1409//2338 1410//2339
-f 1414//2343 1413//2342 1410//2339 1411//2340
-f 1416//2345 1415//2344 1412//2341 1413//2342
-f 1417//2346 1416//2345 1413//2342 1414//2343
-f 1419//2348 1418//2347 1415//2344 1416//2345
-f 1420//2349 1419//2348 1416//2345 1417//2346
-s 152
-f 1422//2454 1421//2453 1418//2450 1419//2451
-f 1423//2455 1422//2454 1419//2451 1420//2452
-f 1425//2457 1424//2456 1421//2453 1422//2454
-f 1426//2458 1425//2457 1422//2454 1423//2455
-f 1428//2460 1430//2462 1431//2463 1432//2464 1433//2465 1434//2466 1427//2459 1424//2456 1425//2457
-f 1429//2461 1428//2460 1425//2457 1426//2458
-f 1408//2449 1407//2448 1428//2460 1429//2461
-s off
-f 1429//133 1426//133 1423//133 1420//133 1417//133 1414//133 1411//133 1408//133
-s 151
-f 1440//2355 1441//2356 1439//2354 1406//2335
-f 1441//2356 1442//2357 1438//2353 1439//2354
-f 1442//2357 1443//2358 1437//2352 1438//2353
-f 1443//2358 1444//2359 1436//2351 1437//2352
-f 1444//2359 1445//2360 1435//2350 1436//2351
-f 1446//2361 1407//2336 1445//2360
-f 1447//2362 1448//2363 1441//2356 1440//2355
-f 1448//2363 1449//2364 1442//2357 1441//2356
-f 1449//2364 1450//2365 1443//2358 1442//2357
-f 1450//2365 1444//2359 1443//2358
-f 1451//2366 1445//2360 1444//2359
-f 1452//2367 1453//2368 1446//2361 1445//2360
-f 1454//2369 1455//2370 1448//2363 1447//2362
-f 1455//2370 1456//2371 1449//2364 1448//2363
-f 1456//2371 1457//2372 1450//2365 1449//2364
-f 1457//2372 1451//2366 1450//2365
-f 1458//2373 1459//2374 1452//2367 1451//2366
-f 1459//2374 1460//2375 1453//2368 1452//2367
-f 1461//2376 1462//2377 1455//2370 1454//2369
-f 1462//2377 1463//2378 1456//2371 1455//2370
-f 1463//2378 1464//2379 1457//2372 1456//2371
-f 1464//2379 1465//2380 1458//2373 1457//2372
-f 1465//2380 1466//2381 1459//2374 1458//2373
-f 1466//2381 1467//2382 1460//2375 1459//2374
-f 1468//2383 1469//2384 1462//2377 1461//2376
-f 1469//2384 1470//2385 1463//2378 1462//2377
-f 1470//2385 1471//2386 1464//2379 1463//2378
-f 1471//2386 1472//2387 1465//2380 1464//2379
-f 1472//2387 1473//2388 1466//2381 1465//2380
-f 1473//2388 1474//2389 1467//2382 1466//2381
-f 1475//2390 1476//2391 1469//2384 1468//2383
-f 1476//2391 1477//2392 1470//2385 1469//2384
-f 1477//2392 1478//2393 1471//2386 1470//2385
-f 1478//2393 1479//2394 1472//2387 1471//2386
-f 1479//2394 1480//2395 1473//2388 1472//2387
-f 1480//2395 1481//2396 1473//2388
-f 1435//2350 1445//2360 1407//2336
-f 1452//2367 1445//2360 1451//2366
-f 1451//2366 1444//2359 1450//2365
-f 1458//2373 1451//2366 1457//2372
-f 1481//2396 1474//2389 1473//2388
-s 153
-f 1485//2504 1484//2503 1483//2502 1482//2501
-f 1484//2503 1487//2506 1486//2505 1483//2502
-f 1487//2506 1489//2508 1488//2507 1486//2505
-f 1489//2508 1490//2509 1488//2507
-f 1490//2509 1492//2511 1491//2510
-f 1492//2511 1446//2489 1453//2490 1493//2512
-f 1482//2501 1483//2502 1495//2514 1494//2513
-f 1483//2502 1486//2505 1496//2515 1495//2514
-f 1486//2505 1488//2507 1497//2516 1496//2515
-f 1488//2507 1491//2510 1497//2516
-f 1491//2510 1493//2512 1499//2518 1498//2517
-f 1493//2512 1453//2490 1460//2491 1499//2518
-f 1494//2513 1495//2514 1501//2520 1500//2519
-f 1495//2514 1496//2515 1502//2521 1501//2520
-f 1496//2515 1497//2516 1503//2522 1502//2521
-f 1497//2516 1498//2517 1504//2523 1503//2522
-f 1498//2517 1499//2518 1505//2524 1504//2523
-f 1499//2518 1460//2491 1467//2492 1505//2524
-f 1500//2519 1501//2520 1507//2526 1506//2525
-f 1501//2520 1502//2521 1508//2527 1507//2526
-f 1502//2521 1503//2522 1509//2528 1508//2527
-f 1503//2522 1504//2523 1510//2529 1509//2528
-f 1504//2523 1505//2524 1511//2530 1510//2529
-f 1505//2524 1467//2492 1474//2493 1511//2530
-f 1506//2525 1507//2526 1476//2495 1475//2494
-f 1507//2526 1508//2527 1477//2496 1476//2495
-f 1508//2527 1509//2528 1478//2497 1477//2496
-f 1509//2528 1510//2529 1479//2498 1478//2497
-f 1510//2529 1511//2530 1480//2499 1479//2498
-f 1511//2530 1481//2500 1480//2499
-f 1491//2510 1492//2511 1493//2512
-f 1488//2507 1490//2509 1491//2510
-f 1497//2516 1491//2510 1498//2517
-f 1511//2530 1474//2493 1481//2500
-f 1428//2483 1446//2489 1492//2511 1430//2484
-f 1484//2503 1485//2504 1427//2482 1434//2488
-f 1487//2506 1484//2503 1434//2488 1433//2487
-f 1489//2508 1487//2506 1433//2487 1432//2486
-f 1490//2509 1489//2508 1432//2486 1431//2485
-f 1492//2511 1490//2509 1431//2485 1430//2484
-s off
-f 1428//134 1407//134 1446//134
-s 151
-f 1518//2403 1406//2335 1409//2338 1517//2402 1516//2401 1515//2400 1514//2399 1513//2398 1512//2397
-f 1520//2405 1516//2401 1517//2402 1519//2404
-f 1517//2402 1409//2338 1412//2341 1521//2406
-f 1519//2404 1517//2402 1521//2406 1522//2407
-f 1521//2406 1412//2341 1415//2344 1523//2408
-f 1522//2407 1521//2406 1523//2408 1524//2409
-f 1523//2408 1415//2344 1418//2347 1525//2410
-f 1524//2409 1523//2408 1525//2410 1526//2411
-s 152
-f 1525//2469 1418//2450 1421//2453 1527//2471
-f 1526//2470 1525//2469 1527//2471 1528//2472
-f 1527//2471 1421//2453 1424//2456 1529//2473
-f 1528//2472 1527//2471 1529//2473 1530//2474
-f 1529//2473 1424//2456 1427//2459 1536//2480 1535//2479 1534//2478 1533//2477 1532//2476 1531//2475
-f 1530//2474 1529//2473 1531//2475 1537//2481
-f 1537//2481 1531//2475 1516//2467 1520//2468
-s off
-f 1520//135 1519//135 1522//135 1524//135 1526//135 1528//135 1530//135 1537//135
-s 151
-f 1406//2335 1518//2403 1538//2412 1440//2355
-f 1518//2403 1512//2397 1539//2413 1538//2412
-f 1512//2397 1513//2398 1540//2414 1539//2413
-f 1513//2398 1514//2399 1541//2415 1540//2414
-f 1514//2399 1515//2400 1542//2416 1541//2415
-f 1542//2416 1516//2401 1543//2417
-f 1440//2355 1538//2412 1544//2418 1447//2362
-f 1538//2412 1539//2413 1545//2419 1544//2418
-f 1539//2413 1540//2414 1546//2420 1545//2419
-f 1540//2414 1541//2415 1546//2420
-f 1541//2415 1542//2416 1547//2421
-f 1542//2416 1543//2417 1549//2423 1548//2422
-f 1447//2362 1544//2418 1550//2424 1454//2369
-f 1544//2418 1545//2419 1551//2425 1550//2424
-f 1545//2419 1546//2420 1552//2426 1551//2425
-f 1546//2420 1547//2421 1552//2426
-f 1547//2421 1548//2422 1554//2428 1553//2427
-f 1548//2422 1549//2423 1555//2429 1554//2428
-f 1454//2369 1550//2424 1556//2430 1461//2376
-f 1550//2424 1551//2425 1557//2431 1556//2430
-f 1551//2425 1552//2426 1558//2432 1557//2431
-f 1552//2426 1553//2427 1559//2433 1558//2432
-f 1553//2427 1554//2428 1560//2434 1559//2433
-f 1554//2428 1555//2429 1561//2435 1560//2434
-f 1461//2376 1556//2430 1562//2436 1468//2383
-f 1556//2430 1557//2431 1563//2437 1562//2436
-f 1557//2431 1558//2432 1564//2438 1563//2437
-f 1558//2432 1559//2433 1565//2439 1564//2438
-f 1559//2433 1560//2434 1566//2440 1565//2439
-f 1560//2434 1561//2435 1567//2441 1566//2440
-f 1468//2383 1562//2436 1568//2442 1475//2390
-f 1562//2436 1563//2437 1569//2443 1568//2442
-f 1563//2437 1564//2438 1570//2444 1569//2443
-f 1564//2438 1565//2439 1571//2445 1570//2444
-f 1565//2439 1566//2440 1572//2446 1571//2445
-f 1566//2440 1573//2447 1572//2446
-f 1516//2401 1542//2416 1515//2400
-f 1547//2421 1542//2416 1548//2422
-f 1546//2420 1541//2415 1547//2421
-f 1552//2426 1547//2421 1553//2427
-f 1566//2440 1567//2441 1573//2447
-s 153
-f 1482//2501 1575//2549 1574//2548 1485//2504
-f 1575//2549 1577//2551 1576//2550 1574//2548
-f 1577//2551 1579//2553 1578//2552 1576//2550
-f 1579//2553 1580//2554 1578//2552
-f 1582//2556 1581//2555 1580//2554
-f 1583//2557 1549//2538 1543//2537 1581//2555
-f 1494//2513 1584//2558 1575//2549 1482//2501
-f 1584//2558 1585//2559 1577//2551 1575//2549
-f 1585//2559 1586//2560 1579//2553 1577//2551
-f 1586//2560 1582//2556 1579//2553
-f 1588//2562 1587//2561 1583//2557 1582//2556
-f 1587//2561 1555//2539 1549//2538 1583//2557
-f 1500//2519 1589//2563 1584//2558 1494//2513
-f 1589//2563 1590//2564 1585//2559 1584//2558
-f 1590//2564 1591//2565 1586//2560 1585//2559
-f 1591//2565 1592//2566 1588//2562 1586//2560
-f 1592//2566 1593//2567 1587//2561 1588//2562
-f 1593//2567 1561//2540 1555//2539 1587//2561
-f 1506//2525 1594//2568 1589//2563 1500//2519
-f 1594//2568 1595//2569 1590//2564 1589//2563
-f 1595//2569 1596//2570 1591//2565 1590//2564
-f 1596//2570 1597//2571 1592//2566 1591//2565
-f 1597//2571 1598//2572 1593//2567 1592//2566
-f 1598//2572 1567//2541 1561//2540 1593//2567
-f 1475//2494 1568//2542 1594//2568 1506//2525
-f 1568//2542 1569//2543 1595//2569 1594//2568
-f 1569//2543 1570//2544 1596//2570 1595//2569
-f 1570//2544 1571//2545 1597//2571 1596//2570
-f 1571//2545 1572//2546 1598//2572 1597//2571
-f 1572//2546 1573//2547 1598//2572
-f 1583//2557 1581//2555 1582//2556
-f 1582//2556 1580//2554 1579//2553
-f 1588//2562 1582//2556 1586//2560
-f 1573//2547 1567//2541 1598//2572
-f 1532//2532 1581//2555 1543//2537 1531//2531
-f 1536//2536 1427//2482 1485//2504 1574//2548
-f 1535//2535 1536//2536 1574//2548 1576//2550
-f 1534//2534 1535//2535 1576//2550 1578//2552
-f 1533//2533 1534//2534 1578//2552 1580//2554
-f 1532//2532 1533//2533 1580//2554 1581//2555
-s off
-f 1543//136 1516//136 1531//136
-g sail5
-s 158
-f 1603//2577 1602//2576 1599//2573 1600//2574
-f 1626//2591 1625//2590 1624//2589 1623//2588 1601//2575 1604//2578 1603//2577 1600//2574 1627//2592
-f 1606//2580 1605//2579 1602//2576 1603//2577
-f 1607//2581 1606//2580 1603//2577 1604//2578
-f 1609//2583 1608//2582 1605//2579 1606//2580
-f 1610//2584 1609//2583 1606//2580 1607//2581
-f 1612//2586 1611//2585 1608//2582 1609//2583
-f 1613//2587 1612//2586 1609//2583 1610//2584
-s 159
-f 1615//2692 1614//2691 1611//2688 1612//2689
-f 1616//2693 1615//2692 1612//2689 1613//2690
-f 1618//2695 1617//2694 1614//2691 1615//2692
-f 1619//2696 1618//2695 1615//2692 1616//2693
-f 1621//2698 1620//2697 1617//2694 1618//2695
-f 1622//2699 1628//2700 1629//2701 1630//2702 1631//2703 1632//2704 1621//2698 1618//2695 1619//2696
-f 1600//2687 1599//2686 1620//2697 1621//2698
-s off
-f 1602//137 1605//137 1608//137 1611//137 1614//137 1617//137 1620//137 1599//137
-s 158
-f 1634//2594 1627//2592 1600//2574
-f 1634//2594 1635//2595 1626//2591 1627//2592
-f 1635//2595 1636//2596 1625//2590 1626//2591
-f 1636//2596 1637//2597 1624//2589 1625//2590
-f 1637//2597 1638//2598 1623//2588 1624//2589
-f 1638//2598 1639//2599 1601//2575 1623//2588
-f 1640//2600 1641//2601 1635//2595
-f 1641//2601 1642//2602 1637//2597 1636//2596
-f 1642//2602 1643//2603 1638//2598 1637//2597
-f 1643//2603 1644//2604 1639//2599 1638//2598
-f 1645//2605 1646//2606 1643//2603 1642//2602
-f 1646//2606 1647//2607 1644//2604 1643//2603
-f 1633//2593 1634//2594 1600//2574
-f 1635//2595 1634//2594 1640//2600
-f 1636//2596 1635//2595 1641//2601
-f 1648//2608 1649//2609 1634//2594 1633//2593
-f 1649//2609 1640//2600 1634//2594
-f 1650//2610 1651//2611 1649//2609 1648//2608
-f 1651//2611 1652//2612 1640//2600 1649//2609
-f 1652//2612 1653//2613 1640//2600
-f 1653//2613 1645//2605 1642//2602 1641//2601
-f 1654//2614 1655//2615 1651//2611 1650//2610
-f 1655//2615 1656//2616 1652//2612 1651//2611
-f 1656//2616 1657//2617 1653//2613 1652//2612
-f 1657//2617 1658//2618 1645//2605 1653//2613
-f 1658//2618 1659//2619 1646//2606 1645//2605
-f 1659//2619 1660//2620 1647//2607 1646//2606
-f 1661//2621 1662//2622 1655//2615 1654//2614
-f 1662//2622 1663//2623 1656//2616 1655//2615
-f 1663//2623 1664//2624 1657//2617 1656//2616
-f 1664//2624 1665//2625 1658//2618 1657//2617
-f 1665//2625 1666//2626 1659//2619 1658//2618
-f 1666//2626 1667//2627 1660//2620 1659//2619
-f 1668//2628 1669//2629 1662//2622 1661//2621
-f 1669//2629 1670//2630 1663//2623 1662//2622
-f 1670//2630 1671//2631 1664//2624 1663//2623
-f 1671//2631 1672//2632 1665//2625 1664//2624
-f 1672//2632 1673//2633 1666//2626 1665//2625
-f 1673//2633 1674//2634 1667//2627 1666//2626
-f 1641//2601 1640//2600 1653//2613
-s 160
-f 1677//2741 1676//2740 1675//2739
-f 1680//2744 1679//2743 1678//2742 1676//2740
-f 1679//2743 1682//2746 1681//2745 1678//2742
-f 1682//2746 1684//2748 1683//2747 1681//2745
-f 1678//2742 1681//2745 1686//2750 1685//2749
-f 1681//2745 1683//2747 1687//2751 1686//2750
-f 1675//2739 1688//2752 1677//2741
-f 1676//2740 1677//2741 1680//2744
-f 1633//2727 1688//2752 1689//2753 1648//2728
-f 1688//2752 1675//2739 1689//2753
-f 1648//2728 1689//2753 1690//2754 1650//2729
-f 1689//2753 1675//2739 1691//2755 1690//2754
-f 1675//2739 1692//2756 1691//2755
-f 1676//2740 1678//2742 1685//2749 1692//2756
-f 1650//2729 1690//2754 1693//2757 1654//2730
-f 1690//2754 1691//2755 1694//2758 1693//2757
-f 1691//2755 1692//2756 1695//2759 1694//2758
-f 1692//2756 1685//2749 1696//2760 1695//2759
-f 1685//2749 1686//2750 1697//2761 1696//2760
-f 1686//2750 1687//2751 1698//2762 1697//2761
-f 1654//2730 1693//2757 1699//2763 1661//2731
-f 1693//2757 1694//2758 1700//2764 1699//2763
-f 1694//2758 1695//2759 1701//2765 1700//2764
-f 1695//2759 1696//2760 1702//2766 1701//2765
-f 1696//2760 1697//2761 1703//2767 1702//2766
-f 1697//2761 1698//2762 1704//2768 1703//2767
-f 1661//2731 1699//2763 1669//2733 1668//2732
-f 1699//2763 1700//2764 1670//2734 1669//2733
-f 1700//2764 1701//2765 1671//2735 1670//2734
-f 1701//2765 1702//2766 1672//2736 1671//2735
-f 1702//2766 1703//2767 1673//2737 1672//2736
-f 1703//2767 1704//2768 1674//2738 1673//2737
-f 1692//2756 1675//2739 1676//2740
-f 1684//2748 1682//2746 1628//2722 1622//2721
-s off
-f 1633//138 1600//138 1621//138
-s 160
-f 1688//2752 1633//2727 1621//2720 1632//2726
-f 1677//2741 1688//2752 1632//2726 1631//2725
-f 1680//2744 1677//2741 1631//2725 1630//2724
-f 1679//2743 1680//2744 1630//2724 1629//2723
-f 1682//2746 1679//2743 1629//2723 1628//2722
-s 158
-f 1708//2638 1707//2637 1706//2636 1705//2635
-f 1713//2643 1708//2638 1705//2635 1604//2578 1601//2575 1712//2642 1711//2641 1710//2640 1709//2639
-f 1705//2635 1706//2636 1715//2645 1714//2644
-f 1604//2578 1705//2635 1714//2644 1607//2581
-f 1714//2644 1715//2645 1717//2647 1716//2646
-f 1607//2581 1714//2644 1716//2646 1610//2584
-f 1716//2646 1717//2647 1719//2649 1718//2648
-f 1610//2584 1716//2646 1718//2648 1613//2587
-s 159
-f 1718//2707 1719//2708 1721//2710 1720//2709
-f 1613//2690 1718//2707 1720//2709 1616//2693
-f 1720//2709 1721//2710 1723//2712 1722//2711
-f 1616//2693 1720//2709 1722//2711 1619//2696
-f 1722//2711 1723//2712 1725//2714 1724//2713
-f 1619//2696 1722//2711 1724//2713 1730//2719 1729//2718 1728//2717 1727//2716 1726//2715 1622//2699
-f 1724//2713 1725//2714 1707//2705 1708//2706
-s off
-f 1707//139 1725//139 1723//139 1721//139 1719//139 1717//139 1715//139 1706//139
-s 158
-f 1708//2638 1713//2643 1731//2650
-f 1713//2643 1709//2639 1732//2651 1731//2650
-f 1709//2639 1710//2640 1733//2652 1732//2651
-f 1710//2640 1711//2641 1734//2653 1733//2652
-f 1711//2641 1712//2642 1735//2654 1734//2653
-f 1712//2642 1601//2575 1639//2599 1735//2654
-f 1732//2651 1737//2656 1736//2655
-f 1733//2652 1734//2653 1738//2657 1737//2656
-f 1734//2653 1735//2654 1739//2658 1738//2657
-f 1735//2654 1639//2599 1644//2604 1739//2658
-f 1738//2657 1739//2658 1741//2660 1740//2659
-f 1739//2658 1644//2604 1647//2607 1741//2660
-f 1708//2638 1731//2650 1742//2661
-f 1736//2655 1731//2650 1732//2651
-f 1737//2656 1732//2651 1733//2652
-f 1742//2661 1731//2650 1744//2663 1743//2662
-f 1731//2650 1736//2655 1744//2663
-f 1743//2662 1744//2663 1746//2665 1745//2664
-f 1744//2663 1736//2655 1747//2666 1746//2665
-f 1736//2655 1748//2667 1747//2666
-f 1737//2656 1738//2657 1740//2659 1748//2667
-f 1745//2664 1746//2665 1750//2669 1749//2668
-f 1746//2665 1747//2666 1751//2670 1750//2669
-f 1747//2666 1748//2667 1752//2671 1751//2670
-f 1748//2667 1740//2659 1753//2672 1752//2671
-f 1740//2659 1741//2660 1754//2673 1753//2672
-f 1741//2660 1647//2607 1660//2620 1754//2673
-f 1749//2668 1750//2669 1756//2675 1755//2674
-f 1750//2669 1751//2670 1757//2676 1756//2675
-f 1751//2670 1752//2671 1758//2677 1757//2676
-f 1752//2671 1753//2672 1759//2678 1758//2677
-f 1753//2672 1754//2673 1760//2679 1759//2678
-f 1754//2673 1660//2620 1667//2627 1760//2679
-f 1755//2674 1756//2675 1762//2681 1761//2680
-f 1756//2675 1757//2676 1763//2682 1762//2681
-f 1757//2676 1758//2677 1764//2683 1763//2682
-f 1758//2677 1759//2678 1765//2684 1764//2683
-f 1759//2678 1760//2679 1766//2685 1765//2684
-f 1760//2679 1667//2627 1674//2634 1766//2685
-f 1748//2667 1736//2655 1737//2656
-s 160
-f 1769//2788 1768//2787 1767//2786
-f 1768//2787 1772//2791 1771//2790 1770//2789
-f 1772//2791 1774//2793 1773//2792 1771//2790
-f 1774//2793 1683//2747 1684//2748 1773//2792
-f 1776//2795 1775//2794 1774//2793 1772//2791
-f 1775//2794 1687//2751 1683//2747 1774//2793
-f 1767//2786 1777//2796 1769//2788
-f 1770//2789 1767//2786 1768//2787
-f 1743//2776 1778//2797 1777//2796 1742//2775
-f 1778//2797 1769//2788 1777//2796
-f 1745//2777 1779//2798 1778//2797 1743//2776
-f 1779//2798 1780//2799 1769//2788 1778//2797
-f 1780//2799 1781//2800 1769//2788
-f 1781//2800 1776//2795 1772//2791 1768//2787
-f 1749//2778 1782//2801 1779//2798 1745//2777
-f 1782//2801 1783//2802 1780//2799 1779//2798
-f 1783//2802 1784//2803 1781//2800 1780//2799
-f 1784//2803 1785//2804 1776//2795 1781//2800
-f 1785//2804 1786//2805 1775//2794 1776//2795
-f 1786//2805 1698//2762 1687//2751 1775//2794
-f 1755//2779 1787//2806 1782//2801 1749//2778
-f 1787//2806 1788//2807 1783//2802 1782//2801
-f 1788//2807 1789//2808 1784//2803 1783//2802
-f 1789//2808 1790//2809 1785//2804 1784//2803
-f 1790//2809 1791//2810 1786//2805 1785//2804
-f 1791//2810 1704//2768 1698//2762 1786//2805
-f 1761//2780 1762//2781 1787//2806 1755//2779
-f 1762//2781 1763//2782 1788//2807 1787//2806
-f 1763//2782 1764//2783 1789//2808 1788//2807
-f 1764//2783 1765//2784 1790//2809 1789//2808
-f 1765//2784 1766//2785 1791//2810 1790//2809
-f 1766//2785 1674//2738 1704//2768 1791//2810
-f 1768//2787 1769//2788 1781//2800
-f 1622//2721 1726//2770 1773//2792 1684//2748
-s off
-f 1724//140 1708//140 1742//140
-s 160
-f 1730//2774 1724//2769 1742//2775 1777//2796
-f 1729//2773 1730//2774 1777//2796 1767//2786
-f 1728//2772 1729//2773 1767//2786 1770//2789
-f 1727//2771 1728//2772 1770//2789 1771//2790
-f 1726//2770 1727//2771 1771//2790 1773//2792
-g sail4
-s 166
-f 1824//2829 1823//2828 1822//2827 1821//2826 1793//2812 1796//2815 1795//2814 1792//2811 1825//2830
-f 1797//2816 1796//2815 1793//2812 1794//2813
-f 1799//2818 1798//2817 1795//2814 1796//2815
-f 1800//2819 1799//2818 1796//2815 1797//2816
-f 1802//2821 1801//2820 1798//2817 1799//2818
-f 1803//2822 1802//2821 1799//2818 1800//2819
-f 1805//2824 1804//2823 1801//2820 1802//2821
-f 1806//2825 1805//2824 1802//2821 1803//2822
-s 167
-f 1808//2930 1807//2929 1804//2926 1805//2927
-f 1809//2931 1808//2930 1805//2927 1806//2928
-f 1811//2933 1810//2932 1807//2929 1808//2930
-f 1812//2934 1811//2933 1808//2930 1809//2931
-f 1814//2936 1816//2938 1817//2939 1818//2940 1819//2941 1820//2942 1813//2935 1810//2932 1811//2933
-f 1815//2937 1814//2936 1811//2933 1812//2934
-f 1794//2925 1793//2924 1814//2936 1815//2937
-s off
-f 1815//141 1812//141 1809//141 1806//141 1803//141 1800//141 1797//141 1794//141
-s 166
-f 1826//2831 1827//2832 1825//2830 1792//2811
-f 1827//2832 1828//2833 1824//2829 1825//2830
-f 1828//2833 1829//2834 1823//2828 1824//2829
-f 1829//2834 1830//2835 1822//2827 1823//2828
-f 1830//2835 1831//2836 1821//2826 1822//2827
-f 1832//2837 1793//2812 1831//2836
-f 1833//2838 1834//2839 1827//2832 1826//2831
-f 1834//2839 1835//2840 1828//2833 1827//2832
-f 1835//2840 1836//2841 1829//2834 1828//2833
-f 1836//2841 1830//2835 1829//2834
-f 1837//2842 1831//2836 1830//2835
-f 1838//2843 1839//2844 1832//2837 1831//2836
-f 1840//2845 1841//2846 1834//2839 1833//2838
-f 1841//2846 1842//2847 1835//2840 1834//2839
-f 1842//2847 1843//2848 1836//2841 1835//2840
-f 1843//2848 1837//2842 1836//2841
-f 1844//2849 1845//2850 1838//2843 1837//2842
-f 1845//2850 1846//2851 1839//2844 1838//2843
-f 1847//2852 1848//2853 1841//2846 1840//2845
-f 1848//2853 1849//2854 1842//2847 1841//2846
-f 1849//2854 1850//2855 1843//2848 1842//2847
-f 1850//2855 1851//2856 1844//2849 1843//2848
-f 1851//2856 1852//2857 1845//2850 1844//2849
-f 1852//2857 1853//2858 1846//2851 1845//2850
-f 1854//2859 1855//2860 1848//2853 1847//2852
-f 1855//2860 1856//2861 1849//2854 1848//2853
-f 1856//2861 1857//2862 1850//2855 1849//2854
-f 1857//2862 1858//2863 1851//2856 1850//2855
-f 1858//2863 1859//2864 1852//2857 1851//2856
-f 1859//2864 1860//2865 1853//2858 1852//2857
-f 1861//2866 1862//2867 1855//2860 1854//2859
-f 1862//2867 1863//2868 1856//2861 1855//2860
-f 1863//2868 1864//2869 1857//2862 1856//2861
-f 1864//2869 1865//2870 1858//2863 1857//2862
-f 1865//2870 1866//2871 1859//2864 1858//2863
-f 1866//2871 1867//2872 1859//2864
-f 1821//2826 1831//2836 1793//2812
-f 1838//2843 1831//2836 1837//2842
-f 1837//2842 1830//2835 1836//2841
-f 1844//2849 1837//2842 1843//2848
-f 1867//2872 1860//2865 1859//2864
-s 168
-f 1871//2980 1870//2979 1869//2978 1868//2977
-f 1870//2979 1873//2982 1872//2981 1869//2978
-f 1873//2982 1875//2984 1874//2983 1872//2981
-f 1875//2984 1876//2985 1874//2983
-f 1876//2985 1878//2987 1877//2986
-f 1878//2987 1832//2965 1839//2966 1879//2988
-f 1868//2977 1869//2978 1881//2990 1880//2989
-f 1869//2978 1872//2981 1882//2991 1881//2990
-f 1872//2981 1874//2983 1883//2992 1882//2991
-f 1874//2983 1877//2986 1883//2992
-f 1877//2986 1879//2988 1885//2994 1884//2993
-f 1879//2988 1839//2966 1846//2967 1885//2994
-f 1880//2989 1881//2990 1887//2996 1886//2995
-f 1881//2990 1882//2991 1888//2997 1887//2996
-f 1882//2991 1883//2992 1889//2998 1888//2997
-f 1883//2992 1884//2993 1890//2999 1889//2998
-f 1884//2993 1885//2994 1891//3000 1890//2999
-f 1885//2994 1846//2967 1853//2968 1891//3000
-f 1886//2995 1887//2996 1893//3002 1892//3001
-f 1887//2996 1888//2997 1894//3003 1893//3002
-f 1888//2997 1889//2998 1895//3004 1894//3003
-f 1889//2998 1890//2999 1896//3005 1895//3004
-f 1890//2999 1891//3000 1897//3006 1896//3005
-f 1891//3000 1853//2968 1860//2969 1897//3006
-f 1892//3001 1893//3002 1862//2971 1861//2970
-f 1893//3002 1894//3003 1863//2972 1862//2971
-f 1894//3003 1895//3004 1864//2973 1863//2972
-f 1895//3004 1896//3005 1865//2974 1864//2973
-f 1896//3005 1897//3006 1866//2975 1865//2974
-f 1897//3006 1867//2976 1866//2975
-f 1877//2986 1878//2987 1879//2988
-f 1874//2983 1876//2985 1877//2986
-f 1883//2992 1877//2986 1884//2993
-f 1897//3006 1860//2969 1867//2976
-f 1814//2959 1832//2965 1878//2987 1816//2960
-f 1870//2979 1871//2980 1813//2958 1820//2964
-f 1873//2982 1870//2979 1820//2964 1819//2963
-f 1875//2984 1873//2982 1819//2963 1818//2962
-f 1876//2985 1875//2984 1818//2962 1817//2961
-f 1878//2987 1876//2985 1817//2961 1816//2960
-s off
-f 1814//142 1793//142 1832//142
-s 166
-f 1904//2879 1792//2811 1795//2814 1903//2878 1902//2877 1901//2876 1900//2875 1899//2874 1898//2873
-f 1906//2881 1902//2877 1903//2878 1905//2880
-f 1903//2878 1795//2814 1798//2817 1907//2882
-f 1905//2880 1903//2878 1907//2882 1908//2883
-f 1907//2882 1798//2817 1801//2820 1909//2884
-f 1908//2883 1907//2882 1909//2884 1910//2885
-f 1909//2884 1801//2820 1804//2823 1911//2886
-f 1910//2885 1909//2884 1911//2886 1912//2887
-s 167
-f 1911//2945 1804//2926 1807//2929 1913//2947
-f 1912//2946 1911//2945 1913//2947 1914//2948
-f 1913//2947 1807//2929 1810//2932 1915//2949
-f 1914//2948 1913//2947 1915//2949 1916//2950
-f 1915//2949 1810//2932 1813//2935 1922//2956 1921//2955 1920//2954 1919//2953 1918//2952 1917//2951
-f 1916//2950 1915//2949 1917//2951 1923//2957
-f 1923//2957 1917//2951 1902//2943 1906//2944
-s off
-f 1906//143 1905//143 1908//143 1910//143 1912//143 1914//143 1916//143 1923//143
-s 166
-f 1792//2811 1904//2879 1924//2888 1826//2831
-f 1904//2879 1898//2873 1925//2889 1924//2888
-f 1898//2873 1899//2874 1926//2890 1925//2889
-f 1899//2874 1900//2875 1927//2891 1926//2890
-f 1900//2875 1901//2876 1928//2892 1927//2891
-f 1928//2892 1902//2877 1929//2893
-f 1826//2831 1924//2888 1930//2894 1833//2838
-f 1924//2888 1925//2889 1931//2895 1930//2894
-f 1925//2889 1926//2890 1932//2896 1931//2895
-f 1926//2890 1927//2891 1932//2896
-f 1927//2891 1928//2892 1933//2897
-f 1928//2892 1929//2893 1935//2899 1934//2898
-f 1833//2838 1930//2894 1936//2900 1840//2845
-f 1930//2894 1931//2895 1937//2901 1936//2900
-f 1931//2895 1932//2896 1938//2902 1937//2901
-f 1932//2896 1933//2897 1938//2902
-f 1933//2897 1934//2898 1940//2904 1939//2903
-f 1934//2898 1935//2899 1941//2905 1940//2904
-f 1840//2845 1936//2900 1942//2906 1847//2852
-f 1936//2900 1937//2901 1943//2907 1942//2906
-f 1937//2901 1938//2902 1944//2908 1943//2907
-f 1938//2902 1939//2903 1945//2909 1944//2908
-f 1939//2903 1940//2904 1946//2910 1945//2909
-f 1940//2904 1941//2905 1947//2911 1946//2910
-f 1847//2852 1942//2906 1948//2912 1854//2859
-f 1942//2906 1943//2907 1949//2913 1948//2912
-f 1943//2907 1944//2908 1950//2914 1949//2913
-f 1944//2908 1945//2909 1951//2915 1950//2914
-f 1945//2909 1946//2910 1952//2916 1951//2915
-f 1946//2910 1947//2911 1953//2917 1952//2916
-f 1854//2859 1948//2912 1954//2918 1861//2866
-f 1948//2912 1949//2913 1955//2919 1954//2918
-f 1949//2913 1950//2914 1956//2920 1955//2919
-f 1950//2914 1951//2915 1957//2921 1956//2920
-f 1951//2915 1952//2916 1958//2922 1957//2921
-f 1952//2916 1959//2923 1958//2922
-f 1902//2877 1928//2892 1901//2876
-f 1933//2897 1928//2892 1934//2898
-f 1932//2896 1927//2891 1933//2897
-f 1938//2902 1933//2897 1939//2903
-f 1952//2916 1953//2917 1959//2923
-s 168
-f 1868//2977 1961//3025 1960//3024 1871//2980
-f 1961//3025 1963//3027 1962//3026 1960//3024
-f 1963//3027 1965//3029 1964//3028 1962//3026
-f 1965//3029 1966//3030 1964//3028
-f 1968//3032 1967//3031 1966//3030
-f 1969//3033 1935//3014 1929//3013 1967//3031
-f 1880//2989 1970//3034 1961//3025 1868//2977
-f 1970//3034 1971//3035 1963//3027 1961//3025
-f 1971//3035 1972//3036 1965//3029 1963//3027
-f 1972//3036 1968//3032 1965//3029
-f 1974//3038 1973//3037 1969//3033 1968//3032
-f 1973//3037 1941//3015 1935//3014 1969//3033
-f 1886//2995 1975//3039 1970//3034 1880//2989
-f 1975//3039 1976//3040 1971//3035 1970//3034
-f 1976//3040 1977//3041 1972//3036 1971//3035
-f 1977//3041 1978//3042 1974//3038 1972//3036
-f 1978//3042 1979//3043 1973//3037 1974//3038
-f 1979//3043 1947//3016 1941//3015 1973//3037
-f 1892//3001 1980//3044 1975//3039 1886//2995
-f 1980//3044 1981//3045 1976//3040 1975//3039
-f 1981//3045 1982//3046 1977//3041 1976//3040
-f 1982//3046 1983//3047 1978//3042 1977//3041
-f 1983//3047 1984//3048 1979//3043 1978//3042
-f 1984//3048 1953//3017 1947//3016 1979//3043
-f 1861//2970 1954//3018 1980//3044 1892//3001
-f 1954//3018 1955//3019 1981//3045 1980//3044
-f 1955//3019 1956//3020 1982//3046 1981//3045
-f 1956//3020 1957//3021 1983//3047 1982//3046
-f 1957//3021 1958//3022 1984//3048 1983//3047
-f 1958//3022 1959//3023 1984//3048
-f 1969//3033 1967//3031 1968//3032
-f 1968//3032 1966//3030 1965//3029
-f 1974//3038 1968//3032 1972//3036
-f 1959//3023 1953//3017 1984//3048
-f 1918//3008 1967//3031 1929//3013 1917//3007
-f 1922//3012 1813//2958 1871//2980 1960//3024
-f 1921//3011 1922//3012 1960//3024 1962//3026
-f 1920//3010 1921//3011 1962//3026 1964//3028
-f 1919//3009 1920//3010 1964//3028 1966//3030
-f 1918//3008 1919//3009 1966//3030 1967//3031
-s off
-f 1929//144 1902//144 1917//144
-g sail6
-s 173
-f 1985//3049 1986//3050 1987//3051 1988//3052
-f 1989//3053 1990//3054 1991//3055 1992//3056 1993//3057 1994//3058 1985//3049 1988//3052 1995//3059
-f 1996//3060 1997//3061 1986//3050 1985//3049
-f 1998//3062 1996//3060 1985//3049 1994//3058
-f 1999//3063 2000//3064 1997//3061 1996//3060
-f 2001//3065 1999//3063 1996//3060 1998//3062
-f 2002//3066 2003//3067 2000//3064 1999//3063
-f 2004//3068 2002//3066 1999//3063 2001//3065
-s 174
-f 2005//3167 2006//3168 2003//3165 2002//3164
-f 2007//3169 2005//3167 2002//3164 2004//3166
-f 2008//3170 2009//3171 2006//3168 2005//3167
-f 2010//3172 2008//3170 2005//3167 2007//3169
-f 2011//3173 2012//3174 2009//3171 2008//3170
-f 2013//3175 2014//3176 2015//3177 2016//3178 2017//3179 2018//3180 2011//3173 2008//3170 2010//3172
-f 1988//3163 1987//3162 2012//3174 2011//3173
-s off
-f 1986//145 1997//145 2000//145 2003//145 2006//145 2009//145 2012//145 1987//145
-s 173
-f 2019//3069 1995//3059 1988//3052
-f 2019//3069 2020//3070 1989//3053 1995//3059
-f 2020//3070 2021//3071 1990//3054 1989//3053
-f 2021//3071 2022//3072 1991//3055 1990//3054
-f 2022//3072 2023//3073 1992//3056 1991//3055
-f 2023//3073 2024//3074 1993//3057 1992//3056
-f 2025//3075 2026//3076 2020//3070
-f 2026//3076 2027//3077 2022//3072 2021//3071
-f 2027//3077 2028//3078 2023//3073 2022//3072
-f 2028//3078 2029//3079 2024//3074 2023//3073
-f 2030//3080 2031//3081 2028//3078 2027//3077
-f 2031//3081 2032//3082 2029//3079 2028//3078
-f 2033//3083 2019//3069 1988//3052
-f 2020//3070 2019//3069 2025//3075
-f 2021//3071 2020//3070 2026//3076
-f 2034//3084 2035//3085 2019//3069 2033//3083
-f 2035//3085 2025//3075 2019//3069
-f 2036//3086 2037//3087 2035//3085 2034//3084
-f 2037//3087 2038//3088 2025//3075 2035//3085
-f 2038//3088 2039//3089 2025//3075
-f 2039//3089 2030//3080 2027//3077 2026//3076
-f 2040//3090 2041//3091 2037//3087 2036//3086
-f 2041//3091 2042//3092 2038//3088 2037//3087
-f 2042//3092 2043//3093 2039//3089 2038//3088
-f 2043//3093 2044//3094 2030//3080 2039//3089
-f 2044//3094 2045//3095 2031//3081 2030//3080
-f 2045//3095 2046//3096 2032//3082 2031//3081
-f 2047//3097 2048//3098 2041//3091 2040//3090
-f 2048//3098 2049//3099 2042//3092 2041//3091
-f 2049//3099 2050//3100 2043//3093 2042//3092
-f 2050//3100 2051//3101 2044//3094 2043//3093
-f 2051//3101 2052//3102 2045//3095 2044//3094
-f 2052//3102 2053//3103 2046//3096 2045//3095
-f 2054//3104 2055//3105 2048//3098 2047//3097
-f 2055//3105 2056//3106 2049//3099 2048//3098
-f 2056//3106 2057//3107 2050//3100 2049//3099
-f 2057//3107 2058//3108 2051//3101 2050//3100
-f 2058//3108 2059//3109 2052//3102 2051//3101
-f 2059//3109 2060//3110 2053//3103 2052//3102
-f 2026//3076 2025//3075 2039//3089
-s 175
-f 2061//3215 2062//3216 2063//3217
-f 2064//3218 2065//3219 2066//3220 2062//3216
-f 2065//3219 2067//3221 2068//3222 2066//3220
-f 2067//3221 2069//3223 2070//3224 2068//3222
-f 2066//3220 2068//3222 2071//3225 2072//3226
-f 2068//3222 2070//3224 2073//3227 2071//3225
-f 2063//3217 2074//3228 2061//3215
-f 2062//3216 2061//3215 2064//3218
-f 2033//3203 2074//3228 2075//3229 2034//3204
-f 2074//3228 2063//3217 2075//3229
-f 2034//3204 2075//3229 2076//3230 2036//3205
-f 2075//3229 2063//3217 2077//3231 2076//3230
-f 2063//3217 2078//3232 2077//3231
-f 2062//3216 2066//3220 2072//3226 2078//3232
-f 2036//3205 2076//3230 2079//3233 2040//3206
-f 2076//3230 2077//3231 2080//3234 2079//3233
-f 2077//3231 2078//3232 2081//3235 2080//3234
-f 2078//3232 2072//3226 2082//3236 2081//3235
-f 2072//3226 2071//3225 2083//3237 2082//3236
-f 2071//3225 2073//3227 2084//3238 2083//3237
-f 2040//3206 2079//3233 2085//3239 2047//3207
-f 2079//3233 2080//3234 2086//3240 2085//3239
-f 2080//3234 2081//3235 2087//3241 2086//3240
-f 2081//3235 2082//3236 2088//3242 2087//3241
-f 2082//3236 2083//3237 2089//3243 2088//3242
-f 2083//3237 2084//3238 2090//3244 2089//3243
-f 2047//3207 2085//3239 2055//3209 2054//3208
-f 2085//3239 2086//3240 2056//3210 2055//3209
-f 2086//3240 2087//3241 2057//3211 2056//3210
-f 2087//3241 2088//3242 2058//3212 2057//3211
-f 2088//3242 2089//3243 2059//3213 2058//3212
-f 2089//3243 2090//3244 2060//3214 2059//3213
-f 2078//3232 2063//3217 2062//3216
-f 2069//3223 2067//3221 2014//3198 2013//3197
-s off
-f 2033//146 1988//146 2011//146
-s 175
-f 2074//3228 2033//3203 2011//3196 2018//3202
-f 2061//3215 2074//3228 2018//3202 2017//3201
-f 2064//3218 2061//3215 2017//3201 2016//3200
-f 2065//3219 2064//3218 2016//3200 2015//3199
-f 2067//3221 2065//3219 2015//3199 2014//3198
-s 173
-f 2091//3111 2092//3112 2093//3113 2094//3114
-f 2095//3115 2091//3111 2094//3114 1994//3058 1993//3057 2096//3116 2097//3117 2098//3118 2099//3119
-f 2094//3114 2093//3113 2100//3120 2101//3121
-f 1994//3058 2094//3114 2101//3121 1998//3062
-f 2101//3121 2100//3120 2102//3122 2103//3123
-f 1998//3062 2101//3121 2103//3123 2001//3065
-f 2103//3123 2102//3122 2104//3124 2105//3125
-f 2001//3065 2103//3123 2105//3125 2004//3068
-s 174
-f 2105//3184 2104//3183 2106//3185 2107//3186
-f 2004//3166 2105//3184 2107//3186 2007//3169
-f 2107//3186 2106//3185 2108//3187 2109//3188
-f 2007//3169 2107//3186 2109//3188 2010//3172
-f 2109//3188 2108//3187 2110//3189 2111//3190
-f 2010//3172 2109//3188 2111//3190 2112//3191 2113//3192 2114//3193 2115//3194 2116//3195 2013//3175
-f 2111//3190 2110//3189 2092//3182 2091//3181
-s off
-f 2092//147 2110//147 2108//147 2106//147 2104//147 2102//147 2100//147 2093//147
-s 173
-f 2091//3111 2095//3115 2117//3126
-f 2095//3115 2099//3119 2118//3127 2117//3126
-f 2099//3119 2098//3118 2119//3128 2118//3127
-f 2098//3118 2097//3117 2120//3129 2119//3128
-f 2097//3117 2096//3116 2121//3130 2120//3129
-f 2096//3116 1993//3057 2024//3074 2121//3130
-f 2118//3127 2122//3131 2123//3132
-f 2119//3128 2120//3129 2124//3133 2122//3131
-f 2120//3129 2121//3130 2125//3134 2124//3133
-f 2121//3130 2024//3074 2029//3079 2125//3134
-f 2124//3133 2125//3134 2126//3135 2127//3136
-f 2125//3134 2029//3079 2032//3082 2126//3135
-f 2091//3111 2117//3126 2128//3137
-f 2123//3132 2117//3126 2118//3127
-f 2122//3131 2118//3127 2119//3128
-f 2128//3137 2117//3126 2129//3138 2130//3139
-f 2117//3126 2123//3132 2129//3138
-f 2130//3139 2129//3138 2131//3140 2132//3141
-f 2129//3138 2123//3132 2133//3142 2131//3140
-f 2123//3132 2134//3143 2133//3142
-f 2122//3131 2124//3133 2127//3136 2134//3143
-f 2132//3141 2131//3140 2135//3144 2136//3145
-f 2131//3140 2133//3142 2137//3146 2135//3144
-f 2133//3142 2134//3143 2138//3147 2137//3146
-f 2134//3143 2127//3136 2139//3148 2138//3147
-f 2127//3136 2126//3135 2140//3149 2139//3148
-f 2126//3135 2032//3082 2046//3096 2140//3149
-f 2136//3145 2135//3144 2141//3150 2142//3151
-f 2135//3144 2137//3146 2143//3152 2141//3150
-f 2137//3146 2138//3147 2144//3153 2143//3152
-f 2138//3147 2139//3148 2145//3154 2144//3153
-f 2139//3148 2140//3149 2146//3155 2145//3154
-f 2140//3149 2046//3096 2053//3103 2146//3155
-f 2142//3151 2141//3150 2147//3156 2148//3157
-f 2141//3150 2143//3152 2149//3158 2147//3156
-f 2143//3152 2144//3153 2150//3159 2149//3158
-f 2144//3153 2145//3154 2151//3160 2150//3159
-f 2145//3154 2146//3155 2152//3161 2151//3160
-f 2146//3155 2053//3103 2060//3110 2152//3161
-f 2134//3143 2123//3132 2122//3131
-s 175
-f 2153//3262 2154//3263 2155//3264
-f 2154//3263 2156//3265 2157//3266 2158//3267
-f 2156//3265 2159//3268 2160//3269 2157//3266
-f 2159//3268 2070//3224 2069//3223 2160//3269
-f 2161//3270 2162//3271 2159//3268 2156//3265
-f 2162//3271 2073//3227 2070//3224 2159//3268
-f 2155//3264 2163//3272 2153//3262
-f 2158//3267 2155//3264 2154//3263
-f 2130//3252 2164//3273 2163//3272 2128//3251
-f 2164//3273 2153//3262 2163//3272
-f 2132//3253 2165//3274 2164//3273 2130//3252
-f 2165//3274 2166//3275 2153//3262 2164//3273
-f 2166//3275 2167//3276 2153//3262
-f 2167//3276 2161//3270 2156//3265 2154//3263
-f 2136//3254 2168//3277 2165//3274 2132//3253
-f 2168//3277 2169//3278 2166//3275 2165//3274
-f 2169//3278 2170//3279 2167//3276 2166//3275
-f 2170//3279 2171//3280 2161//3270 2167//3276
-f 2171//3280 2172//3281 2162//3271 2161//3270
-f 2172//3281 2084//3238 2073//3227 2162//3271
-f 2142//3255 2173//3282 2168//3277 2136//3254
-f 2173//3282 2174//3283 2169//3278 2168//3277
-f 2174//3283 2175//3284 2170//3279 2169//3278
-f 2175//3284 2176//3285 2171//3280 2170//3279
-f 2176//3285 2177//3286 2172//3281 2171//3280
-f 2177//3286 2090//3244 2084//3238 2172//3281
-f 2148//3257 2147//3256 2173//3282 2142//3255
-f 2147//3256 2149//3258 2174//3283 2173//3282
-f 2149//3258 2150//3259 2175//3284 2174//3283
-f 2150//3259 2151//3260 2176//3285 2175//3284
-f 2151//3260 2152//3261 2177//3286 2176//3285
-f 2152//3261 2060//3214 2090//3244 2177//3286
-f 2154//3263 2153//3262 2167//3276
-f 2013//3197 2116//3250 2160//3269 2069//3223
-s off
-f 2111//148 2091//148 2128//148
-s 175
-f 2112//3246 2111//3245 2128//3251 2163//3272
-f 2113//3247 2112//3246 2163//3272 2155//3264
-f 2114//3248 2113//3247 2155//3264 2158//3267
-f 2115//3249 2114//3248 2158//3267 2157//3266
-f 2116//3250 2115//3249 2157//3266 2160//3269
-g sail3
-s 181
-f 2181//3290 2180//3289 2179//3288 2178//3287
-f 2187//3296 2184//3293 2185//3294 2186//3295
-f 2178//3287 2179//3288 2189//3298 2188//3297
-f 2183//3292 2178//3287 2188//3297 2190//3299
-f 2185//3294 2183//3292 2190//3299 2191//3300
-f 2186//3295 2185//3294 2191//3300 2192//3301
-f 2188//3297 2189//3298 2194//3303 2193//3302
-f 2190//3299 2188//3297 2193//3302 2195//3304
-f 2191//3300 2190//3299 2195//3304 2196//3305
-f 2192//3301 2191//3300 2196//3305 2197//3306
-f 2193//3302 2194//3303 2199//3308 2198//3307
-f 2195//3304 2193//3302 2198//3307 2200//3309
-f 2196//3305 2195//3304 2200//3309 2201//3310
-f 2197//3306 2196//3305 2201//3310 2202//3311
-s 182
-f 2198//3317 2199//3318 2204//3323 2203//3322
-f 2200//3319 2198//3317 2203//3322 2205//3324
-f 2201//3320 2200//3319 2205//3324 2206//3325
-f 2202//3321 2201//3320 2206//3325 2207//3326
-f 2203//3322 2204//3323 2209//3328 2208//3327
-f 2207//3326 2206//3325 2211//3330 2212//3331
-f 2208//3327 2209//3328 2214//3333 2213//3332
-f 2212//3331 2211//3330 2216//3335 2217//3336
-f 2213//3332 2214//3333 2180//3312 2181//3313
-f 2217//3336 2216//3335 2184//3315 2187//3316
-s off
-f 2180//149 2214//149 2209//149 2204//149 2199//149 2194//149 2189//149 2179//149
-f 2187//150 2186//150 2192//150 2197//150 2202//150 2207//150 2212//150 2217//150
-s 182
-f 2213//3332 2181//3313 2182//3314 2215//3334
-f 2182//3314 2184//3315 2216//3335 2215//3334
-f 2231//3350 2241//3360 2233//3352 2218//3337
-f 2231//3350 2226//3345 2242//3361 2241//3360
-f 2242//3361 2226//3345 2230//3349
-f 2230//3349 2225//3344 2246//3365 2245//3364
-f 2245//3364 2244//3363 2242//3361 2230//3349
-f 2242//3361 2244//3363 2243//3362 2241//3360
-f 2233//3352 2241//3360 2243//3362 2232//3351
-f 2232//3351 2243//3362 2235//3354 2234//3353
-f 2235//3354 2243//3362 2244//3363 2236//3355
-f 2236//3355 2244//3363 2245//3364 2237//3356
-f 2237//3356 2245//3364 2246//3365 2238//3357
-f 2239//3358 2229//3348 2227//3346 2240//3359
-f 2240//3359 2227//3346 2228//3347
-f 2228//3347 2208//3327 2224//3343
-f 2224//3343 2222//3341 2240//3359 2228//3347
-f 2222//3341 2223//3342 2239//3358 2240//3359
-f 2239//3358 2223//3342 2210//3329 2238//3357
-f 2238//3357 2210//3329 2221//3340 2237//3356
-f 2237//3356 2221//3340 2219//3338 2236//3355
-f 2236//3355 2219//3338 2220//3339 2235//3354
-f 2235//3354 2220//3339 2211//3330 2234//3353
-f 2246//3365 2225//3344 2229//3348
-f 2229//3348 2239//3358 2238//3357 2246//3365
-f 2218//3337 2233//3352 2247//3366 2231//3350
-f 2247//3366 2248//3367 2226//3345 2231//3350
-f 2230//3349 2226//3345 2248//3367
-f 2249//3368 2250//3369 2225//3344 2230//3349
-f 2230//3349 2248//3367 2251//3370 2249//3368
-f 2247//3366 2252//3371 2251//3370 2248//3367
-f 2232//3351 2252//3371 2247//3366 2233//3352
-f 2234//3353 2253//3372 2252//3371 2232//3351
-f 2254//3373 2251//3370 2252//3371 2253//3372
-f 2255//3374 2249//3368 2251//3370 2254//3373
-f 2256//3375 2250//3369 2249//3368 2255//3374
-f 2257//3376 2227//3346 2229//3348 2258//3377
-f 2228//3347 2227//3346 2257//3376
-f 2229//3348 2225//3344 2250//3369
-f 2250//3369 2256//3375 2258//3377 2229//3348
-f 2228//3347 2257//3376 2258//3377 2205//3324 2203//3322
-f 2253//3372 2234//3353 2206//3325
-f 2255//3374 2254//3373 2253//3372 2206//3325 2205//3324
-f 2256//3375 2255//3374 2205//3324
-f 2258//3377 2256//3375 2205//3324
-f 2234//3353 2211//3330 2206//3325
-f 2228//3347 2203//3322 2208//3327
-s 181
-f 2182//3291 2181//3290 2178//3287 2183//3292
-f 2185//3294 2184//3293 2182//3291 2183//3292
-s 182
-f 2210//3329 2223//3342 2222//3341 2224//3343 2208//3327 2213//3332 2215//3334
-f 2210//3329 2215//3334 2216//3335 2211//3330 2220//3339 2219//3338 2221//3340
-g mast2
-s 1
-f 33//192 34//193 2259//200 31//191
-s 2
-f 34//206 35//207 2260//215 2259//214
-s 3
-f 35//222 36//223 2261//231 2260//230
-s 4
-f 36//238 37//239 2262//247 2261//246
-s 5
-f 37//258 38//259 2263//281 2262//280
-f 38//259 39//260 2265//283 2264//282 2263//281
-f 39//260 40//261 2266//284 2265//283
-s 6
-f 40//298 41//299 2267//307 2266//306
-s 7
-f 41//314 42//315 2268//323 2267//322
-s 8
-f 42//330 43//331 2269//339 2268//338
-s 9
-f 43//346 44//347 2270//355 2269//354
-s 10
-f 44//362 45//363 2271//371 2270//370
-s 11
-f 45//380 46//381 32//379 2271//388
-s 1
-f 31//191 2259//200 2272//201 29//190
-s 2
-f 2259//214 2260//215 2273//217 2272//216
-s 3
-f 2260//230 2261//231 2274//233 2273//232
-s 4
-f 2261//246 2262//247 2275//249 2274//248
-s 5
-f 2262//280 2263//281 2278//288 2277//287 2276//286 2275//285
-s off
-f 2282//151 2281//151 2280//151 2279//151
-s 5
-f 2265//283 2266//284 2284//290 2283//289
-s 6
-f 2266//306 2267//307 2285//309 2284//308
-s 7
-f 2267//322 2268//323 2286//325 2285//324
-s 8
-f 2268//338 2269//339 2287//341 2286//340
-s 9
-f 2269//354 2270//355 2288//357 2287//356
-s 10
-f 2270//370 2271//371 2289//373 2288//372
-s 11
-f 2271//388 32//379 30//378 2289//389
-s 1
-f 29//190 2272//201 16//189 15//188
-s 2
-f 2272//216 2273//217 17//205 16//204
-s 3
-f 2273//232 2274//233 18//221 17//220
-s 4
-f 2274//248 2275//249 19//237 18//236
-s 5
-f 2275//285 2276//286 20//255 19//254
-f 2276//286 2290//291 2283//289 21//256 20//255
-f 2283//289 2284//290 22//257 21//256
-s 6
-f 2284//308 2285//309 23//297 22//296
-s 7
-f 2285//324 2286//325 24//313 23//312
-s 8
-f 2286//340 2287//341 25//329 24//328
-s 9
-f 2287//356 2288//357 26//345 25//344
-s 10
-f 2288//372 2289//373 27//361 26//360
-s 11
-f 2289//389 30//378 28//377 27//376
-s 5
-f 2292//293 2291//292 2264//282 2265//283 2283//289 2290//291
-s off
-f 2296//152 2295//152 2294//152 2293//152
-f 2300//153 2299//153 2298//153 2297//153
-f 2264//154 2291//154 2293//154 2294//154
-f 2291//155 2278//155 2296//155 2293//155
-f 2278//156 2263//156 2295//156 2296//156
-f 2263//157 2264//157 2294//157 2295//157
-f 2276//158 2277//158 2279//158 2280//158
-f 2277//159 2292//159 2282//159 2279//159
-f 2292//160 2290//160 2281//160 2282//160
-f 2290//161 2276//161 2280//161 2281//161
-f 2277//162 2278//162 2297//162 2298//162
-f 2278//163 2291//163 2300//163 2297//163
-f 2291//164 2292//164 2299//164 2300//164
-f 2292//165 2277//165 2298//165 2299//165
-g mast1
-s 63
-f 573//1201 574//1202 2301//1209 571//1200
-s 64
-f 574//1215 575//1216 2302//1224 2301//1223
-s 65
-f 575//1231 576//1232 2303//1240 2302//1239
-s 66
-f 576//1247 577//1248 2304//1256 2303//1255
-s 67
-f 577//1267 578//1268 2305//1288 2304//1287
-f 578//1268 579//1269 2307//1290 2306//1289 2305//1288
-f 579//1269 580//1270 2308//1291 2307//1290
-s 68
-f 580//1303 581//1304 2309//1312 2308//1311
-s 69
-f 581//1319 582//1320 2310//1328 2309//1327
-s 70
-f 582//1335 583//1336 2311//1344 2310//1343
-s 71
-f 583//1351 584//1352 2312//1360 2311//1359
-s 72
-f 584//1367 585//1368 2313//1376 2312//1375
-s 73
-f 585//1385 586//1386 572//1384 2313//1393
-s 63
-f 571//1200 2301//1209 2314//1210 569//1199
-s 64
-f 2301//1223 2302//1224 2315//1226 2314//1225
-s 65
-f 2302//1239 2303//1240 2316//1242 2315//1241
-s 66
-f 2303//1255 2304//1256 2317//1258 2316//1257
-s 67
-f 2304//1287 2305//1288 2319//1294 2318//1293 2317//1292
-f 2322//1297 2306//1289 2307//1290 2321//1296 2320//1295
-f 2307//1290 2308//1291 2323//1298 2321//1296
-s 68
-f 2308//1311 2309//1312 2324//1314 2323//1313
-s 69
-f 2309//1327 2310//1328 2325//1330 2324//1329
-s 70
-f 2310//1343 2311//1344 2326//1346 2325//1345
-s 71
-f 2311//1359 2312//1360 2327//1362 2326//1361
-s 72
-f 2312//1375 2313//1376 2328//1378 2327//1377
-s 73
-f 2313//1393 572//1384 570//1383 2328//1394
-s 63
-f 569//1199 2314//1210 556//1198 555//1197
-s 64
-f 2314//1225 2315//1226 557//1214 556//1213
-s 65
-f 2315//1241 2316//1242 558//1230 557//1229
-s 66
-f 2316//1257 2317//1258 559//1246 558//1245
-s 67
-f 2317//1292 2318//1293 560//1264 559//1263
-f 2318//1293 2320//1295 2321//1296 561//1265 560//1264
-f 2321//1296 2323//1298 562//1266 561//1265
-s 68
-f 2323//1313 2324//1314 563//1302 562//1301
-s 69
-f 2324//1329 2325//1330 564//1318 563//1317
-s 70
-f 2325//1345 2326//1346 565//1334 564//1333
-s 71
-f 2326//1361 2327//1362 566//1350 565//1349
-s 72
-f 2327//1377 2328//1378 567//1366 566//1365
-s 73
-f 2328//1394 570//1383 568//1382 567//1381
-s off
-f 2332//166 2331//166 2330//166 2329//166
-f 2336//167 2335//167 2334//167 2333//167
-f 2318//168 2319//168 2333//168 2334//168
-f 2319//169 2322//169 2336//169 2333//169
-f 2322//170 2320//170 2335//170 2336//170
-f 2320//171 2318//171 2334//171 2335//171
-f 2305//172 2306//172 2329//172 2330//172
-f 2306//173 2322//173 2332//173 2329//173
-f 2322//174 2319//174 2331//174 2332//174
-f 2319//175 2305//175 2330//175 2331//175
-g mast3
-s 83
-f 673//1401 674//1402 2337//1409 671//1400
-s 84
-f 674//1415 675//1416 2338//1424 2337//1423
-s 85
-f 675//1431 676//1432 2339//1440 2338//1439
-s 86
-f 676//1447 677//1448 2340//1456 2339//1455
-s 87
-f 677//1467 678//1468 2341//1488 2340//1487
-f 678//1468 679//1469 2343//1490 2342//1489 2341//1488
-f 679//1469 680//1470 2344//1491 2343//1490
-s 88
-f 680//1503 681//1504 2345//1512 2344//1511
-s 89
-f 681//1519 682//1520 2346//1528 2345//1527
-s 90
-f 682//1535 683//1536 2347//1544 2346//1543
-s 91
-f 683//1551 684//1552 2348//1560 2347//1559
-s 92
-f 684//1567 685//1568 2349//1576 2348//1575
-s 93
-f 685//1585 686//1586 672//1584 2349//1593
-s 83
-f 671//1400 2337//1409 2350//1410 669//1399
-s 84
-f 2337//1423 2338//1424 2351//1426 2350//1425
-s 85
-f 2338//1439 2339//1440 2352//1442 2351//1441
-s 86
-f 2339//1455 2340//1456 2353//1458 2352//1457
-s 87
-f 2340//1487 2341//1488 2355//1494 2354//1493 2353//1492
-f 2358//1497 2342//1489 2343//1490 2357//1496 2356//1495
-f 2343//1490 2344//1491 2359//1498 2357//1496
-s 88
-f 2344//1511 2345//1512 2360//1514 2359//1513
-s 89
-f 2345//1527 2346//1528 2361//1530 2360//1529
-s 90
-f 2346//1543 2347//1544 2362//1546 2361//1545
-s 91
-f 2347//1559 2348//1560 2363//1562 2362//1561
-s 92
-f 2348//1575 2349//1576 2364//1578 2363//1577
-s 93
-f 2349//1593 672//1584 670//1583 2364//1594
-s 83
-f 669//1399 2350//1410 656//1398 655//1397
-s 84
-f 2350//1425 2351//1426 657//1414 656//1413
-s 85
-f 2351//1441 2352//1442 658//1430 657//1429
-s 86
-f 2352//1457 2353//1458 659//1446 658//1445
-s 87
-f 2353//1492 2354//1493 660//1464 659//1463
-f 2354//1493 2356//1495 2357//1496 661//1465 660//1464
-f 2357//1496 2359//1498 662//1466 661//1465
-s 88
-f 2359//1513 2360//1514 663//1502 662//1501
-s 89
-f 2360//1529 2361//1530 664//1518 663//1517
-s 90
-f 2361//1545 2362//1546 665//1534 664//1533
-s 91
-f 2362//1561 2363//1562 666//1550 665//1549
-s 92
-f 2363//1577 2364//1578 667//1566 666//1565
-s 93
-f 2364//1594 670//1583 668//1582 667//1581
-s off
-f 2368//176 2367//176 2366//176 2365//176
-f 2372//177 2371//177 2370//177 2369//177
-f 2354//178 2355//178 2369//178 2370//178
-f 2355//179 2358//179 2372//179 2369//179
-f 2358//180 2356//180 2371//180 2372//180
-f 2356//181 2354//181 2370//181 2371//181
-f 2341//182 2342//182 2365//182 2366//182
-f 2342//183 2358//183 2368//183 2365//183
-f 2358//184 2355//184 2367//184 2368//184
-f 2355//185 2341//185 2366//185 2367//185
-g deck
-s 23
-f 937//818 280//595 277//592
-f 277//592 280//595 279//594
-# 2384 elements
diff --git a/src/geometry/gas.rgb b/src/geometry/gas.rgb
deleted file mode 100644
index dc13eb8..0000000
--- a/src/geometry/gas.rgb
+++ /dev/null
Binary files differ
diff --git a/src/geometry/gravel.int b/src/geometry/gravel.int
deleted file mode 100644
index 33de30e..0000000
--- a/src/geometry/gravel.int
+++ /dev/null
Binary files differ
diff --git a/src/geometry/minimart.cg b/src/geometry/minimart.cg
deleted file mode 100644
index b8665fa..0000000
--- a/src/geometry/minimart.cg
+++ /dev/null
Binary files differ
diff --git a/src/geometry/minimart.mtl b/src/geometry/minimart.mtl
deleted file mode 100644
index 897e5c8..0000000
--- a/src/geometry/minimart.mtl
+++ /dev/null
@@ -1,131 +0,0 @@
-newmtl 58_3
-Ka 0.491326 0.491326 0.491326
-Kd 0.078057 0.208360 0.464741
-Ks 0.875138 0.875138 0.311181
-illum 2
-d 1.000000
-Ns 468.750000
-map_Kd concrete.int
-
-newmtl 0_0
-Ka 0.070740 0.070740 0.070740
-Kd 0.456263 0.456263 0.456263
-Ks 0.028991 0.028991 0.028991
-illum 2
-d 1.000000
-Ns 0.000000
-map_Kd pumps.int
-
-newmtl 58
-Ka 0.491326 0.491326 0.491326
-Kd 0.078057 0.208360 0.464741
-Ks 0.875138 0.875138 0.311181
-illum 2
-d 1.000000
-Ns 468.750000
-
-newmtl 50
-Ka 0.382389 0.382389 0.382389
-Kd 0.078057 0.208360 0.464741
-Ks 0.875138 0.875138 0.311181
-illum 2
-d 1.000000
-Ns 468.750000
-
-newmtl 0
-Ka 0.070740 0.070740 0.070740
-Kd 0.456263 0.456263 0.456263
-Ks 0.028991 0.028991 0.028991
-illum 2
-d 1.000000
-Ns 0.000000
-
-newmtl 0_1
-Ka 0.070740 0.070740 0.070740
-Kd 0.456263 0.456263 0.456263
-Ks 0.028991 0.028991 0.028991
-illum 2
-d 1.000000
-Ns 0.000000
-map_Kd numbers.int
-
-newmtl 49_4
-Ka 1.000000 1.000000 1.000000
-Kd 1.000000 1.000000 1.000000
-Ks 0.875138 0.875138 0.311181
-illum 2
-d 1.000000
-Ns 992.187500
-map_Kd gas.rgb
-
-newmtl 0_2
-Ka 0.070740 0.070740 0.070740
-Kd 0.456263 0.456263 0.456263
-Ks 0.028991 0.028991 0.028991
-illum 2
-d 1.000000
-Ns 0.000000
-map_Kd brick2.int
-
-newmtl 0_6
-Ka 0.070740 0.070740 0.070740
-Kd 0.456263 0.456263 0.456263
-Ks 0.028991 0.028991 0.028991
-illum 2
-d 1.000000
-Ns 0.000000
-map_Kd thdoor.inta
-
-newmtl 0_7
-Ka 0.070740 0.070740 0.070740
-Kd 0.456263 0.456263 0.456263
-Ks 0.028991 0.028991 0.028991
-illum 2
-d 1.000000
-Ns 0.000000
-map_Kd window.inta
-
-newmtl 0_8
-Ka 0.070740 0.070740 0.070740
-Kd 0.456263 0.456263 0.456263
-Ks 0.028991 0.028991 0.028991
-illum 2
-d 1.000000
-Ns 0.000000
-map_Kd gravel.int
-
-newmtl 0_5
-Ka 0.070740 0.070740 0.070740
-Kd 0.456263 0.456263 0.456263
-Ks 0.028991 0.028991 0.028991
-illum 2
-d 1.000000
-Ns 0.000000
-map_Kd products.rgb
-
-newmtl 0_4
-Ka 0.070740 0.070740 0.070740
-Kd 0.456263 0.456263 0.456263
-Ks 0.028991 0.028991 0.028991
-illum 2
-d 1.000000
-Ns 0.000000
-map_Kd gas.rgb
-
-newmtl 49
-Ka 1.000000 1.000000 1.000000
-Kd 1.000000 1.000000 1.000000
-Ks 0.875138 0.875138 0.311181
-illum 2
-d 1.000000
-Ns 992.187500
-
-newmtl 49_3
-Ka 1.000000 1.000000 1.000000
-Kd 1.000000 1.000000 1.000000
-Ks 0.875138 0.875138 0.311181
-illum 2
-d 1.000000
-Ns 992.187500
-map_Kd concrete.int
-
diff --git a/src/geometry/minimart.obj b/src/geometry/minimart.obj
deleted file mode 100644
index 2be323a..0000000
--- a/src/geometry/minimart.obj
+++ /dev/null
@@ -1,8696 +0,0 @@
-#Exported from Designer's Workbench - Coryphaeus Software Inc.
-mtllib minimart.mtl
-g island
-usemtl 58_3
-v -4.995108 -6.843245 0.000000
-vn -0.475051 0.879958 0.000000
-vt -15.601297 6.160724 0.000000
-v -4.995108 -6.843245 0.356720
-vn -0.475051 0.879958 0.000000
-vt -16.075003 4.976460 0.000000
-v 5.517270 -6.843242 0.356720
-vn 0.492198 0.870483 0.000000
-vt 18.824732 -8.983429 0.000000
-v 5.517270 -6.843242 0.000000
-vn 0.492198 0.870483 0.000000
-vt 19.298437 -7.799165 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.517270 -8.066281 0.000000
-vn 0.492198 -0.870483 0.000000
-vt 19.298437 -7.799165 0.000000
-v 5.517270 -8.066281 0.356720
-vn 0.492198 -0.870483 0.000000
-vt 18.824732 -8.983429 0.000000
-v -4.995107 -8.066284 0.356720
-vn -0.475050 -0.879959 0.000000
-vt -16.075001 4.976459 0.000000
-v -4.995107 -8.066284 0.000000
-vn -0.475050 -0.879959 0.000000
-vt -15.601295 6.160723 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.262645 -7.250924 0.000000
-vn -0.958136 0.286313 0.000000
-vt -16.489489 6.516000 0.000000
-v -5.262645 -7.250924 0.356720
-vn -0.958136 0.286313 0.000000
-vt -16.963194 5.331737 0.000000
-v -4.995108 -6.843245 0.356720
-vn -0.475051 0.879958 0.000000
-vt -16.075003 4.976460 0.000000
-v -4.995108 -6.843245 0.000000
-vn -0.475051 0.879958 0.000000
-vt -15.601297 6.160724 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.762516 -7.250921 0.000000
-vn 0.963561 0.267488 0.000000
-vt 20.112621 -8.124839 0.000000
-v 5.762516 -7.250921 0.356720
-vn 0.963561 0.267488 0.000000
-vt 19.638916 -9.309103 0.000000
-v 5.762516 -7.658602 0.356720
-vn 0.963561 -0.267488 0.000000
-vt 19.638916 -9.309103 0.000000
-v 5.762516 -7.658602 0.000000
-vn 0.963561 -0.267488 0.000000
-vt 20.112621 -8.124839 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.995107 -8.066284 0.000000
-vn -0.475050 -0.879959 0.000000
-vt -15.601295 6.160723 0.000000
-v -4.995107 -8.066284 0.356720
-vn -0.475050 -0.879959 0.000000
-vt -16.075001 4.976459 0.000000
-v -5.262645 -7.658605 0.356720
-vn -0.958136 -0.286314 0.000000
-vt -16.963194 5.331737 0.000000
-v -5.262645 -7.658605 0.000000
-vn -0.958136 -0.286314 0.000000
-vt -16.489489 6.516000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.262645 -7.250924 0.356720
-vn -0.958136 0.286313 0.000000
-vt -16.963194 5.331737 0.000000
-v -5.262645 -7.250924 0.000000
-vn -0.958136 0.286313 0.000000
-vt -16.489489 6.516000 0.000000
-v -5.262645 -7.658605 0.000000
-vn -0.958136 -0.286314 0.000000
-vt -16.489489 6.516000 0.000000
-v -5.262645 -7.658605 0.356720
-vn -0.958136 -0.286314 0.000000
-vt -16.963194 5.331737 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.517270 -8.066281 0.356720
-vn 0.492198 -0.870483 0.000000
-vt 18.824732 -8.983429 0.000000
-v 5.517270 -8.066281 0.000000
-vn 0.492198 -0.870483 0.000000
-vt 19.298437 -7.799165 0.000000
-v 5.762516 -7.658602 0.000000
-vn 0.963561 -0.267488 0.000000
-vt 20.112621 -8.124839 0.000000
-v 5.762516 -7.658602 0.356720
-vn 0.963561 -0.267488 0.000000
-vt 19.638916 -9.309103 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.517270 -6.843242 0.000000
-vn 0.492198 0.870483 0.000000
-vt 19.298437 -7.799165 0.000000
-v 5.517270 -6.843242 0.356720
-vn 0.492198 0.870483 0.000000
-vt 18.824732 -8.983429 0.000000
-v 5.762516 -7.250921 0.356720
-vn 0.963561 0.267488 0.000000
-vt 19.638916 -9.309103 0.000000
-v 5.762516 -7.250921 0.000000
-vn 0.963561 0.267488 0.000000
-vt 20.112621 -8.124839 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.995109 -2.087548 0.000000
-vn -0.475051 0.879958 0.000000
-vt -15.601301 6.160726 0.000000
-v -4.995109 -2.087548 0.356720
-vn -0.475051 0.879958 0.000000
-vt -16.075006 4.976461 0.000000
-v 5.517269 -2.087545 0.356720
-vn 0.492198 0.870483 0.000000
-vt 18.824726 -8.983427 0.000000
-v 5.517269 -2.087545 0.000000
-vn 0.492198 0.870483 0.000000
-vt 19.298433 -7.799163 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.517269 -3.310584 0.000000
-vn 0.492199 -0.870483 0.000000
-vt 19.298433 -7.799164 0.000000
-v 5.517269 -3.310584 0.356720
-vn 0.492199 -0.870483 0.000000
-vt 18.824728 -8.983428 0.000000
-v -4.995108 -3.310587 0.356720
-vn -0.475051 -0.879959 0.000000
-vt -16.075005 4.976461 0.000000
-v -4.995108 -3.310587 0.000000
-vn -0.475051 -0.879959 0.000000
-vt -15.601299 6.160725 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.262647 -2.495228 0.000000
-vn -0.958136 0.286312 0.000000
-vt -16.489492 6.516002 0.000000
-v -5.262647 -2.495228 0.356720
-vn -0.958136 0.286312 0.000000
-vt -16.963198 5.331738 0.000000
-v -4.995109 -2.087548 0.356720
-vn -0.475051 0.879958 0.000000
-vt -16.075006 4.976461 0.000000
-v -4.995109 -2.087548 0.000000
-vn -0.475051 0.879958 0.000000
-vt -15.601301 6.160726 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.762515 -2.495225 0.000000
-vn 0.963561 0.267488 0.000000
-vt 20.112619 -8.124838 0.000000
-v 5.762515 -2.495225 0.356720
-vn 0.963561 0.267488 0.000000
-vt 19.638914 -9.309102 0.000000
-v 5.762515 -2.902904 0.356720
-vn 0.963561 -0.267488 0.000000
-vt 19.638914 -9.309102 0.000000
-v 5.762515 -2.902904 0.000000
-vn 0.963561 -0.267488 0.000000
-vt 20.112619 -8.124838 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.995108 -3.310587 0.000000
-vn -0.475051 -0.879959 0.000000
-vt -15.601299 6.160725 0.000000
-v -4.995108 -3.310587 0.356720
-vn -0.475051 -0.879959 0.000000
-vt -16.075005 4.976461 0.000000
-v -5.262646 -2.902907 0.356720
-vn -0.958136 -0.286314 0.000000
-vt -16.963196 5.331738 0.000000
-v -5.262646 -2.902907 0.000000
-vn -0.958136 -0.286314 0.000000
-vt -16.489491 6.516002 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.262647 -2.495228 0.356720
-vn -0.958136 0.286312 0.000000
-vt -16.963198 5.331738 0.000000
-v -5.262647 -2.495228 0.000000
-vn -0.958136 0.286312 0.000000
-vt -16.489492 6.516002 0.000000
-v -5.262646 -2.902907 0.000000
-vn -0.958136 -0.286314 0.000000
-vt -16.489491 6.516002 0.000000
-v -5.262646 -2.902907 0.356720
-vn -0.958136 -0.286314 0.000000
-vt -16.963196 5.331738 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.517269 -3.310584 0.356720
-vn 0.492199 -0.870483 0.000000
-vt 18.824728 -8.983428 0.000000
-v 5.517269 -3.310584 0.000000
-vn 0.492199 -0.870483 0.000000
-vt 19.298433 -7.799164 0.000000
-v 5.762515 -2.902904 0.000000
-vn 0.963561 -0.267488 0.000000
-vt 20.112619 -8.124838 0.000000
-v 5.762515 -2.902904 0.356720
-vn 0.963561 -0.267488 0.000000
-vt 19.638914 -9.309102 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.517269 -2.087545 0.000000
-vn 0.492198 0.870483 0.000000
-vt 19.298433 -7.799163 0.000000
-v 5.517269 -2.087545 0.356720
-vn 0.492198 0.870483 0.000000
-vt 18.824726 -8.983427 0.000000
-v 5.762515 -2.495225 0.356720
-vn 0.963561 0.267488 0.000000
-vt 19.638914 -9.309102 0.000000
-v 5.762515 -2.495225 0.000000
-vn 0.963561 0.267488 0.000000
-vt 20.112619 -8.124838 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.517270 -6.843242 0.356720
-vn 0.000000 0.000000 1.000000
-vt 1.411776 -11.148104 0.000000
-v -4.995108 -6.843245 0.356720
-vn 0.000000 0.000000 1.000000
-vt -6.998125 5.671706 0.000000
-v -5.262645 -7.250924 0.356720
-vn 0.000000 0.000000 1.000000
-vt -7.864442 5.773623 0.000000
-v -5.262645 -7.658605 0.356720
-vn 0.000000 0.000000 1.000000
-vt -8.516731 5.447478 0.000000
-v -4.995107 -8.066284 0.356720
-vn 0.000000 0.000000 1.000000
-vt -8.954988 4.693272 0.000000
-v 5.517270 -8.066281 0.356720
-vn 0.000000 0.000000 1.000000
-vt -0.545087 -12.126536 0.000000
-v 5.762516 -7.658602 0.356720
-vn 0.000000 0.000000 1.000000
-vt 0.303397 -12.192786 0.000000
-v 5.762516 -7.250921 0.356720
-vn 0.000000 0.000000 1.000000
-vt 0.955686 -11.866642 0.000000
-f -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.517269 -2.087545 0.356720
-vn 0.000000 0.000000 1.000000
-vt 9.020891 -7.343543 0.000000
-v -4.995109 -2.087548 0.356720
-vn 0.000000 0.000000 1.000000
-vt 0.610991 9.476266 0.000000
-v -5.262647 -2.495228 0.356720
-vn 0.000000 0.000000 1.000000
-vt -0.255328 9.578183 0.000000
-v -5.262646 -2.902907 0.356720
-vn 0.000000 0.000000 1.000000
-vt -0.907615 9.252039 0.000000
-v -4.995108 -3.310587 0.356720
-vn 0.000000 0.000000 1.000000
-vt -1.345873 8.497833 0.000000
-v 5.517269 -3.310584 0.356720
-vn 0.000000 0.000000 1.000000
-vt 7.064028 -8.321976 0.000000
-v 5.762515 -2.902904 0.356720
-vn 0.000000 0.000000 1.000000
-vt 7.912513 -8.388226 0.000000
-v 5.762515 -2.495225 0.356720
-vn 0.000000 0.000000 1.000000
-vt 8.564800 -8.062081 0.000000
-f -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g pumps
-usemtl 0_0
-v 3.966174 -2.313679 0.356720
-vn 0.000000 0.999298 0.037474
-vt -0.006712 0.002003 0.000000
-v 3.966174 -2.361455 1.630720
-vn 0.000000 0.999298 0.037474
-vt -0.006712 0.995882 0.000000
-v 4.943970 -2.361455 1.630720
-vn 0.000000 0.999298 0.037474
-vt 1.001127 0.995882 0.000000
-v 4.943970 -2.313679 0.356720
-vn 0.000000 0.999298 0.037474
-vt 1.001127 0.002003 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.943971 -3.062155 0.356720
-vn 0.000000 -0.999298 0.037475
-vt 1.001127 0.002003 0.000000
-v 4.943971 -3.014379 1.630720
-vn 0.000000 -0.999298 0.037475
-vt 1.001127 0.995882 0.000000
-v 3.966174 -3.014379 1.630720
-vn 0.000000 -0.999298 0.037475
-vt -0.006712 0.995882 0.000000
-v 3.966174 -3.062155 0.356720
-vn 0.000000 -0.999298 0.037475
-vt -0.006712 0.002003 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.966174 -2.361455 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.006712 0.995882 0.000000
-v 3.966174 -3.014379 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.006712 0.995882 0.000000
-v 4.943971 -3.014379 1.630720
-vn 0.000000 0.000000 1.000000
-vt 1.001127 0.995882 0.000000
-v 4.943970 -2.361455 1.630720
-vn 0.000000 0.000000 1.000000
-vt 1.001127 0.995882 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.966174 -3.062155 0.356720
-vn -1.000000 -0.000001 0.000000
-vt -0.006712 0.002003 0.000000
-v 3.966174 -3.014379 1.630720
-vn -1.000000 -0.000001 0.000000
-vt -0.006712 0.995882 0.000000
-v 3.966174 -2.361455 1.630720
-vn -1.000000 -0.000001 0.000000
-vt -0.006712 0.995882 0.000000
-v 3.966174 -2.313679 0.356720
-vn -1.000000 -0.000001 0.000000
-vt -0.006712 0.002003 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.943970 -2.313679 0.356720
-vn 1.000000 0.000001 0.000000
-vt 1.001127 0.002003 0.000000
-v 4.943970 -2.361455 1.630720
-vn 1.000000 0.000001 0.000000
-vt 1.001127 0.995882 0.000000
-v 4.943971 -3.014379 1.630720
-vn 1.000000 0.000001 0.000000
-vt 1.001127 0.995882 0.000000
-v 4.943971 -3.062155 0.356720
-vn 1.000000 0.000001 0.000000
-vt 1.001127 0.002003 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.287601 -2.313680 0.356720
-vn 0.000000 0.999298 0.037474
-vt -0.015148 -0.007196 0.000000
-v 1.287601 -2.361456 1.630720
-vn 0.000000 0.999298 0.037474
-vt -0.015147 1.007197 0.000000
-v 2.265398 -2.361456 1.630720
-vn 0.000000 0.999298 0.037474
-vt 0.996964 1.007197 0.000000
-v 2.265398 -2.313680 0.356720
-vn 0.000000 0.999298 0.037474
-vt 0.996963 -0.007196 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.265398 -3.062156 0.356720
-vn 0.000000 -0.999298 0.037475
-vt 0.996963 -0.007196 0.000000
-v 2.265398 -3.014380 1.630720
-vn 0.000000 -0.999298 0.037475
-vt 0.996964 1.007197 0.000000
-v 1.287602 -3.014380 1.630720
-vn 0.000000 -0.999298 0.037475
-vt -0.015147 1.007197 0.000000
-v 1.287602 -3.062156 0.356720
-vn 0.000000 -0.999298 0.037475
-vt -0.015148 -0.007196 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.287601 -2.361456 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.015147 1.007197 0.000000
-v 1.287602 -3.014380 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.015147 1.007197 0.000000
-v 2.265398 -3.014380 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.996964 1.007197 0.000000
-v 2.265398 -2.361456 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.996964 1.007197 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.287602 -3.062156 0.356720
-vn -1.000000 0.000000 0.000000
-vt -0.015148 -0.007196 0.000000
-v 1.287602 -3.014380 1.630720
-vn -1.000000 0.000000 0.000000
-vt -0.015147 1.007197 0.000000
-v 1.287601 -2.361456 1.630720
-vn -1.000000 0.000000 0.000000
-vt -0.015147 1.007197 0.000000
-v 1.287601 -2.313680 0.356720
-vn -1.000000 0.000000 0.000000
-vt -0.015148 -0.007196 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.265398 -2.313680 0.356720
-vn 1.000000 0.000000 0.000000
-vt 0.996963 -0.007196 0.000000
-v 2.265398 -2.361456 1.630720
-vn 1.000000 0.000000 0.000000
-vt 0.996964 1.007197 0.000000
-v 2.265398 -3.014380 1.630720
-vn 1.000000 0.000000 0.000000
-vt 0.996964 1.007197 0.000000
-v 2.265398 -3.062156 0.356720
-vn 1.000000 0.000000 0.000000
-vt 0.996963 -0.007196 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.886559 -2.313681 0.356720
-vn 0.000000 0.999298 0.037474
-vt 0.991106 0.006118 0.000000
-v -1.886559 -2.361457 1.630720
-vn 0.000000 0.999298 0.037474
-vt 0.991106 1.004051 0.000000
-v -0.908766 -2.361457 1.630720
-vn 0.000000 0.999298 0.037474
-vt 0.000121 1.004051 0.000000
-v -0.908766 -2.313681 0.356720
-vn 0.000000 0.999298 0.037474
-vt 0.000122 0.006118 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -0.908766 -3.062157 0.356720
-vn 0.000000 -0.999298 0.037475
-vt 0.000122 0.006118 0.000000
-v -0.908766 -3.014381 1.630720
-vn 0.000000 -0.999298 0.037475
-vt 0.000121 1.004051 0.000000
-v -1.886558 -3.014381 1.630720
-vn 0.000000 -0.999298 0.037475
-vt 0.991106 1.004051 0.000000
-v -1.886558 -3.062157 0.356720
-vn 0.000000 -0.999298 0.037475
-vt 0.991106 0.006118 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.886559 -2.361457 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.991106 1.004051 0.000000
-v -1.886558 -3.014381 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.991106 1.004051 0.000000
-v -0.908766 -3.014381 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.000121 1.004051 0.000000
-v -0.908766 -2.361457 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.000121 1.004051 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.886558 -3.062157 0.356720
-vn -1.000000 0.000000 0.000000
-vt 0.991106 0.006118 0.000000
-v -1.886558 -3.014381 1.630720
-vn -1.000000 0.000000 0.000000
-vt 0.991106 1.004051 0.000000
-v -1.886559 -2.361457 1.630720
-vn -1.000000 0.000000 0.000000
-vt 0.991106 1.004051 0.000000
-v -1.886559 -2.313681 0.356720
-vn -1.000000 0.000000 0.000000
-vt 0.991106 0.006118 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -0.908766 -2.313681 0.356720
-vn 1.000000 0.000000 0.000000
-vt 0.000122 0.006118 0.000000
-v -0.908766 -2.361457 1.630720
-vn 1.000000 0.000000 0.000000
-vt 0.000121 1.004051 0.000000
-v -0.908766 -3.014381 1.630720
-vn 1.000000 0.000000 0.000000
-vt 0.000121 1.004051 0.000000
-v -0.908766 -3.062157 0.356720
-vn 1.000000 0.000000 0.000000
-vt 0.000122 0.006118 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.603353 -2.313682 0.356720
-vn 0.000000 0.999298 0.037474
-vt 0.994782 0.004058 0.000000
-v -4.603353 -2.361458 1.630720
-vn 0.000000 0.999298 0.037474
-vt 0.994782 0.995942 0.000000
-v -3.625556 -2.361458 1.630720
-vn 0.000000 0.999298 0.037474
-vt -0.003187 0.995942 0.000000
-v -3.625556 -2.313681 0.356720
-vn 0.000000 0.999298 0.037474
-vt -0.003187 0.004058 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.625556 -2.313681 0.356720
-vn 1.000000 0.000001 0.000000
-vt -0.003187 0.004058 0.000000
-v -3.625556 -2.361458 1.630720
-vn 1.000000 0.000001 0.000000
-vt -0.003187 0.995942 0.000000
-v -3.625556 -3.014381 1.630720
-vn 1.000000 0.000001 0.000000
-vt -0.003187 0.995942 0.000000
-v -3.625556 -3.062157 0.356720
-vn 1.000000 0.000001 0.000000
-vt -0.003187 0.004058 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.603353 -2.361458 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.994782 0.995942 0.000000
-v -4.603352 -3.014382 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.994782 0.995942 0.000000
-v -3.625556 -3.014381 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.003187 0.995942 0.000000
-v -3.625556 -2.361458 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.003187 0.995942 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.625556 -3.062157 0.356720
-vn 0.000000 -0.999298 0.037475
-vt -0.003187 0.004058 0.000000
-v -3.625556 -3.014381 1.630720
-vn 0.000000 -0.999298 0.037475
-vt -0.003187 0.995942 0.000000
-v -4.603352 -3.014382 1.630720
-vn 0.000000 -0.999298 0.037475
-vt 0.994782 0.995942 0.000000
-v -4.603352 -3.062158 0.356720
-vn 0.000000 -0.999298 0.037475
-vt 0.994782 0.004058 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.603352 -3.062158 0.356720
-vn -1.000000 -0.000001 0.000000
-vt 0.994782 0.004058 0.000000
-v -4.603352 -3.014382 1.630720
-vn -1.000000 -0.000001 0.000000
-vt 0.994782 0.995942 0.000000
-v -4.603353 -2.361458 1.630720
-vn -1.000000 -0.000001 0.000000
-vt 0.994782 0.995942 0.000000
-v -4.603353 -2.313682 0.356720
-vn -1.000000 -0.000001 0.000000
-vt 0.994782 0.004058 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.966175 -7.069377 0.356720
-vn 0.000000 0.999298 0.037474
-vt -0.006712 0.002003 0.000000
-v 3.966175 -7.117152 1.630720
-vn 0.000000 0.999298 0.037474
-vt -0.006712 0.995882 0.000000
-v 4.943972 -7.117152 1.630720
-vn 0.000000 0.999298 0.037474
-vt 1.001127 0.995882 0.000000
-v 4.943972 -7.069377 0.356720
-vn 0.000000 0.999298 0.037474
-vt 1.001127 0.002003 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.943972 -7.817852 0.356720
-vn 0.000000 -0.999298 0.037474
-vt 1.001127 0.002003 0.000000
-v 4.943972 -7.770077 1.630720
-vn 0.000000 -0.999298 0.037474
-vt 1.001127 0.995882 0.000000
-v 3.966175 -7.770077 1.630720
-vn 0.000000 -0.999298 0.037474
-vt -0.006712 0.995882 0.000000
-v 3.966175 -7.817852 0.356720
-vn 0.000000 -0.999298 0.037474
-vt -0.006712 0.002003 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.966175 -7.117152 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.006712 0.995882 0.000000
-v 3.966175 -7.770077 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.006712 0.995882 0.000000
-v 4.943972 -7.770077 1.630720
-vn 0.000000 0.000000 1.000000
-vt 1.001127 0.995882 0.000000
-v 4.943972 -7.117152 1.630720
-vn 0.000000 0.000000 1.000000
-vt 1.001127 0.995882 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.966175 -7.817852 0.356720
-vn -1.000000 0.000000 0.000000
-vt -0.006712 0.002003 0.000000
-v 3.966175 -7.770077 1.630720
-vn -1.000000 0.000000 0.000000
-vt -0.006712 0.995882 0.000000
-v 3.966175 -7.117152 1.630720
-vn -1.000000 0.000000 0.000000
-vt -0.006712 0.995882 0.000000
-v 3.966175 -7.069377 0.356720
-vn -1.000000 0.000000 0.000000
-vt -0.006712 0.002003 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.943972 -7.069377 0.356720
-vn 1.000000 0.000000 0.000000
-vt 1.001127 0.002003 0.000000
-v 4.943972 -7.117152 1.630720
-vn 1.000000 0.000000 0.000000
-vt 1.001127 0.995882 0.000000
-v 4.943972 -7.770077 1.630720
-vn 1.000000 0.000000 0.000000
-vt 1.001127 0.995882 0.000000
-v 4.943972 -7.817852 0.356720
-vn 1.000000 0.000000 0.000000
-vt 1.001127 0.002003 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.287602 -7.069378 0.356720
-vn 0.000000 0.999298 0.037474
-vt -0.015148 -0.007196 0.000000
-v 1.287603 -7.117153 1.630720
-vn 0.000000 0.999298 0.037474
-vt -0.015147 1.007197 0.000000
-v 2.265399 -7.117152 1.630720
-vn 0.000000 0.999298 0.037474
-vt 0.996964 1.007197 0.000000
-v 2.265399 -7.069378 0.356720
-vn 0.000000 0.999298 0.037474
-vt 0.996963 -0.007196 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.265399 -7.817852 0.356720
-vn 0.000001 -0.999298 0.037474
-vt 0.996963 -0.007196 0.000000
-v 2.265399 -7.770078 1.630720
-vn 0.000001 -0.999298 0.037474
-vt 0.996964 1.007197 0.000000
-v 1.287603 -7.770078 1.630720
-vn 0.000001 -0.999298 0.037474
-vt -0.015147 1.007197 0.000000
-v 1.287603 -7.817853 0.356720
-vn 0.000001 -0.999298 0.037474
-vt -0.015148 -0.007196 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.287603 -7.117153 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.015147 1.007197 0.000000
-v 1.287603 -7.770078 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.015147 1.007197 0.000000
-v 2.265399 -7.770078 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.996964 1.007197 0.000000
-v 2.265399 -7.117152 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.996964 1.007197 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.287603 -7.817853 0.356720
-vn -1.000000 0.000000 0.000000
-vt -0.015148 -0.007196 0.000000
-v 1.287603 -7.770078 1.630720
-vn -1.000000 0.000000 0.000000
-vt -0.015147 1.007197 0.000000
-v 1.287603 -7.117153 1.630720
-vn -1.000000 0.000000 0.000000
-vt -0.015147 1.007197 0.000000
-v 1.287602 -7.069378 0.356720
-vn -1.000000 0.000000 0.000000
-vt -0.015148 -0.007196 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.265399 -7.069378 0.356720
-vn 1.000000 0.000000 0.000000
-vt 0.996963 -0.007196 0.000000
-v 2.265399 -7.117152 1.630720
-vn 1.000000 0.000000 0.000000
-vt 0.996964 1.007197 0.000000
-v 2.265399 -7.770078 1.630720
-vn 1.000000 0.000000 0.000000
-vt 0.996964 1.007197 0.000000
-v 2.265399 -7.817852 0.356720
-vn 1.000000 0.000000 0.000000
-vt 0.996963 -0.007196 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.886558 -7.069379 0.356720
-vn 0.000000 0.999298 0.037473
-vt 0.991106 0.006118 0.000000
-v -1.886558 -7.117153 1.630720
-vn 0.000000 0.999298 0.037473
-vt 0.991106 1.004051 0.000000
-v -0.908765 -7.117153 1.630720
-vn 0.000000 0.999298 0.037473
-vt 0.000121 1.004051 0.000000
-v -0.908765 -7.069379 0.356720
-vn 0.000000 0.999298 0.037473
-vt 0.000122 0.006118 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -0.908765 -7.817853 0.356720
-vn 0.000000 -0.999298 0.037473
-vt 0.000122 0.006118 0.000000
-v -0.908765 -7.770079 1.630720
-vn 0.000000 -0.999298 0.037473
-vt 0.000121 1.004051 0.000000
-v -1.886557 -7.770079 1.630720
-vn 0.000000 -0.999298 0.037473
-vt 0.991106 1.004051 0.000000
-v -1.886557 -7.817853 0.356720
-vn 0.000000 -0.999298 0.037473
-vt 0.991106 0.006118 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.886558 -7.117153 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.991106 1.004051 0.000000
-v -1.886557 -7.770079 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.991106 1.004051 0.000000
-v -0.908765 -7.770079 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.000121 1.004051 0.000000
-v -0.908765 -7.117153 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.000121 1.004051 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.886557 -7.817853 0.356720
-vn -1.000000 0.000000 0.000000
-vt 0.991106 0.006118 0.000000
-v -1.886557 -7.770079 1.630720
-vn -1.000000 0.000000 0.000000
-vt 0.991106 1.004051 0.000000
-v -1.886558 -7.117153 1.630720
-vn -1.000000 0.000000 0.000000
-vt 0.991106 1.004051 0.000000
-v -1.886558 -7.069379 0.356720
-vn -1.000000 0.000000 0.000000
-vt 0.991106 0.006118 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -0.908765 -7.069379 0.356720
-vn 1.000000 0.000000 0.000000
-vt 0.000122 0.006118 0.000000
-v -0.908765 -7.117153 1.630720
-vn 1.000000 0.000000 0.000000
-vt 0.000121 1.004051 0.000000
-v -0.908765 -7.770079 1.630720
-vn 1.000000 0.000000 0.000000
-vt 0.000121 1.004051 0.000000
-v -0.908765 -7.817853 0.356720
-vn 1.000000 0.000000 0.000000
-vt 0.000122 0.006118 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.603352 -7.069380 0.356720
-vn -0.000001 0.999298 0.037473
-vt 0.994782 0.004058 0.000000
-v -4.603351 -7.117154 1.630720
-vn -0.000001 0.999298 0.037473
-vt 0.994782 0.995942 0.000000
-v -3.625555 -7.117154 1.630720
-vn -0.000001 0.999298 0.037473
-vt -0.003187 0.995942 0.000000
-v -3.625555 -7.069379 0.356720
-vn -0.000001 0.999298 0.037473
-vt -0.003187 0.004058 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.625555 -7.817854 0.356720
-vn 0.000000 -0.999298 0.037473
-vt -0.003187 0.004058 0.000000
-v -3.625555 -7.770079 1.630720
-vn 0.000000 -0.999298 0.037473
-vt -0.003187 0.995942 0.000000
-v -4.603351 -7.770080 1.630720
-vn 0.000000 -0.999298 0.037473
-vt 0.994782 0.995942 0.000000
-v -4.603351 -7.817854 0.356720
-vn 0.000000 -0.999298 0.037473
-vt 0.994782 0.004058 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.603351 -7.117154 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.994782 0.995942 0.000000
-v -4.603351 -7.770080 1.630720
-vn 0.000000 0.000000 1.000000
-vt 0.994782 0.995942 0.000000
-v -3.625555 -7.770079 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.003187 0.995942 0.000000
-v -3.625555 -7.117154 1.630720
-vn 0.000000 0.000000 1.000000
-vt -0.003187 0.995942 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.603351 -7.817854 0.356720
-vn -1.000000 -0.000001 0.000000
-vt 0.994782 0.004058 0.000000
-v -4.603351 -7.770080 1.630720
-vn -1.000000 -0.000001 0.000000
-vt 0.994782 0.995942 0.000000
-v -4.603351 -7.117154 1.630720
-vn -1.000000 -0.000001 0.000000
-vt 0.994782 0.995942 0.000000
-v -4.603352 -7.069380 0.356720
-vn -1.000000 -0.000001 0.000000
-vt 0.994782 0.004058 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.625555 -7.069379 0.356720
-vn 1.000000 0.000001 0.000000
-vt -0.003187 0.004058 0.000000
-v -3.625555 -7.117154 1.630720
-vn 1.000000 0.000001 0.000000
-vt -0.003187 0.995942 0.000000
-v -3.625555 -7.770079 1.630720
-vn 1.000000 0.000001 0.000000
-vt -0.003187 0.995942 0.000000
-v -3.625555 -7.817854 0.356720
-vn 1.000000 0.000001 0.000000
-vt -0.003187 0.004058 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g poles
-usemtl 58
-v 0.219801 -2.543001 0.356720
-vn 0.595561 0.803310 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.219801 -2.543001 4.762428
-vn 0.595561 0.803310 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.404530 -2.679956 4.762428
-vn 0.595561 0.803310 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.404530 -2.679956 0.356720
-vn 0.595561 0.803310 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 0.404530 -2.679956 0.356720
-vn 0.951444 -0.307821 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.404530 -2.679956 4.762428
-vn 0.951444 -0.307821 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.334460 -2.896536 4.762428
-vn 0.951444 -0.307821 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.334460 -2.896536 0.356720
-vn 0.951444 -0.307821 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 0.334460 -2.896536 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.334460 -2.896536 4.762428
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.105139 -2.896536 4.762428
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.105139 -2.896536 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 0.105139 -2.896536 0.356720
-vn -0.951447 -0.307814 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.105139 -2.896536 4.762428
-vn -0.951447 -0.307814 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.035071 -2.679956 4.762428
-vn -0.951447 -0.307814 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.035071 -2.679956 0.356720
-vn -0.951447 -0.307814 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 0.035071 -2.679956 0.356720
-vn -0.595559 0.803312 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.035071 -2.679956 4.762428
-vn -0.595559 0.803312 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.219801 -2.543001 4.762428
-vn -0.595559 0.803312 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.219801 -2.543001 0.356720
-vn -0.595559 0.803312 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 0.219802 -7.279588 0.356720
-vn 0.586512 0.809940 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.219802 -7.279588 4.762428
-vn 0.586512 0.809940 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.404531 -7.413358 4.762428
-vn 0.586512 0.809940 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.404531 -7.413358 0.356720
-vn 0.586512 0.809940 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 0.404531 -7.413358 0.356720
-vn 0.951444 -0.307821 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.404531 -7.413358 4.762428
-vn 0.951444 -0.307821 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.334461 -7.629938 4.762428
-vn 0.951444 -0.307821 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.334461 -7.629938 0.356720
-vn 0.951444 -0.307821 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 0.334461 -7.629938 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.334461 -7.629938 4.762428
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.105140 -7.629938 4.762428
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.105140 -7.629938 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 0.105140 -7.629938 0.356720
-vn -0.951447 -0.307813 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.105140 -7.629938 4.762428
-vn -0.951447 -0.307813 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.035072 -7.413358 4.762428
-vn -0.951447 -0.307813 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.035072 -7.413358 0.356720
-vn -0.951447 -0.307813 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 0.035072 -7.413358 0.356720
-vn -0.586509 0.809943 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.035072 -7.413358 4.762428
-vn -0.586509 0.809943 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.219802 -7.279588 4.762428
-vn -0.586509 0.809943 0.000000
-vt 0.000000 0.000000 0.000000
-v 0.219802 -7.279588 0.356720
-vn -0.586509 0.809943 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g lilpole
-usemtl 50
-v -5.093839 -7.359215 0.356720
-vn 0.609712 0.792623 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.093839 -7.359215 1.248520
-vn 0.609712 0.792623 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.011030 -7.422915 1.248520
-vn 0.609712 0.792623 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.011030 -7.422915 0.356720
-vn 0.609712 0.792623 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.011030 -7.422915 0.356720
-vn 0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.011030 -7.422915 1.248520
-vn 0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.042881 -7.521649 1.248520
-vn 0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.042881 -7.521649 0.356720
-vn 0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.042881 -7.521649 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.042881 -7.521649 1.248520
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.147985 -7.521649 1.248520
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.147985 -7.521649 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.147985 -7.521649 0.356720
-vn -0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.147985 -7.521649 1.248520
-vn -0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.179836 -7.422915 1.248520
-vn -0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.179836 -7.422915 0.356720
-vn -0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.179836 -7.422915 0.356720
-vn -0.595219 0.803564 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.179836 -7.422915 1.248520
-vn -0.595219 0.803564 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.093839 -7.359215 1.248520
-vn -0.595219 0.803564 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.093839 -7.359215 0.356720
-vn -0.595219 0.803564 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.093841 -2.606703 0.356720
-vn 0.590016 0.807392 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.093841 -2.606703 1.248520
-vn 0.590016 0.807392 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.011031 -2.667217 1.248520
-vn 0.590016 0.807392 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.011031 -2.667217 0.356720
-vn 0.590016 0.807392 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.011031 -2.667217 0.356720
-vn 0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.011031 -2.667217 1.248520
-vn 0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.042882 -2.769138 1.248520
-vn 0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.042882 -2.769138 0.356720
-vn 0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.042882 -2.769138 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.042882 -2.769138 1.248520
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.147986 -2.769138 1.248520
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.147986 -2.769138 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.147986 -2.769138 0.356720
-vn -0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.147986 -2.769138 1.248520
-vn -0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.179837 -2.667217 1.248520
-vn -0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.179837 -2.667217 0.356720
-vn -0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.179837 -2.667217 0.356720
-vn -0.575483 0.817814 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.179837 -2.667217 1.248520
-vn -0.575483 0.817814 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.093841 -2.606703 1.248520
-vn -0.575483 0.817814 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.093841 -2.606703 0.356720
-vn -0.575483 0.817814 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.536381 -7.359212 0.356720
-vn 0.595227 0.803558 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.536381 -7.359212 1.248520
-vn 0.595227 0.803558 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.622375 -7.422912 1.248520
-vn 0.595227 0.803558 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.622375 -7.422912 0.356720
-vn 0.595227 0.803558 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.622375 -7.422912 0.356720
-vn 0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.622375 -7.422912 1.248520
-vn 0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.590525 -7.521646 1.248520
-vn 0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.590525 -7.521646 0.356720
-vn 0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.590525 -7.521646 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.590525 -7.521646 1.248520
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.485420 -7.521646 1.248520
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.485420 -7.521646 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.485420 -7.521646 0.356720
-vn -0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.485420 -7.521646 1.248520
-vn -0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.453569 -7.422912 1.248520
-vn -0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.453569 -7.422912 0.356720
-vn -0.951706 -0.307010 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.453569 -7.422912 0.356720
-vn -0.609703 0.792630 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.453569 -7.422912 1.248520
-vn -0.609703 0.792630 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.536381 -7.359212 1.248520
-vn -0.609703 0.792630 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.536381 -7.359212 0.356720
-vn -0.609703 0.792630 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.536380 -2.606700 0.356720
-vn 0.575491 0.817808 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.536380 -2.606700 1.248520
-vn 0.575491 0.817808 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.622375 -2.667214 1.248520
-vn 0.575491 0.817808 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.622375 -2.667214 0.356720
-vn 0.575491 0.817808 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.622375 -2.667214 0.356720
-vn 0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.622375 -2.667214 1.248520
-vn 0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.590524 -2.769135 1.248520
-vn 0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.590524 -2.769135 0.356720
-vn 0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.590524 -2.769135 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.590524 -2.769135 1.248520
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.485419 -2.769135 1.248520
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.485419 -2.769135 0.356720
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.485419 -2.769135 0.356720
-vn -0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.485419 -2.769135 1.248520
-vn -0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.453568 -2.667214 1.248520
-vn -0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.453568 -2.667214 0.356720
-vn -0.954478 -0.298280 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.453568 -2.667214 0.356720
-vn -0.590007 0.807398 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.453568 -2.667214 1.248520
-vn -0.590007 0.807398 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.536380 -2.606700 1.248520
-vn -0.590007 0.807398 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.536380 -2.606700 0.356720
-vn -0.590007 0.807398 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.179837 -2.667217 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -5.147986 -2.769138 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -5.042882 -2.769138 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -5.011031 -2.667217 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -5.093841 -2.606703 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.453569 -7.422912 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 5.485420 -7.521646 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 5.590525 -7.521646 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 5.622375 -7.422912 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 5.536381 -7.359212 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.179836 -7.422915 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -5.147985 -7.521649 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -5.042881 -7.521649 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -5.011030 -7.422915 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -5.093839 -7.359215 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.453568 -2.667214 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 5.485419 -2.769135 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 5.590524 -2.769135 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 5.622375 -2.667214 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 5.536380 -2.606700 1.248520
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g nozzles
-usemtl 0
-v 3.973126 -7.474762 1.496231
-vn 0.079950 0.995278 0.055050
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.474762 1.461424
-vn 0.079950 0.995278 0.055050
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.461802 1.366481
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973126 -7.474762 1.496231
-vn 0.079950 0.995278 0.055050
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.461802 1.366481
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.474762 1.429210
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.901126 -7.548202 1.173709
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.526602 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.513642 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.901126 -7.548202 1.173709
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.513642 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.548202 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973126 -7.513642 1.496231
-vn 0.079944 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.513642 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.526602 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973126 -7.513642 1.461424
-vn 0.079944 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.513642 1.496231
-vn 0.079944 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.526602 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.880126 -7.474762 1.429210
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.461802 1.366481
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.440202 1.173709
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.880126 -7.474762 1.429210
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.440202 1.173709
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.440202 1.084686
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.943840 -7.481327 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.943840 -7.481327 0.568535
-vn -0.024409 0.999698 0.002922
-vt 0.000000 0.000000 0.000000
-v 3.913849 -7.482033 0.568535
-vn -0.024409 0.999698 0.002922
-vt 0.000000 0.000000 0.000000
-v 3.913849 -7.482033 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.944546 -7.511319 1.084686
-vn 0.999877 0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.944546 -7.511319 0.568535
-vn 0.983458 0.023141 0.179654
-vt 0.000000 0.000000 0.000000
-v 3.943840 -7.481327 0.568535
-vn 0.983458 0.023141 0.179654
-vt 0.000000 0.000000 0.000000
-v 3.943840 -7.481327 1.084686
-vn 0.999877 0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.914555 -7.512025 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v 3.914555 -7.512025 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 3.944546 -7.511319 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 3.944546 -7.511319 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.913849 -7.482033 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-v 3.913849 -7.482033 0.568535
-vn -0.984640 -0.023169 -0.173052
-vt 0.000000 0.000000 0.000000
-v 3.914555 -7.512025 0.568535
-vn -0.984640 -0.023169 -0.173052
-vt 0.000000 0.000000 0.000000
-v 3.914555 -7.512025 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.943840 -7.481327 0.568535
-vn -0.024409 0.999698 0.002922
-vt 0.000000 0.000000 0.000000
-v 3.951936 -7.481327 0.511512
-vn -0.024409 0.999698 0.002922
-vt 0.000000 0.000000 0.000000
-v 3.921945 -7.482033 0.505522
-vn -0.024409 0.999698 0.002922
-vt 0.000000 0.000000 0.000000
-v 3.913849 -7.482033 0.568535
-vn -0.024409 0.999698 0.002922
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.944546 -7.511319 0.568535
-vn 0.983458 0.023141 0.179654
-vt 0.000000 0.000000 0.000000
-v 3.952641 -7.511319 0.511512
-vn 0.983458 0.023141 0.179654
-vt 0.000000 0.000000 0.000000
-v 3.951936 -7.481327 0.511512
-vn 0.983458 0.023141 0.179654
-vt 0.000000 0.000000 0.000000
-v 3.943840 -7.481327 0.568535
-vn 0.983458 0.023141 0.179654
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.914555 -7.512025 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 3.922650 -7.512025 0.505522
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 3.952641 -7.511319 0.511512
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 3.944546 -7.511319 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.913849 -7.482033 0.568535
-vn -0.984640 -0.023169 -0.173052
-vt 0.000000 0.000000 0.000000
-v 3.921945 -7.482033 0.505522
-vn -0.984640 -0.023169 -0.173052
-vt 0.000000 0.000000 0.000000
-v 3.922650 -7.512025 0.505522
-vn -0.984640 -0.023169 -0.173052
-vt 0.000000 0.000000 0.000000
-v 3.914555 -7.512025 0.568535
-vn -0.984640 -0.023169 -0.173052
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.951936 -7.481327 0.511512
-vn -0.024409 0.999698 0.002922
-vt 0.000000 0.000000 0.000000
-v 4.019025 -7.476995 0.369762
-vn -0.027061 0.999476 0.017734
-vt 0.000000 0.000000 0.000000
-v 3.989034 -7.477701 0.363771
-vn -0.027061 0.999476 0.017734
-vt 0.000000 0.000000 0.000000
-v 3.921945 -7.482033 0.505522
-vn -0.024409 0.999698 0.002922
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.952641 -7.511319 0.511512
-vn 0.983458 0.023141 0.179654
-vt 0.000000 0.000000 0.000000
-v 4.019731 -7.506987 0.369762
-vn 0.903421 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v 4.019025 -7.476995 0.369762
-vn 0.903421 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v 3.951936 -7.481327 0.511512
-vn 0.983458 0.023141 0.179654
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.922650 -7.512025 0.505522
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 3.989739 -7.507692 0.363771
-vn 0.027062 -0.999476 -0.017740
-vt 0.000000 0.000000 0.000000
-v 4.019731 -7.506987 0.369762
-vn 0.027062 -0.999476 -0.017740
-vt 0.000000 0.000000 0.000000
-v 3.952641 -7.511319 0.511512
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.921945 -7.482033 0.505522
-vn -0.984640 -0.023169 -0.173052
-vt 0.000000 0.000000 0.000000
-v 3.989034 -7.477701 0.363771
-vn -0.903421 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v 3.989739 -7.507692 0.363771
-vn -0.903421 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v 3.922650 -7.512025 0.505522
-vn -0.984640 -0.023169 -0.173052
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295110 -7.474763 1.496231
-vn 0.079953 0.995277 0.055050
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.474763 1.461424
-vn 0.079953 0.995277 0.055050
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.461802 1.366481
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295110 -7.474763 1.496231
-vn 0.079953 0.995277 0.055050
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.461802 1.366481
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.474763 1.429210
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.223111 -7.548203 1.173709
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.526603 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.513643 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.223111 -7.548203 1.173709
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.513643 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.548203 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295110 -7.513643 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.513643 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.526603 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295110 -7.513643 1.461424
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.513643 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.526603 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.202111 -7.474763 1.429210
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.461802 1.366481
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.440203 1.173709
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.202111 -7.474763 1.429210
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.440203 1.173709
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.440203 1.084686
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.265824 -7.481328 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.265824 -7.481328 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 1.235833 -7.482034 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 1.235833 -7.482034 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.266530 -7.511320 1.084686
-vn 0.999877 0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.266530 -7.511320 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.265824 -7.481328 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.265824 -7.481328 1.084686
-vn 0.999877 0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.236539 -7.512026 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v 1.236539 -7.512026 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 1.266530 -7.511320 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 1.266530 -7.511320 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.235833 -7.482034 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-v 1.235833 -7.482034 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.236539 -7.512026 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.236539 -7.512026 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.265824 -7.481328 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 1.273919 -7.481328 0.511512
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 1.243928 -7.482034 0.505522
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 1.235833 -7.482034 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.266530 -7.511320 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.274625 -7.511320 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.273919 -7.481328 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.265824 -7.481328 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.236539 -7.512026 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 1.244634 -7.512026 0.505522
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 1.274625 -7.511320 0.511512
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 1.266530 -7.511320 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.235833 -7.482034 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.243928 -7.482034 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.244634 -7.512026 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.236539 -7.512026 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.273919 -7.481328 0.511512
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 1.341008 -7.476996 0.369762
-vn -0.027061 0.999476 0.017734
-vt 0.000000 0.000000 0.000000
-v 1.311017 -7.477702 0.363771
-vn -0.027061 0.999476 0.017734
-vt 0.000000 0.000000 0.000000
-v 1.243928 -7.482034 0.505522
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.274625 -7.511320 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.341714 -7.506988 0.369762
-vn 0.903421 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v 1.341008 -7.476996 0.369762
-vn 0.903421 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v 1.273919 -7.481328 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.244634 -7.512026 0.505522
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v 1.311723 -7.507693 0.363771
-vn 0.027062 -0.999476 -0.017740
-vt 0.000000 0.000000 0.000000
-v 1.341714 -7.506988 0.369762
-vn 0.027062 -0.999476 -0.017740
-vt 0.000000 0.000000 0.000000
-v 1.274625 -7.511320 0.511512
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.243928 -7.482034 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.311017 -7.477702 0.363771
-vn -0.903421 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v 1.311723 -7.507693 0.363771
-vn -0.903421 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v 1.244634 -7.512026 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295109 -2.701201 1.496231
-vn 0.079947 0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.701201 1.461424
-vn 0.079947 0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.688242 1.366481
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295109 -2.701201 1.496231
-vn 0.079947 0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.688242 1.366481
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.701201 1.429210
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.223110 -2.774641 1.173709
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.753041 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.740082 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.223110 -2.774641 1.173709
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.740082 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.774641 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295109 -2.740082 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.740082 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.753041 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295109 -2.740082 1.461424
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.740082 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.753041 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.202110 -2.701201 1.429210
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.688242 1.366481
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.666641 1.173709
-vn -0.178162 0.982760 0.049406
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.202110 -2.701201 1.429210
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.666641 1.173709
-vn -0.178162 0.982760 0.049406
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.666641 1.084686
-vn -0.178162 0.982760 0.049406
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.265823 -2.707767 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.265823 -2.707767 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v 1.235832 -2.708473 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v 1.235832 -2.708473 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.266529 -2.737758 1.084686
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.266529 -2.737758 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.265823 -2.707767 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.265823 -2.707767 1.084686
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.236538 -2.738464 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 1.236538 -2.738464 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 1.266529 -2.737758 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 1.266529 -2.737758 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.235832 -2.708473 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 1.235832 -2.708473 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.236538 -2.738464 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.236538 -2.738464 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.265823 -2.707767 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v 1.273918 -2.707767 0.511512
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v 1.243927 -2.708473 0.505522
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v 1.235832 -2.708473 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.266529 -2.737758 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.274624 -2.737758 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.273918 -2.707767 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.265823 -2.707767 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.236538 -2.738464 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 1.244633 -2.738464 0.505522
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 1.274624 -2.737758 0.511512
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 1.266529 -2.737758 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.235832 -2.708473 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.243927 -2.708473 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.244633 -2.738464 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.236538 -2.738464 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.273918 -2.707767 0.511512
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v 1.341007 -2.703435 0.369762
-vn -0.027062 0.999476 0.017740
-vt 0.000000 0.000000 0.000000
-v 1.311016 -2.704140 0.363771
-vn -0.027062 0.999476 0.017740
-vt 0.000000 0.000000 0.000000
-v 1.243927 -2.708473 0.505522
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.274624 -2.737758 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v 1.341713 -2.733427 0.369762
-vn 0.903420 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v 1.341007 -2.703435 0.369762
-vn 0.903420 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v 1.273918 -2.707767 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.244633 -2.738464 0.505522
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 1.311722 -2.734133 0.363771
-vn 0.027061 -0.999476 -0.017734
-vt 0.000000 0.000000 0.000000
-v 1.341713 -2.733427 0.369762
-vn 0.027061 -0.999476 -0.017734
-vt 0.000000 0.000000 0.000000
-v 1.274624 -2.737758 0.511512
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.243927 -2.708473 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v 1.311016 -2.704140 0.363771
-vn -0.903420 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v 1.311722 -2.734133 0.363771
-vn -0.903420 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v 1.244633 -2.738464 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598340 -2.701203 1.496231
-vn 0.079950 0.995278 0.055048
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.701203 1.461424
-vn 0.079950 0.995278 0.055048
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.688243 1.366481
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598340 -2.701203 1.496231
-vn 0.079950 0.995278 0.055048
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.688243 1.366481
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.701203 1.429210
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.670339 -2.774643 1.173709
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.753043 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.740083 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.670339 -2.774643 1.173709
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.740083 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.774643 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598340 -2.740083 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.740083 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.753043 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598340 -2.740083 1.461424
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.740083 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.753043 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.691339 -2.701203 1.429210
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.688243 1.366481
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.666643 1.173709
-vn -0.178167 0.982759 0.049406
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.691339 -2.701203 1.429210
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.666643 1.173709
-vn -0.178167 0.982759 0.049406
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.666643 1.084686
-vn -0.178167 0.982759 0.049406
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.627625 -2.707769 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.627625 -2.707769 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -4.657617 -2.708474 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -4.657617 -2.708474 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.626920 -2.737760 1.084686
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.626920 -2.737760 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.627625 -2.707769 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.627625 -2.707769 1.084686
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.656911 -2.738466 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -4.656911 -2.738466 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.626920 -2.737760 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.626920 -2.737760 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.657617 -2.708474 1.084686
-vn -0.999877 -0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.657617 -2.708474 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.656911 -2.738466 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.656911 -2.738466 1.084686
-vn -0.999877 -0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.627625 -2.707769 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -4.619531 -2.707769 0.511512
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -4.649522 -2.708474 0.505522
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -4.657617 -2.708474 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.626920 -2.737760 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.618825 -2.737760 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.619531 -2.707769 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.627625 -2.707769 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.656911 -2.738466 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.648816 -2.738466 0.505522
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.618825 -2.737760 0.511512
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.626920 -2.737760 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.657617 -2.708474 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.649522 -2.708474 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.648816 -2.738466 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.656911 -2.738466 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.619531 -2.707769 0.511512
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -4.552442 -2.703437 0.369762
-vn -0.027061 0.999476 0.017737
-vt 0.000000 0.000000 0.000000
-v -4.582433 -2.704142 0.363771
-vn -0.027061 0.999476 0.017737
-vt 0.000000 0.000000 0.000000
-v -4.649522 -2.708474 0.505522
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.618825 -2.737760 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.551736 -2.733428 0.369762
-vn 0.903421 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v -4.552442 -2.703437 0.369762
-vn 0.903421 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v -4.619531 -2.707769 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.648816 -2.738466 0.505522
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.581727 -2.734134 0.363771
-vn 0.027061 -0.999476 -0.017737
-vt 0.000000 0.000000 0.000000
-v -4.551736 -2.733428 0.369762
-vn 0.027061 -0.999476 -0.017737
-vt 0.000000 0.000000 0.000000
-v -4.618825 -2.737760 0.511512
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.649522 -2.708474 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.582433 -2.704142 0.363771
-vn -0.903421 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v -4.581727 -2.734134 0.363771
-vn -0.903421 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v -4.648816 -2.738466 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882607 -2.701202 1.496231
-vn 0.079947 0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.701202 1.461424
-vn 0.079947 0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.688243 1.366481
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882607 -2.701202 1.496231
-vn 0.079947 0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.688243 1.366481
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.701202 1.429210
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.954605 -2.774642 1.173709
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.753042 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.740083 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.954605 -2.774642 1.173709
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.740083 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.774642 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882607 -2.740083 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.740083 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.753042 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882607 -2.740083 1.461424
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.740083 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.753042 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.975605 -2.701202 1.429210
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.688243 1.366481
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.666642 1.173709
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.975605 -2.701202 1.429210
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.666642 1.173709
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.666642 1.084686
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.911892 -2.707768 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.911892 -2.707768 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -1.941883 -2.708474 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -1.941883 -2.708474 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.911186 -2.737759 1.084686
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.911186 -2.737759 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.911892 -2.707768 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.911892 -2.707768 1.084686
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.941177 -2.738465 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v -1.941177 -2.738465 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -1.911186 -2.737759 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -1.911186 -2.737759 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.941883 -2.708474 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-v -1.941883 -2.708474 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.941177 -2.738465 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.941177 -2.738465 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.911892 -2.707768 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -1.903797 -2.707768 0.511512
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -1.933788 -2.708474 0.505522
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -1.941883 -2.708474 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.911186 -2.737759 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.903092 -2.737759 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.903797 -2.707768 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.911892 -2.707768 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.941177 -2.738465 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -1.933083 -2.738465 0.505522
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -1.903092 -2.737759 0.511512
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -1.911186 -2.737759 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.941883 -2.708474 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.933788 -2.708474 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.933083 -2.738465 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.941177 -2.738465 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.903797 -2.707768 0.511512
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -1.836708 -2.703436 0.369762
-vn -0.027062 0.999476 0.017740
-vt 0.000000 0.000000 0.000000
-v -1.866699 -2.704141 0.363771
-vn -0.027062 0.999476 0.017740
-vt 0.000000 0.000000 0.000000
-v -1.933788 -2.708474 0.505522
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.903092 -2.737759 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.836002 -2.733428 0.369762
-vn 0.903420 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v -1.836708 -2.703436 0.369762
-vn 0.903420 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v -1.903797 -2.707768 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.933083 -2.738465 0.505522
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -1.865994 -2.734133 0.363771
-vn 0.027061 -0.999476 -0.017734
-vt 0.000000 0.000000 0.000000
-v -1.836002 -2.733428 0.369762
-vn 0.027061 -0.999476 -0.017734
-vt 0.000000 0.000000 0.000000
-v -1.903092 -2.737759 0.511512
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.933788 -2.708474 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.866699 -2.704141 0.363771
-vn -0.903420 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v -1.865994 -2.734133 0.363771
-vn -0.903420 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v -1.933083 -2.738465 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882605 -7.446158 1.496231
-vn 0.079953 0.995277 0.055050
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.446158 1.461424
-vn 0.079953 0.995277 0.055050
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.433198 1.366481
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882605 -7.446158 1.496231
-vn 0.079953 0.995277 0.055050
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.433198 1.366481
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.446158 1.429210
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.954604 -7.519598 1.173709
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.497998 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.485039 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.954604 -7.519598 1.173709
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.485039 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.519598 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882605 -7.485039 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.485039 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.497998 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882605 -7.485039 1.461424
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.485039 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.497998 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.975604 -7.446158 1.429210
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.433198 1.366481
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.411598 1.173709
-vn -0.068120 0.997311 0.027022
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.975604 -7.446158 1.429210
-vn -0.167715 0.979973 0.107353
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.411598 1.173709
-vn -0.694790 0.715621 0.071786
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.411598 1.084686
-vn -0.694790 0.715621 0.071786
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.911891 -7.452724 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.911891 -7.452724 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -1.941882 -7.453429 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -1.941882 -7.453429 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.911185 -7.482716 1.084686
-vn 0.999877 0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.911185 -7.482716 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.911891 -7.452724 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.911891 -7.452724 1.084686
-vn 0.999877 0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.941176 -7.483421 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -1.941176 -7.483421 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v -1.911185 -7.482716 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v -1.911185 -7.482716 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.941882 -7.453429 1.084686
-vn -0.999877 -0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.941882 -7.453429 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.941176 -7.483421 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.941176 -7.483421 1.084686
-vn -0.999877 -0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.911891 -7.452724 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -1.903796 -7.452724 0.511512
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -1.933787 -7.453429 0.505522
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -1.941882 -7.453429 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.911185 -7.482716 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.903090 -7.482716 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.903796 -7.452724 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.911891 -7.452724 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.941176 -7.483421 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v -1.933082 -7.483421 0.505522
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v -1.903090 -7.482716 0.511512
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v -1.911185 -7.482716 0.568535
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.941882 -7.453429 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.933787 -7.453429 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.933082 -7.483421 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.941176 -7.483421 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.903796 -7.452724 0.511512
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v -1.836707 -7.448392 0.369762
-vn -0.027061 0.999476 0.017734
-vt 0.000000 0.000000 0.000000
-v -1.866698 -7.449098 0.363771
-vn -0.027061 0.999476 0.017734
-vt 0.000000 0.000000 0.000000
-v -1.933787 -7.453429 0.505522
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.903090 -7.482716 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v -1.836001 -7.478383 0.369762
-vn 0.903421 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v -1.836707 -7.448392 0.369762
-vn 0.903421 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v -1.903796 -7.452724 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.933082 -7.483421 0.505522
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-v -1.865992 -7.479089 0.363771
-vn 0.027062 -0.999476 -0.017740
-vt 0.000000 0.000000 0.000000
-v -1.836001 -7.478383 0.369762
-vn 0.027062 -0.999476 -0.017740
-vt 0.000000 0.000000 0.000000
-v -1.903090 -7.482716 0.511512
-vn 0.024410 -0.999698 -0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.933787 -7.453429 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v -1.866698 -7.449098 0.363771
-vn -0.903421 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v -1.865992 -7.479089 0.363771
-vn -0.903421 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v -1.933082 -7.483421 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598339 -7.418833 1.496231
-vn 0.079947 0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.418833 1.461424
-vn 0.079947 0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.405873 1.366481
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598339 -7.418833 1.496231
-vn 0.079947 0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.405873 1.366481
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.418833 1.429210
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.670337 -7.492272 1.173709
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.470673 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.457713 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.670337 -7.492272 1.173709
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.457713 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.492272 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598339 -7.457713 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.457713 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.470673 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598339 -7.457713 1.461424
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.457713 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.470673 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.691337 -7.418833 1.429210
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.405873 1.366481
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.384273 1.173709
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.691337 -7.418833 1.429210
-vn -0.167696 0.979976 0.107351
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.384273 1.173709
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.384273 1.084686
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.627624 -7.425399 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.627624 -7.425399 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -4.657615 -7.426105 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -4.657615 -7.426105 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.626918 -7.455390 1.084686
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.626918 -7.455390 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.627624 -7.425399 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.627624 -7.425399 1.084686
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.656909 -7.456096 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -4.656909 -7.456096 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.626918 -7.455390 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.626918 -7.455390 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.657615 -7.426105 1.084686
-vn -0.999877 -0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.657615 -7.426105 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.656909 -7.456096 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.656909 -7.456096 1.084686
-vn -0.999877 -0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.627624 -7.425399 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -4.619529 -7.425399 0.511512
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -4.649520 -7.426105 0.505522
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -4.657615 -7.426105 0.568535
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.626918 -7.455390 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.618824 -7.455390 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.619529 -7.425399 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.627624 -7.425399 0.568535
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.656909 -7.456096 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.648815 -7.456096 0.505522
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.618824 -7.455390 0.511512
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.626918 -7.455390 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.657615 -7.426105 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.649520 -7.426105 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.648815 -7.456096 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.656909 -7.456096 0.568535
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.619529 -7.425399 0.511512
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-v -4.552440 -7.421066 0.369762
-vn -0.027062 0.999476 0.017740
-vt 0.000000 0.000000 0.000000
-v -4.582431 -7.421772 0.363771
-vn -0.027062 0.999476 0.017740
-vt 0.000000 0.000000 0.000000
-v -4.649520 -7.426105 0.505522
-vn -0.024410 0.999698 0.002924
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.618824 -7.455390 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-v -4.551734 -7.451058 0.369762
-vn 0.903420 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v -4.552440 -7.421066 0.369762
-vn 0.903420 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v -4.619529 -7.425399 0.511512
-vn 0.983459 0.023142 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.648815 -7.456096 0.505522
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v -4.581726 -7.451764 0.363771
-vn 0.027061 -0.999476 -0.017734
-vt 0.000000 0.000000 0.000000
-v -4.551734 -7.451058 0.369762
-vn 0.027061 -0.999476 -0.017734
-vt 0.000000 0.000000 0.000000
-v -4.618824 -7.455390 0.511512
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.649520 -7.426105 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-v -4.582431 -7.421772 0.363771
-vn -0.903420 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v -4.581726 -7.451764 0.363771
-vn -0.903420 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v -4.648815 -7.456096 0.505522
-vn -0.984642 -0.023170 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973448 -2.701201 1.496231
-vn 0.079950 0.995278 0.055048
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.701201 1.461424
-vn 0.079950 0.995278 0.055048
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.688241 1.366481
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973448 -2.701201 1.496231
-vn 0.079950 0.995278 0.055048
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.688241 1.366481
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.701201 1.429210
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.901449 -2.774640 1.173709
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.753041 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.740081 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.901449 -2.774640 1.173709
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.740081 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.774640 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973448 -2.740081 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.740081 1.429210
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.753041 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973448 -2.740081 1.461424
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.740081 1.496231
-vn 0.079947 -0.995278 0.055046
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.753041 1.366481
-vn -0.167699 -0.979976 0.107349
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.880449 -2.701201 1.429210
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.688241 1.366481
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.666641 1.173709
-vn -0.068113 0.997312 0.027022
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.880449 -2.701201 1.429210
-vn -0.167706 0.979975 0.107352
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.666641 1.173709
-vn -0.694790 0.715621 0.071786
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.666641 1.084686
-vn -0.694790 0.715621 0.071786
-vt 0.000000 0.000000 0.000000
-f -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.944162 -2.707766 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.944162 -2.707766 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 3.914171 -2.708472 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 3.914171 -2.708472 1.084686
-vn -0.023524 0.999723 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.944868 -2.737758 1.084686
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.944868 -2.737758 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 3.944162 -2.707766 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 3.944162 -2.707766 1.084686
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.914877 -2.738464 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 3.914877 -2.738464 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 3.944868 -2.737758 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 3.944868 -2.737758 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.914171 -2.708472 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 3.914171 -2.708472 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 3.914877 -2.738464 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 3.914877 -2.738464 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.944162 -2.707766 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 3.952257 -2.707766 0.511512
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 3.922266 -2.708472 0.505522
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 3.914171 -2.708472 0.568535
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.944868 -2.737758 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 3.952963 -2.737758 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 3.952257 -2.707766 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 3.944162 -2.707766 0.568535
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.914877 -2.738464 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 3.922972 -2.738464 0.505522
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 3.952963 -2.737758 0.511512
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 3.944868 -2.737758 0.568535
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.914171 -2.708472 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 3.922266 -2.708472 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 3.922972 -2.738464 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 3.914877 -2.738464 0.568535
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.952257 -2.707766 0.511512
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-v 4.019346 -2.703434 0.369762
-vn -0.027061 0.999476 0.017737
-vt 0.000000 0.000000 0.000000
-v 3.989355 -2.704140 0.363771
-vn -0.027061 0.999476 0.017737
-vt 0.000000 0.000000 0.000000
-v 3.922266 -2.708472 0.505522
-vn -0.024409 0.999698 0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.952963 -2.737758 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-v 4.020052 -2.733426 0.369762
-vn 0.903421 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v 4.019346 -2.703434 0.369762
-vn 0.903421 0.021258 0.428228
-vt 0.000000 0.000000 0.000000
-v 3.952257 -2.707766 0.511512
-vn 0.983459 0.023141 0.179645
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.922972 -2.738464 0.505522
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-v 3.990061 -2.734132 0.363771
-vn 0.027061 -0.999476 -0.017737
-vt 0.000000 0.000000 0.000000
-v 4.020052 -2.733426 0.369762
-vn 0.027061 -0.999476 -0.017737
-vt 0.000000 0.000000 0.000000
-v 3.952963 -2.737758 0.511512
-vn 0.024409 -0.999698 -0.002923
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.922266 -2.708472 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-v 3.989355 -2.704140 0.363771
-vn -0.903421 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v 3.990061 -2.734132 0.363771
-vn -0.903421 -0.021258 -0.428228
-vt 0.000000 0.000000 0.000000
-v 3.922972 -2.738464 0.505522
-vn -0.984642 -0.023169 -0.173044
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.880126 -7.474762 1.429210
-vn -0.890127 0.000000 0.455713
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.513642 1.429210
-vn -0.890127 0.000000 0.455713
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.513642 1.496231
-vn -0.584651 0.000000 0.811285
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.474762 1.496231
-vn -0.584651 0.000000 0.811285
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.880126 -7.548202 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.440202 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.440202 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.548202 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.880126 -7.548202 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.513642 1.429210
-vn -0.890127 0.000000 0.455713
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.474762 1.429210
-vn -0.890127 0.000000 0.455713
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.440202 1.084686
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.901126 -7.548202 1.173709
-vn 0.999877 0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.440202 1.173709
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.461802 1.366481
-vn 0.947838 0.000000 -0.318753
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.526602 1.366481
-vn 0.947838 0.000000 -0.318753
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.901126 -7.440202 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.548202 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.548202 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.440202 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.901126 -7.526602 1.366481
-vn 0.947838 0.000000 -0.318753
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.461802 1.366481
-vn 0.947838 0.000000 -0.318753
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.474762 1.461424
-vn 0.796793 0.000000 -0.604252
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.513642 1.461424
-vn 0.796793 0.000000 -0.604252
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973126 -7.548202 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.548202 1.173709
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.548202 1.173709
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.548202 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973126 -7.440202 1.173709
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.973126 -7.440202 1.084686
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-v 3.880126 -7.440202 1.084686
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-v 3.901126 -7.440202 1.173709
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.202111 -7.474763 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.513643 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.513643 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.474763 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.202111 -7.548203 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.440203 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.440203 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.548203 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.202111 -7.548203 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.513643 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.474763 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.440203 1.084686
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.223111 -7.548203 1.173709
-vn 0.999877 0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.440203 1.173709
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.461802 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.526603 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.223111 -7.440203 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.548203 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.548203 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.440203 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.223111 -7.526603 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.461802 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.474763 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.513643 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295110 -7.548203 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.548203 1.173709
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.548203 1.173709
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.548203 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295110 -7.440203 1.173709
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.295110 -7.440203 1.084686
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-v 1.202111 -7.440203 1.084686
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-v 1.223111 -7.440203 1.173709
-vn -0.333353 0.941613 0.047337
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.202110 -2.701201 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.740082 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.740082 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.701201 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.202110 -2.774641 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.666641 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.666641 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.774641 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.202110 -2.774641 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.740082 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.701201 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.666641 1.084686
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.223110 -2.774641 1.173709
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.666641 1.173709
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.688242 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.753041 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.223110 -2.666641 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.774641 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.774641 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.666641 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.223110 -2.753041 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.688242 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.701201 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.740082 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295109 -2.774641 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.774641 1.173709
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.774641 1.173709
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.774641 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.295109 -2.666641 1.173709
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.295109 -2.666641 1.084686
-vn -0.178162 0.982760 0.049406
-vt 0.000000 0.000000 0.000000
-v 1.202110 -2.666641 1.084686
-vn -0.178162 0.982760 0.049406
-vt 0.000000 0.000000 0.000000
-v 1.223110 -2.666641 1.173709
-vn -0.178162 0.982760 0.049406
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.691339 -2.701203 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.740083 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.740083 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.701203 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.691339 -2.774643 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.666643 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.666643 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.774643 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.691339 -2.774643 1.084686
-vn -0.999877 -0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.740083 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.701203 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.666643 1.084686
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.670339 -2.774643 1.173709
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.666643 1.173709
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.688243 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.753043 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.670339 -2.666643 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.774643 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.774643 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.666643 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.670339 -2.753043 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.688243 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.701203 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.740083 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598340 -2.774643 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.774643 1.173709
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.774643 1.173709
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.774643 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598340 -2.666643 1.173709
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.598340 -2.666643 1.084686
-vn -0.178167 0.982759 0.049406
-vt 0.000000 0.000000 0.000000
-v -4.691339 -2.666643 1.084686
-vn -0.178167 0.982759 0.049406
-vt 0.000000 0.000000 0.000000
-v -4.670339 -2.666643 1.173709
-vn -0.178167 0.982759 0.049406
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.975605 -2.701202 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.740083 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.740083 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.701202 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.975605 -2.774642 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.666642 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.666642 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.774642 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.975605 -2.774642 1.084686
-vn -0.894490 -0.444965 0.043517
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.740083 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.701202 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.666642 1.084686
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.954605 -2.774642 1.173709
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.666642 1.173709
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.688243 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.753042 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.954605 -2.666642 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.774642 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.774642 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.666642 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.954605 -2.753042 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.688243 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.701202 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.740083 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882607 -2.774642 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.774642 1.173709
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.774642 1.173709
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.774642 1.084686
-vn -0.037437 -0.999137 0.017984
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882607 -2.666642 1.173709
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.882607 -2.666642 1.084686
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-v -1.975605 -2.666642 1.084686
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-v -1.954605 -2.666642 1.173709
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.975604 -7.446158 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.485039 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.485039 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.446158 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.975604 -7.519598 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.411598 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.411598 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.519598 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.975604 -7.519598 1.084686
-vn -0.999877 -0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.485039 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.446158 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.411598 1.084686
-vn -0.694790 0.715621 0.071786
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.954604 -7.519598 1.173709
-vn 0.999877 0.015683 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.411598 1.173709
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.433198 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.497998 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.954604 -7.411598 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.519598 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.519598 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.411598 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.954604 -7.497998 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.433198 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.446158 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.485039 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882605 -7.519598 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.519598 1.173709
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.519598 1.173709
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.519598 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.882605 -7.411598 1.173709
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.882605 -7.411598 1.084686
-vn -0.068120 0.997311 0.027022
-vt 0.000000 0.000000 0.000000
-v -1.975604 -7.411598 1.084686
-vn -0.068120 0.997311 0.027022
-vt 0.000000 0.000000 0.000000
-v -1.954604 -7.411598 1.173709
-vn -0.068120 0.997311 0.027022
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.691337 -7.418833 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.457713 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.457713 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.418833 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.691337 -7.492272 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.384273 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.384273 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.492272 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.691337 -7.492272 1.084686
-vn -0.999877 -0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.457713 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.418833 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.384273 1.084686
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.670337 -7.492272 1.173709
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.384273 1.173709
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.405873 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.470673 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.670337 -7.384273 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.492272 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.492272 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.384273 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.670337 -7.470673 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.405873 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.418833 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.457713 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598339 -7.492272 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.492272 1.173709
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.492272 1.173709
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.492272 1.084686
-vn -0.127569 -0.991138 0.037036
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.598339 -7.384273 1.173709
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.598339 -7.384273 1.084686
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-v -4.691337 -7.384273 1.084686
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-v -4.670337 -7.384273 1.173709
-vn -0.333345 0.941616 0.047338
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.880449 -2.701201 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.740081 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.740081 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.701201 1.496231
-vn -0.584659 0.000000 0.811279
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.880449 -2.774640 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.666641 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.666641 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.774640 1.084686
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.880449 -2.774640 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.740081 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.701201 1.429210
-vn -0.890129 0.000000 0.455709
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.666641 1.084686
-vn -0.694790 0.715621 0.071786
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.901449 -2.774640 1.173709
-vn 0.999877 0.015684 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.666641 1.173709
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.688241 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.753041 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.901449 -2.666641 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.774640 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.774640 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.666641 1.173709
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.901449 -2.753041 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.688241 1.366481
-vn 0.947840 0.000000 -0.318747
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.701201 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.740081 1.461424
-vn 0.796801 0.000000 -0.604242
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973448 -2.774640 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.774640 1.173709
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.774640 1.173709
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.774640 1.084686
-vn -0.454582 -0.890091 0.033060
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 3.973448 -2.666641 1.173709
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 3.973448 -2.666641 1.084686
-vn -0.068113 0.997312 0.027022
-vt 0.000000 0.000000 0.000000
-v 3.880449 -2.666641 1.084686
-vn -0.068113 0.997312 0.027022
-vt 0.000000 0.000000 0.000000
-v 3.901449 -2.666641 1.173709
-vn -0.068113 0.997312 0.027022
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g numbers
-v -4.305910 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.305910 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.253191 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.200476 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.147757 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.095037 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.042318 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.989603 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.936884 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.902357 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.902357 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.955076 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.007792 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.060511 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.113230 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.165949 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.218664 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.271383 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.324102 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.324102 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.134579 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.134579 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.187298 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.240017 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.292733 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.345452 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.398171 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.450890 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.503605 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556324 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556324 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.573956 -2.379366 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.309156 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.521237 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.468518 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.415802 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.363083 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.310364 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.257645 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.204930 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.152211 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.152211 -2.379366 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.134579 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.134579 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556324 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556324 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.503605 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.450890 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.398171 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.345452 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.292733 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.240017 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.187298 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.152211 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.152211 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.204930 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.257645 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.310364 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.363083 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.415802 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.468518 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.521237 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.305910 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.936884 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.989603 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.042318 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.095037 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.147757 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.200476 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.253191 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.305910 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.324102 -2.379366 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.324102 -2.309156 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.271383 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.218664 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.165949 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.113230 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.060511 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.007792 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.955076 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.902357 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.902357 -2.379366 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.819042 -7.151839 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.819042 -7.081628 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.819042 -7.081628 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.819042 -7.151839 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.385071 -7.151839 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.385071 -7.081628 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.385071 -7.081628 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.385071 -7.151839 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.385071 -7.151839 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.385071 -7.081628 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.819042 -7.081628 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.819042 -7.151839 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.819042 -7.151839 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.819042 -7.081628 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.385071 -7.081628 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.385071 -7.151839 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -4.385071 -7.081628 1.402008
-vn 0.000000 1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v -3.819042 -7.081628 1.402008
-vn 0.000000 1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v -3.819042 -7.081628 1.340892
-vn 0.000000 1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v -4.385071 -7.081628 1.340893
-vn 0.000000 1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.161522 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v -4.108803 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v -4.108803 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v -4.161522 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.950649 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v -3.897930 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v -3.897930 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v -3.950649 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -3.897930 -7.151839 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.897930 -7.081628 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.897930 -7.081628 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.897930 -7.151839 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.319675 -7.151839 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.081628 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.081628 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.151839 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.072653 -7.151839 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.072653 -7.081628 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.072653 -7.081628 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.072653 -7.151839 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.638682 -7.151839 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.638682 -7.081628 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.638682 -7.081628 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.638682 -7.151839 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.638682 -7.151839 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.638682 -7.081628 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.072653 -7.081628 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.072653 -7.151839 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.072653 -7.151839 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.072653 -7.081628 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.638682 -7.081628 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.638682 -7.151839 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -1.638682 -7.081628 1.402008
-vn 0.000000 1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v -1.072653 -7.081628 1.402008
-vn 0.000000 1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v -1.072653 -7.081628 1.340892
-vn 0.000000 1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v -1.638682 -7.081628 1.340893
-vn 0.000000 1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.415133 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v -1.362414 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v -1.362414 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v -1.415133 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.204260 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v -1.151541 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v -1.151541 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v -1.204260 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -1.151541 -7.151839 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.151541 -7.081628 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.151541 -7.081628 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.151541 -7.151839 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.573287 -7.151839 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.081628 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.081628 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.151839 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.083590 -7.151839 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.083590 -7.081628 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.083590 -7.081628 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.083590 -7.151839 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.517561 -7.151839 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.517561 -7.081628 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.517561 -7.081628 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.517561 -7.151839 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.517561 -7.151839 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.517561 -7.081628 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.083590 -7.081628 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.083590 -7.151839 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.083590 -7.151839 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.083590 -7.081628 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.517561 -7.081628 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.517561 -7.151839 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 1.517561 -7.081628 1.402008
-vn 0.000000 1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v 2.083590 -7.081628 1.402008
-vn 0.000000 1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v 2.083590 -7.081628 1.340892
-vn 0.000000 1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v 1.517561 -7.081628 1.340893
-vn 0.000000 1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 1.582957 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.635676 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.635676 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.582957 -7.081628 1.201047
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 1.635676 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.983775 0.341888 0.000000
-v 1.688395 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.881347 0.342665 0.000000
-v 1.688395 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.881011 0.023548 0.000000
-v 1.635676 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.983439 0.022771 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.688395 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.493340 0.383044 0.000000
-v 1.741110 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.352631 0.375438 0.000000
-v 1.741110 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.346754 0.022725 0.000000
-v 1.688395 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.487463 0.030331 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.741110 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v 1.793829 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v 1.793829 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v 1.741110 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.793829 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.682921 0.350577 0.000000
-v 1.846548 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.564458 0.350577 0.000000
-v 1.846548 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.564457 0.024422 0.000000
-v 1.793829 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.682920 0.024422 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.951983 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v 2.004702 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v 2.004702 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v 1.951983 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 2.004702 -7.151839 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.004702 -7.081628 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.004702 -7.081628 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.004702 -7.151839 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.582957 -7.151839 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.582957 -7.081628 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.582957 -7.081628 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.582957 -7.151839 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.749442 -7.151839 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -7.081628 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -7.081628 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -7.151839 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.183414 -7.151839 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -7.081628 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -7.081628 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -7.151839 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.183414 -7.151839 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -7.081628 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -7.081628 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -7.151839 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.749442 -7.151839 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -7.081628 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -7.081628 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -7.151839 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 4.183414 -7.081628 1.402008
-vn 0.000000 1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v 4.749442 -7.081628 1.402008
-vn 0.000000 1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v 4.749442 -7.081628 1.340892
-vn 0.000000 1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v 4.183414 -7.081628 1.340893
-vn 0.000000 1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.406962 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v 4.459682 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v 4.459682 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v 4.406962 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.617835 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v 4.670554 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v 4.670554 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v 4.617835 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 4.670554 -7.151839 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -7.081628 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -7.081628 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -7.151839 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.248809 -7.151839 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.081628 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.081628 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.151839 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.749442 -2.379366 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -2.309156 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -2.309156 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -2.379366 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.183414 -2.379366 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -2.309156 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -2.309156 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -2.379366 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.183414 -2.379366 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -2.309156 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -2.309156 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -2.379366 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.749442 -2.379366 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.749442 -2.309156 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -2.309156 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.183414 -2.379366 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 4.183414 -2.309156 1.402008
-vn 0.000000 1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v 4.749442 -2.309156 1.402008
-vn 0.000000 1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v 4.749442 -2.309156 1.340892
-vn 0.000000 1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v 4.183414 -2.309156 1.340893
-vn 0.000000 1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.406962 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v 4.459682 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v 4.459682 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v 4.406962 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.617835 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v 4.670554 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v 4.670554 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v 4.617835 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 4.670554 -2.379366 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -2.309156 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -2.309156 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -2.379366 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.248809 -2.379366 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.309156 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.309156 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.379366 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.384798 -2.983796 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.384798 -3.054006 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.384798 -3.054006 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.384798 -2.983796 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.818769 -2.983796 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.818769 -3.054006 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.818769 -3.054006 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.818769 -2.983796 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.818769 -2.983796 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.818769 -3.054006 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.384798 -3.054006 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.384798 -2.983796 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.384798 -2.983796 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.384798 -3.054006 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.818769 -3.054006 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.818769 -2.983796 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -3.818769 -3.054006 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v -4.384798 -3.054006 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v -4.384798 -3.054006 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v -3.818769 -3.054006 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.042318 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v -4.095037 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v -4.095037 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v -4.042318 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.253191 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v -4.305910 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v -4.305910 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v -4.253191 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -4.305910 -2.983796 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.305910 -3.054006 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.305910 -3.054006 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.305910 -2.983796 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.884165 -2.983796 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -3.054006 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -3.054006 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -2.983796 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.884165 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.305910 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.305910 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.884165 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.305910 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.305910 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.823469 -2.379366 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.823469 -2.309156 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.823469 -2.309156 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.823469 -2.379366 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.389498 -2.379366 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.389498 -2.309156 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.389498 -2.309156 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.389498 -2.379366 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.389498 -2.379366 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.389498 -2.309156 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.823469 -2.309156 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.823469 -2.379366 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.823469 -2.379366 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.823469 -2.309156 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.389498 -2.309156 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.389498 -2.379366 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -4.389498 -2.309156 1.402008
-vn 0.000000 1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v -3.823469 -2.309156 1.402008
-vn 0.000000 1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v -3.823469 -2.309156 1.340892
-vn 0.000000 1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v -4.389498 -2.309156 1.340893
-vn 0.000000 1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -4.324102 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.271383 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.271383 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.324102 -2.309156 1.201047
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -4.271383 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.987156 0.369347 0.000000
-v -4.218664 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.866560 0.380085 0.000000
-v -4.218664 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.869835 0.013251 0.000000
-v -4.271383 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.990432 0.002513 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.218664 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.988972 0.335030 0.000000
-v -4.165949 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.890908 0.342649 0.000000
-v -4.165949 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.887622 0.037105 0.000000
-v -4.218664 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.985686 0.029486 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.165949 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v -4.113230 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v -4.113230 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v -4.165949 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.113230 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.985800 0.367593 0.000000
-v -4.060511 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.893639 0.367593 0.000000
-v -4.060511 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.891341 0.019504 0.000000
-v -4.113230 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.983503 0.019504 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.060511 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.093398 0.357371 0.000000
-v -4.007792 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt -0.041278 0.364367 0.000000
-v -4.007792 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt -0.039250 0.003454 0.000000
-v -4.060511 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.095426 -0.003543 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -4.007792 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.955076 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.955076 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.007792 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -3.955076 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v -3.902357 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v -3.902357 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v -3.955076 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -3.902357 -2.379366 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.902357 -2.309156 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.902357 -2.309156 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.902357 -2.379366 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.324102 -2.379366 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.324102 -2.309156 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.324102 -2.309156 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.324102 -2.379366 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.324102 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.324102 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.902357 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.902357 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.902357 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.902357 -2.379366 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.324102 -2.379366 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.324102 -2.309156 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.073323 -2.379366 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.073323 -2.309156 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.073323 -2.309156 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.073323 -2.379366 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.639351 -2.379366 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.639351 -2.309156 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.639351 -2.309156 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.639351 -2.379366 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.639351 -2.379366 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.639351 -2.309156 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.073323 -2.309156 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.073323 -2.379366 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.073323 -2.379366 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.073323 -2.309156 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.639351 -2.309156 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.639351 -2.379366 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -1.639351 -2.309156 1.402008
-vn 0.000000 1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v -1.073323 -2.309156 1.402008
-vn 0.000000 1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v -1.073323 -2.309156 1.340892
-vn 0.000000 1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v -1.639351 -2.309156 1.340893
-vn 0.000000 1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.415802 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v -1.363083 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v -1.363083 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v -1.415802 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.204930 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v -1.152211 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v -1.152211 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v -1.204930 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -1.152211 -2.379366 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.152211 -2.309156 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.152211 -2.309156 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.152211 -2.379366 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.573956 -2.379366 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.309156 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.309156 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.379366 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.152211 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.152211 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.152211 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.152211 -2.379366 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.379366 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.309156 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.082560 -2.379366 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.082560 -2.309156 1.340892
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.082560 -2.309156 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.082560 -2.379366 1.402008
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.516531 -2.379366 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.516531 -2.309156 1.402008
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.516531 -2.309156 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.516531 -2.379366 1.340893
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.516531 -2.379366 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.516531 -2.309156 1.340893
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.082560 -2.309156 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.082560 -2.379366 1.340892
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.082560 -2.379366 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.082560 -2.309156 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.516531 -2.309156 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.516531 -2.379366 1.402008
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 1.516531 -2.309156 1.402008
-vn 0.000000 1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v 2.082560 -2.309156 1.402008
-vn 0.000000 1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v 2.082560 -2.309156 1.340892
-vn 0.000000 1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v 1.516531 -2.309156 1.340893
-vn 0.000000 1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 1.581927 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.634646 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.634646 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.309156 1.201047
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 1.634646 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.895746 0.347823 0.000000
-v 1.687365 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.758008 0.348899 0.000000
-v 1.687365 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.764840 0.014207 0.000000
-v 1.634646 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.902577 0.013131 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.687365 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.789569 0.359760 0.000000
-v 1.740080 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.671191 0.359760 0.000000
-v 1.740080 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.671192 0.034609 0.000000
-v 1.687365 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.789570 0.034609 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.740080 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v 1.792799 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v 1.792799 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v 1.740080 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.792799 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.277624 0.364670 0.000000
-v 1.845518 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.161278 0.363998 0.000000
-v 1.845518 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.161277 0.030931 0.000000
-v 1.792799 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.277623 0.031604 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.845518 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.090554 0.358346 0.000000
-v 1.898238 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt -0.012469 0.357616 0.000000
-v 1.898238 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt -0.012469 0.011003 0.000000
-v 1.845518 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.090555 0.011734 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 1.898238 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.950953 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.950953 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.898238 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 1.950953 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v 2.003672 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v 2.003672 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v 1.950953 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 2.003672 -2.379366 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.003672 -2.309156 1.201046
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.003672 -2.309156 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.003672 -2.379366 1.262162
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.581927 -2.379366 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.309156 1.262162
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.309156 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.379366 1.201047
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.174451 -7.738350 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -7.808561 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -7.808561 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -7.738350 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.740479 -7.738350 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -7.808561 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -7.808561 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -7.738350 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.740479 -7.738350 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -7.808561 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -7.808561 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -7.738350 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.174451 -7.738350 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -7.808561 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -7.808561 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -7.738350 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 4.740479 -7.808561 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v 4.174451 -7.808561 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v 4.174451 -7.808561 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v 4.740479 -7.808561 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 4.675084 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.622365 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.622365 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.622365 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.569646 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.569646 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.622365 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.569646 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.516931 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.516931 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.569646 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 4.516931 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v 4.464211 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v 4.464211 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v 4.516931 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 4.464211 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.411492 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.411492 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.464211 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.411492 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.358773 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.358773 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.411492 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.358773 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.306058 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.306058 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.358773 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 4.306058 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v 4.253339 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v 4.253339 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v 4.306058 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 4.253339 -7.738350 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -7.808561 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -7.808561 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -7.738350 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.675084 -7.738350 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -7.808561 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -7.808561 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -7.738350 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.174451 -2.983796 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -3.054006 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -3.054006 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -2.983796 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.740479 -2.983796 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -3.054006 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -3.054006 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -2.983796 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.740479 -2.983796 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -3.054006 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -3.054006 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -2.983796 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.174451 -2.983796 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.174451 -3.054006 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -3.054006 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.740479 -2.983796 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 4.740479 -3.054006 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v 4.174451 -3.054006 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v 4.174451 -3.054006 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v 4.740479 -3.054006 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.516931 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v 4.464211 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v 4.464211 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v 4.516931 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.306058 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v 4.253339 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v 4.253339 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v 4.306058 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 4.253339 -2.983796 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -3.054006 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -3.054006 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -2.983796 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.675084 -2.983796 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -3.054006 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -3.054006 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -2.983796 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.505520 -2.983796 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.505520 -3.054006 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.505520 -3.054006 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.505520 -2.983796 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.071549 -2.983796 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.071549 -3.054006 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.071549 -3.054006 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.071549 -2.983796 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.071549 -2.983796 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.071549 -3.054006 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.505520 -3.054006 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.505520 -2.983796 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.505520 -2.983796 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.505520 -3.054006 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.071549 -3.054006 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.071549 -2.983796 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 2.071549 -3.054006 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v 1.505520 -3.054006 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v 1.505520 -3.054006 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v 2.071549 -3.054006 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.848000 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v 1.795281 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v 1.795281 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v 1.848000 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.637127 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v 1.584408 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v 1.584408 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v 1.637127 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 1.584408 -2.983796 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.584408 -3.054006 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.584408 -3.054006 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.584408 -2.983796 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.006154 -2.983796 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.006154 -3.054006 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.006154 -3.054006 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.006154 -2.983796 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.635212 -2.983796 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.635212 -3.054006 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.635212 -3.054006 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.635212 -2.983796 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.069184 -2.983796 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.069184 -3.054006 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.069184 -3.054006 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.069184 -2.983796 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.069184 -2.983796 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.069184 -3.054006 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.635212 -3.054006 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.635212 -2.983796 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.635212 -2.983796 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.635212 -3.054006 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.069184 -3.054006 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.069184 -2.983796 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -1.069184 -3.054006 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v -1.635212 -3.054006 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v -1.635212 -3.054006 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v -1.069184 -3.054006 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -1.134579 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.187298 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.187298 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.134579 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -1.187298 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.993724 0.368140 0.000000
-v -1.240017 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.875110 0.373063 0.000000
-v -1.240017 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.873244 -0.004528 0.000000
-v -1.187298 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.991859 -0.009452 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.240017 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.994656 0.360692 0.000000
-v -1.292733 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.890790 0.359933 0.000000
-v -1.292733 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.889033 0.018019 0.000000
-v -1.240017 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.992899 0.018777 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.292733 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.069261 0.916230 0.000000
-v -1.345452 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt -0.005706 0.912995 0.000000
-v -1.345452 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt -0.008209 0.683532 0.000000
-v -1.292733 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.066758 0.686768 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.345452 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.899745 0.361696 0.000000
-v -1.398171 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.765437 0.358252 0.000000
-v -1.398171 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.770229 0.009330 0.000000
-v -1.345452 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.904538 0.012773 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.503605 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v -1.556324 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v -1.556324 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v -1.503605 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -1.556324 -2.983796 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.556324 -3.054006 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.556324 -3.054006 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.556324 -2.983796 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.134579 -2.983796 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.134579 -3.054006 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.134579 -3.054006 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.134579 -2.983796 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.556324 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556324 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.134579 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.134579 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.134579 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.134579 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556324 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556324 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.380323 -7.738350 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.380323 -7.808561 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.380323 -7.808561 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.380323 -7.738350 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.814296 -7.738350 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.814296 -7.808561 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.814296 -7.808561 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.814296 -7.738350 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.814296 -7.738350 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.814296 -7.808561 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.380323 -7.808561 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.380323 -7.738350 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.380323 -7.738350 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.380323 -7.808561 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.814296 -7.808561 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.814296 -7.738350 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -3.814296 -7.808561 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v -4.380323 -7.808561 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v -4.380323 -7.808561 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v -3.814296 -7.808561 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.037846 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v -4.090565 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v -4.090565 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v -4.037846 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.248718 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v -4.301437 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v -4.301437 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v -4.248718 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -4.301437 -7.738350 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.301437 -7.808561 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.301437 -7.808561 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.301437 -7.738350 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.879692 -7.738350 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.808561 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.808561 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.738350 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.635478 -7.738350 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.635478 -7.808561 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.635478 -7.808561 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.635478 -7.738350 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.069449 -7.738350 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.069449 -7.808561 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.069449 -7.808561 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.069449 -7.738350 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.069449 -7.738350 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.069449 -7.808561 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.635478 -7.808561 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.635478 -7.738350 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.635478 -7.738350 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.635478 -7.808561 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.069449 -7.808561 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.069449 -7.738350 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v -1.069449 -7.808561 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v -1.635478 -7.808561 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v -1.635478 -7.808561 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v -1.069449 -7.808561 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.292998 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v -1.345717 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v -1.345717 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v -1.292998 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.503870 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v -1.556590 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v -1.556590 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v -1.503870 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -1.556590 -7.738350 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.556590 -7.808561 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.556590 -7.808561 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.556590 -7.738350 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.134844 -7.738350 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.134844 -7.808561 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.134844 -7.808561 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.134844 -7.738350 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.511370 -7.738350 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.511370 -7.808561 1.350635
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.511370 -7.808561 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.511370 -7.738350 1.411750
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.077399 -7.738350 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.077399 -7.808561 1.411750
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.077399 -7.808561 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.077399 -7.738350 1.350635
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.077399 -7.738350 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.077399 -7.808561 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.511370 -7.808561 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.511370 -7.738350 1.350635
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.511370 -7.738350 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.511370 -7.808561 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.077399 -7.808561 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.077399 -7.738350 1.411750
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 2.077399 -7.808561 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 1.052464 0.000000
-v 1.511370 -7.808561 1.411750
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 1.052464 0.000000
-v 1.511370 -7.808561 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 0.176553 0.603453 0.000000
-v 2.077399 -7.808561 1.350635
-vn 0.000000 -1.000000 0.000000
-vt 1.034086 0.603453 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 2.012003 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.959284 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.959284 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.012003 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_1
-v 1.959284 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.894477 0.370989 0.000000
-v 1.906565 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.765038 0.370989 0.000000
-v 1.906565 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.765910 0.035986 0.000000
-v 1.959284 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.895348 0.035986 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.906565 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.892691 0.343399 0.000000
-v 1.853850 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.766199 0.347799 0.000000
-v 1.853850 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.767475 0.016247 0.000000
-v 1.906565 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.893967 0.011848 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.853850 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.057919 0.872690 0.000000
-v 1.801131 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt -0.003269 0.865041 0.000000
-v 1.801131 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt -0.000314 0.634507 0.000000
-v 1.853850 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.060875 0.642155 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.801131 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.089926 0.352071 0.000000
-v 1.748412 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt -0.000434 0.351873 0.000000
-v 1.748412 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt -0.000434 0.011557 0.000000
-v 1.801131 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.089926 0.011755 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.642977 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.191297 1.054731 0.000000
-v 1.590258 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.062637 1.059092 0.000000
-v 1.590258 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.067695 0.563608 0.000000
-v 1.642977 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.196355 0.559247 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v 1.590258 -7.738350 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.590258 -7.808561 1.210789
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.590258 -7.808561 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.590258 -7.738350 1.271904
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.012003 -7.738350 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.012003 -7.808561 1.271904
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.012003 -7.808561 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.012003 -7.738350 1.210789
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.584408 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.584408 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.006154 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.006154 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.006154 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.006154 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.584408 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.584408 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.006154 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.006154 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.953434 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.900715 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.848000 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.795281 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.742562 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.689843 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.637127 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.584408 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.584408 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.006154 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.006154 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.584408 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.584408 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.637127 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.689843 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.742562 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.795281 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.848000 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.900715 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.953434 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.003672 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.003672 -2.379366 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.379366 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.309156 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.003672 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.003672 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.003672 -2.379366 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.379366 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.309156 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.634646 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.687365 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.740080 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.792799 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.845518 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.898238 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.950953 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.003672 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.003672 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.003672 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.950953 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.898238 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.845518 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.792799 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.740080 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.687365 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.634646 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.581927 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.253339 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.675084 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.253339 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.306058 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.358773 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.411492 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.464211 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.516931 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.569646 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.622365 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -3.054006 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -2.983796 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.675084 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.622365 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.569646 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.516931 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.464211 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.411492 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.358773 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.306058 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -3.054006 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -2.983796 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.248809 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.670554 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -2.379366 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.379366 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.309156 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.670554 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.617835 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.565120 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.512401 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.459682 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.406962 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.354247 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.301528 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.309156 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.379366 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.248809 -2.379366 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.309156 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.301528 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.354247 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.406962 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.459682 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.512401 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.565120 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.617835 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -2.309156 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -2.379366 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.675084 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.253339 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.253339 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.306058 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.358773 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.411492 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.464211 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.516931 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.569646 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.622365 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.675084 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.622365 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.569646 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.516931 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.464211 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.411492 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.358773 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.306058 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.253339 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.248809 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.670554 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -7.151839 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.151839 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.081628 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.248809 -7.151839 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.081628 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.301528 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.354247 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.406962 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.459682 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.512401 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.565120 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.617835 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -7.151839 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.670554 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.670554 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.617835 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.565120 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.512401 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.459682 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.406962 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.354247 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.301528 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.012003 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.012003 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.590258 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.590258 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.590258 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.590258 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.012003 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.012003 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.012003 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.012003 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.959284 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.906565 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.853850 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.801131 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.748412 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.695692 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.642977 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.590258 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.590258 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.590258 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.590258 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.642977 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.695692 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.748412 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.801131 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.853850 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.906565 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.959284 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.012003 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.012003 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.582957 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.582957 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.004702 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.004702 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.004702 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.004702 -7.151839 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.582957 -7.151839 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.582957 -7.081628 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.582957 -7.151839 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.582957 -7.081628 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.635676 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.688395 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.741110 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.793829 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.846548 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.899268 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 1.951983 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.004702 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 2.004702 -7.151839 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 2.004702 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 2.004702 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.951983 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.899268 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.846548 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.793829 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.741110 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.688395 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.635676 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.582957 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 1.582957 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.134844 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.134844 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556590 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556590 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.556590 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556590 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.134844 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.134844 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.134844 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.134844 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.187563 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.240283 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.292998 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.345717 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.398436 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.451155 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.503870 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556590 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.556590 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.573287 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.151541 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.151541 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.151541 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.151541 -7.151839 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.151839 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.081628 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.319675 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.897930 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.897930 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.897930 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.897930 -7.151839 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.151839 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.081628 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.879692 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.301437 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.301437 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.301437 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.301437 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.879692 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.932411 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.985128 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.037846 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.090565 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.143284 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.196001 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.248718 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.301437 -7.808561 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.301437 -7.738350 1.210789
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.301437 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.301437 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.248718 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.196001 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.143284 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.090565 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.037846 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.985128 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.932411 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.808561 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.738350 1.271904
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.573287 -7.151839 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.081628 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.520567 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.467848 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.415133 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.362414 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.309695 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.256976 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.204260 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.151541 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -1.151541 -7.151839 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.151541 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.151541 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.204260 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.256976 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.309695 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.362414 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.415133 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.467848 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.520567 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.319675 -7.151839 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.081628 1.201047
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.266956 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.214237 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.161522 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.108803 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.056084 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -4.003365 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.950649 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.897930 -7.081628 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -3.897930 -7.151839 1.201046
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.897930 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.897930 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -3.950649 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.003365 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.056084 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.108803 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.161522 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.214237 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.266956 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.081628 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.151839 1.262162
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -11/-11/-11 -10/-10/-10 -9/-9/-9 -8/-8/-8 -7/-7/-7 -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.617835 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.617835 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.459682 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.459682 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.406962 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.406962 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.081628 1.201047
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.415802 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.415802 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.309156 1.201047
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.573956 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.204930 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.204930 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.363083 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.363083 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.292998 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.292998 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.134844 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.134844 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.503870 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.503870 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.345717 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.345717 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.848000 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.848000 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.006154 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 2.006154 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.637127 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.637127 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.795281 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.795281 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.037846 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.037846 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.879692 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.248718 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.248718 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.090565 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.090565 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.042318 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.042318 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.884165 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.253191 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.253191 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.095037 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.095037 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.406962 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.406962 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.309156 1.201047
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.248809 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.617835 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.617835 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.459682 -2.309156 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.459682 -2.309156 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.415133 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.415133 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.081628 1.201047
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.573287 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.204260 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.204260 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.362414 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.362414 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -1.398171 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.503605 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.503605 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -1.398171 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.306058 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.306058 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.464211 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.464211 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 4.516931 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.516931 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -3.054006 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 4.675084 -3.054006 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -3.950649 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -3.950649 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.108803 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.108803 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -4.161522 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.161522 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.081628 1.201047
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.319675 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.846548 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.951983 -7.081628 1.262162
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.951983 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.846548 -7.081628 1.201046
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.642977 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.642977 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.748412 -7.808561 1.210789
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 1.748412 -7.808561 1.271904
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g curb
-v 6.706108 1.900000 0.000000
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.706108 10.200000 0.000000
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.706108 10.200000 0.200000
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.706108 1.900000 0.200000
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -6.249049 1.900000 0.200000
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 6.706108 1.900000 0.200000
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 6.706108 10.200000 0.200000
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -6.249049 10.200000 0.200000
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -6.249049 10.200000 0.200000
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.706108 10.200000 0.200000
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.706108 10.200000 0.000000
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -6.249049 10.200000 0.000000
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -6.249049 1.900000 0.000000
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.706108 1.900000 0.000000
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.706108 1.900000 0.200000
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -6.249049 1.900000 0.200000
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -6.249049 1.900000 0.200000
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -6.249049 10.200000 0.200000
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -6.249049 10.200000 0.000000
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -6.249049 1.900000 0.000000
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g sign
-usemtl 49_4
-v -5.976064 2.312747 4.762428
-vn 0.000000 -1.000000 0.000000
-vt 0.077655 0.969763 0.000000
-v -5.976064 2.312747 3.787100
-vn 0.000000 -1.000000 0.000000
-vt 0.077048 0.748672 0.000000
-v 6.384918 2.312749 3.787100
-vn 0.000001 -1.000000 0.000000
-vt 0.916119 0.764068 0.000000
-v 6.384918 2.312749 4.762428
-vn 0.000000 -1.000000 0.000000
-vt 0.916727 0.985159 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g mart
-usemtl 0_2
-v 6.384918 2.312749 0.175000
-vn 0.000002 -1.000000 0.000000
-vt 27.733219 1.260617 0.000000
-v 6.384918 2.312749 3.787100
-vn 0.000001 -1.000000 0.000000
-vt 28.118858 -6.837924 0.000000
-v 5.181950 2.312747 3.787100
-vn 0.000001 -1.000000 0.000000
-vt 25.421732 -6.966355 0.000000
-v 5.181950 2.312747 0.175000
-vn 0.000001 -1.000000 0.000000
-vt 25.036093 1.132185 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.976064 2.312747 3.787102
-vn 0.000000 -1.000000 0.000000
-vt -0.166020 -10.534680 0.000000
-v -5.976064 2.312747 0.175000
-vn 0.000000 -1.000000 0.000000
-vt -0.166016 -0.059065 0.000000
-v -4.784042 2.312747 0.175000
-vn 0.000000 -0.999996 0.002962
-vt 3.291019 -0.059065 0.000000
-v -4.784042 2.312747 3.787102
-vn 0.000000 -0.999895 -0.014514
-vt 3.291016 -10.534680 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.976064 10.190458 0.175000
-vn 0.000000 1.000000 0.000000
-vt 30.560835 0.066307 0.000000
-v -5.976064 10.190458 4.762428
-vn 0.000000 1.000000 0.000000
-vt 30.560843 11.459993 0.000000
-v 6.384918 10.190460 4.762428
-vn 0.000000 1.000000 0.000000
-vt -0.139819 11.459994 0.000000
-v 6.384918 10.190460 0.175000
-vn 0.000000 1.000000 0.000000
-vt -0.139827 0.066308 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 6.384918 10.190460 0.175000
-vn 1.000000 0.000000 0.000000
-vt -0.309169 0.038955 0.000000
-v 6.384918 10.190460 4.762428
-vn 1.000000 0.000000 0.000000
-vt -0.309166 -11.354722 0.000000
-v 6.384918 2.312749 4.762428
-vn 1.000000 0.000000 0.000000
-vt 19.256529 -11.354722 0.000000
-v 6.384918 2.312749 0.175000
-vn 1.000000 0.000000 0.000000
-vt 19.256525 0.038956 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.976064 2.312747 0.175000
-vn -1.000000 0.000000 0.000000
-vt 19.256529 0.038956 0.000000
-v -5.976064 2.312747 4.762428
-vn -1.000000 0.000000 0.000000
-vt 19.256533 -11.354722 0.000000
-v -5.976064 10.190458 4.762428
-vn -1.000000 0.000000 0.000000
-vt -0.309161 -11.354722 0.000000
-v -5.976064 10.190458 0.175000
-vn -1.000000 0.000000 0.000000
-vt -0.309165 0.038955 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g glass
-usemtl 0_6
-v 1.406014 2.294974 3.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 1.000000 0.000000
-v 0.393514 2.294974 3.175000
-vn 0.000000 -1.000000 0.000000
-vt 1.000000 1.000000 0.000000
-v 0.393514 2.294974 0.175000
-vn 0.000000 -1.000000 0.000000
-vt 1.000000 0.000000 0.000000
-v 1.406014 2.294974 0.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 0.393514 2.294974 3.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 1.000000 0.000000
-v -0.618985 2.294974 3.175000
-vn 0.000000 -0.999983 -0.005776
-vt 1.000000 1.000000 0.000000
-v -0.618985 2.294974 0.175000
-vn 0.000000 -0.999996 0.002962
-vt 1.000000 0.000000 0.000000
-v 0.393514 2.294974 0.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 1.406014 2.294974 3.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.970093 0.311469 0.000000
-v 1.406014 2.294974 3.787102
-vn 0.000000 -1.000000 0.000000
-vt 0.502225 0.311469 0.000000
-v -0.618985 2.294974 3.787102
-vn 0.000000 -0.999895 -0.014514
-vt 0.034357 0.311469 0.000000
-v -0.618985 2.294974 3.175000
-vn 0.000000 -0.999983 -0.005776
-vt 0.032185 0.007474 0.000000
-v 1.406014 2.294974 3.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.967921 0.007474 0.000000
-f -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_7
-v -0.618985 2.294974 3.175000
-vn 0.000000 -0.999983 -0.005776
-vt 0.918247 1.001884 0.000000
-v -4.784042 2.312747 3.175000
-vn 0.000000 -0.999933 -0.011552
-vt 0.039452 1.001884 0.000000
-v -4.784042 2.294974 0.175000
-vn 0.000000 -0.999996 0.002962
-vt 0.037666 -0.001884 0.000000
-v -0.618985 2.294974 0.175000
-vn 0.000000 -0.999996 0.002962
-vt 0.916461 -0.001884 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -0.618985 2.294974 3.787102
-vn 0.000000 -0.999895 -0.014514
-vt 0.937962 0.710100 0.000000
-v -4.784042 2.294974 3.787102
-vn 0.000000 -0.999895 -0.014514
-vt 0.023903 0.727678 0.000000
-v -4.784042 2.312747 3.175000
-vn 0.000000 -0.999933 -0.011552
-vt 0.025536 0.149595 0.000000
-v -0.618985 2.294974 3.175000
-vn 0.000000 -0.999983 -0.005776
-vt 0.939595 0.132017 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.181950 2.294974 3.787102
-vn 0.000001 -1.000000 0.000000
-vt 0.937962 0.710100 0.000000
-v 1.406014 2.294974 3.787102
-vn 0.000000 -1.000000 0.000000
-vt 0.023903 0.727678 0.000000
-v 1.406014 2.294974 3.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.025536 0.149595 0.000000
-v 5.181950 2.294974 3.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.939595 0.132017 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.181950 2.294974 3.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.918247 1.001884 0.000000
-v 1.406014 2.294974 3.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.039452 1.001884 0.000000
-v 1.406014 2.294974 0.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.037666 -0.001884 0.000000
-v 5.181950 2.294974 0.175000
-vn 0.000001 -1.000000 0.000000
-vt 0.916461 -0.001884 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g ground
-usemtl 0_8
-v -13.000000 -18.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vt 9.840436 -15.110263 0.000000
-v 13.000000 -18.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vt 48.972878 18.570261 0.000000
-v 13.000000 12.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vt 10.110681 63.723015 0.000000
-v -13.000000 12.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vt -29.021761 30.042490 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g fsign1_1
-
-usemtl 0_5
-v -11.437394 -15.391608 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.498142 0.100215 0.000000
-v -11.437394 -15.653270 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.453128 0.100215 0.000000
-v -11.519713 -17.338390 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.163234 0.100215 0.000000
-v -11.519713 -17.338390 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.163234 0.100215 0.000000
-v -11.519713 -13.685737 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.791605 0.100215 0.000000
-f -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -11.094885 -13.685737 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.791605 0.100215 0.000000
-v -11.175734 -15.391608 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.498142 0.100215 0.000000
-v -11.437394 -15.391608 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.498142 0.100215 0.000000
-v -11.519713 -13.685737 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.791605 0.100215 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -11.519713 -13.685737 7.818437
-vn 0.000000 0.000000 1.000000
-vt -0.000648 1.006977 0.000000
-v -11.094885 -13.685737 7.818437
-vn 0.000000 0.000000 1.000000
-vt -0.000648 1.006977 0.000000
-l -2/-2/-2 -1/-1/-1
-usemtl 0_5
-v -11.094885 -13.685737 5.258250
-vn 0.000000 0.000000 1.000000
-vt 0.791605 0.100215 0.000000
-v -11.519713 -13.685737 5.258250
-vn 0.000000 0.000000 1.000000
-vt 0.791605 0.100215 0.000000
-l -2/-2/-2 -1/-1/-1
-v -11.519713 -13.685737 5.258250
-vn 0.000000 0.000000 1.000000
-vt 0.791605 0.100215 0.000000
-v -11.519713 -13.685737 5.258250
-vn 0.000000 0.000000 1.000000
-vt 0.791605 0.100215 0.000000
-l -2/-2/-2 -1/-1/-1
-v -11.519713 -17.338390 5.258250
-vn 0.000000 0.000000 1.000000
-vt 0.163234 0.100215 0.000000
-v -11.094885 -17.338390 5.258250
-vn 0.000000 0.000000 1.000000
-vt 0.163234 0.100215 0.000000
-l -2/-2/-2 -1/-1/-1
-v -11.519713 -17.338390 5.258250
-vn 0.000000 0.000000 1.000000
-vt 0.163234 0.100215 0.000000
-v -11.519713 -17.338390 5.258250
-vn 0.000000 0.000000 1.000000
-vt 0.163234 0.100215 0.000000
-l -2/-2/-2 -1/-1/-1
-usemtl 0
-v -11.094885 -13.685737 7.818437
-vn 1.000000 0.000000 0.000000
-vt 0.999559 1.018294 0.000000
-v -11.094885 -17.338390 7.818437
-vn 1.000000 0.000000 0.000000
-vt -0.002998 1.018294 0.000000
-v -11.094885 -17.338390 5.258250
-vn 1.000000 0.000000 0.000000
-vt -0.001285 0.003658 0.000000
-v -11.094885 -13.685737 5.258250
-vn 1.000000 0.000000 0.000000
-vt 1.001273 0.003658 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -11.519713 -17.338390 7.818437
-vn -1.000000 0.000000 0.000000
-vt 0.992244 1.006977 0.000000
-v -11.519713 -13.685737 7.818437
-vn -1.000000 0.000000 0.000000
-vt -0.000648 1.006977 0.000000
-v -11.519713 -13.685737 5.258250
-vn -1.000000 0.000000 0.000000
-vt -0.000648 0.001120 0.000000
-v -11.519713 -17.338390 5.258250
-vn -1.000000 0.000000 0.000000
-vt 0.992244 0.001120 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -11.094885 -17.338390 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.163234 0.100215 0.000000
-v -11.519713 -17.338390 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.163234 0.100215 0.000000
-v -11.437394 -15.653270 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.453128 0.100215 0.000000
-v -11.175734 -15.653270 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.453128 0.100215 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_5
-v -11.094885 -13.685737 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.791605 0.100215 0.000000
-v -11.094885 -13.685737 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.791605 0.100215 0.000000
-v -11.094885 -17.338390 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.163234 0.100215 0.000000
-v -11.094885 -17.338390 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.163234 0.100215 0.000000
-v -11.175734 -15.653270 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.453128 0.100215 0.000000
-v -11.175734 -15.391608 5.258250
-vn 0.000000 0.000000 -1.000000
-vt 0.498142 0.100215 0.000000
-f -6/-6/-6 -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0
-v -11.175734 -15.653270 0.000000
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.175734 -15.653270 5.258250
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.437394 -15.653270 5.258250
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.437394 -15.653270 0.000000
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -11.437394 -15.391608 0.000000
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.437394 -15.391608 5.258250
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.175734 -15.391608 5.258250
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.175734 -15.391608 0.000000
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -11.437394 -15.653270 0.000000
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.437394 -15.653270 5.258250
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.437394 -15.391608 5.258250
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.437394 -15.391608 0.000000
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -11.175734 -15.391608 0.000000
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.175734 -15.391608 5.258250
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.175734 -15.653270 5.258250
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -11.175734 -15.653270 0.000000
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_4
-v -11.094885 -13.685737 7.818437
-vn 0.000000 0.000000 1.000000
-vt -0.000648 1.006977 0.000000
-v -11.519713 -13.685737 7.818437
-vn 0.000000 0.000000 1.000000
-vt -0.000648 1.006977 0.000000
-v -11.519713 -17.338390 7.818437
-vn 0.000000 0.000000 1.000000
-vt 0.992244 1.006977 0.000000
-v -11.094885 -17.338390 7.818437
-vn 0.000000 0.000000 1.000000
-vt 0.992244 1.006977 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -11.094885 -17.338390 7.818437
-vn 0.000000 0.000000 1.000000
-vt 0.992244 1.006977 0.000000
-v -11.519713 -17.338390 7.818437
-vn 0.000000 0.000000 1.000000
-vt 0.992244 1.006977 0.000000
-l -2/-2/-2 -1/-1/-1
-v -11.519713 -13.685737 7.818437
-vn 0.000000 1.000000 0.000000
-vt -0.000648 1.006977 0.000000
-v -11.094885 -13.685737 7.818437
-vn 0.000000 1.000000 0.000000
-vt -0.000648 1.006977 0.000000
-v -11.094885 -13.685737 5.258250
-vn 0.000000 1.000000 0.000000
-vt -0.000648 0.001120 0.000000
-v -11.519713 -13.685737 5.258250
-vn 0.000000 1.000000 0.000000
-vt -0.000648 0.001120 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -11.519713 -17.338390 7.818437
-vn 0.000000 -1.000000 0.000000
-vt 0.992244 1.006977 0.000000
-v -11.519713 -17.338390 5.258250
-vn 0.000000 -1.000000 0.000000
-vt 0.992244 0.001120 0.000000
-v -11.094885 -17.338390 5.258250
-vn 0.000000 -1.000000 0.000000
-vt 0.992244 0.001120 0.000000
-v -11.094885 -17.338390 7.818437
-vn 0.000000 -1.000000 0.000000
-vt 0.992244 1.006977 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g roof_1
-
-usemtl 49
-v 6.384918 10.190460 5.436793
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.384918 10.190460 4.762428
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.976064 10.190458 4.762428
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.976064 10.190458 5.436793
-vn 0.000000 1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.976058 -10.426369 5.436793
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.976058 -10.426369 4.762428
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.384923 -10.426366 4.762428
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.384923 -10.426366 5.436793
-vn 0.000000 -1.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v -5.976064 10.190458 5.436793
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.976064 10.190458 4.762428
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.976062 2.312747 4.762428
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.976058 -10.426369 4.762428
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -5.976058 -10.426369 5.436793
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 6.384923 -10.426366 5.436793
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.384923 -10.426366 4.762428
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.384920 2.312749 4.762428
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.384918 10.190460 4.762428
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 6.384918 10.190460 5.436793
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 49_3
-v 6.384923 -10.426366 5.436793
-vn 0.000000 0.000000 1.000000
-vt 1.139965 12.925941 0.000000
-v 6.384918 10.190460 5.436793
-vn 0.000000 0.000000 1.000000
-vt 0.633985 1.035478 0.000000
-v -5.976064 10.190458 5.436793
-vn 0.000000 0.000000 1.000000
-vt 7.830460 0.879040 0.000000
-v -5.976058 -10.426369 5.436793
-vn 0.000000 0.000000 1.000000
-vt 8.336439 12.769505 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 49
-v 6.384918 10.190460 4.762428
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 6.384920 2.312749 4.762428
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -5.976062 2.312748 4.762428
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -5.976064 10.190458 4.762428
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 6.384920 2.312749 4.762428
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v 6.384923 -10.426366 4.762428
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -5.976058 -10.426369 4.762428
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-v -5.976062 2.312748 4.762428
-vn 0.000000 0.000000 -1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-g inside_1
-
-usemtl 0
-v -4.784042 2.312747 0.175000
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.784042 3.303533 0.175000
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.784042 3.303533 4.762428
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.784042 2.312747 4.762428
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v -4.784042 2.312747 3.175000
-vn 1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -5/-5/-5 -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.181950 2.312747 0.178906
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v 5.181950 3.303533 0.178906
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.784042 3.303533 0.178906
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-v -4.784042 2.312747 0.178906
-vn 0.000000 0.000000 1.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-v 5.181950 2.312747 4.762428
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.181950 3.303533 4.762428
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.181950 3.303533 0.175000
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-v 5.181950 2.312747 0.175000
-vn -1.000000 0.000000 0.000000
-vt 0.000000 0.000000 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
-usemtl 0_5
-v 5.181950 3.303533 4.762428
-vn 0.000000 -1.000000 0.000000
-vt 0.996288 1.068620 0.000000
-v -4.784042 3.303533 4.762428
-vn 0.000000 -1.000000 0.000000
-vt -0.001865 1.072147 0.000000
-v -4.784042 3.303533 0.175000
-vn 0.000000 -1.000000 0.000000
-vt -0.003534 0.005611 0.000000
-v 5.181950 3.303533 0.175000
-vn 0.000000 -1.000000 0.000000
-vt 0.994619 0.002084 0.000000
-f -4/-4/-4 -3/-3/-3 -2/-2/-2 -1/-1/-1
diff --git a/src/geometry/numbers.int b/src/geometry/numbers.int
deleted file mode 100644
index 4807735..0000000
--- a/src/geometry/numbers.int
+++ /dev/null
Binary files differ
diff --git a/src/geometry/p51_mustang.cg b/src/geometry/p51_mustang.cg
deleted file mode 100644
index 6ddcc5b..0000000
--- a/src/geometry/p51_mustang.cg
+++ /dev/null
Binary files differ
diff --git a/src/geometry/p51_mustang.obj b/src/geometry/p51_mustang.obj
deleted file mode 100644
index ff8f7b6..0000000
--- a/src/geometry/p51_mustang.obj
+++ /dev/null
@@ -1,5527 +0,0 @@
-# Thu Oct 29 11:30:01 1992
-#
-# P51 Mustang Airplane
-#
-# Courtesy of:
-#
-# Viewpoint Animation Engineering
-# 870 West Center
-# Orem, Utah 84057
-# (801)224-2222
-# 1-800-DATASET
-#
-# (c) Copyright 1992 Viewpoint Animation Engineering Inc.
-# Sun Microsystems has been authorized to freely distribute
-# these Datasets. They are provided for unlimited use in
-# existing or modified form. The actual Dataset (ie, geometry)
-# may not, however, be resold in existing or modified form.
-#
-
-g default
-v 6.361460 0.669865 0.000000
-v 6.361460 -0.794649 0.000000
-v 6.361460 0.669865 -0.156457
-v 6.361460 0.615640 -0.312522
-v 6.361460 0.561399 -0.379419
-v 6.361460 0.398707 -0.490883
-v 6.361460 0.207409 -0.535484
-v 6.361460 -0.523492 -0.464885
-v 6.361460 -0.686183 -0.369020
-v 6.361460 -0.740424 -0.307323
-v 6.361460 -0.794649 -0.156457
-v 6.058460 -0.864940 -0.156457
-v 6.058460 -0.864940 0.000000
-v 6.058460 0.680933 0.000000
-v 6.058460 0.680933 -0.156457
-v 6.058460 0.623695 -0.312522
-v 6.058460 0.566441 -0.379419
-v 6.058460 0.394712 -0.490883
-v 6.058460 0.211786 -0.535484
-v 6.058460 -0.042087 -0.580071
-v 6.058460 -0.578719 -0.464885
-v 6.058460 -0.750448 -0.369020
-v 6.058460 -0.807703 -0.307323
-v 5.759059 -0.629551 -0.464885
-v 5.759059 -0.806535 -0.369020
-v 5.759059 -0.865547 -0.307323
-v 5.759059 -0.924679 -0.156457
-v 5.759059 -0.924679 0.000000
-v 5.759059 0.688910 0.000000
-v 5.759059 0.688910 -0.156457
-v 5.759059 0.633582 -0.312522
-v 5.759059 0.574636 -0.379419
-v 5.759059 0.397834 -0.490883
-v 5.759059 0.218724 -0.535484
-v 5.759059 -0.036405 -0.580071
-v 5.384059 0.218775 -0.535484
-v 5.384059 -0.034261 -0.580071
-v 5.384059 -0.439481 -0.533271
-v 5.384059 -0.690861 -0.464885
-v 5.384059 -0.877400 -0.369020
-v 5.384059 -0.938690 -0.307323
-v 5.384059 -1.000841 -0.156457
-v 5.384059 -1.000841 0.000000
-v 5.384059 0.701148 0.000000
-v 5.384059 0.701148 -0.156457
-v 5.384059 0.640479 -0.312522
-v 5.384059 0.579792 -0.379419
-v 5.384059 0.397767 -0.490883
-v 5.045059 0.651279 -0.312522
-v 5.045059 0.590592 -0.379419
-v 5.045059 0.408567 -0.490883
-v 5.045059 0.222375 -0.535484
-v 5.045059 -0.034608 -0.580071
-v 5.045059 -0.455493 -0.533271
-v 5.045059 -0.717533 -0.464885
-v 5.045059 -0.914058 -0.369020
-v 5.045059 -0.975665 -0.307323
-v 5.045059 -1.038557 -0.156457
-v 5.045059 -1.038557 0.000000
-v 5.045059 0.711948 0.000000
-v 5.045059 0.711948 -0.156457
-v 4.526059 -1.109240 0.000000
-v 4.526059 0.712244 0.000000
-v 4.526059 0.718504 -0.156457
-v 4.526059 0.658479 -0.312522
-v 4.526059 0.597792 -0.379419
-v 4.526059 0.414495 -0.490883
-v 4.526059 0.230297 -0.535484
-v 4.526059 -0.029135 -0.580071
-v 4.526059 -0.498435 -0.533271
-v 4.526059 -0.768878 -0.464885
-v 4.526059 -0.974194 -0.369020
-v 4.673659 -1.046356 -0.307323
-v 4.526059 -1.109240 -0.156457
-v 3.765859 -0.962355 -0.628220
-v 3.913459 -1.100734 -0.631323
-v 3.765859 -1.243404 -0.610057
-v 3.765859 -1.243404 0.000000
-v 3.765859 0.722259 0.000000
-v 3.765859 0.722259 -0.156457
-v 3.765859 0.656899 -0.312522
-v 3.765859 0.591162 -0.379419
-v 3.765859 0.431232 -0.490883
-v 3.765859 0.239029 -0.535484
-v 3.765859 -0.018264 -0.580071
-v 3.765859 -0.575051 -0.533271
-v 3.765859 -0.787602 -0.464885
-v 6.361460 -0.219626 -0.515268
-v 6.361460 -0.378841 -0.476876
-v 6.058460 -0.247173 -0.548869
-v 6.058460 -0.426032 -0.510478
-v 5.759059 -0.274659 -0.548869
-v 5.634072 -0.409004 -0.533271
-v 5.759059 -0.472355 -0.510478
-v 6.361460 0.028069 -0.567064
-v 6.286466 -0.044879 -0.580071
-v 6.361460 -0.103735 -0.558472
-v 6.684336 0.571381 -0.144191
-v 6.684336 0.571381 0.000000
-v 6.684336 0.526950 -0.276394
-v 6.684336 0.489194 -0.324534
-v 6.684336 0.352180 -0.421582
-v 6.684336 0.195568 -0.461057
-v 6.684336 0.031728 -0.471195
-v 6.684336 -0.075913 -0.450460
-v 6.684336 -0.164028 -0.427821
-v 6.684336 -0.307884 -0.397477
-v 6.684336 -0.434718 -0.390959
-v 6.684336 -0.565572 -0.311244
-v 6.684336 -0.601128 -0.269432
-v 6.684336 -0.644809 -0.143792
-v 6.684336 -0.644809 0.000000
-v 6.634465 0.607010 0.000000
-v 6.572132 0.636542 0.000000
-v 6.572132 0.636542 -0.156457
-v 6.634465 0.607010 -0.152369
-v 6.572089 0.583477 -0.312522
-v 6.634446 0.556960 -0.300481
-v 6.572050 0.530397 -0.379419
-v 6.634429 0.509124 -0.361126
-v 6.571951 0.389182 -0.490883
-v 6.634385 0.375719 -0.467785
-v 6.571836 0.207239 -0.535484
-v 6.634334 0.203329 -0.510677
-v 6.572061 0.027289 -0.553741
-v 6.634434 0.028676 -0.524650
-v 6.572553 -0.096294 -0.535720
-v 6.634652 -0.088625 -0.504625
-v 6.572738 -0.194421 -0.505845
-v 6.634734 -0.181332 -0.478734
-v 6.573818 -0.338568 -0.473719
-v 6.635214 -0.323683 -0.447942
-v 6.574113 -0.480045 -0.464885
-v 6.635345 -0.459933 -0.440246
-v 6.574482 -0.639148 -0.369020
-v 6.635196 -0.609515 -0.350011
-v 6.574611 -0.692189 -0.307323
-v 6.634674 -0.657331 -0.295157
-v 6.574741 -0.745212 -0.156457
-v 6.634470 -0.707556 -0.152436
-v 6.574741 -0.745212 0.000000
-v 6.634604 -0.707387 0.000000
-v 6.684336 -0.305939 -0.371757
-v 6.684336 -0.160612 -0.305211
-v 6.684336 -0.072625 -0.389017
-v 6.684336 0.032698 -0.427306
-v 6.684336 0.193252 -0.446172
-v 6.684336 0.345796 -0.407722
-v 6.684336 0.478740 -0.313557
-v 6.684336 0.513554 -0.269169
-v 6.684336 0.556381 -0.141738
-v 6.684336 -0.629809 -0.141259
-v 6.684336 -0.587882 -0.261854
-v 6.684336 -0.555708 -0.299689
-v 6.684336 -0.430156 -0.376173
-v 6.684336 0.557001 0.000000
-v 6.684336 -0.624314 0.000000
-v 6.684336 -0.144066 0.000000
-v 6.684336 -0.159855 -0.290230
-v 6.684336 -0.145284 -0.299096
-v 6.684336 -0.149751 -0.315557
-v 6.684336 -0.163603 -0.323078
-v 6.684336 -0.174250 -0.311456
-v 6.684336 -0.182333 -0.295363
-v 6.684336 -0.159085 0.000000
-v 6.684336 -0.129047 0.000000
-v 6.684336 -0.303959 -0.380123
-v 6.684336 -0.309463 -0.356873
-v 6.684336 -0.431677 -0.381101
-v 6.684336 -0.453436 -0.361991
-v 6.684336 -0.064552 -0.375992
-v 6.684336 -0.080699 -0.402043
-v 6.684336 0.036183 -0.412612
-v 6.684336 0.029323 -0.441543
-v 6.684336 0.234120 -0.435870
-v 6.684336 0.194024 -0.451133
-v 6.576936 -0.555708 -0.299689
-v 6.576936 -0.453436 -0.361991
-v 6.576936 -0.309463 -0.356873
-v 6.576936 -0.182333 -0.295363
-v 6.576936 -0.159085 0.000000
-v 6.576936 -0.624314 0.000000
-v 6.576936 -0.629809 -0.141259
-v 6.576936 -0.587882 -0.261854
-v 6.043650 0.214751 -0.637964
-v 6.058621 0.226609 -0.620602
-v 5.759221 0.233548 -0.620602
-v 5.759249 0.221346 -0.637962
-v 5.384221 0.233599 -0.620602
-v 5.384249 0.221400 -0.637983
-v 5.045221 0.237199 -0.620602
-v 4.991249 0.224993 -0.637944
-v 4.526221 0.245120 -0.620602
-v 4.526249 0.232911 -0.637921
-v 3.781049 0.241471 -0.637928
-v 3.766021 0.253853 -0.620602
-v 3.781049 0.013703 -0.677419
-v 3.766021 -0.003440 -0.665190
-v 4.526221 -0.014311 -0.665190
-v 4.526249 0.003046 -0.677426
-v 5.045221 -0.019784 -0.665190
-v 4.991249 -0.002431 -0.677403
-v 5.384221 -0.019437 -0.665190
-v 5.384249 -0.002091 -0.677364
-v 5.759221 -0.021581 -0.665190
-v 5.759249 -0.004231 -0.677385
-v 6.043650 -0.009627 -0.677383
-v 6.058621 -0.027263 -0.665190
-v 4.153649 0.237191 -0.637924
-v 4.153649 0.008374 -0.677423
-v 5.789249 0.191094 -0.643152
-v 6.013650 0.185887 -0.643132
-v 6.013650 0.020499 -0.672215
-v 5.789249 0.024753 -0.672195
-v 5.414249 0.191845 -0.643154
-v 5.729249 0.191804 -0.643162
-v 5.729249 0.025487 -0.672185
-v 5.414249 0.027289 -0.672193
-v 5.021249 0.195170 -0.643137
-v 5.354249 0.192117 -0.643125
-v 5.354249 0.027439 -0.672223
-v 5.021249 0.027142 -0.672210
-v 4.556249 0.202835 -0.643039
-v 4.961249 0.195935 -0.643036
-v 4.961249 0.027488 -0.672311
-v 4.556249 0.032255 -0.672308
-v 4.496249 0.033041 -0.672327
-v 4.183649 0.037514 -0.672337
-v 4.183649 0.207279 -0.643010
-v 4.496249 0.203690 -0.643020
-v 3.811049 0.211563 -0.643035
-v 4.123649 0.207974 -0.643046
-v 4.123649 0.038366 -0.672301
-v 3.811049 0.042839 -0.672312
-v 5.789492 0.053562 -0.750364
-v 5.789293 0.042097 -0.684394
-v 5.789293 0.178886 -0.660511
-v 5.789492 0.190348 -0.726466
-v 5.789601 0.150840 -0.770777
-v 5.789601 0.105671 -0.778663
-v 5.414381 0.056113 -0.750396
-v 5.414273 0.044631 -0.684364
-v 5.414273 0.179643 -0.660539
-v 5.414381 0.191118 -0.726524
-v 5.414440 0.152138 -0.770796
-v 5.414440 0.107646 -0.778647
-v 5.021388 0.055933 -0.750348
-v 5.021275 0.044489 -0.684432
-v 5.021275 0.182955 -0.660473
-v 5.021388 0.194402 -0.726400
-v 5.021451 0.154389 -0.770758
-v 5.021451 0.108581 -0.778684
-v 4.556449 0.060963 -0.750409
-v 4.556286 0.049591 -0.684552
-v 4.556286 0.190604 -0.660357
-v 4.556450 0.201979 -0.726233
-v 4.556540 0.161160 -0.770726
-v 4.556540 0.114385 -0.778751
-v 4.183840 0.066210 -0.750456
-v 4.183684 0.054845 -0.684565
-v 4.183684 0.195047 -0.660345
-v 4.183840 0.206412 -0.726231
-v 4.183927 0.165821 -0.770731
-v 4.183927 0.119353 -0.778758
-v 3.811241 0.071564 -0.750446
-v 3.811084 0.060172 -0.684528
-v 3.811084 0.199338 -0.660380
-v 3.811241 0.210728 -0.726285
-v 3.811327 0.170461 -0.770741
-v 3.811327 0.124387 -0.778736
-v 5.817692 0.190334 -0.715584
-v 5.817801 0.150825 -0.759894
-v 5.817801 0.105656 -0.767781
-v 5.817692 0.053548 -0.739481
-v 5.817493 0.042083 -0.673511
-v 5.817493 0.178872 -0.649628
-v 5.442580 0.191110 -0.715680
-v 5.442639 0.152130 -0.759951
-v 5.442639 0.107638 -0.767803
-v 5.442581 0.056106 -0.739551
-v 5.442473 0.044623 -0.673520
-v 5.442473 0.179635 -0.649694
-v 5.049588 0.194393 -0.715552
-v 5.049650 0.154380 -0.759911
-v 5.049650 0.108573 -0.767837
-v 5.049587 0.055925 -0.739501
-v 5.049474 0.044480 -0.673585
-v 5.049474 0.182947 -0.649626
-v 4.584650 0.201967 -0.715365
-v 4.584740 0.161148 -0.759858
-v 4.584740 0.114373 -0.767883
-v 4.584650 0.060952 -0.739541
-v 4.584486 0.049580 -0.673684
-v 4.584486 0.190592 -0.649489
-v 4.212040 0.206401 -0.715366
-v 4.212126 0.165810 -0.759866
-v 4.212126 0.119341 -0.767893
-v 4.212040 0.066199 -0.739591
-v 4.211884 0.054834 -0.673700
-v 4.211884 0.195036 -0.649480
-v 3.839440 0.210716 -0.715420
-v 3.839527 0.170450 -0.759876
-v 3.839527 0.124375 -0.767871
-v 3.839440 0.071553 -0.739581
-v 3.839284 0.060161 -0.673663
-v 3.839284 0.199327 -0.649515
-v 3.811327 0.194324 -0.766739
-v 3.811350 0.175562 -0.780006
-v 3.811362 0.159363 -0.787891
-v 4.068205 0.145550 -0.726652
-v 4.086716 0.181162 -0.709368
-v 4.086708 0.086824 -0.725603
-v 4.068201 0.126643 -0.729894
-v 3.811362 0.140609 -0.791145
-v 3.811350 0.122702 -0.789178
-v 3.811327 0.100585 -0.783005
-v 4.105228 0.197878 -0.695322
-v 4.123734 0.185025 -0.686379
-v 4.123706 0.212384 -0.668536
-v 3.811188 0.221690 -0.701638
-v 3.811252 0.221412 -0.729386
-v 3.811293 0.210542 -0.748835
-v 4.477716 0.193451 -0.695334
-v 4.496334 0.180709 -0.686337
-v 4.496305 0.208081 -0.668514
-v 4.183788 0.217388 -0.701617
-v 4.183852 0.217099 -0.729354
-v 4.183892 0.206109 -0.748821
-v 4.183927 0.189772 -0.766732
-v 4.183950 0.170900 -0.780002
-v 4.183962 0.154575 -0.787896
-v 4.440471 0.140779 -0.726736
-v 4.459093 0.176621 -0.709414
-v 4.459085 0.081705 -0.725677
-v 4.440467 0.121757 -0.729985
-v 4.183962 0.135704 -0.791156
-v 4.183950 0.117677 -0.789196
-v 4.183927 0.095454 -0.783025
-v 4.923962 0.075456 -0.723712
-v 4.905266 0.114847 -0.727001
-v 4.556577 0.130832 -0.791149
-v 4.556564 0.112713 -0.789185
-v 4.556540 0.090398 -0.783005
-v 4.556540 0.185169 -0.766745
-v 4.556565 0.166219 -0.780004
-v 4.556577 0.149793 -0.787895
-v 4.905259 0.133564 -0.723708
-v 4.923947 0.169028 -0.707369
-v 4.942648 0.185785 -0.694319
-v 4.961344 0.172981 -0.686409
-v 4.961312 0.200337 -0.668528
-v 4.556395 0.212955 -0.701644
-v 4.556462 0.212670 -0.729373
-v 4.556504 0.201594 -0.748841
-v 5.336073 0.182393 -0.694991
-v 5.354277 0.169258 -0.686567
-v 5.354268 0.196573 -0.668607
-v 5.021350 0.205343 -0.701733
-v 5.021396 0.205087 -0.729484
-v 5.021425 0.194306 -0.748900
-v 5.021451 0.178178 -0.766780
-v 5.021467 0.159499 -0.780023
-v 5.021476 0.143383 -0.787885
-v 5.299676 0.131285 -0.725579
-v 5.317865 0.165980 -0.708639
-v 5.317894 0.074511 -0.724930
-v 5.299691 0.112991 -0.728876
-v 5.021476 0.124705 -0.791117
-v 5.021467 0.106883 -0.789127
-v 5.021451 0.084825 -0.782933
-v 5.711139 0.181998 -0.695272
-v 5.729269 0.168957 -0.686537
-v 5.729262 0.196275 -0.668642
-v 5.414344 0.202034 -0.701747
-v 5.414388 0.201792 -0.729534
-v 5.414416 0.191394 -0.748909
-v 5.414440 0.175656 -0.766784
-v 5.414456 0.157327 -0.780035
-v 5.414464 0.141636 -0.787881
-v 5.674865 0.130383 -0.726270
-v 5.693003 0.165481 -0.709168
-v 5.692987 0.072871 -0.725261
-v 5.674857 0.111792 -0.729480
-v 5.414464 0.123345 -0.791109
-v 5.414456 0.105921 -0.789107
-v 5.414440 0.084232 -0.782917
-v 5.996122 0.176713 -0.696818
-v 6.013791 0.163037 -0.686547
-v 6.013744 0.190352 -0.668613
-v 5.789425 0.201277 -0.701746
-v 5.789506 0.201029 -0.729515
-v 5.789557 0.190434 -0.748909
-v 5.789602 0.174496 -0.766785
-v 5.789631 0.155988 -0.780030
-v 5.789646 0.140077 -0.787883
-v 5.960786 0.126591 -0.731008
-v 5.978448 0.160837 -0.712289
-v 5.978462 0.068958 -0.728487
-v 5.960793 0.108211 -0.734260
-v 5.789646 0.121588 -0.791111
-v 5.789631 0.103959 -0.789114
-v 5.789602 0.082080 -0.782921
-v 5.789557 0.061050 -0.771500
-v 5.789506 0.044538 -0.756843
-v 5.789425 0.034935 -0.730789
-v 6.013744 0.024964 -0.697696
-v 6.013791 0.056743 -0.705239
-v 5.996129 0.048074 -0.719460
-v 5.414416 0.063399 -0.771496
-v 5.414388 0.047085 -0.756851
-v 5.414345 0.037478 -0.730786
-v 5.729262 0.029958 -0.697665
-v 5.729269 0.061747 -0.705246
-v 5.711131 0.052529 -0.717831
-v 5.021425 0.063610 -0.771514
-v 5.021396 0.046912 -0.756849
-v 5.021350 0.037316 -0.730806
-v 5.354268 0.031894 -0.697705
-v 5.354277 0.063664 -0.705225
-v 5.336088 0.054313 -0.717686
-v 4.556504 0.068913 -0.771606
-v 4.556461 0.051943 -0.756944
-v 4.556395 0.042375 -0.730913
-v 4.961313 0.031890 -0.697803
-v 4.961344 0.063648 -0.705410
-v 4.942656 0.054771 -0.717128
-v 4.183892 0.074062 -0.771632
-v 4.183852 0.057188 -0.756981
-v 4.183788 0.047623 -0.730944
-v 4.496305 0.037432 -0.697820
-v 4.496334 0.069195 -0.705487
-v 4.477712 0.060663 -0.718120
-v 3.811293 0.079304 -0.771607
-v 3.811252 0.062541 -0.756958
-v 3.811188 0.052967 -0.730916
-v 4.123706 0.042776 -0.697792
-v 4.123734 0.074544 -0.705436
-v 4.105224 0.065899 -0.718068
-v 2.080458 -0.044641 -0.580071
-v 2.080458 -0.639738 -0.533271
-v 2.958858 -0.755430 -0.464885
-v 2.958858 -0.938409 -0.628220
-v 2.958858 -1.348629 -0.610057
-v 2.080458 -1.348629 0.000000
-v 2.930218 0.704509 0.000000
-v 2.930218 0.704509 -0.156457
-v 2.890618 0.634652 -0.312522
-v 2.890618 0.564392 -0.379419
-v 2.876219 0.393459 -0.490883
-v 2.080458 0.230355 -0.535484
-v 2.436418 0.357459 -0.490883
-v 1.626258 0.230355 -0.535484
-v 1.626258 -0.044641 -0.580071
-v 1.626258 -0.639738 -0.533271
-v 1.626258 -0.798630 -0.464885
-v 1.626258 -0.938409 -0.628220
-v 1.626258 -1.348629 -0.610057
-v 1.626258 -1.348629 0.000000
-v 2.193910 1.331267 0.000000
-v -1.167794 0.704509 0.000000
-v -1.167794 0.704509 -0.156457
-v -1.079142 0.634652 -0.312522
-v -0.966887 0.564392 -0.379419
-v -0.869141 0.451059 -0.454883
-v -0.869141 0.230355 -0.535484
-v -0.869141 -0.044641 -0.580071
-v -0.869141 -0.639738 -0.533271
-v -0.869141 -0.870630 -0.464885
-v -0.605987 -1.078982 -0.628220
-v -0.605987 -1.201591 -0.631323
-v -0.605987 -1.132629 -0.610057
-v -0.605987 -1.348629 0.000000
-v 1.124589 1.368707 0.000000
-v 1.121248 0.407859 -0.490883
-v 1.421248 0.393459 -0.490883
-v 2.398921 0.394306 -0.483900
-v 2.436418 0.321287 -0.500775
-v 2.473918 0.357459 -0.490883
-v 2.473427 0.371387 -0.481801
-v 1.421248 0.430267 -0.483714
-v 1.421248 0.357287 -0.500775
-v 1.121248 0.444280 -0.481952
-v 1.121248 0.371687 -0.500775
-v -0.886830 0.482470 -0.434400
-v -0.869141 0.414887 -0.464775
-v 2.224331 1.308867 0.000000
-v 2.156535 1.334394 0.000000
-v 2.203136 1.002782 -0.414086
-v 2.202622 1.205622 -0.359939
-v 2.184142 1.209105 -0.363017
-v 2.184413 1.007165 -0.415509
-v 2.202622 1.240752 -0.326490
-v 2.201731 1.279411 -0.200170
-v 2.184417 1.285425 -0.201149
-v 2.184142 1.244235 -0.329568
-v 2.164556 1.245486 -0.330265
-v 2.164830 1.286676 -0.201846
-v 2.218233 1.270108 -0.194992
-v 2.219124 1.231449 -0.321312
-v 2.367620 1.111280 -0.322231
-v 2.220967 1.202554 -0.354093
-v 2.369463 1.082385 -0.355012
-v 2.164928 1.007475 -0.416100
-v 2.164657 1.209415 -0.363608
-v 1.346727 1.260902 -0.362695
-v 1.346234 1.064003 -0.413891
-v 1.346727 1.296032 -0.329246
-v 1.198236 1.054193 -0.413891
-v 1.198729 1.251091 -0.362695
-v 0.619036 1.112495 -0.362695
-v 0.650207 1.022778 -0.402545
-v 1.198729 1.286221 -0.329246
-v 1.198709 1.327066 -0.201033
-v 0.619036 1.147625 -0.329246
-v -1.006543 -1.892791 -0.307323
-v -1.006543 -1.960629 -0.156457
-v -1.006543 -1.960629 0.000000
-v -1.373742 0.704509 0.000000
-v -1.373742 0.704509 -0.156457
-v -1.271461 0.634652 -0.312522
-v -1.158709 0.564392 -0.379419
-v -1.006543 0.482470 -0.434400
-v -1.006543 0.414887 -0.464775
-v -1.006543 0.230355 -0.535484
-v -1.006543 -0.044641 -0.580071
-v -1.006543 -0.639738 -0.533271
-v -1.006543 -1.615830 -0.464885
-v -1.006543 -1.824182 -0.369020
-v -1.655142 -0.639738 -0.506574
-v -1.655142 -1.414323 -0.441612
-v -1.655142 -1.622674 -0.350546
-v -1.655142 -1.691284 -0.291938
-v -1.655142 -1.759121 -0.148625
-v -1.655142 -1.759121 0.000000
-v -1.655142 0.704509 0.000000
-v -1.655142 0.704509 -0.148625
-v -1.655142 0.634652 -0.296876
-v -1.655142 0.564392 -0.360425
-v -1.655142 0.482471 -0.412653
-v -1.655142 0.414887 -0.441507
-v -1.655142 0.230355 -0.508676
-v -1.655142 -0.044641 -0.551031
-v -0.361405 -1.095250 -1.664383
-v 1.629640 -0.974871 -1.664383
-v 2.962241 -0.974871 -1.664383
-v 3.308442 -0.999037 -1.657746
-v 3.456042 -1.116736 -1.668975
-v 3.308442 -1.260532 -1.657578
-v 2.962241 -1.365507 -1.664820
-v 1.629640 -1.365507 -1.664820
-v -0.361405 -1.150019 -1.649955
-v 2.978287 -0.959703 -8.145055
-v 3.186722 -0.983870 -8.138417
-v 3.186722 -1.047697 -8.145931
-v 3.186722 -1.112480 -8.129084
-v 2.978287 -1.217455 -8.136325
-v 2.175970 -1.217455 -8.136325
-v 1.081943 -1.106119 -8.128645
-v 1.081943 -1.080082 -8.145055
-v 2.175970 -0.959703 -8.145055
-v 1.797642 -1.186562 -8.382774
-v 1.797642 -1.111711 -8.387530
-v 2.273984 -1.104526 -8.491683
-v 2.711147 -1.104526 -8.491683
-v 2.824718 -1.059287 -8.383914
-v 2.824718 -1.094065 -8.388008
-v 2.824718 -1.129364 -8.378828
-v 2.711147 -1.179377 -8.486926
-v 2.273984 -1.179377 -8.486926
-v 0.489037 -1.838894 -0.460791
-v 0.489037 -1.770285 -0.522487
-v 0.626440 -1.442896 -0.430831
-v 0.626440 -1.409934 0.000000
-v 0.489037 -1.906732 0.000000
-v 0.489037 -1.906732 -0.309925
-v 0.791476 -1.389575 0.000000
-v 0.654074 -1.799869 0.000000
-v 0.654074 -1.799869 -0.315172
-v 0.654074 -1.743844 -0.466038
-v 0.654074 -1.687181 -0.527734
-v 0.791476 -1.416797 -0.433712
-v -2.174141 0.397137 -0.397356
-v -2.174141 0.228038 -0.457809
-v -2.174141 -0.023960 -0.495928
-v -2.174141 -0.569288 -0.455917
-v -2.174141 -1.262241 -0.397451
-v -2.174141 -1.453168 -0.315491
-v -2.174141 -1.516039 -0.262744
-v -2.174141 -1.578203 -0.133762
-v -2.174141 -1.578203 0.000000
-v -2.174141 0.662537 0.000000
-v -2.174141 0.662537 -0.133762
-v -2.174141 0.598522 -0.267189
-v -2.174141 0.534139 -0.324382
-v -2.174141 0.459068 -0.371388
-v -2.693141 0.565465 -0.240470
-v -2.693141 0.508870 -0.291944
-v -2.693141 0.442880 -0.334249
-v -2.693141 0.388440 -0.357621
-v -2.693141 0.239795 -0.412028
-v -2.693141 0.018279 -0.446335
-v -2.693141 -0.461086 -0.410325
-v -2.693141 -0.925453 -0.357706
-v -2.693141 -1.093286 -0.283942
-v -2.693141 -1.148552 -0.236470
-v -2.693141 -1.203197 -0.120386
-v -2.693141 -1.203197 0.000000
-v -2.693141 0.621737 0.000000
-v -2.693141 0.621737 -0.120386
-v -3.492939 -0.720255 0.000000
-v -3.492939 0.557402 0.000000
-v -3.492939 0.557402 -0.108348
-v -3.492939 0.513374 -0.216423
-v -3.492939 0.469093 -0.262750
-v -3.492939 0.417462 -0.300824
-v -3.492939 0.374867 -0.321859
-v -3.492939 0.258566 -0.370825
-v -3.492939 0.085249 -0.401702
-v -3.492939 -0.289812 -0.369293
-v -3.492939 -0.502944 -0.321935
-v -3.492939 -0.634258 -0.255548
-v -3.492939 -0.677499 -0.212823
-v -3.492939 -0.720255 -0.108348
-v -4.296339 -0.594212 -0.216555
-v -4.296339 -0.637453 -0.180677
-v -4.296339 -0.680209 -0.092946
-v -4.296339 -0.680209 0.000000
-v -4.818340 0.679802 0.000000
-usemtl UNKNOWN
-v -4.818340 0.679802 -0.092946
-v -4.296339 0.513374 -0.183700
-v -4.296339 0.469093 -0.222602
-v -4.296339 0.417462 -0.254574
-v -4.296339 0.374867 -0.272238
-v -4.296339 0.258566 -0.313356
-v -4.296339 0.085249 -0.339284
-v -4.296339 -0.289812 -0.312069
-v -4.296339 -0.462899 -0.272302
-v -5.927646 0.105235 -0.249998
-v -5.726139 -0.219019 -0.229945
-v -5.726139 -0.308772 -0.200643
-v -5.726139 -0.422297 -0.159566
-v -5.726139 -0.459680 -0.133130
-v -5.726139 -0.496644 -0.092946
-v -5.726139 -0.496644 0.000000
-v -5.463337 2.538391 0.000000
-v -5.463337 2.538391 -0.092946
-v -5.726139 0.475365 -0.135358
-v -5.726139 0.437082 -0.164022
-v -5.726139 0.392445 -0.187581
-v -5.726139 0.355620 -0.200596
-v -5.927646 0.255074 -0.230894
-v -6.684336 0.366154 -0.063359
-v -6.684336 0.340187 -0.066688
-v -6.684336 0.269287 -0.074438
-v -6.684336 0.163628 -0.079325
-v -6.684336 -0.036876 -0.074195
-v -6.684336 -0.101561 -0.066700
-v -6.684336 -0.146963 -0.056193
-v -6.684336 -0.161913 -0.049431
-v -6.684336 -0.176696 -0.032895
-v -6.684336 -0.176696 0.000000
-v -6.421535 2.538391 0.000000
-v -6.421535 2.538391 -0.032895
-v -6.684336 0.424625 -0.050001
-v -6.684336 0.397630 -0.057333
-v -5.604433 0.030233 -3.198227
-v -5.797521 -0.012666 -3.060199
-v -5.021369 0.017902 -3.196647
-v -4.818594 -0.032663 -3.060443
-v -5.604435 0.079761 -3.184031
-v -5.797521 0.137173 -3.022758
-v -5.021374 0.077262 -3.185613
-v -4.818594 0.140654 -3.023002
-v 6.572738 -0.194421 0.505845
-v 6.572553 -0.096294 0.535720
-v 6.361460 -0.103735 0.558472
-v 6.361460 -0.219626 0.515268
-v 6.572132 0.636542 0.156457
-v 6.361460 0.669865 0.156457
-v 6.574741 -0.745212 0.156457
-v 6.361460 -0.794649 0.156457
-v 6.576936 -0.182333 0.295363
-v 6.576936 -0.309463 0.356873
-v 6.576936 -0.453436 0.361991
-v 6.576936 -0.555708 0.299689
-v 6.576936 -0.587882 0.261854
-v 6.576936 -0.629809 0.141259
-v -6.421535 2.538391 0.032895
-v -6.684336 -0.176696 0.032895
-v -6.684336 -0.161913 0.049431
-v -6.684336 -0.146963 0.056193
-v -6.684336 -0.101561 0.066700
-v -6.684336 -0.036876 0.074195
-v -6.684336 0.163628 0.079325
-v -6.684336 0.269287 0.074438
-v -6.684336 0.340187 0.066688
-v -6.684336 0.366154 0.063359
-v -6.684336 0.397630 0.057333
-v -6.684336 0.424625 0.050001
-v 6.361460 0.207409 0.535484
-v 6.571836 0.207239 0.535484
-v 6.571951 0.389182 0.490883
-v 6.361460 0.398707 0.490883
-v 6.573818 -0.338568 0.473719
-v 6.361460 -0.378841 0.476876
-v 6.361460 -0.523492 0.464885
-v 6.574113 -0.480045 0.464885
-v 6.361460 0.561399 0.379419
-v 6.572050 0.530397 0.379419
-v 6.572089 0.583477 0.312522
-v 6.361460 0.615640 0.312522
-v 6.361460 0.028069 0.567064
-v 6.572061 0.027289 0.553741
-v 6.574482 -0.639148 0.369020
-v 6.361460 -0.686183 0.369020
-v 6.361460 -0.740424 0.307323
-v 6.574611 -0.692189 0.307323
-v 6.058460 -0.864940 0.156457
-v 6.058460 0.680933 0.156457
-v 6.058460 0.623695 0.312522
-v 6.058460 0.566441 0.379419
-v 6.058460 0.394712 0.490883
-v 6.058460 0.211786 0.535484
-v 6.058460 -0.042087 0.580071
-v 6.286466 -0.044879 0.580071
-v 6.058460 -0.247173 0.548869
-v 6.058460 -0.426032 0.510478
-v 6.058460 -0.578719 0.464885
-v 6.058460 -0.750448 0.369020
-v 6.058460 -0.807703 0.307323
-v 5.759059 -0.629551 0.464885
-v 5.759059 -0.806535 0.369020
-v 5.759059 -0.865547 0.307323
-v 5.759059 -0.924679 0.156457
-v 5.759059 0.688910 0.156457
-v 5.759059 0.633582 0.312522
-v 5.759059 0.574636 0.379419
-v 5.759059 0.397834 0.490883
-v 5.759059 0.218724 0.535484
-v 5.960793 0.108211 0.734260
-v 5.960786 0.126591 0.731008
-v 5.789646 0.140077 0.787883
-v 5.789646 0.121588 0.791111
-v 5.759059 -0.036405 0.580071
-v 5.759059 -0.274659 0.548869
-v 5.759059 -0.472355 0.510478
-v 5.674857 0.111792 0.729480
-v 5.674865 0.130383 0.726270
-v 5.414464 0.141636 0.787881
-v 5.414464 0.123345 0.791109
-v 5.384059 -0.034261 0.580071
-v 5.384059 -0.439481 0.533271
-v 5.634072 -0.409004 0.533271
-v 5.384059 -0.690861 0.464885
-v 5.384059 -0.877400 0.369020
-v 5.384059 -0.938690 0.307323
-v 5.384059 -1.000841 0.156457
-v 5.384059 0.701148 0.156457
-v 5.384059 0.640479 0.312522
-v 5.384059 0.579792 0.379419
-v 5.384059 0.397767 0.490883
-v 5.384059 0.218775 0.535484
-v 5.045059 0.651279 0.312522
-v 5.045059 0.590592 0.379419
-v 5.045059 0.408567 0.490883
-v 5.045059 0.222375 0.535484
-v 5.299691 0.112991 0.728876
-v 5.299676 0.131285 0.725579
-v 5.021476 0.143383 0.787885
-v 5.021476 0.124705 0.791117
-v 5.045059 -0.034608 0.580071
-v 5.045059 -0.455493 0.533271
-v 5.045059 -0.717533 0.464885
-v 5.045059 -0.914058 0.369020
-v 5.045059 -0.975665 0.307323
-v 5.045059 -1.038557 0.156457
-v 5.045059 0.711948 0.156457
-v 4.526059 0.718504 0.156457
-v 4.526059 0.658479 0.312522
-v 4.526059 0.597792 0.379419
-v 4.526059 0.414495 0.490883
-v 4.526059 0.230297 0.535484
-v 4.905266 0.114847 0.727001
-v 4.905259 0.133564 0.723708
-v 4.556577 0.149793 0.787895
-v 4.556577 0.130832 0.791149
-v 4.526059 -0.029135 0.580071
-v 4.526059 -0.498435 0.533271
-v 4.526059 -0.768878 0.464885
-v 4.526059 -0.974194 0.369020
-v 4.673659 -1.046356 0.307323
-v 4.526059 -1.109240 0.156457
-v 3.765859 -0.962355 0.628220
-v 3.913459 -1.100734 0.631323
-v 3.765859 -1.243404 0.610057
-v 3.765859 0.722259 0.156457
-v 3.765859 0.656899 0.312522
-v 3.765859 0.591162 0.379419
-v 3.765859 0.431232 0.490883
-v 3.765859 0.239029 0.535484
-v 4.068201 0.126643 0.729894
-v 4.068205 0.145550 0.726652
-v 3.811362 0.159363 0.787891
-v 3.811362 0.140609 0.791145
-v 3.765859 -0.018264 0.580071
-v 3.765859 -0.575051 0.533271
-v 3.765859 -0.787602 0.464885
-v 6.634465 0.607010 0.152369
-v 6.684336 0.571381 0.144191
-v 6.684336 0.526950 0.276394
-v 6.634446 0.556960 0.300481
-v 6.684336 0.489194 0.324534
-v 6.634429 0.509124 0.361126
-v 6.684336 0.352180 0.421582
-v 6.634385 0.375719 0.467785
-v 6.684336 0.195568 0.461057
-v 6.634334 0.203329 0.510677
-v 6.684336 0.031728 0.471195
-v 6.634434 0.028676 0.524650
-v 6.684336 -0.075913 0.450460
-v 6.634652 -0.088625 0.504625
-v 6.634734 -0.181332 0.478734
-v 6.684336 -0.164028 0.427821
-v 6.684336 -0.307884 0.397477
-v 6.635214 -0.323683 0.447942
-v 6.684336 -0.434718 0.390959
-v 6.635345 -0.459933 0.440246
-v 6.684336 -0.565572 0.311244
-v 6.635196 -0.609515 0.350011
-v 6.684336 -0.601128 0.269432
-v 6.634674 -0.657331 0.295157
-v 6.684336 -0.644809 0.143792
-v 6.634470 -0.707556 0.152436
-v 6.684336 -0.303959 0.380123
-v 6.684336 -0.163603 0.323078
-v 6.684336 -0.080699 0.402043
-v 6.684336 0.029323 0.441543
-v 6.684336 0.194024 0.451133
-v 6.684336 0.234120 0.435870
-v 6.684336 0.345796 0.407722
-v 6.684336 0.478740 0.313557
-v 6.684336 0.513554 0.269169
-v 6.684336 0.556381 0.141738
-v 6.684336 -0.629809 0.141259
-v 6.684336 -0.587882 0.261854
-v 6.684336 -0.555708 0.299689
-v 6.684336 -0.453436 0.361991
-v 6.684336 -0.431677 0.381101
-v 6.684336 -0.064552 0.375992
-v 6.684336 -0.145284 0.299096
-v 6.684336 0.036183 0.412612
-v 6.684336 -0.159855 0.290230
-v 6.684336 -0.149751 0.315557
-v 6.684336 -0.160612 0.305211
-v 6.684336 -0.174250 0.311456
-v 6.684336 -0.182333 0.295363
-v 6.684336 -0.430156 0.376173
-v 6.684336 0.193252 0.446172
-v 6.684336 -0.305939 0.371757
-v 6.684336 -0.309463 0.356873
-v 6.684336 -0.072625 0.389017
-v 6.684336 0.032698 0.427306
-v 5.759221 0.233548 0.620602
-v 6.058621 0.226609 0.620602
-v 6.058621 -0.027263 0.665190
-v 5.759221 -0.021581 0.665190
-v 5.384221 -0.019437 0.665190
-v 5.045221 -0.019784 0.665190
-v 4.526221 -0.014311 0.665190
-v 3.766021 -0.003440 0.665190
-v 3.766021 0.253853 0.620602
-v 4.526221 0.245120 0.620602
-v 5.045221 0.237199 0.620602
-v 5.384221 0.233599 0.620602
-v 5.759249 0.221346 0.637962
-v 6.043650 0.214751 0.637964
-v 5.384249 0.221400 0.637983
-v 4.991249 0.224993 0.637944
-v 4.526249 0.232911 0.637921
-v 3.781049 0.241471 0.637928
-v 4.153649 0.237191 0.637924
-v 4.526249 0.003046 0.677426
-v 4.153649 0.008374 0.677423
-v 3.781049 0.013703 0.677419
-v 4.991249 -0.002431 0.677403
-v 5.384249 -0.002091 0.677364
-v 5.759249 -0.004231 0.677385
-v 6.043650 -0.009627 0.677383
-v 4.183962 0.154575 0.787896
-v 4.183962 0.135704 0.791156
-v 4.440467 0.121757 0.729985
-v 4.440471 0.140779 0.726736
-v 5.789249 0.191094 0.643152
-v 6.013650 0.185887 0.643132
-v 6.013650 0.020499 0.672215
-v 5.789249 0.024753 0.672195
-v 5.414249 0.191845 0.643154
-v 5.729249 0.191804 0.643162
-v 5.729249 0.025487 0.672185
-v 5.414249 0.027289 0.672193
-v 5.021249 0.195170 0.643137
-v 5.354249 0.192117 0.643125
-v 5.354249 0.027439 0.672223
-v 5.021249 0.027142 0.672210
-v 4.556249 0.202835 0.643039
-v 4.961249 0.195935 0.643036
-v 4.961249 0.027488 0.672311
-v 4.556249 0.032255 0.672308
-v 4.496249 0.033041 0.672327
-v 4.183649 0.037514 0.672337
-v 4.183649 0.207279 0.643010
-v 4.496249 0.203690 0.643020
-v 3.811049 0.211563 0.643035
-v 4.123649 0.207974 0.643046
-v 4.123649 0.038366 0.672301
-v 3.811049 0.042839 0.672312
-v 6.013744 0.190352 0.668613
-v 6.013791 0.163037 0.686547
-v 6.013791 0.056743 0.705239
-v 6.013744 0.024964 0.697696
-v 5.789425 0.034935 0.730789
-v 5.817692 0.053548 0.739481
-v 5.817801 0.105656 0.767781
-v 5.817801 0.150825 0.759894
-v 5.817692 0.190334 0.715584
-v 5.817493 0.178872 0.649628
-v 5.817493 0.042083 0.673511
-v 5.789425 0.201277 0.701746
-v 5.729262 0.196275 0.668642
-v 5.729269 0.168957 0.686537
-v 5.729269 0.061747 0.705246
-v 5.729262 0.029958 0.697665
-v 5.414345 0.037478 0.730786
-v 5.442581 0.056106 0.739551
-v 5.442639 0.107638 0.767803
-v 5.442639 0.152130 0.759951
-v 5.442580 0.191110 0.715680
-v 5.442473 0.179635 0.649694
-v 5.442473 0.044623 0.673520
-v 5.414344 0.202034 0.701747
-v 5.354268 0.196573 0.668607
-v 5.354277 0.169258 0.686567
-v 5.354277 0.063664 0.705225
-v 5.354268 0.031894 0.697705
-v 5.021350 0.037316 0.730806
-v 5.049587 0.055925 0.739501
-v 5.049650 0.108573 0.767837
-v 5.049650 0.154380 0.759911
-v 5.049588 0.194393 0.715552
-v 5.049474 0.182947 0.649626
-v 5.049474 0.044480 0.673585
-v 5.021350 0.205343 0.701733
-v 4.961312 0.200337 0.668528
-v 4.961344 0.172981 0.686409
-v 4.961344 0.063648 0.705410
-v 4.961313 0.031890 0.697803
-v 4.556395 0.042375 0.730913
-v 4.584650 0.060952 0.739541
-v 4.584740 0.114373 0.767883
-v 4.584740 0.161148 0.759858
-v 4.584650 0.201967 0.715365
-v 4.584486 0.190592 0.649489
-v 4.584486 0.049580 0.673684
-v 4.556395 0.212955 0.701644
-v 4.212040 0.066199 0.739591
-v 4.212126 0.119341 0.767893
-v 4.212126 0.165810 0.759866
-v 4.212040 0.206401 0.715366
-v 4.211884 0.195036 0.649480
-v 4.211884 0.054834 0.673700
-v 4.183788 0.217388 0.701617
-v 4.496305 0.208081 0.668514
-v 4.496334 0.180709 0.686337
-v 4.496334 0.069195 0.705487
-v 4.496305 0.037432 0.697820
-v 4.183788 0.047623 0.730944
-v 4.123706 0.212384 0.668536
-v 4.123734 0.185025 0.686379
-v 4.123734 0.074544 0.705436
-v 4.123706 0.042776 0.697792
-v 3.811188 0.052967 0.730916
-v 3.839440 0.071553 0.739581
-v 3.839527 0.124375 0.767871
-v 3.839527 0.170450 0.759876
-v 3.839440 0.210716 0.715420
-v 3.839284 0.199327 0.649515
-v 3.839284 0.060161 0.673663
-v 3.811188 0.221690 0.701638
-v 5.789602 0.174496 0.766785
-v 5.978448 0.160837 0.712289
-v 5.996122 0.176713 0.696818
-v 5.789557 0.190434 0.748909
-v 5.414440 0.175656 0.766784
-v 5.693003 0.165481 0.709168
-v 5.711139 0.181998 0.695272
-v 5.414416 0.191394 0.748909
-v 5.021451 0.178178 0.766780
-v 5.317865 0.165980 0.708639
-v 5.336073 0.182393 0.694991
-v 5.021425 0.194306 0.748900
-v 4.556540 0.185169 0.766745
-v 4.923947 0.169028 0.707369
-v 4.942648 0.185785 0.694319
-v 4.556504 0.201594 0.748841
-v 4.183927 0.189772 0.766732
-v 4.459093 0.176621 0.709414
-v 4.477716 0.193451 0.695334
-v 4.183892 0.206109 0.748821
-v 3.811327 0.194324 0.766739
-v 4.086716 0.181162 0.709368
-v 4.105228 0.197878 0.695322
-v 3.811293 0.210542 0.748835
-v 5.978462 0.068958 0.728487
-v 5.789602 0.082080 0.782921
-v 5.789557 0.061050 0.771500
-v 5.996129 0.048074 0.719460
-v 5.692987 0.072871 0.725261
-v 5.414440 0.084232 0.782917
-v 5.414416 0.063399 0.771496
-v 5.711131 0.052529 0.717831
-v 5.317894 0.074511 0.724930
-v 5.021451 0.084825 0.782933
-v 5.021425 0.063610 0.771514
-v 5.336088 0.054313 0.717686
-v 4.923962 0.075456 0.723712
-v 4.556540 0.090398 0.783005
-v 4.556504 0.068913 0.771606
-v 4.942656 0.054771 0.717128
-v 4.459085 0.081705 0.725677
-v 4.183927 0.095454 0.783025
-v 4.183892 0.074062 0.771632
-v 4.477712 0.060663 0.718120
-v 4.086708 0.086824 0.725603
-v 3.811327 0.100585 0.783005
-v 3.811293 0.079304 0.771607
-v 4.105224 0.065899 0.718068
-v 5.789506 0.044538 0.756843
-v 5.789492 0.053562 0.750364
-v 5.789293 0.042097 0.684394
-v 5.789293 0.178886 0.660511
-v 5.789492 0.190348 0.726466
-v 5.789506 0.201029 0.729515
-v 5.789601 0.150840 0.770777
-v 5.789631 0.155988 0.780030
-v 5.789601 0.105671 0.778663
-v 5.789631 0.103959 0.789114
-v 5.414388 0.047085 0.756851
-v 5.414381 0.056113 0.750396
-v 5.414273 0.044631 0.684364
-v 5.414273 0.179643 0.660539
-v 5.414381 0.191118 0.726524
-v 5.414388 0.201792 0.729534
-v 5.414440 0.152138 0.770796
-v 5.414456 0.157327 0.780035
-v 5.414440 0.107646 0.778647
-v 5.414456 0.105921 0.789107
-v 5.021396 0.046912 0.756849
-v 5.021388 0.055933 0.750348
-v 5.021275 0.044489 0.684432
-v 5.021275 0.182955 0.660473
-v 5.021388 0.194402 0.726400
-v 5.021396 0.205087 0.729484
-v 5.021451 0.154389 0.770758
-v 5.021467 0.159499 0.780023
-v 5.021451 0.108581 0.778684
-v 5.021467 0.106883 0.789127
-v 4.556461 0.051943 0.756944
-v 4.556449 0.060963 0.750409
-v 4.556286 0.049591 0.684552
-v 4.556286 0.190604 0.660357
-v 4.556450 0.201979 0.726233
-v 4.556462 0.212670 0.729373
-v 4.556540 0.161160 0.770726
-v 4.556565 0.166219 0.780004
-v 4.556540 0.114385 0.778751
-v 4.556564 0.112713 0.789185
-v 4.183852 0.057188 0.756981
-v 4.183840 0.066210 0.750456
-v 4.183684 0.054845 0.684565
-v 4.183684 0.195047 0.660345
-v 4.183840 0.206412 0.726231
-v 4.183852 0.217099 0.729354
-v 4.183927 0.165821 0.770731
-v 4.183950 0.170900 0.780002
-v 4.183927 0.119353 0.778758
-v 4.183950 0.117677 0.789196
-v 3.811252 0.062541 0.756958
-v 3.811241 0.071564 0.750446
-v 3.811084 0.060172 0.684528
-v 3.811084 0.199338 0.660380
-v 3.811241 0.210728 0.726285
-v 3.811252 0.221412 0.729386
-v 3.811327 0.170461 0.770741
-v 3.811350 0.175562 0.780006
-v 3.811327 0.124387 0.778736
-v 3.811350 0.122702 0.789178
-v 2.080458 -0.044641 0.580071
-v 2.080458 -0.639738 0.533271
-v 2.958858 -0.755430 0.464885
-v 2.958858 -0.938409 0.628220
-v 1.797642 -1.111711 8.387530
-v 1.797642 -1.186562 8.382774
-v 2.273984 -1.179377 8.486926
-v 2.273984 -1.104526 8.491683
-v 2.958858 -1.348629 0.610057
-v 2.930218 0.704509 0.156457
-v 2.890618 0.634652 0.312522
-v 2.890618 0.564392 0.379419
-v 2.876219 0.393459 0.490883
-v 2.080458 0.230355 0.535484
-v 2.369463 1.082385 0.355012
-v 2.220967 1.202554 0.354093
-v 2.203136 1.002782 0.414086
-v 2.436418 0.357459 0.490883
-v 2.473427 0.371387 0.481801
-v 2.473918 0.357459 0.490883
-v 2.436418 0.321287 0.500775
-v 1.626258 0.230355 0.535484
-v 1.626258 -0.044641 0.580071
-v 1.626258 -0.639738 0.533271
-v 1.626258 -0.798630 0.464885
-v 1.626258 -0.938409 0.628220
-v 1.626258 -1.348629 0.610057
-v 2.218233 1.270108 0.194992
-v 2.219124 1.231449 0.321312
-v 2.367620 1.111280 0.322231
-v 0.619036 1.147625 0.329246
-v 1.198729 1.286221 0.329246
-v 1.198709 1.327066 0.201033
-v -1.167794 0.704509 0.156457
-v -1.079142 0.634652 0.312522
-v 1.198729 1.251091 0.362695
-v -0.966887 0.564392 0.379419
-v 0.619036 1.112495 0.362695
-v 0.650207 1.022778 0.402545
-v -0.886830 0.482470 0.434400
-v 1.121248 0.444280 0.481952
-v -0.869141 0.230355 0.535484
-v 1.421248 0.357287 0.500775
-v 1.121248 0.371687 0.500775
-v -0.869141 0.414887 0.464775
-v -0.869141 -0.044641 0.580071
-v -0.869141 -0.639738 0.533271
-v -0.869141 -0.870630 0.464885
-v -0.605987 -1.078982 0.628220
-v -0.605987 -1.132629 0.610057
-v 2.164830 1.286676 0.201846
-v 2.164657 1.209415 0.363608
-v 2.164556 1.245486 0.330265
-v 1.346727 1.296032 0.329246
-v 1.346727 1.260902 0.362695
-v -0.869141 0.451059 0.454883
-v 2.184413 1.007165 0.415509
-v 2.164928 1.007475 0.416100
-v 2.398921 0.394306 0.483900
-v 1.421248 0.430267 0.483714
-v 1.421248 0.393459 0.490883
-v 1.121248 0.407859 0.490883
-v 2.202622 1.240752 0.326490
-v 2.202622 1.205622 0.359939
-v 2.184142 1.244235 0.329568
-v 2.184142 1.209105 0.363017
-v 2.201731 1.279411 0.200170
-v 2.184417 1.285425 0.201149
-v 1.346234 1.064003 0.413891
-v 1.198236 1.054193 0.413891
-v -1.006543 -1.615830 0.464885
-v -1.006543 -1.824182 0.369020
-v -0.605987 -1.201591 0.631323
-v -1.373742 0.704509 0.156457
-v -1.271461 0.634652 0.312522
-v -1.158709 0.564392 0.379419
-v -1.006543 0.482470 0.434400
-v -1.006543 0.414887 0.464775
-v -1.006543 0.230355 0.535484
-v -1.006543 -0.044641 0.580071
-v -1.006543 -0.639738 0.533271
-v -1.655142 -0.639738 0.506574
-v -1.655142 -1.414323 0.441612
-v -1.655142 -1.622674 0.350546
-v -1.655142 -1.691284 0.291938
-v -1.006543 -1.892791 0.307323
-v -1.655142 -1.759121 0.148625
-v -1.006543 -1.960629 0.156457
-v -1.655142 0.704509 0.148625
-v -1.655142 0.634652 0.296876
-v -1.655142 0.564392 0.360425
-v -1.655142 0.482471 0.412653
-v -1.655142 0.414887 0.441507
-v -1.655142 0.230355 0.508676
-v -1.655142 -0.044641 0.551031
-v 0.654074 -1.743844 0.466038
-v 0.654074 -1.799869 0.315172
-v 0.791476 -1.416797 0.433712
-v 0.654074 -1.687181 0.527734
-v -0.361405 -1.095250 1.664383
-v 1.629640 -0.974871 1.664383
-v 2.962241 -0.974871 1.664383
-v 3.308442 -0.999037 1.657746
-v 3.456042 -1.116736 1.668975
-v 3.308442 -1.260532 1.657578
-v 2.962241 -1.365507 1.664820
-v 1.629640 -1.365507 1.664820
-v -0.361405 -1.150019 1.649955
-v 2.978287 -0.959703 8.145055
-v 3.186722 -0.983870 8.138417
-v 3.186722 -1.047697 8.145931
-v 3.186722 -1.112480 8.129084
-v 2.978287 -1.217455 8.136325
-v 2.175970 -1.217455 8.136325
-v 1.081943 -1.106119 8.128645
-v 1.081943 -1.080082 8.145055
-v 2.175970 -0.959703 8.145055
-v 2.711147 -1.104526 8.491683
-v 2.824718 -1.059287 8.383914
-v 2.824718 -1.094065 8.388008
-v 2.824718 -1.129364 8.378828
-v 2.711147 -1.179377 8.486926
-v 0.489037 -1.838894 0.460791
-v 0.489037 -1.770285 0.522487
-v 0.626440 -1.442896 0.430831
-v 0.489037 -1.906732 0.309925
-v -2.174141 0.397137 0.397356
-v -2.174141 0.228038 0.457809
-v -2.174141 -0.023960 0.495928
-v -2.174141 -0.569288 0.455917
-v -2.174141 -1.262241 0.397451
-v -2.174141 -1.453168 0.315491
-v -2.174141 -1.516039 0.262744
-v -2.174141 -1.578203 0.133762
-v -2.174141 0.662537 0.133762
-v -2.174141 0.598522 0.267189
-v -2.174141 0.534139 0.324382
-v -2.174141 0.459068 0.371388
-v -2.693141 0.565465 0.240470
-v -2.693141 0.508870 0.291944
-v -2.693141 0.442880 0.334249
-v -2.693141 0.388440 0.357621
-v -2.693141 0.239795 0.412028
-v -2.693141 0.018279 0.446335
-v -2.693141 -0.461086 0.410325
-v -2.693141 -0.925453 0.357706
-v -2.693141 -1.093286 0.283942
-v -2.693141 -1.148552 0.236470
-v -2.693141 -1.203197 0.120386
-v -2.693141 0.621737 0.120386
-v -3.492939 0.557402 0.108348
-v -3.492939 0.513374 0.216423
-v -3.492939 0.469093 0.262750
-v -3.492939 0.417462 0.300824
-v -3.492939 0.374867 0.321859
-v -3.492939 0.258566 0.370825
-v -3.492939 0.085249 0.401702
-v -3.492939 -0.289812 0.369293
-v -3.492939 -0.502944 0.321935
-v -3.492939 -0.634258 0.255548
-v -3.492939 -0.677499 0.212823
-v -3.492939 -0.720255 0.108348
-v -4.296339 -0.594212 0.216555
-v -4.296339 -0.637453 0.180677
-v -4.296339 -0.680209 0.092946
-v -4.818340 0.679802 0.092946
-v -4.296339 0.513374 0.183700
-v -4.296339 0.469093 0.222602
-v -4.296339 0.417462 0.254574
-v -4.296339 0.374867 0.272238
-v -4.296339 0.258566 0.313356
-v -4.296339 0.085249 0.339284
-v -4.296339 -0.289812 0.312069
-v -4.296339 -0.462899 0.272302
-v -5.927646 0.105235 0.249998
-v -5.726139 -0.219019 0.229945
-v -5.726139 -0.308772 0.200643
-v -5.726139 -0.422297 0.159566
-v -5.726139 -0.459680 0.133130
-v -5.726139 -0.496644 0.092946
-v -5.463337 2.538391 0.092946
-v -5.726139 0.475365 0.135358
-v -5.726139 0.437082 0.164022
-v -5.726139 0.392445 0.187581
-v -5.726139 0.355620 0.200596
-v -5.927646 0.255074 0.230894
-v -5.021374 0.077262 3.185613
-v -5.604435 0.079761 3.184031
-v -5.604433 0.030233 3.198227
-v -5.021369 0.017902 3.196647
-v -5.797521 0.137173 3.022758
-v -4.818594 0.140654 3.023002
-v -4.818594 -0.032663 3.060443
-v -5.797521 -0.012666 3.060199
-v 6.942926 -1.766178 0.103431
-v 6.979002 -1.766170 0.076686
-v 6.957718 -1.898720 0.042740
-v 6.922789 -1.898728 0.070967
-v 6.935572 -1.368499 0.119729
-v 6.974705 -1.368492 0.097697
-v 6.914673 -0.829704 0.125437
-v 6.956964 -0.829700 0.110327
-v 6.900251 -0.517542 0.119161
-v 6.943820 -0.517538 0.108274
-v 6.887431 -0.226759 0.107292
-v 6.931813 -0.226757 0.100433
-v 6.878496 0.004158 0.092472
-v 6.923258 0.004159 0.088854
-v 6.872898 0.183762 0.075226
-v 6.917793 0.183763 0.074143
-v 6.871572 0.239352 0.072843
-v 6.916480 0.239353 0.072546
-v 6.828905 -1.898695 -0.045206
-v 6.863833 -1.898686 -0.073434
-v 6.843751 -1.766116 -0.105749
-v 6.807674 -1.766124 -0.079004
-v 6.851248 -1.368428 -0.121590
-v 6.812115 -1.368434 -0.099558
-v 6.872295 -0.829629 -0.126652
-v 6.830005 -0.829634 -0.111542
-v 6.886778 -0.517471 -0.119992
-v 6.843209 -0.517475 -0.109104
-v 6.899636 -0.226696 -0.107761
-v 6.855254 -0.226698 -0.100901
-v 6.908589 0.004212 -0.092651
-v 6.863826 0.004212 -0.089034
-v 6.914193 0.183807 -0.075180
-v 6.869297 0.183807 -0.074097
-v 6.915519 0.239396 -0.072727
-v 6.870612 0.239396 -0.072430
-v 6.941214 0.365903 2.029515
-v 6.977266 0.339125 2.029531
-v 6.955834 0.305159 2.162052
-v 6.920930 0.333417 2.162038
-v 6.934228 0.382324 1.631834
-v 6.973341 0.360259 1.631856
-v 6.913813 0.388212 1.093023
-v 6.956090 0.373064 1.093051
-v 6.899663 0.382040 0.780846
-v 6.943222 0.371114 0.780879
-v 6.887091 0.370269 0.490049
-v 6.931466 0.363370 0.490084
-v 6.878348 0.355525 0.259119
-v 6.923107 0.351867 0.259157
-v 6.872894 0.338338 0.079505
-v 6.917789 0.337215 0.079544
-v 6.871615 0.335972 0.023912
-v 6.916523 0.335635 0.023952
-v 6.826943 0.217327 2.161885
-v 6.861846 0.189069 2.161900
-v 6.841852 0.156810 2.029302
-v 6.805800 0.183588 2.029286
-v 6.849690 0.141082 1.631616
-v 6.810576 0.163148 1.631594
-v 6.871212 0.136160 1.092836
-v 6.828934 0.151307 1.092807
-v 6.885977 0.142899 0.780692
-v 6.842418 0.153826 0.780660
-v 6.899105 0.155205 0.489932
-v 6.854729 0.162104 0.489896
-v 6.908276 0.170375 0.259036
-v 6.863517 0.174033 0.258999
-v 6.914055 0.187895 0.079452
-v 6.869161 0.189018 0.079413
-v 6.915433 0.190364 0.023865
-v 6.870526 0.190701 0.023825
-v 6.943109 2.292618 -0.101995
-v 6.979137 2.292594 -0.075185
-v 6.957792 2.425125 -0.041198
-v 6.922914 2.425150 -0.069488
-v 6.935783 1.894950 -0.118541
-v 6.974877 1.894930 -0.096440
-v 6.914895 1.356158 -0.124605
-v 6.957159 1.356144 -0.109421
-v 6.900462 1.043993 -0.118540
-v 6.944012 1.043983 -0.107575
-v 6.887621 0.753203 -0.106866
-v 6.931991 0.753197 -0.099928
-v 6.878660 0.522277 -0.092199
-v 6.923416 0.522274 -0.088501
-v 6.873032 0.342663 -0.075070
-v 6.917925 0.342661 -0.073907
-v 6.871701 0.287070 -0.072721
-v 6.916608 0.287070 -0.072344
-v 6.828823 2.425047 0.046518
-v 6.863701 2.425022 0.074807
-v 6.843561 2.292433 0.107009
-v 6.807533 2.292456 0.080199
-v 6.851032 1.894735 0.122626
-v 6.811937 1.894755 0.100525
-v 6.872070 1.355934 0.127408
-v 6.829806 1.355947 0.112223
-v 6.886564 1.043780 0.120589
-v 6.843014 1.043790 0.109624
-v 6.899444 0.753012 0.108208
-v 6.855074 0.753018 0.101270
-v 6.908424 0.522112 0.092978
-v 6.863667 0.522115 0.089280
-v 6.914059 0.342529 0.075410
-v 6.869165 0.342529 0.074247
-v 6.915390 0.286941 0.072925
-v 6.870483 0.286941 0.072549
-v 6.944822 0.161679 -2.029341
-v 6.980874 0.188457 -2.029277
-v 6.959677 0.222503 -2.161817
-v 6.924774 0.194244 -2.161881
-v 6.937128 0.145022 -1.631683
-v 6.976243 0.167088 -1.631622
-v 6.915756 0.138816 -1.092913
-v 6.958033 0.153964 -1.092857
-v 6.901051 0.144802 -0.780758
-v 6.944610 0.155728 -0.780707
-v 6.887961 0.156401 -0.489977
-v 6.932338 0.163300 -0.489929
-v 6.878808 0.171008 -0.259054
-v 6.923568 0.174665 -0.259010
-v 6.873035 0.188089 -0.079440
-v 6.917930 0.189212 -0.079398
-v 6.871657 0.190422 -0.023848
-v 6.916565 0.190759 -0.023808
-v 6.830786 0.310333 -2.161827
-v 6.865690 0.338591 -2.161763
-v 6.845460 0.370772 -2.029181
-v 6.809408 0.343994 -2.029245
-v 6.852591 0.386265 -1.631473
-v 6.813478 0.364198 -1.631534
-v 6.873154 0.390867 -1.092652
-v 6.830877 0.375720 -1.092707
-v 6.887365 0.383943 -0.780487
-v 6.843806 0.373017 -0.780538
-v 6.899976 0.371465 -0.489711
-v 6.855599 0.364566 -0.489758
-v 6.908737 0.356158 -0.258808
-v 6.863977 0.352501 -0.258852
-v 6.914196 0.338531 -0.079225
-v 6.869302 0.337409 -0.079266
-v 6.915476 0.336030 -0.023637
-v 6.870568 0.335693 -0.023677
-v 7.431191 0.263190 0.000391
-v 7.322116 0.390445 0.000327
-v 7.140324 0.511639 0.000219
-v 6.891874 0.596476 0.000072
-v 6.770679 0.614655 0.000000
-v 6.770679 0.360146 0.000000
-v 6.455573 0.360146 -0.000187
-v 6.455573 0.263190 -0.000187
-v 7.322154 0.373402 -0.063290
-v 7.140398 0.478366 -0.123984
-v 6.891973 0.551841 -0.166542
-v 6.770783 0.567585 -0.175702
-v 6.770708 0.347161 -0.048470
-v 6.455602 0.347161 -0.048656
-v 7.322182 0.326839 -0.109867
-v 7.140451 0.387457 -0.214920
-v 6.892045 0.429890 -0.288530
-v 6.770860 0.438982 -0.304343
-v 6.770729 0.311685 -0.083957
-v 6.455623 0.311685 -0.084144
-v 7.322192 0.263228 -0.126928
-v 7.140471 0.263263 -0.248230
-v 6.892072 0.263288 -0.333214
-v 6.770888 0.263294 -0.351465
-v 6.770737 0.263219 -0.096956
-v 6.455630 0.263219 -0.097143
-v 7.322182 0.199606 -0.109904
-v 7.140451 0.139050 -0.214994
-v 6.892045 0.096661 -0.288628
-v 6.770860 0.087578 -0.304447
-v 6.770729 0.214745 -0.083986
-v 6.455623 0.214745 -0.084173
-v 7.322154 0.153015 -0.063355
-v 7.140398 0.048088 -0.124112
-v 6.891973 -0.025362 -0.166714
-v 6.770784 -0.041101 -0.175883
-v 6.770708 0.179247 -0.048520
-v 6.455602 0.179247 -0.048706
-v 7.322116 0.135935 0.000251
-v 7.140324 0.014740 0.000072
-v 6.891874 -0.070096 -0.000126
-v 6.770679 -0.088275 -0.000208
-v 6.770679 0.166234 -0.000058
-v 6.455573 0.166234 -0.000244
-v 7.322079 0.152940 0.063878
-v 7.140250 0.047940 0.124295
-v 6.891776 -0.025559 0.166516
-v 6.770576 -0.041309 0.175522
-v 6.770651 0.179190 0.048420
-v 6.455544 0.179190 0.048233
-v 7.322051 0.199475 0.110482
-v 7.140196 0.138795 0.215285
-v 6.891704 0.096319 0.288574
-v 6.770499 0.087217 0.304239
-v 6.770630 0.214645 0.083928
-v 6.455523 0.214645 0.083741
-v 7.322041 0.263077 0.127581
-v 7.140177 0.262969 0.248669
-v 6.891677 0.262894 0.333358
-v 6.770471 0.262878 0.351465
-v 6.770622 0.263104 0.096956
-v 6.455515 0.263104 0.096769
-v 7.322051 0.326708 0.110595
-v 7.140196 0.387202 0.215505
-v 6.891703 0.429548 0.288870
-v 6.770499 0.438622 0.304551
-v 6.770630 0.311585 0.084014
-v 6.455523 0.311585 0.083827
-v 7.322078 0.373327 0.064074
-v 7.140250 0.478218 0.124678
-v 6.891776 0.551643 0.167028
-v 6.770575 0.567377 0.176063
-v 6.770651 0.347104 0.048569
-v 6.455544 0.347104 0.048382
-vn -0.999996 0.000509 -0.002924
-vn 1.000000 -0.000087 0.000506
-vn -0.999999 0.000276 -0.001577
-vn 1.000000 -0.000122 0.000716
-vn -0.999999 0.000299 -0.001674
-vn 0.999997 -0.000413 0.002411
-vn -0.999997 0.000412 -0.002415
-vn -0.999997 0.000394 -0.002296
-vn 0.999998 -0.000370 0.002152
-vn 0.999998 -0.000371 0.002156
-vn -0.999997 0.000397 -0.002305
-vn -0.999996 0.000504 -0.002881
-vn -0.065375 0.983158 0.170664
-vn 0.355426 0.160761 -0.920776
-vn 0.065370 -0.983160 -0.170658
-vn -0.065441 0.983121 0.170854
-vn 0.354195 0.162521 -0.920941
-vn 0.065426 -0.983121 -0.170858
-vn -0.065325 0.983174 0.170593
-vn 0.354468 0.159426 -0.921377
-vn 0.065325 -0.983174 -0.170591
-vn -0.064994 0.983360 0.169642
-vn 0.355139 0.158085 -0.921350
-vn 0.064957 -0.983364 -0.169635
-vn -0.064908 0.983396 0.169465
-vn 0.354994 0.159140 -0.921224
-vn 0.064913 -0.983394 -0.169478
-vn -0.065033 0.983333 0.169785
-vn 0.354954 0.159832 -0.921120
-vn 0.065014 -0.983335 -0.169782
-vn 0.999997 -0.000222 0.002254
-vn 0.999997 -0.000500 0.002245
-vn 0.999997 -0.000503 0.002315
-vn 0.999997 -0.000498 0.002326
-vn 0.999998 -0.000220 0.002197
-vn 0.999998 -0.000440 0.002182
-vn 0.999998 -0.000492 0.001967
-vn 0.999997 -0.000327 0.002525
-vn 0.999997 -0.000494 0.002412
-vn 0.999999 -0.000304 0.001670
-vn 0.999999 0.000000 0.001517
-vn 0.999999 -0.000336 0.001498
-vn 0.999999 -0.000105 0.001599
-vn 0.999999 -0.000465 0.001534
-vn 0.999999 -0.000318 0.001527
-vn 0.999995 -0.000721 0.002924
-vn 0.999996 -0.000228 0.002758
-vn 0.999996 -0.000597 0.002733
-vn 0.999996 -0.000412 0.002932
-vn 0.999999 -0.000157 0.001554
-vn 0.999999 -0.000203 0.001692
-vn 0.999997 -0.000544 0.002342
-vn 0.999997 -0.000349 0.002365
-vn 0.999997 -0.000377 0.002311
-vn 0.944728 0.327855 0.000000
-vn -0.998866 0.008822 -0.046775
-vn -0.999996 0.000507 0.002924
-vn 1.000000 -0.000089 -0.000506
-vn -0.999999 0.000276 0.001577
-vn 1.000000 -0.000127 -0.000716
-vn -0.999999 0.000295 0.001674
-vn 0.999997 -0.000415 -0.002411
-vn -0.999997 0.000415 0.002415
-vn -0.999997 0.000394 0.002296
-vn 0.999998 -0.000368 -0.002152
-vn 0.999998 -0.000373 -0.002156
-vn -0.999997 0.000399 0.002305
-vn -0.065375 0.983158 -0.170664
-vn 0.355426 0.160763 0.920776
-vn 0.065371 -0.983159 0.170660
-vn -0.065440 0.983121 -0.170851
-vn 0.354195 0.162521 0.920941
-vn 0.065426 -0.983121 0.170858
-vn -0.065325 0.983174 -0.170593
-vn 0.354468 0.159427 0.921377
-vn 0.065325 -0.983174 0.170591
-vn -0.064994 0.983360 -0.169642
-vn 0.355139 0.158085 0.921350
-vn 0.064958 -0.983363 0.169638
-vn -0.064908 0.983396 -0.169465
-vn 0.354994 0.159141 0.921224
-vn 0.064913 -0.983394 0.169479
-vn -0.065032 0.983333 -0.169784
-vn 0.354954 0.159832 0.921120
-vn 0.065014 -0.983335 0.169782
-vn 0.999997 -0.000222 -0.002254
-vn 0.999997 -0.000500 -0.002245
-vn 0.999997 -0.000503 -0.002315
-vn 0.999997 -0.000498 -0.002326
-vn 0.999998 -0.000220 -0.002197
-vn 0.999998 -0.000440 -0.002182
-vn 0.999998 -0.000492 -0.001967
-vn 0.999997 -0.000327 -0.002525
-vn 0.999997 -0.000494 -0.002412
-vn 0.999999 -0.000304 -0.001670
-vn 0.999999 0.000000 -0.001517
-vn 0.999999 -0.000336 -0.001498
-vn 0.999999 -0.000105 -0.001599
-vn 0.999999 -0.000465 -0.001534
-vn 0.999999 -0.000318 -0.001527
-vn 0.999995 -0.000721 -0.002924
-vn 0.999996 -0.000228 -0.002758
-vn 0.999996 -0.000597 -0.002733
-vn 0.999996 -0.000412 -0.002932
-vn 0.999999 -0.000157 -0.001554
-vn 0.999999 -0.000203 -0.001692
-vn 0.999997 -0.000544 -0.002342
-vn 0.999997 -0.000349 -0.002365
-vn 0.999997 -0.000377 -0.002311
-vn 0.944728 0.327855 0.000000
-vn -0.998866 0.008822 0.046775
-vn 0.000000 -1.000000 -0.000291
-vn 0.000000 1.000000 0.000300
-vn -0.000893 -0.000591 0.999999
-vn 0.000895 0.000592 -0.999999
-vn 0.000000 1.000000 0.000884
-vn 0.000000 -1.000000 -0.000888
-vn 0.000880 0.001178 -0.999999
-vn -0.000882 -0.001184 0.999999
-vn 0.096543 0.995329 0.000000
-vn 0.225895 -0.974152 0.000000
-vn 0.093444 0.981504 -0.167085
-vn 0.078277 0.869366 -0.487929
-vn 0.048151 0.679173 -0.732397
-vn 0.016114 0.409757 -0.912052
-vn 0.009874 0.193892 -0.980973
-vn 0.080102 -0.323205 -0.942933
-vn 0.134491 -0.628115 -0.766410
-vn 0.189452 -0.843497 -0.502614
-vn 0.220937 -0.960529 -0.169029
-vn 0.205772 -0.962646 -0.175985
-vn 0.210852 -0.977518 0.000000
-vn 0.031569 0.999502 0.000000
-vn 0.030678 0.984732 -0.171354
-vn 0.024688 0.865180 -0.500854
-vn 0.012766 0.660960 -0.750313
-vn 0.003883 0.396901 -0.917853
-vn 0.002162 0.214863 -0.976642
-vn 0.024868 -0.070126 -0.997228
-vn 0.079626 -0.365264 -0.927492
-vn 0.121403 -0.614870 -0.779228
-vn 0.174347 -0.837447 -0.517964
-vn 0.063430 -0.376392 -0.924286
-vn 0.111642 -0.601284 -0.791197
-vn 0.161824 -0.830605 -0.532831
-vn 0.192401 -0.964049 -0.183281
-vn 0.197353 -0.980332 0.000000
-vn 0.029626 0.999561 0.000000
-vn 0.028237 0.984248 -0.174523
-vn 0.022063 0.859203 -0.511159
-vn 0.012260 0.648326 -0.761264
-vn 0.004503 0.391865 -0.920012
-vn 0.002010 0.240473 -0.970654
-vn 0.005836 -0.130388 -0.991446
-vn 0.002520 0.239500 -0.970893
-vn 0.004657 -0.116984 -0.993123
-vn 0.016127 -0.190798 -0.981497
-vn 0.044936 -0.361851 -0.931152
-vn 0.085278 -0.589725 -0.803089
-vn 0.126417 -0.827960 -0.546352
-vn 0.151028 -0.969986 -0.190571
-vn 0.154960 -0.987921 0.000000
-vn 0.032230 0.999480 0.000000
-vn 0.030006 0.983103 -0.180577
-vn 0.022677 0.853219 -0.521059
-vn 0.014089 0.640435 -0.767883
-vn 0.006391 0.386887 -0.922105
-vn 0.019300 0.850624 -0.525419
-vn 0.014418 0.637512 -0.770306
-vn 0.007942 0.383236 -0.923616
-vn 0.004082 0.235712 -0.971814
-vn 0.003245 -0.108577 -0.994083
-vn 0.011353 -0.181311 -0.983360
-vn 0.031852 -0.347614 -0.937096
-vn 0.064590 -0.556543 -0.828304
-vn 0.107632 -0.819845 -0.562378
-vn 0.125923 -0.976026 -0.177531
-vn 0.122769 -0.992435 0.000000
-vn 0.019224 0.999815 0.000000
-vn 0.020491 0.983648 -0.178930
-vn 0.154402 -0.988008 0.000000
-vn 0.007829 0.999969 0.000000
-vn 0.007481 0.984219 -0.176794
-vn 0.005097 0.846608 -0.532192
-vn 0.004176 0.638782 -0.769376
-vn 0.004357 0.387784 -0.921740
-vn 0.003493 0.232368 -0.972622
-vn 0.003851 -0.097708 -0.995208
-vn 0.011886 -0.179770 -0.983637
-vn 0.064435 -0.200229 -0.977628
-vn 0.175325 -0.176463 -0.968567
-vn 0.268466 -0.638399 -0.721369
-vn 0.201092 -0.960276 -0.193473
-vn 0.280788 0.660043 -0.696779
-vn 0.696050 -0.209643 -0.686705
-vn 0.297302 -0.944222 -0.141618
-vn 0.129141 -0.991626 0.000000
-vn -0.006092 0.999981 0.000000
-vn -0.008250 0.981578 -0.190882
-vn -0.011129 0.833814 -0.551934
-vn -0.010156 0.636620 -0.771111
-vn -0.004448 0.402782 -0.915285
-vn -0.000807 0.216468 -0.976289
-vn 0.001476 -0.002218 -0.999996
-vn 0.007075 -0.206109 -0.978503
-vn 0.058209 0.055564 -0.996757
-vn 0.090270 -0.252225 -0.963449
-vn 0.076699 -0.177294 -0.981165
-vn 0.057598 -0.200244 -0.978052
-vn 0.072827 -0.223005 -0.972093
-vn 0.029634 -0.162793 -0.986215
-vn 0.042608 -0.194130 -0.980050
-vn 0.047877 -0.235596 -0.970671
-vn 0.088586 0.036443 -0.995402
-vn 0.101391 -0.044491 -0.993851
-vn 0.120682 -0.183597 -0.975565
-vn 0.892552 0.445033 -0.072774
-vn 0.889192 0.457535 0.000000
-vn 0.896724 0.389637 -0.209924
-vn 0.908323 0.294080 -0.297433
-vn 0.923173 0.167007 -0.346208
-vn 0.926185 0.059650 -0.372321
-vn 0.930481 -0.018877 -0.365854
-vn 0.932505 -0.078773 -0.352460
-vn 0.931712 -0.084581 -0.353213
-vn 0.929360 -0.047991 -0.366043
-vn 0.935095 -0.102512 -0.339246
-vn 0.939066 -0.222023 -0.262415
-vn 0.943348 -0.287376 -0.165860
-vn 0.945089 -0.322182 -0.054816
-vn 0.944161 -0.329485 0.000000
-vn 0.506738 0.862100 0.000000
-vn 0.295199 0.955436 0.000000
-vn 0.294953 0.942578 -0.156686
-vn 0.512376 0.847389 -0.139294
-vn 0.281016 0.841550 -0.461327
-vn 0.516533 0.752832 -0.407968
-vn 0.250628 0.676794 -0.692196
-vn 0.532717 0.596996 -0.599840
-vn 0.216804 0.419373 -0.881545
-vn 0.558116 0.363016 -0.746141
-vn 0.206375 0.172213 -0.963199
-vn 0.562304 0.134508 -0.815918
-vn 0.244446 -0.005427 -0.969648
-vn 0.586639 -0.032139 -0.809211
-vn 0.272488 -0.207830 -0.939445
-vn 0.601496 -0.174000 -0.779697
-vn 0.261876 -0.252058 -0.931605
-vn 0.595896 -0.192994 -0.779526
-vn 0.230128 -0.139008 -0.963181
-vn 0.579252 -0.108411 -0.807907
-vn 0.256808 -0.286024 -0.923168
-vn 0.603172 -0.231930 -0.763146
-vn 0.316493 -0.608910 -0.727366
-vn 0.633396 -0.498629 -0.591759
-vn 0.360565 -0.805607 -0.470097
-vn 0.658206 -0.651321 -0.377551
-vn 0.383849 -0.910033 -0.156526
-vn 0.669788 -0.731966 -0.124941
-vn 0.385167 -0.922847 0.000000
-vn 0.667722 -0.744411 0.000000
-vn 1.000000 -0.000003 0.000000
-vn 1.000000 -0.000020 0.000000
-vn 1.000000 -0.000004 0.000000
-vn 1.000000 -0.000004 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000005 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000006 0.000000
-vn 1.000000 -0.000005 0.000000
-vn 1.000000 0.000009 0.000000
-vn 1.000000 0.000009 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000036 0.000000
-vn 1.000000 -0.000007 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000003 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000011 0.000000
-vn 1.000000 -0.000023 0.000000
-vn 1.000000 -0.000008 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000006 0.000000
-vn 1.000000 -0.000027 0.000000
-vn 1.000000 -0.000036 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000004 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000004 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.000118 0.041779 -0.999127
-vn 0.004361 -0.241410 -0.970413
-vn 0.008088 0.177899 -0.984015
-vn 0.014506 0.911985 -0.409966
-vn 0.066062 -0.997725 0.013449
-vn 0.042067 -0.999115 0.000000
-vn 0.328847 0.944383 0.000000
-vn 0.210143 0.953980 -0.213921
-vn 0.310136 0.801340 -0.511537
-vn 0.135811 0.548046 -0.825349
-vn -0.025188 0.448375 -0.893490
-vn -0.008098 0.250078 -0.968192
-vn 0.036677 0.248498 -0.967938
-vn -0.007024 0.260000 -0.965583
-vn 0.000000 0.041117 -0.999154
-vn 0.003777 -0.229714 -0.973251
-vn -0.007993 0.188495 -0.982042
-vn -0.027910 0.912583 -0.407938
-vn -0.037452 -0.998552 -0.038624
-vn -0.023984 -0.999712 0.000000
-vn 0.339704 0.940533 0.000000
-vn -0.133410 0.991061 0.000000
-vn -0.088761 0.970649 -0.223523
-vn -0.115128 0.815953 -0.566539
-vn -0.069032 0.486006 -0.871225
-vn -0.196272 0.304785 -0.931978
-vn -0.000503 0.244794 -0.969575
-vn 0.000000 0.041117 -0.999154
-vn 0.075248 -0.150999 -0.985666
-vn -0.058861 0.090750 -0.994133
-vn -0.223013 0.483736 -0.846324
-vn 0.032285 -0.055227 -0.997952
-vn 0.029338 -0.836754 -0.546792
-vn -0.048325 -0.998832 0.000000
-vn -0.116349 0.993208 0.000000
-vn -0.000728 0.285135 -0.958487
-vn 0.009044 0.233697 -0.972268
-vn -0.013201 0.132175 -0.991138
-vn -0.004652 0.310945 -0.950416
-vn -0.018855 0.447342 -0.894164
-vn 0.043458 0.440540 -0.896680
-vn 0.003916 0.157116 -0.987572
-vn 0.006671 0.275006 -0.961419
-vn -0.014593 0.201752 -0.979328
-vn -0.000354 0.275012 -0.961441
-vn -0.123125 0.363192 -0.923543
-vn -0.114732 0.318831 -0.940842
-vn 0.609271 0.792962 0.000000
-vn 0.058337 0.998297 0.000000
-vn 0.197793 0.214288 -0.956535
-vn 0.304132 0.472189 -0.827370
-vn 0.128468 0.480293 -0.867649
-vn 0.065978 0.189378 -0.979685
-vn 0.383183 0.789276 -0.479806
-vn 0.430408 0.871019 -0.236801
-vn 0.190432 0.945960 -0.262479
-vn 0.166458 0.834950 -0.524548
-vn 0.049704 0.851931 -0.521290
-vn 0.056490 0.967265 -0.247400
-vn 0.576789 0.789410 -0.210110
-vn 0.541155 0.732740 -0.412606
-vn 0.581176 0.677308 -0.451097
-vn 0.384395 0.460905 -0.799879
-vn 0.443801 0.510231 -0.736685
-vn 0.000427 0.177360 -0.984146
-vn 0.032994 0.482791 -0.875114
-vn 0.009100 0.407303 -0.913248
-vn -0.000105 0.181530 -0.983385
-vn 0.035850 0.860189 -0.508714
-vn -0.025353 0.194003 -0.980673
-vn -0.057223 0.467260 -0.882266
-vn -0.118863 0.422606 -0.898485
-vn -0.059832 0.238478 -0.969303
-vn -0.098458 0.840329 -0.533060
-vn -0.061775 0.969422 -0.237498
-vn -0.232898 0.803810 -0.547401
-vn -0.143590 -0.795741 -0.588369
-vn -0.141811 -0.967321 -0.210191
-vn -0.132215 -0.991221 0.000000
-vn 0.000000 1.000000 0.000000
-vn -0.003805 0.977194 -0.212315
-vn -0.011263 0.810119 -0.586157
-vn -0.014934 0.612838 -0.790067
-vn -0.015544 0.475502 -0.879577
-vn -0.016986 0.379868 -0.924885
-vn -0.019762 0.257273 -0.966137
-vn -0.021477 0.040608 -0.998944
-vn 0.050288 -0.085461 -0.995072
-vn -0.106372 -0.161111 -0.981187
-vn -0.111393 -0.445081 -0.888535
-vn -0.077229 -0.077284 -0.994013
-vn -0.127649 -0.242163 -0.961802
-vn -0.206479 -0.521637 -0.827805
-vn -0.271257 -0.765705 -0.583195
-vn -0.310725 -0.927582 -0.207465
-vn -0.312974 -0.949762 0.000000
-vn -0.040337 0.999186 0.000000
-vn -0.046535 0.974924 -0.217619
-vn -0.056074 0.801126 -0.595864
-vn -0.060043 0.600440 -0.797413
-vn -0.060965 0.463805 -0.883837
-vn -0.062809 0.369571 -0.927077
-vn -0.067524 0.249810 -0.965938
-vn -0.073146 0.039379 -0.996544
-vn -0.069726 0.997341 -0.021186
-vn -0.034886 0.999214 -0.018813
-vn 0.032197 0.999302 -0.018955
-vn 0.411150 0.906523 -0.095771
-vn 0.976876 0.025959 -0.212226
-vn 0.527427 -0.844375 -0.094086
-vn 0.135009 -0.990750 -0.013653
-vn -0.051866 -0.998619 -0.008406
-vn -0.103589 -0.994531 -0.013352
-vn 0.046793 0.976775 -0.209096
-vn 0.457431 0.798407 -0.391541
-vn 0.847454 -0.018415 -0.530549
-vn 0.630059 -0.666311 -0.398818
-vn 0.231409 -0.953935 -0.190937
-vn -0.043369 -0.998008 -0.045816
-vn -0.207819 -0.893378 -0.398355
-vn -0.229995 0.765419 -0.601029
-vn -0.045652 0.977629 -0.205324
-vn -0.259232 -0.528097 -0.808649
-vn -0.260944 0.261958 -0.929132
-vn -0.095869 0.521504 -0.847846
-vn 0.248125 0.539662 -0.804487
-vn 0.516214 0.366865 -0.773908
-vn 0.604854 -0.053684 -0.794525
-vn 0.612852 -0.315056 -0.724674
-vn 0.375445 -0.548659 -0.747004
-vn -0.093425 -0.706458 -0.701562
-vn 0.199035 -0.800251 -0.565670
-vn 0.042273 -0.328413 -0.943588
-vn 0.025681 0.159732 -0.986826
-vn 0.300600 -0.953750 0.000000
-vn 0.278571 -0.940195 -0.196039
-vn 0.942300 -0.334770 0.000000
-vn 0.784540 -0.620079 0.000000
-vn 0.698871 -0.703626 -0.128414
-vn 0.646387 -0.662210 -0.379027
-vn 0.545333 -0.308626 -0.779334
-vn 0.643198 0.013530 -0.765581
-vn -0.084206 0.363731 -0.927690
-vn -0.087661 0.245638 -0.965390
-vn -0.098013 0.038713 -0.994432
-vn -0.109844 -0.081303 -0.990618
-vn -0.186310 -0.240439 -0.952616
-vn -0.304684 -0.500675 -0.810242
-vn -0.401035 -0.723077 -0.562432
-vn -0.458050 -0.866633 -0.197831
-vn -0.462277 -0.886736 0.000000
-vn -0.079489 0.996836 0.000000
-vn -0.083433 0.972138 -0.219061
-vn -0.085615 0.798350 -0.596077
-vn -0.084580 0.601225 -0.794591
-vn -0.084314 0.462244 -0.882735
-vn -0.076338 0.809012 -0.582814
-vn -0.069369 0.616683 -0.784149
-vn -0.065168 0.477120 -0.876419
-vn -0.061681 0.376950 -0.924177
-vn -0.062003 0.255222 -0.964892
-vn -0.073929 0.040324 -0.996448
-vn -0.097517 -0.098392 -0.990358
-vn -0.202468 -0.260945 -0.943883
-vn -0.355273 -0.504010 -0.787245
-vn -0.475706 -0.702539 -0.529285
-vn -0.544375 -0.819047 -0.181157
-vn -0.551755 -0.834006 0.000000
-vn -0.079275 0.996853 0.000000
-vn -0.080490 0.973956 -0.211972
-vn -0.292192 -0.956360 0.000000
-vn 0.005911 0.999983 0.000000
-vn -0.010045 0.957199 -0.289256
-vn -0.037078 0.765770 -0.642045
-vn -0.049204 0.630291 -0.774798
-vn -0.051020 0.489962 -0.870250
-vn -0.052345 0.388216 -0.920081
-vn -0.056114 0.263335 -0.963071
-vn -0.064667 0.041643 -0.997038
-vn -0.077768 -0.131092 -0.988315
-vn -0.127193 -0.302169 -0.944731
-vn -0.199676 -0.542251 -0.816146
-vn -0.258426 -0.782296 -0.566771
-vn -0.290983 -0.935773 -0.199146
-vn -0.081828 -0.522507 -0.848699
-vn -0.087270 -0.774273 -0.626805
-vn -0.090272 -0.966499 -0.240272
-vn -0.088629 -0.996065 0.000000
-vn 0.091958 0.995763 0.000000
-vn 0.035578 0.626193 -0.778856
-vn -0.023493 0.613633 -0.789242
-vn -0.042544 0.598927 -0.799673
-vn -0.049535 0.459947 -0.886564
-vn -0.054183 0.371894 -0.926692
-vn -0.061990 0.293182 -0.954045
-vn -0.069005 -0.000585 -0.997616
-vn -0.068773 -0.159516 -0.984797
-vn -0.074360 -0.316209 -0.945771
-vn -0.156648 -0.039216 -0.986876
-vn -0.131359 -0.173162 -0.976094
-vn -0.134864 -0.288527 -0.947926
-vn -0.155348 -0.454765 -0.876958
-vn -0.186067 -0.682064 -0.707225
-vn -0.221422 -0.924455 -0.310412
-vn -0.223083 -0.974799 0.000000
-vn -0.016518 0.019447 -0.999674
-vn -0.047409 0.316835 -0.947295
-vn -0.082045 0.496204 -0.864321
-vn -0.089743 0.368982 -0.925094
-vn -0.097611 0.337583 -0.936221
-vn -0.138302 0.279381 -0.950168
-vn -0.129405 0.305064 -0.943499
-vn -0.144895 0.317413 -0.937152
-vn -0.182430 0.240311 -0.953399
-vn -0.205468 -0.016514 -0.978525
-vn -0.196732 -0.176165 -0.964501
-vn -0.191382 -0.265461 -0.944936
-vn -0.215512 -0.415006 -0.883926
-vn -0.258760 -0.620424 -0.740350
-vn -0.316544 -0.883601 -0.345034
-vn -0.316717 -0.948520 0.000000
-vn -0.076263 0.023801 -0.996804
-vn -0.095773 0.259282 -0.961041
-vn -0.117053 0.420661 -0.899635
-vn 0.261876 -0.252058 0.931605
-vn 0.272488 -0.207830 0.939445
-vn 0.120682 -0.183597 0.975565
-vn 0.090270 -0.252224 0.963449
-vn 0.294953 0.942577 0.156687
-vn 0.093444 0.981504 0.167085
-vn 0.383850 -0.910033 0.156526
-vn 0.220937 -0.960529 0.169029
-vn -0.076263 0.023801 0.996804
-vn -0.316544 -0.883602 0.345034
-vn -0.258760 -0.620423 0.740350
-vn -0.215512 -0.415005 0.883926
-vn -0.191382 -0.265461 0.944936
-vn -0.196732 -0.176166 0.964501
-vn -0.205468 -0.016515 0.978525
-vn -0.182430 0.240311 0.953399
-vn -0.144895 0.317413 0.937152
-vn -0.129405 0.305064 0.943499
-vn -0.117053 0.420661 0.899635
-vn -0.095773 0.259282 0.961041
-vn 0.009874 0.193892 0.980973
-vn 0.206375 0.172213 0.963199
-vn 0.216804 0.419374 0.881545
-vn 0.016114 0.409757 0.912052
-vn 0.230128 -0.139008 0.963181
-vn 0.076699 -0.177294 0.981165
-vn 0.080102 -0.323205 0.942933
-vn 0.256808 -0.286024 0.923168
-vn 0.048151 0.679173 0.732397
-vn 0.250628 0.676795 0.692196
-vn 0.281017 0.841550 0.461327
-vn 0.078277 0.869366 0.487929
-vn 0.088586 0.036443 0.995402
-vn 0.244446 -0.005428 0.969648
-vn 0.316493 -0.608910 0.727366
-vn 0.134491 -0.628115 0.766410
-vn 0.189452 -0.843497 0.502614
-vn 0.360565 -0.805606 0.470097
-vn 0.205772 -0.962646 0.175985
-vn 0.030678 0.984732 0.171354
-vn 0.024688 0.865180 0.500854
-vn 0.012766 0.660960 0.750313
-vn 0.003883 0.396901 0.917853
-vn 0.002162 0.214863 0.976642
-vn 0.024868 -0.070126 0.997228
-vn 0.101391 -0.044491 0.993851
-vn 0.057598 -0.200244 0.978052
-vn 0.072827 -0.223005 0.972093
-vn 0.079626 -0.365264 0.927492
-vn 0.121403 -0.614870 0.779228
-vn 0.174347 -0.837447 0.517964
-vn 0.063430 -0.376392 0.924286
-vn 0.111642 -0.601284 0.791197
-vn 0.161824 -0.830605 0.532831
-vn 0.192401 -0.964049 0.183281
-vn 0.028237 0.984248 0.174523
-vn 0.022063 0.859203 0.511159
-vn 0.012260 0.648326 0.761264
-vn 0.004503 0.391865 0.920012
-vn 0.002010 0.240473 0.970654
-vn 0.005836 -0.130388 0.991446
-vn 0.029634 -0.162793 0.986215
-vn 0.047877 -0.235596 0.970671
-vn 0.004657 -0.116984 0.993123
-vn 0.016127 -0.190798 0.981497
-vn 0.042608 -0.194130 0.980050
-vn 0.044936 -0.361851 0.931152
-vn 0.085278 -0.589725 0.803089
-vn 0.126417 -0.827960 0.546352
-vn 0.151028 -0.969986 0.190571
-vn 0.030006 0.983103 0.180577
-vn 0.022677 0.853219 0.521059
-vn 0.014089 0.640435 0.767883
-vn 0.006391 0.386887 0.922105
-vn 0.002520 0.239500 0.970893
-vn 0.019300 0.850624 0.525419
-vn 0.014418 0.637512 0.770306
-vn 0.007942 0.383236 0.923616
-vn 0.004082 0.235712 0.971814
-vn 0.003246 -0.108577 0.994083
-vn 0.011353 -0.181311 0.983360
-vn 0.031852 -0.347614 0.937096
-vn 0.064590 -0.556543 0.828304
-vn 0.107632 -0.819845 0.562378
-vn 0.125923 -0.976026 0.177531
-vn 0.020491 0.983648 0.178930
-vn 0.007481 0.984219 0.176794
-vn 0.005097 0.846608 0.532192
-vn 0.004176 0.638782 0.769376
-vn 0.004357 0.387784 0.921740
-vn 0.003493 0.232368 0.972622
-vn 0.003852 -0.097708 0.995208
-vn 0.011886 -0.179770 0.983637
-vn 0.064435 -0.200229 0.977628
-vn 0.175325 -0.176463 0.968567
-vn 0.268466 -0.638399 0.721369
-vn 0.201092 -0.960276 0.193473
-vn 0.280788 0.660043 0.696779
-vn 0.696050 -0.209643 0.686705
-vn 0.297302 -0.944222 0.141618
-vn -0.008250 0.981578 0.190882
-vn -0.011129 0.833814 0.551934
-vn -0.010156 0.636620 0.771111
-vn -0.004448 0.402782 0.915285
-vn -0.000807 0.216468 0.976289
-vn 0.001476 -0.002218 0.999996
-vn 0.007075 -0.206109 0.978503
-vn 0.058209 0.055564 0.996757
-vn 0.512377 0.847389 0.139294
-vn 0.892555 0.445027 0.072774
-vn 0.896726 0.389633 0.209924
-vn 0.516532 0.752833 0.407968
-vn 0.908323 0.294081 0.297433
-vn 0.532717 0.596997 0.599839
-vn 0.923173 0.167008 0.346207
-vn 0.558116 0.363016 0.746140
-vn 0.926185 0.059651 0.372321
-vn 0.562304 0.134509 0.815918
-vn 0.930481 -0.018877 0.365854
-vn 0.586638 -0.032140 0.809211
-vn 0.932505 -0.078773 0.352460
-vn 0.601496 -0.174000 0.779697
-vn 0.595896 -0.192994 0.779526
-vn 0.931712 -0.084581 0.353213
-vn 0.929360 -0.047991 0.366043
-vn 0.579252 -0.108411 0.807907
-vn 0.935095 -0.102512 0.339246
-vn 0.603172 -0.231930 0.763146
-vn 0.939066 -0.222023 0.262415
-vn 0.633396 -0.498629 0.591759
-vn 0.943348 -0.287375 0.165860
-vn 0.658208 -0.651320 0.377552
-vn 0.945090 -0.322181 0.054816
-vn 0.669789 -0.731964 0.124941
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000017 0.000000
-vn 1.000000 -0.000013 0.000000
-vn 1.000000 -0.000004 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000005 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000003 0.000000
-vn 1.000000 -0.000013 0.000000
-vn 1.000000 0.000009 0.000000
-vn 1.000000 0.000009 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000036 0.000000
-vn 1.000000 -0.000027 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000003 0.000000
-vn 1.000000 -0.000009 0.000000
-vn 1.000000 -0.000020 0.000000
-vn 1.000000 -0.000023 0.000000
-vn 1.000000 -0.000008 0.000000
-vn 1.000000 -0.000036 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 -0.000003 0.000000
-vn 1.000000 -0.000006 0.000000
-vn 1.000000 -0.000013 0.000000
-vn 1.000000 -0.000004 0.000000
-vn 0.000118 0.041779 0.999127
-vn 0.004361 -0.241410 0.970413
-vn 0.008088 0.177899 0.984015
-vn 0.014506 0.911985 0.409966
-vn -0.260943 0.261958 0.929132
-vn -0.259232 -0.528097 0.808649
-vn -0.093425 -0.706458 0.701562
-vn -0.095869 0.521504 0.847846
-vn 0.066062 -0.997725 -0.013449
-vn 0.210143 0.953980 0.213921
-vn 0.310136 0.801340 0.511537
-vn 0.135811 0.548046 0.825349
-vn -0.025188 0.448375 0.893490
-vn -0.008098 0.250078 0.968192
-vn 0.443801 0.510231 0.736685
-vn 0.384395 0.460904 0.799880
-vn 0.197793 0.214288 0.956535
-vn 0.036677 0.248498 0.967938
-vn 0.043458 0.440540 0.896680
-vn -0.018855 0.447342 0.894164
-vn -0.004652 0.310945 0.950416
-vn -0.007024 0.260000 0.965583
-vn 0.000000 0.041117 0.999154
-vn 0.003777 -0.229714 0.973251
-vn -0.007993 0.188495 0.982042
-vn -0.027910 0.912583 0.407938
-vn -0.037452 -0.998552 0.038624
-vn 0.576789 0.789410 0.210110
-vn 0.541156 0.732739 0.412607
-vn 0.581176 0.677308 0.451097
-vn -0.232898 0.803810 0.547401
-vn -0.098458 0.840329 0.533060
-vn -0.061775 0.969422 0.237498
-vn -0.088761 0.970649 0.223523
-vn -0.115128 0.815953 0.566539
-vn -0.057223 0.467260 0.882266
-vn -0.069032 0.486006 0.871225
-vn -0.118863 0.422606 0.898485
-vn -0.059832 0.238478 0.969303
-vn -0.123125 0.363192 0.923543
-vn -0.014593 0.201752 0.979328
-vn -0.000503 0.244794 0.969575
-vn 0.006671 0.275006 0.961419
-vn -0.000354 0.275012 0.961441
-vn -0.114732 0.318831 0.940842
-vn 0.000000 0.041117 0.999154
-vn 0.075248 -0.150999 0.985666
-vn -0.058861 0.090750 0.994133
-vn -0.223013 0.483736 0.846324
-vn 0.029338 -0.836754 0.546792
-vn 0.056490 0.967265 0.247401
-vn 0.032994 0.482791 0.875114
-vn 0.049705 0.851930 0.521291
-vn 0.035850 0.860189 0.508714
-vn 0.009100 0.407303 0.913248
-vn -0.196272 0.304785 0.931978
-vn 0.065978 0.189378 0.979685
-vn 0.000427 0.177360 0.984146
-vn -0.013201 0.132175 0.991138
-vn 0.003916 0.157116 0.987572
-vn 0.009044 0.233697 0.972268
-vn -0.000728 0.285135 0.958487
-vn 0.383184 0.789275 0.479807
-vn 0.304132 0.472188 0.827371
-vn 0.166458 0.834949 0.524549
-vn 0.128468 0.480293 0.867649
-vn 0.430408 0.871019 0.236801
-vn 0.190432 0.945960 0.262480
-vn -0.000105 0.181530 0.983385
-vn -0.025353 0.194003 0.980673
-vn -0.106372 -0.161111 0.981187
-vn -0.111393 -0.445081 0.888535
-vn 0.032285 -0.055227 0.997952
-vn -0.003805 0.977194 0.212315
-vn -0.011263 0.810119 0.586157
-vn -0.014934 0.612838 0.790067
-vn -0.015544 0.475502 0.879577
-vn -0.016986 0.379868 0.924885
-vn -0.019762 0.257273 0.966137
-vn -0.021477 0.040608 0.998944
-vn 0.050288 -0.085461 0.995072
-vn -0.077229 -0.077284 0.994013
-vn -0.127649 -0.242163 0.961802
-vn -0.206479 -0.521637 0.827805
-vn -0.271257 -0.765705 0.583195
-vn -0.143590 -0.795741 0.588369
-vn -0.310725 -0.927582 0.207465
-vn -0.141811 -0.967321 0.210191
-vn -0.046535 0.974924 0.217619
-vn -0.056074 0.801126 0.595864
-vn -0.060043 0.600440 0.797413
-vn -0.060965 0.463805 0.883837
-vn -0.062809 0.369571 0.927077
-vn -0.067524 0.249810 0.965938
-vn -0.073146 0.039379 0.996544
-vn 0.646387 -0.662210 0.379027
-vn 0.698871 -0.703626 0.128414
-vn 0.643198 0.013530 0.765581
-vn 0.545333 -0.308626 0.779334
-vn -0.069726 0.997341 0.021186
-vn -0.034886 0.999214 0.018813
-vn 0.032197 0.999302 0.018955
-vn 0.411150 0.906523 0.095771
-vn 0.976876 0.025959 0.212226
-vn 0.527427 -0.844375 0.094086
-vn 0.135008 -0.990750 0.013653
-vn -0.051866 -0.998619 0.008406
-vn -0.103589 -0.994531 0.013352
-vn 0.046793 0.976775 0.209096
-vn 0.457431 0.798407 0.391541
-vn 0.847454 -0.018415 0.530549
-vn 0.630058 -0.666312 0.398818
-vn 0.231408 -0.953936 0.190937
-vn -0.043369 -0.998008 0.045816
-vn -0.207819 -0.893378 0.398356
-vn -0.229995 0.765419 0.601029
-vn -0.045652 0.977629 0.205324
-vn 0.248124 0.539662 0.804487
-vn 0.516213 0.366866 0.773908
-vn 0.604853 -0.053684 0.794526
-vn 0.612852 -0.315056 0.724674
-vn 0.375444 -0.548659 0.747005
-vn 0.199035 -0.800251 0.565670
-vn 0.042273 -0.328413 0.943588
-vn 0.025681 0.159732 0.986826
-vn 0.278571 -0.940195 0.196039
-vn -0.084206 0.363731 0.927690
-vn -0.087661 0.245638 0.965390
-vn -0.098013 0.038713 0.994432
-vn -0.109844 -0.081303 0.990618
-vn -0.186310 -0.240439 0.952616
-vn -0.304684 -0.500675 0.810242
-vn -0.401035 -0.723077 0.562432
-vn -0.458050 -0.866633 0.197831
-vn -0.083433 0.972138 0.219061
-vn -0.085615 0.798350 0.596077
-vn -0.084581 0.601225 0.794591
-vn -0.084315 0.462244 0.882735
-vn -0.076338 0.809012 0.582814
-vn -0.069369 0.616683 0.784149
-vn -0.065168 0.477120 0.876419
-vn -0.061681 0.376950 0.924177
-vn -0.062003 0.255222 0.964892
-vn -0.073929 0.040324 0.996448
-vn -0.097517 -0.098392 0.990358
-vn -0.202468 -0.260945 0.943883
-vn -0.355274 -0.504010 0.787245
-vn -0.475706 -0.702539 0.529285
-vn -0.544375 -0.819047 0.181157
-vn -0.080490 0.973956 0.211972
-vn -0.010045 0.957199 0.289256
-vn -0.037078 0.765770 0.642045
-vn -0.049204 0.630291 0.774798
-vn -0.051020 0.489962 0.870250
-vn -0.052345 0.388216 0.920081
-vn -0.056114 0.263335 0.963071
-vn -0.064667 0.041643 0.997038
-vn -0.077768 -0.131092 0.988315
-vn -0.127193 -0.302169 0.944731
-vn -0.199676 -0.542251 0.816146
-vn -0.258426 -0.782296 0.566771
-vn -0.290983 -0.935773 0.199146
-vn -0.081828 -0.522507 0.848699
-vn -0.087270 -0.774273 0.626805
-vn -0.090272 -0.966499 0.240272
-vn 0.035578 0.626193 0.778856
-vn -0.023493 0.613633 0.789242
-vn -0.042544 0.598927 0.799673
-vn -0.049535 0.459947 0.886564
-vn -0.054183 0.371894 0.926692
-vn -0.061990 0.293182 0.954045
-vn -0.069005 -0.000585 0.997616
-vn -0.068773 -0.159516 0.984797
-vn -0.074360 -0.316209 0.945771
-vn -0.156648 -0.039216 0.986876
-vn -0.131359 -0.173162 0.976094
-vn -0.134864 -0.288527 0.947926
-vn -0.155348 -0.454765 0.876958
-vn -0.186067 -0.682064 0.707225
-vn -0.221422 -0.924455 0.310412
-vn -0.016518 0.019447 0.999674
-vn -0.047409 0.316835 0.947295
-vn -0.082045 0.496204 0.864321
-vn -0.089743 0.368982 0.925094
-vn -0.097611 0.337583 0.936221
-vn -0.138302 0.279380 0.950168
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 1.000000 0.000000 0.000000
-vn 0.022725 0.984893 0.171666
-vn 0.715093 0.688205 0.122535
-vn 0.700503 -0.703494 -0.119966
-vn -0.018573 -0.984982 -0.171657
-vn 0.442431 0.581662 -0.682586
-vn 0.828765 0.201586 -0.522027
-vn 0.595042 0.762626 -0.253627
-vn 0.073398 0.993862 -0.082776
-vn 0.186778 0.813074 -0.551384
-vn 0.271517 0.532244 -0.801870
-vn 0.312600 0.295061 -0.902896
-vn 0.406128 0.246469 -0.879950
-vn 0.384743 0.412823 -0.825560
-vn 0.374997 -0.108303 -0.920678
-vn 0.402864 0.068195 -0.912716
-vn 0.307486 0.029894 -0.951083
-vn 0.256398 -0.229557 -0.938916
-vn 0.158240 -0.581157 -0.798258
-vn 0.033661 -0.908984 -0.415470
-vn 0.576129 -0.641576 -0.506414
-vn 0.827259 -0.011722 -0.561698
-vn 0.427580 -0.317928 -0.846225
-vn 0.000045 0.985135 0.171780
-vn 0.000045 0.985135 0.171780
-vn -0.005544 -0.985119 -0.171785
-vn -0.005544 -0.985119 -0.171785
-vn 0.377820 0.593820 -0.710373
-vn 0.577384 0.292620 -0.762235
-vn 0.268424 0.910044 -0.315860
-vn 0.036618 0.995773 -0.084236
-vn 0.122776 0.819215 -0.560190
-vn 0.190407 0.540732 -0.819362
-vn 0.224767 0.301336 -0.926648
-vn 0.325503 0.252839 -0.911109
-vn 0.307451 0.421201 -0.853267
-vn 0.306652 -0.106375 -0.945859
-vn 0.325248 0.070885 -0.942968
-vn 0.224404 0.031012 -0.974003
-vn 0.189302 -0.229516 -0.954718
-vn 0.119973 -0.580100 -0.805662
-vn 0.031666 -0.908463 -0.416765
-vn 0.264101 -0.749828 -0.606637
-vn 0.576238 -0.017632 -0.817092
-vn 0.375761 -0.317792 -0.870524
-vn 0.008960 0.985157 0.171423
-vn 0.008960 0.985157 0.171423
-vn 0.000935 -0.985198 -0.171416
-vn 0.000935 -0.985198 -0.171416
-vn 0.373069 0.592621 -0.713876
-vn 0.569460 0.296695 -0.766608
-vn 0.270451 0.908442 -0.318732
-vn 0.043793 0.995221 -0.087272
-vn 0.123610 0.815411 -0.565531
-vn 0.184339 0.537627 -0.822786
-vn 0.214410 0.302118 -0.928845
-vn 0.315467 0.254667 -0.914126
-vn 0.299932 0.420076 -0.856491
-vn 0.297474 -0.103792 -0.949071
-vn 0.314621 0.073484 -0.946369
-vn 0.213042 0.032909 -0.976489
-vn 0.180362 -0.227654 -0.956892
-vn 0.117003 -0.577311 -0.808098
-vn 0.035696 -0.907578 -0.418365
-vn 0.265422 -0.747956 -0.608369
-vn 0.570069 -0.015393 -0.821453
-vn 0.370563 -0.315056 -0.873741
-vn 0.016785 0.985270 0.170180
-vn 0.016785 0.985270 0.170180
-vn -0.011599 -0.985345 -0.170180
-vn -0.011599 -0.985345 -0.170180
-vn 0.263594 -0.100529 -0.959381
-vn 0.279464 0.073947 -0.957304
-vn 0.176949 0.033429 -0.983652
-vn 0.147213 -0.223117 -0.963612
-vn 0.158458 0.532069 -0.831741
-vn 0.180876 0.299274 -0.936867
-vn 0.282002 0.252841 -0.925498
-vn 0.270953 0.416038 -0.868042
-vn 0.349082 0.591007 -0.727223
-vn 0.539755 0.302162 -0.785725
-vn 0.260661 0.907674 -0.328912
-vn 0.046183 0.994578 -0.093173
-vn 0.110928 0.810103 -0.575698
-vn 0.090567 -0.571837 -0.815352
-vn 0.018597 -0.906518 -0.421758
-vn 0.239519 -0.748313 -0.618594
-vn 0.537460 -0.019386 -0.843066
-vn 0.338057 -0.313692 -0.887308
-vn 0.011307 0.985318 0.170356
-vn 0.011307 0.985318 0.170356
-vn -0.014082 -0.985281 -0.170364
-vn -0.014082 -0.985281 -0.170364
-vn 0.198078 0.531781 -0.823392
-vn 0.229448 0.296405 -0.927091
-vn 0.327668 0.248963 -0.911400
-vn 0.311452 0.414058 -0.855309
-vn 0.305501 -0.103344 -0.946567
-vn 0.325647 0.070835 -0.942834
-vn 0.226346 0.031618 -0.973534
-vn 0.189093 -0.224545 -0.955941
-vn 0.380063 0.587823 -0.714154
-vn 0.573061 0.292839 -0.765406
-vn 0.274385 0.906358 -0.321290
-vn 0.048915 0.994705 -0.090387
-vn 0.133893 0.811542 -0.568746
-vn 0.116769 -0.574284 -0.810286
-vn 0.024644 -0.907276 -0.419813
-vn 0.255015 -0.749365 -0.611081
-vn 0.570098 -0.020160 -0.821329
-vn 0.370111 -0.315507 -0.873770
-vn 0.000000 0.989089 0.147320
-vn 0.000000 0.867991 0.496580
-vn 0.000000 0.649261 0.760565
-vn 0.000000 1.000000 0.000000
-vn 0.000000 -0.435535 0.900172
-vn 0.000000 -0.240696 0.970601
-vn 0.000000 0.253023 0.967460
-vn 0.000000 0.649261 0.760565
-vn 0.000000 0.253023 0.967460
-vn 0.000000 -0.240696 0.970601
-vn 0.000000 -0.435535 0.900172
-vn 0.000000 1.000000 0.000000
-vn 0.000000 0.989089 0.147320
-vn 0.000000 0.867991 0.496580
-vn 0.000000 -0.435535 -0.900172
-vn 0.000000 -0.240696 -0.970601
-vn 0.000000 0.253023 -0.967460
-vn 0.000000 0.649261 -0.760565
-vn 0.000000 0.867991 -0.496580
-vn 0.000000 0.989089 -0.147320
-vn 0.000000 0.989089 -0.147320
-vn 0.000000 0.867991 -0.496580
-vn 0.000000 0.649261 -0.760565
-vn 0.000000 0.253023 -0.967460
-vn 0.000000 -0.435535 -0.900172
-vn 0.000000 -0.240696 -0.970601
-vn 0.000000 -0.996917 0.078467
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -0.996917 0.078467
-vn 0.000000 -1.000000 0.000000
-vn 0.000000 -0.996917 -0.078467
-vn 0.000000 -0.996917 -0.078467
-vn 0.715131 0.688397 0.121236
-vn 0.700465 -0.703326 -0.121167
-vn 0.011480 0.985103 0.171583
-vn -0.012163 -0.985095 -0.171583
-vn 0.005298 0.985155 0.171583
-vn -0.002312 -0.985168 -0.171577
-vn 0.012748 0.985087 0.171583
-vn -0.004690 -0.985159 -0.171580
-vn 0.013175 0.985082 0.171580
-vn -0.012238 -0.985094 -0.171583
-vn -0.703094 0.700778 0.120703
-vn -0.712068 -0.691469 -0.121780
-vn 0.206549 0.360936 -0.909430
-vn 0.620159 0.681677 -0.388226
-vn 0.011378 0.975827 -0.218247
-vn 0.004881 0.415620 -0.909525
-vn 0.005059 0.975327 -0.220709
-vn 0.001946 0.414682 -0.909965
-vn 0.012601 0.974265 -0.225051
-vn 0.005085 0.410836 -0.911695
-vn 0.013212 0.974751 -0.222903
-vn 0.005680 0.411152 -0.911549
-vn -0.194631 0.359866 -0.912477
-vn -0.604869 0.690602 -0.396488
-vn -0.199265 -0.031938 -0.979425
-vn -0.614347 -0.511882 -0.600463
-vn -0.010591 -0.845778 -0.533430
-vn -0.001003 -0.085844 -0.996308
-vn -0.004126 -0.845554 -0.533874
-vn -0.000144 -0.084531 -0.996421
-vn -0.001988 -0.844281 -0.535897
-vn -0.000113 -0.081623 -0.996663
-vn -0.010430 -0.844321 -0.535737
-vn -0.001048 -0.082229 -0.996613
-vn 0.198338 -0.030174 -0.979669
-vn 0.604471 -0.517660 -0.605511
-vn 0.003711 0.314682 -0.949190
-vn 0.000216 0.021923 -0.999760
-vn 0.003838 0.172336 -0.985031
-vn 0.003839 0.172840 -0.984942
-vn 0.003440 0.172849 -0.984942
-vn 0.003438 0.172345 -0.985031
-vn 0.000274 0.173246 -0.984879
-vn 0.000273 0.172451 -0.985018
-vn 0.000736 0.172449 -0.985018
-vn 0.000738 0.173244 -0.984879
-vn 0.001126 0.171499 -0.985184
-vn 0.001135 0.172987 -0.984923
-vn 0.000307 0.172983 -0.984925
-vn 0.000298 0.171496 -0.985185
-vn 0.002659 0.169704 -0.985491
-vn 0.002665 0.170604 -0.985336
-vn 0.002240 0.170612 -0.985336
-vn 0.002235 0.169712 -0.985491
-vn 0.002312 0.169531 -0.985522
-vn 0.002312 0.169945 -0.985451
-vn 0.002063 0.169948 -0.985451
-vn 0.002062 0.169533 -0.985522
-vn 0.002073 0.170681 -0.985324
-vn 0.002073 0.170262 -0.985397
-vn 0.002324 0.170258 -0.985397
-vn 0.002323 0.170677 -0.985324
-vn -0.014108 -0.985357 -0.169922
-vn -0.014108 -0.985357 -0.169922
-vn 0.011333 0.985393 0.169920
-vn 0.011333 0.985393 0.169920
-vn 0.378848 0.586557 -0.715839
-vn 0.570944 0.292955 -0.766942
-vn 0.273360 0.905956 -0.323293
-vn 0.049134 0.994534 -0.092129
-vn 0.134209 0.809746 -0.571226
-vn 0.198240 0.529544 -0.824793
-vn 0.229467 0.295026 -0.927526
-vn 0.327183 0.247842 -0.911880
-vn 0.311016 0.412253 -0.856339
-vn 0.305018 -0.102621 -0.946801
-vn 0.325144 0.070697 -0.943018
-vn 0.226340 0.031675 -0.973533
-vn 0.189188 -0.223278 -0.956219
-vn 0.116991 -0.572707 -0.811369
-vn 0.024774 -0.906943 -0.420524
-vn 0.253881 -0.748981 -0.612023
-vn 0.567951 -0.020955 -0.822796
-vn 0.368814 -0.314888 -0.874541
-vn -0.999996 0.000537 -0.002923
-vn -0.999996 0.000503 -0.002922
-vn -0.999996 0.000510 -0.002920
-vn -0.999996 0.000503 -0.002922
-vn -0.999996 0.000537 -0.002923
-vn -0.999996 0.000527 -0.002921
-vn -0.999996 0.000519 -0.002945
-vn -0.999996 0.000519 -0.002945
-vn -0.999996 0.000537 -0.002923
-vn -0.999996 0.000527 -0.002921
-vn -0.999996 0.000517 -0.002918
-vn -0.999996 0.000517 -0.002918
-vn -0.999996 0.000519 -0.002945
-vn -0.999995 0.000521 -0.002972
-vn -0.999995 0.000521 -0.002972
-vn -0.999996 0.000519 -0.002945
-vn -0.999996 0.000518 -0.002918
-vn -0.999996 0.000518 -0.002918
-vn -0.999996 0.000510 -0.002920
-vn -0.999996 0.000503 -0.002922
-vn -0.999999 0.000263 -0.001577
-vn -0.999999 0.000266 -0.001576
-vn -0.999999 0.000290 -0.001571
-vn -0.999999 0.000266 -0.001576
-vn -0.999999 0.000263 -0.001577
-vn -0.999999 0.000251 -0.001575
-vn -0.999999 0.000263 -0.001562
-vn -0.999999 0.000298 -0.001560
-vn -0.999999 0.000251 -0.001588
-vn -0.999999 0.000251 -0.001575
-vn -0.999999 0.000251 -0.001563
-vn -0.999999 0.000251 -0.001563
-vn -0.999999 0.000263 -0.001562
-vn -0.999999 0.000275 -0.001562
-vn -0.999999 0.000275 -0.001562
-vn -0.999999 0.000298 -0.001560
-vn -0.999999 0.000322 -0.001557
-vn -0.999999 0.000322 -0.001557
-vn -0.999999 0.000290 -0.001571
-vn -0.999999 0.000258 -0.001586
-vn -0.999999 0.000267 -0.001698
-vn -0.999999 0.000318 -0.001693
-vn -0.999999 0.000324 -0.001651
-vn -0.999999 0.000318 -0.001693
-vn -0.999999 0.000267 -0.001698
-vn -0.999999 0.000243 -0.001661
-vn -0.999999 0.000261 -0.001635
-vn -0.999999 0.000291 -0.001631
-vn -0.999999 0.000238 -0.001674
-vn -0.999999 0.000243 -0.001661
-vn -0.999999 0.000249 -0.001648
-vn -0.999999 0.000249 -0.001648
-vn -0.999999 0.000261 -0.001635
-vn -0.999999 0.000274 -0.001622
-vn -0.999999 0.000274 -0.001622
-vn -0.999999 0.000291 -0.001631
-vn -0.999999 0.000308 -0.001639
-vn -0.999999 0.000308 -0.001639
-vn -0.999999 0.000324 -0.001651
-vn -0.999999 0.000340 -0.001664
-vn -0.999997 0.000426 -0.002415
-vn -0.999997 0.000399 -0.002412
-vn -0.999997 0.000405 -0.002410
-vn -0.999997 0.000399 -0.002412
-vn -0.999997 0.000426 -0.002415
-vn -0.999997 0.000425 -0.002407
-vn -0.999997 0.000423 -0.002415
-vn -0.999997 0.000430 -0.002421
-vn -0.999997 0.000430 -0.002432
-vn -0.999997 0.000430 -0.002421
-vn -0.999997 0.000430 -0.002409
-vn -0.999997 0.000416 -0.002398
-vn -0.999997 0.000423 -0.002415
-vn -0.999997 0.000430 -0.002432
-vn -0.999997 0.000435 -0.002417
-vn -0.999997 0.000425 -0.002407
-vn -0.999997 0.000416 -0.002398
-vn -0.999997 0.000430 -0.002409
-vn -0.999997 0.000405 -0.002410
-vn -0.999997 0.000381 -0.002411
-vn -0.999997 0.000382 -0.002297
-vn -0.999997 0.000410 -0.002293
-vn -0.999997 0.000378 -0.002306
-vn -0.999997 0.000382 -0.002297
-vn -0.999997 0.000410 -0.002293
-vn -0.999997 0.000398 -0.002302
-vn -0.999997 0.000387 -0.002292
-vn -0.999997 0.000395 -0.002292
-vn -0.999997 0.000421 -0.002300
-vn -0.999997 0.000398 -0.002302
-vn -0.999997 0.000374 -0.002304
-vn -0.999997 0.000374 -0.002304
-vn -0.999997 0.000387 -0.002292
-vn -0.999997 0.000400 -0.002280
-vn -0.999997 0.000400 -0.002280
-vn -0.999997 0.000395 -0.002292
-vn -0.999997 0.000389 -0.002303
-vn -0.999997 0.000389 -0.002303
-vn -0.999997 0.000378 -0.002306
-vn -0.999997 0.000367 -0.002308
-vn -0.999997 0.000397 -0.002306
-vn -0.999997 0.000397 -0.002304
-vn -0.999997 0.000400 -0.002299
-vn -0.999997 0.000397 -0.002304
-vn -0.999997 0.000397 -0.002306
-vn -0.999997 0.000393 -0.002301
-vn -0.999997 0.000394 -0.002295
-vn -0.999997 0.000400 -0.002295
-vn -0.999997 0.000393 -0.002292
-vn -0.999997 0.000394 -0.002295
-vn -0.999997 0.000395 -0.002297
-vn -0.999997 0.000395 -0.002297
-vn -0.999997 0.000400 -0.002295
-vn -0.999997 0.000406 -0.002292
-vn -0.999997 0.000394 -0.002310
-vn -0.999997 0.000393 -0.002301
-vn -0.999997 0.000393 -0.002292
-vn -0.999997 0.000406 -0.002292
-vn -0.999997 0.000400 -0.002299
-vn -0.999997 0.000394 -0.002305
-vn -0.320848 0.452536 0.832026
-vn -0.248976 -0.723191 0.644210
-vn -0.318726 -0.466155 0.825296
-vn -0.355692 0.153461 0.921918
-vn -0.248976 -0.723191 0.644210
-vn -0.318726 -0.466155 0.825296
-vn -0.355692 0.153461 0.921918
-vn -0.320848 0.452536 0.832026
-vn -0.319376 0.455816 0.830801
-vn -0.246432 -0.727554 0.640263
-vn -0.316994 -0.469739 0.823930
-vn -0.354603 0.154404 0.922180
-vn -0.246432 -0.727554 0.640263
-vn -0.316994 -0.469739 0.823930
-vn -0.354603 0.154404 0.922180
-vn -0.319376 0.455816 0.830801
-vn -0.320639 0.449217 0.833903
-vn -0.249649 -0.719205 0.648397
-vn -0.318344 -0.463006 0.827213
-vn -0.354789 0.152294 0.922459
-vn -0.249649 -0.719205 0.648397
-vn -0.318344 -0.463006 0.827213
-vn -0.354789 0.152294 0.922459
-vn -0.320639 0.449217 0.833903
-vn -0.322035 0.444116 0.836095
-vn -0.252301 -0.713292 0.653880
-vn -0.319726 -0.458638 0.829112
-vn -0.355476 0.150154 0.922545
-vn -0.252301 -0.713292 0.653880
-vn -0.319726 -0.458638 0.829112
-vn -0.355476 0.150154 0.922545
-vn -0.322035 0.444116 0.836095
-vn -0.321724 0.445479 0.835489
-vn -0.251485 -0.715305 0.651992
-vn -0.319321 -0.460392 0.828296
-vn -0.355391 0.150376 0.922542
-vn -0.251485 -0.715305 0.651992
-vn -0.319321 -0.460392 0.828296
-vn -0.355391 0.150376 0.922542
-vn -0.321724 0.445479 0.835489
-vn -0.321362 0.447485 0.834556
-vn -0.250590 -0.717758 0.649637
-vn -0.318969 -0.462268 0.827386
-vn -0.355342 0.151132 0.922438
-vn -0.250590 -0.717758 0.649637
-vn -0.318969 -0.462268 0.827386
-vn -0.355342 0.151132 0.922438
-vn -0.321362 0.447485 0.834556
-vn -0.970111 -0.069859 -0.232388
-vn -0.970111 -0.069859 -0.232388
-vn -0.970111 -0.069859 -0.232388
-vn -0.971427 -0.076347 -0.224723
-vn -0.971427 -0.076347 -0.224723
-vn -0.972644 -0.082827 -0.217034
-vn -0.972644 -0.082827 -0.217034
-vn 0.134640 0.975921 0.171614
-vn 0.136667 0.990617 0.000000
-vn -0.002541 0.998628 0.052302
-vn -0.002544 0.999997 0.000000
-vn -0.139967 0.990156 0.000000
-vn -0.139636 0.987812 -0.068765
-vn 0.134640 0.975921 -0.171614
-vn -0.139636 0.987812 0.068765
-vn -0.002541 0.998628 -0.052302
-vn 0.981127 0.034773 -0.190211
-vn 0.981127 0.034773 -0.190211
-vn -0.312100 0.225050 -0.923009
-vn -0.595290 0.201461 -0.777845
-vn 0.306742 0.205567 -0.929328
-vn 0.840628 0.107966 -0.530743
-vn -0.312100 0.225050 -0.923009
-vn -0.595290 0.201461 -0.777845
-vn 0.306742 0.205567 -0.929328
-vn 0.840628 0.107966 -0.530743
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn 0.000000 1.000000 0.000000
-vn -0.004017 0.999087 -0.042538
-vn -0.004017 0.999087 -0.042538
-vn -0.000997 0.936958 -0.349442
-vn -0.002538 0.980110 -0.198437
-vn -0.000997 0.936958 -0.349442
-vn -0.002538 0.980110 -0.198437
-vn -0.013807 -0.998955 0.043566
-vn -0.013807 -0.998955 0.043566
-vn -0.019315 -0.946567 -0.321928
-vn -0.016851 -0.989778 -0.141615
-vn -0.019315 -0.946567 -0.321928
-vn -0.016851 -0.989778 -0.141615
-vn 0.402864 0.068194 0.912716
-vn 0.406128 0.246469 0.879950
-vn 0.312600 0.295061 0.902896
-vn 0.307486 0.029892 0.951083
-vn 0.022725 0.984893 -0.171666
-vn 0.715093 0.688205 -0.122535
-vn 0.700503 -0.703494 0.119966
-vn -0.018573 -0.984982 0.171657
-vn 0.595042 0.762626 0.253627
-vn 0.828765 0.201587 0.522027
-vn 0.827259 -0.011721 0.561698
-vn 0.576129 -0.641576 0.506414
-vn 0.033661 -0.908984 0.415470
-vn 0.073398 0.993862 0.082776
-vn 0.271517 0.532244 0.801870
-vn 0.384743 0.412823 0.825560
-vn 0.442431 0.581663 0.682586
-vn 0.186778 0.813074 0.551384
-vn 0.374997 -0.108304 0.920678
-vn 0.256398 -0.229559 0.938916
-vn 0.158240 -0.581157 0.798258
-vn 0.427580 -0.317928 0.846225
-vn 0.325247 0.070884 0.942969
-vn 0.325503 0.252839 0.911109
-vn 0.224766 0.301336 0.926648
-vn 0.224404 0.031012 0.974003
-vn 0.000045 0.985135 -0.171780
-vn 0.000045 0.985135 -0.171780
-vn -0.005544 -0.985119 0.171785
-vn -0.005544 -0.985119 0.171785
-vn 0.268424 0.910044 0.315860
-vn 0.577384 0.292619 0.762235
-vn 0.576238 -0.017633 0.817092
-vn 0.264101 -0.749828 0.606637
-vn 0.031666 -0.908463 0.416765
-vn 0.036618 0.995773 0.084236
-vn 0.190407 0.540732 0.819362
-vn 0.307451 0.421200 0.853267
-vn 0.377820 0.593820 0.710374
-vn 0.122776 0.819215 0.560190
-vn 0.306651 -0.106375 0.945859
-vn 0.189302 -0.229514 0.954719
-vn 0.119974 -0.580098 0.805663
-vn 0.375760 -0.317791 0.870525
-vn 0.314621 0.073484 0.946369
-vn 0.315467 0.254668 0.914125
-vn 0.214410 0.302118 0.928845
-vn 0.213042 0.032909 0.976489
-vn 0.008960 0.985157 -0.171423
-vn 0.008960 0.985157 -0.171423
-vn 0.000935 -0.985198 0.171416
-vn 0.000935 -0.985198 0.171416
-vn 0.270451 0.908442 0.318732
-vn 0.569460 0.296695 0.766607
-vn 0.570069 -0.015392 0.821452
-vn 0.265422 -0.747956 0.608370
-vn 0.035696 -0.907577 0.418365
-vn 0.043793 0.995221 0.087273
-vn 0.184339 0.537627 0.822786
-vn 0.299932 0.420077 0.856491
-vn 0.373069 0.592621 0.713876
-vn 0.123610 0.815411 0.565531
-vn 0.297475 -0.103792 0.949071
-vn 0.180362 -0.227654 0.956892
-vn 0.117003 -0.577311 0.808098
-vn 0.370563 -0.315056 0.873741
-vn 0.279465 0.073947 0.957304
-vn 0.282002 0.252840 0.925498
-vn 0.180876 0.299273 0.936867
-vn 0.176949 0.033429 0.983652
-vn 0.016785 0.985270 -0.170180
-vn 0.016785 0.985270 -0.170180
-vn -0.011599 -0.985345 0.170180
-vn -0.011599 -0.985345 0.170180
-vn 0.260660 0.907674 0.328912
-vn 0.539755 0.302161 0.785724
-vn 0.537461 -0.019386 0.843066
-vn 0.239519 -0.748313 0.618594
-vn 0.018597 -0.906518 0.421758
-vn 0.046183 0.994578 0.093173
-vn 0.158458 0.532068 0.831742
-vn 0.270953 0.416038 0.868042
-vn 0.349082 0.591007 0.727223
-vn 0.110928 0.810103 0.575698
-vn 0.263594 -0.100530 0.959381
-vn 0.147213 -0.223117 0.963612
-vn 0.090567 -0.571837 0.815352
-vn 0.338058 -0.313692 0.887307
-vn 0.325647 0.070835 0.942834
-vn 0.327669 0.248962 0.911401
-vn 0.229448 0.296405 0.927091
-vn 0.226346 0.031619 0.973534
-vn 0.011307 0.985318 -0.170356
-vn 0.011307 0.985318 -0.170356
-vn -0.014082 -0.985281 0.170364
-vn -0.014082 -0.985281 0.170364
-vn 0.274385 0.906358 0.321290
-vn 0.573061 0.292838 0.765406
-vn 0.570098 -0.020161 0.821329
-vn 0.255015 -0.749365 0.611080
-vn 0.024644 -0.907276 0.419813
-vn 0.048915 0.994705 0.090387
-vn 0.198078 0.531780 0.823392
-vn 0.311452 0.414057 0.855310
-vn 0.380064 0.587822 0.714155
-vn 0.133893 0.811541 0.568747
-vn 0.305501 -0.103345 0.946567
-vn 0.189093 -0.224545 0.955941
-vn 0.116769 -0.574285 0.810285
-vn 0.370111 -0.315508 0.873769
-vn 0.715131 0.688397 -0.121236
-vn 0.700465 -0.703326 0.121167
-vn 0.011480 0.985103 -0.171583
-vn -0.012163 -0.985095 0.171583
-vn -0.002312 -0.985168 0.171577
-vn 0.005298 0.985155 -0.171583
-vn 0.012748 0.985087 -0.171582
-vn -0.004690 -0.985159 0.171580
-vn 0.013175 0.985082 -0.171579
-vn -0.012238 -0.985094 0.171583
-vn -0.703094 0.700778 -0.120703
-vn -0.712068 -0.691469 0.121780
-vn 0.011378 0.975827 0.218247
-vn 0.620159 0.681677 0.388226
-vn 0.604471 -0.517660 0.605511
-vn -0.010430 -0.844321 0.535737
-vn -0.001988 -0.844281 0.535897
-vn -0.004126 -0.845554 0.533874
-vn -0.010591 -0.845778 0.533430
-vn -0.614347 -0.511882 0.600463
-vn -0.604869 0.690602 0.396488
-vn 0.013212 0.974751 0.222904
-vn 0.012601 0.974265 0.225051
-vn 0.005059 0.975327 0.220709
-vn 0.004881 0.415620 0.909525
-vn 0.206549 0.360936 0.909430
-vn 0.001946 0.414682 0.909965
-vn 0.005085 0.410836 0.911695
-vn 0.005680 0.411152 0.911549
-vn -0.194631 0.359866 0.912478
-vn 0.003711 0.314682 0.949190
-vn -0.001003 -0.085844 0.996308
-vn 0.000217 0.021923 0.999760
-vn -0.199265 -0.031938 0.979425
-vn -0.000144 -0.084531 0.996421
-vn -0.000113 -0.081623 0.996663
-vn -0.001048 -0.082229 0.996613
-vn 0.198338 -0.030174 0.979669
-vn 0.003838 0.172336 0.985031
-vn 0.003839 0.172840 0.984942
-vn 0.003440 0.172849 0.984942
-vn 0.003439 0.172345 0.985031
-vn 0.000275 0.173246 0.984879
-vn 0.000273 0.172450 0.985018
-vn 0.000736 0.172449 0.985018
-vn 0.000738 0.173244 0.984879
-vn 0.001127 0.171499 0.985184
-vn 0.001135 0.172987 0.984924
-vn 0.000307 0.172983 0.984925
-vn 0.000299 0.171496 0.985185
-vn 0.002659 0.169704 0.985491
-vn 0.002665 0.170604 0.985336
-vn 0.002240 0.170612 0.985336
-vn 0.002235 0.169712 0.985491
-vn 0.002312 0.169531 0.985522
-vn 0.002313 0.169945 0.985451
-vn 0.002064 0.169948 0.985451
-vn 0.002062 0.169533 0.985522
-vn 0.002073 0.170681 0.985324
-vn 0.002073 0.170261 0.985397
-vn 0.002324 0.170257 0.985397
-vn 0.002323 0.170677 0.985324
-vn 0.229467 0.295025 0.927526
-vn 0.226340 0.031675 0.973533
-vn 0.325144 0.070696 0.943018
-vn 0.327183 0.247841 0.911880
-vn -0.014108 -0.985357 0.169922
-vn -0.014108 -0.985357 0.169922
-vn 0.011333 0.985393 -0.169919
-vn 0.011333 0.985393 -0.169919
-vn 0.049134 0.994534 0.092129
-vn 0.273360 0.905956 0.323293
-vn 0.570944 0.292954 0.766942
-vn 0.567951 -0.020956 0.822796
-vn 0.253881 -0.748980 0.612024
-vn 0.024774 -0.906943 0.420524
-vn 0.198240 0.529543 0.824794
-vn 0.311016 0.412252 0.856340
-vn 0.378848 0.586557 0.715839
-vn 0.134209 0.809746 0.571226
-vn 0.305018 -0.102622 0.946801
-vn 0.189188 -0.223278 0.956219
-vn 0.116991 -0.572706 0.811370
-vn 0.368814 -0.314888 0.874541
-vn -0.999995 0.000526 0.002972
-vn -0.999995 0.000526 0.002972
-vn -0.999996 0.000515 0.002902
-vn -0.999996 0.000512 0.002902
-vn -0.999996 0.000516 0.002922
-vn -0.999996 0.000523 0.002923
-vn -0.999996 0.000534 0.002918
-vn -0.999996 0.000534 0.002918
-vn -0.999996 0.000513 0.002918
-vn -0.999996 0.000513 0.002918
-vn -0.999996 0.000515 0.002920
-vn -0.999996 0.000515 0.002920
-vn -0.999996 0.000512 0.002902
-vn -0.999996 0.000515 0.002902
-vn -0.999996 0.000529 0.002921
-vn -0.999996 0.000529 0.002921
-vn -0.999996 0.000530 0.002945
-vn -0.999996 0.000530 0.002945
-vn -0.999996 0.000520 0.002945
-vn -0.999996 0.000520 0.002945
-vn -0.999999 0.000281 0.001562
-vn -0.999999 0.000281 0.001562
-vn -0.999999 0.000254 0.001577
-vn -0.999999 0.000265 0.001576
-vn -0.999999 0.000258 0.001586
-vn -0.999999 0.000238 0.001588
-vn -0.999999 0.000251 0.001563
-vn -0.999999 0.000251 0.001563
-vn -0.999999 0.000318 0.001557
-vn -0.999999 0.000318 0.001557
-vn -0.999999 0.000288 0.001571
-vn -0.999999 0.000288 0.001571
-vn -0.999999 0.000265 0.001576
-vn -0.999999 0.000254 0.001577
-vn -0.999999 0.000245 0.001575
-vn -0.999999 0.000245 0.001575
-vn -0.999999 0.000266 0.001562
-vn -0.999999 0.000266 0.001562
-vn -0.999999 0.000299 0.001560
-vn -0.999999 0.000299 0.001560
-vn -0.999999 0.000274 0.001622
-vn -0.999999 0.000274 0.001622
-vn -0.999999 0.000261 0.001698
-vn -0.999999 0.000312 0.001693
-vn -0.999999 0.000326 0.001664
-vn -0.999999 0.000224 0.001674
-vn -0.999999 0.000231 0.001648
-vn -0.999999 0.000231 0.001648
-vn -0.999999 0.000308 0.001639
-vn -0.999999 0.000308 0.001639
-vn -0.999999 0.000317 0.001651
-vn -0.999999 0.000317 0.001651
-vn -0.999999 0.000312 0.001693
-vn -0.999999 0.000261 0.001698
-vn -0.999999 0.000228 0.001661
-vn -0.999999 0.000228 0.001661
-vn -0.999999 0.000253 0.001635
-vn -0.999999 0.000253 0.001635
-vn -0.999999 0.000291 0.001631
-vn -0.999999 0.000291 0.001631
-vn -0.999997 0.000430 0.002432
-vn -0.999997 0.000430 0.002432
-vn -0.999997 0.000421 0.002415
-vn -0.999997 0.000397 0.002412
-vn -0.999997 0.000374 0.002411
-vn -0.999997 0.000421 0.002417
-vn -0.999997 0.000399 0.002398
-vn -0.999997 0.000399 0.002398
-vn -0.999997 0.000413 0.002409
-vn -0.999997 0.000413 0.002409
-vn -0.999997 0.000394 0.002410
-vn -0.999997 0.000394 0.002410
-vn -0.999997 0.000397 0.002412
-vn -0.999997 0.000421 0.002415
-vn -0.999997 0.000410 0.002407
-vn -0.999997 0.000410 0.002407
-vn -0.999997 0.000415 0.002415
-vn -0.999997 0.000415 0.002415
-vn -0.999997 0.000422 0.002421
-vn -0.999997 0.000422 0.002421
-vn -0.999997 0.000395 0.002280
-vn -0.999997 0.000395 0.002280
-vn -0.999997 0.000381 0.002297
-vn -0.999997 0.000408 0.002293
-vn -0.999997 0.000421 0.002300
-vn -0.999997 0.000367 0.002308
-vn -0.999997 0.000374 0.002304
-vn -0.999997 0.000374 0.002304
-vn -0.999997 0.000398 0.002303
-vn -0.999997 0.000398 0.002303
-vn -0.999997 0.000382 0.002306
-vn -0.999997 0.000382 0.002306
-vn -0.999997 0.000381 0.002297
-vn -0.999997 0.000408 0.002293
-vn -0.999997 0.000398 0.002302
-vn -0.999997 0.000398 0.002302
-vn -0.999997 0.000385 0.002292
-vn -0.999997 0.000385 0.002292
-vn -0.999997 0.000396 0.002292
-vn -0.999997 0.000396 0.002292
-vn -0.999997 0.000400 0.002297
-vn -0.999997 0.000400 0.002297
-vn -0.999997 0.000389 0.002306
-vn -0.999997 0.000392 0.002304
-vn -0.999997 0.000387 0.002305
-vn -0.999997 0.000381 0.002310
-vn -0.999997 0.000410 0.002292
-vn -0.999997 0.000410 0.002292
-vn -0.999997 0.000402 0.002292
-vn -0.999997 0.000402 0.002292
-vn -0.999997 0.000395 0.002299
-vn -0.999997 0.000395 0.002299
-vn -0.999997 0.000392 0.002304
-vn -0.999997 0.000389 0.002306
-vn -0.999997 0.000395 0.002301
-vn -0.999997 0.000395 0.002301
-vn -0.999997 0.000405 0.002295
-vn -0.999997 0.000405 0.002295
-vn -0.999997 0.000401 0.002295
-vn -0.999997 0.000401 0.002295
-vn -0.320849 0.452532 -0.832028
-vn -0.355692 0.153456 -0.921919
-vn -0.318725 -0.466157 -0.825295
-vn -0.248976 -0.723191 -0.644210
-vn -0.320849 0.452532 -0.832028
-vn -0.248976 -0.723191 -0.644210
-vn -0.318725 -0.466157 -0.825295
-vn -0.355692 0.153456 -0.921919
-vn -0.319376 0.455816 -0.830801
-vn -0.354603 0.154405 -0.922180
-vn -0.316994 -0.469738 -0.823930
-vn -0.246432 -0.727554 -0.640263
-vn -0.319376 0.455816 -0.830801
-vn -0.246432 -0.727554 -0.640263
-vn -0.316994 -0.469738 -0.823930
-vn -0.354603 0.154405 -0.922180
-vn -0.320639 0.449217 -0.833903
-vn -0.354789 0.152293 -0.922460
-vn -0.318344 -0.463010 -0.827211
-vn -0.249647 -0.719210 -0.648393
-vn -0.320639 0.449217 -0.833903
-vn -0.249647 -0.719210 -0.648393
-vn -0.318344 -0.463010 -0.827211
-vn -0.354789 0.152293 -0.922460
-vn -0.322034 0.444120 -0.836093
-vn -0.355476 0.150156 -0.922545
-vn -0.319726 -0.458635 -0.829113
-vn -0.252303 -0.713288 -0.653884
-vn -0.322034 0.444120 -0.836093
-vn -0.252303 -0.713288 -0.653884
-vn -0.319726 -0.458635 -0.829113
-vn -0.355476 0.150156 -0.922545
-vn -0.321724 0.445479 -0.835489
-vn -0.355391 0.150376 -0.922542
-vn -0.319321 -0.460392 -0.828296
-vn -0.251485 -0.715305 -0.651992
-vn -0.321724 0.445479 -0.835489
-vn -0.251485 -0.715305 -0.651992
-vn -0.319321 -0.460392 -0.828296
-vn -0.355391 0.150376 -0.922542
-vn -0.321362 0.447485 -0.834556
-vn -0.355342 0.151131 -0.922438
-vn -0.318969 -0.462269 -0.827385
-vn -0.250590 -0.717758 -0.649637
-vn -0.321362 0.447485 -0.834556
-vn -0.250590 -0.717758 -0.649637
-vn -0.318969 -0.462269 -0.827385
-vn -0.355342 0.151131 -0.922438
-vn -0.970111 -0.069859 0.232388
-vn -0.970111 -0.069859 0.232388
-vn -0.970111 -0.069859 0.232388
-vn -0.971427 -0.076347 0.224723
-vn -0.971427 -0.076347 0.224723
-vn -0.972644 -0.082827 0.217034
-vn -0.972644 -0.082827 0.217034
-vn 0.981127 0.034773 0.190211
-vn 0.981127 0.034773 0.190211
-vn 0.306742 0.205567 0.929328
-vn -0.312100 0.225050 0.923009
-vn -0.312100 0.225050 0.923009
-vn 0.306742 0.205567 0.929328
-vn -0.595290 0.201461 0.777845
-vn 0.840628 0.107966 0.530743
-vn 0.840628 0.107966 0.530743
-vn -0.595290 0.201461 0.777845
-vn -0.004017 0.999087 0.042538
-vn -0.004017 0.999087 0.042538
-vn -0.000997 0.936958 0.349442
-vn -0.000997 0.936958 0.349442
-vn -0.002538 0.980110 0.198437
-vn -0.002538 0.980110 0.198437
-vn -0.013807 -0.998955 -0.043566
-vn -0.013807 -0.998955 -0.043566
-vn -0.019315 -0.946567 0.321928
-vn -0.019315 -0.946567 0.321928
-vn -0.016851 -0.989778 0.141615
-vn -0.016851 -0.989778 0.141615
-vn 0.570725 -0.158007 0.805796
-vn 0.570725 -0.158007 0.805796
-vn 0.587402 -0.281827 0.758639
-vn 0.587402 -0.281827 0.758639
-vn 0.480805 -0.016031 0.876681
-vn 0.480805 -0.016031 0.876681
-vn 0.353177 0.012506 0.935473
-vn 0.353177 0.012506 0.935473
-vn 0.243935 0.033631 0.969208
-vn 0.243935 0.033631 0.969208
-vn 0.157199 0.051399 0.986229
-vn 0.157199 0.051399 0.986229
-vn 0.084379 0.075629 0.993559
-vn 0.084379 0.075629 0.993559
-vn 0.033769 0.063145 0.997433
-vn 0.033769 0.063145 0.997433
-vn 0.015354 0.036135 0.999229
-vn 0.015354 0.036135 0.999229
-vn -0.587515 -0.280783 -0.758938
-vn -0.587515 -0.280783 -0.758938
-vn -0.570788 -0.156897 -0.805968
-vn -0.570788 -0.156897 -0.805968
-vn -0.480813 -0.014845 -0.876698
-vn -0.480813 -0.014845 -0.876698
-vn -0.353185 0.013729 -0.935453
-vn -0.353185 0.013729 -0.935453
-vn -0.243948 0.034872 -0.969161
-vn -0.243948 0.034872 -0.969161
-vn -0.157203 0.052645 -0.986162
-vn -0.157203 0.052645 -0.986162
-vn -0.084367 0.076875 -0.993465
-vn -0.084367 0.076875 -0.993465
-vn -0.033760 0.064397 -0.997353
-vn -0.033760 0.064397 -0.997353
-vn -0.015355 0.037392 -0.999183
-vn -0.015355 0.037392 -0.999183
-vn -0.817737 -0.000196 0.575592
-vn -0.793345 -0.000210 0.608772
-vn -0.877559 -0.000153 0.479469
-vn -0.935258 -0.000100 0.353967
-vn -0.969245 -0.000059 0.246097
-vn -0.987125 -0.000030 0.159949
-vn -0.996183 -0.000009 0.087295
-vn -0.999376 0.000000 0.035320
-vn -0.999880 0.000000 0.015480
-vn -0.793345 -0.000210 0.608772
-vn -0.817737 -0.000196 0.575592
-vn -0.877559 -0.000153 0.479469
-vn -0.935258 -0.000100 0.353967
-vn -0.969245 -0.000059 0.246097
-vn -0.987125 -0.000030 0.159949
-vn -0.996183 -0.000009 0.087295
-vn -0.999376 0.000000 0.035320
-vn -0.999880 0.000000 0.015480
-vn 0.817737 0.000141 -0.575592
-vn 0.793346 0.000145 -0.608771
-vn 0.877558 0.000130 -0.479471
-vn 0.935257 0.000111 -0.353970
-vn 0.969245 0.000090 -0.246098
-vn 0.987126 0.000070 -0.159947
-vn 0.996183 0.000047 -0.087289
-vn 0.999376 0.000017 -0.035315
-vn 0.999880 0.000000 -0.015479
-vn 0.793346 0.000145 -0.608771
-vn 0.817737 0.000141 -0.575592
-vn 0.877558 0.000130 -0.479471
-vn 0.935257 0.000111 -0.353970
-vn 0.969245 0.000090 -0.246098
-vn 0.987126 0.000070 -0.159947
-vn 0.996183 0.000047 -0.087289
-vn 0.999376 0.000017 -0.035315
-vn 0.999880 0.000000 -0.015479
-vn 0.571305 0.805237 0.158754
-vn 0.571305 0.805237 0.158754
-vn 0.587841 0.758020 0.282575
-vn 0.587841 0.758020 0.282575
-vn 0.481563 0.876252 0.016719
-vn 0.481563 0.876252 0.016719
-vn 0.354021 0.935161 -0.011916
-vn 0.354021 0.935161 -0.011916
-vn 0.244838 0.968998 -0.033128
-vn 0.244838 0.968998 -0.033128
-vn 0.158130 0.986102 -0.050966
-vn 0.158130 0.986102 -0.050966
-vn 0.085334 0.993506 -0.075258
-vn 0.085334 0.993506 -0.075258
-vn 0.034714 0.997421 -0.062822
-vn 0.034714 0.997421 -0.062822
-vn 0.016276 0.999225 -0.035835
-vn 0.016276 0.999225 -0.035835
-vn -0.588445 -0.758492 0.280040
-vn -0.588445 -0.758492 0.280040
-vn -0.571649 -0.805503 0.156151
-vn -0.571649 -0.805503 0.156151
-vn -0.481596 -0.876279 0.014157
-vn -0.481596 -0.876279 0.014157
-vn -0.353988 -0.935140 -0.014319
-vn -0.353988 -0.935140 -0.014319
-vn -0.244773 -0.968935 -0.035376
-vn -0.244773 -0.968935 -0.035376
-vn -0.158039 -0.986005 -0.053080
-vn -0.158039 -0.986005 -0.053080
-vn -0.085197 -0.993365 -0.077249
-vn -0.085197 -0.993365 -0.077249
-vn -0.034599 -0.997303 -0.064730
-vn -0.034599 -0.997303 -0.064730
-vn -0.016211 -0.999157 -0.037715
-vn -0.016211 -0.999157 -0.037715
-vn -0.817224 0.576320 -0.000359
-vn -0.792804 0.609476 -0.000312
-vn -0.877131 0.480251 -0.000484
-vn -0.934942 0.354799 -0.000627
-vn -0.969026 0.246958 -0.000730
-vn -0.986983 0.160824 -0.000799
-vn -0.996104 0.088178 -0.000851
-vn -0.999344 0.036206 -0.000873
-vn -0.999866 0.016365 -0.000872
-vn -0.792804 0.609476 -0.000312
-vn -0.817224 0.576320 -0.000359
-vn -0.877131 0.480251 -0.000484
-vn -0.934942 0.354799 -0.000627
-vn -0.969026 0.246958 -0.000730
-vn -0.986983 0.160824 -0.000799
-vn -0.996104 0.088178 -0.000851
-vn -0.999344 0.036206 -0.000873
-vn -0.999866 0.016365 -0.000872
-vn 0.817225 -0.576318 0.000413
-vn 0.792804 -0.609476 0.000376
-vn 0.877132 -0.480248 0.000507
-vn 0.934943 -0.354797 0.000615
-vn 0.969027 -0.246955 0.000700
-vn 0.986983 -0.160823 0.000763
-vn 0.996104 -0.088181 0.000812
-vn 0.999344 -0.036213 0.000855
-vn 0.999865 -0.016376 0.000877
-vn 0.792804 -0.609476 0.000376
-vn 0.817225 -0.576318 0.000413
-vn 0.877132 -0.480248 0.000507
-vn 0.934943 -0.354797 0.000615
-vn 0.969027 -0.246955 0.000700
-vn 0.986983 -0.160823 0.000763
-vn 0.996104 -0.088181 0.000812
-vn 0.999344 -0.036213 0.000855
-vn 0.999865 -0.016376 0.000877
-vn 0.572169 0.158484 -0.804677
-vn 0.572169 0.158484 -0.804677
-vn 0.588769 0.282275 -0.757411
-vn 0.588769 0.282275 -0.757411
-vn 0.482358 0.016550 -0.875818
-vn 0.482358 0.016550 -0.875818
-vn 0.354828 -0.011952 -0.934855
-vn 0.354828 -0.011952 -0.934855
-vn 0.245657 -0.033058 -0.968793
-vn 0.245657 -0.033058 -0.968793
-vn 0.158956 -0.050815 -0.985977
-vn 0.158956 -0.050815 -0.985977
-vn 0.086151 -0.075040 -0.993452
-vn 0.086151 -0.075040 -0.993452
-vn 0.035547 -0.062564 -0.997408
-vn 0.035547 -0.062564 -0.997408
-vn 0.017135 -0.035565 -0.999220
-vn 0.017135 -0.035565 -0.999220
-vn -0.588871 0.280332 0.758053
-vn -0.588871 0.280332 0.758053
-vn -0.572224 0.156417 0.805042
-vn -0.572224 0.156417 0.805042
-vn -0.482362 0.014327 0.875855
-vn -0.482362 0.014327 0.875855
-vn -0.354833 -0.014280 0.934820
-vn -0.354833 -0.014280 0.934820
-vn -0.245657 -0.035446 0.968709
-vn -0.245657 -0.035446 0.968709
-vn -0.158950 -0.053231 0.985851
-vn -0.158950 -0.053231 0.985851
-vn -0.086145 -0.077466 0.993266
-vn -0.086145 -0.077466 0.993266
-vn -0.035538 -0.064996 0.997252
-vn -0.035538 -0.064996 0.997252
-vn -0.017123 -0.038001 0.999131
-vn -0.017123 -0.038001 0.999131
-vn -0.816712 0.000541 -0.577046
-vn -0.792262 0.000577 -0.610181
-vn -0.876704 0.000438 -0.481029
-vn -0.934627 0.000309 -0.355630
-vn -0.968806 0.000205 -0.247821
-vn -0.986839 0.000125 -0.161704
-vn -0.996026 0.000059 -0.089068
-vn -0.999312 0.000022 -0.037098
-vn -0.999851 0.000016 -0.017259
-vn -0.792262 0.000577 -0.610181
-vn -0.816712 0.000541 -0.577046
-vn -0.876704 0.000438 -0.481029
-vn -0.934627 0.000309 -0.355630
-vn -0.968806 0.000205 -0.247821
-vn -0.986839 0.000125 -0.161704
-vn -0.996026 0.000059 -0.089068
-vn -0.999312 0.000022 -0.037098
-vn -0.999851 0.000016 -0.017259
-vn 0.816712 -0.000483 0.577046
-vn 0.792260 -0.000506 0.610183
-vn 0.876706 -0.000414 0.481027
-vn 0.934627 -0.000321 0.355629
-vn 0.968806 -0.000236 0.247820
-vn 0.986839 -0.000162 0.161703
-vn 0.996026 -0.000101 0.089063
-vn 0.999312 -0.000044 0.037092
-vn 0.999851 -0.000012 0.017254
-vn 0.792260 -0.000506 0.610183
-vn 0.816712 -0.000483 0.577046
-vn 0.876706 -0.000414 0.481027
-vn 0.934627 -0.000321 0.355629
-vn 0.968806 -0.000236 0.247820
-vn 0.986839 -0.000162 0.161703
-vn 0.996026 -0.000101 0.089063
-vn 0.999312 -0.000044 0.037092
-vn 0.999851 -0.000012 0.017254
-vn 0.571587 -0.805144 -0.158216
-vn 0.571587 -0.805144 -0.158216
-vn 0.588342 -0.757853 -0.281980
-vn 0.588342 -0.757853 -0.281980
-vn 0.481591 -0.876243 -0.016382
-vn 0.481591 -0.876243 -0.016382
-vn 0.353996 -0.935170 0.011990
-vn 0.353996 -0.935170 0.011990
-vn 0.244775 -0.969019 0.032988
-vn 0.244775 -0.969019 0.032988
-vn 0.158032 -0.986133 0.050662
-vn 0.158032 -0.986133 0.050662
-vn 0.085188 -0.993552 0.074822
-vn 0.085188 -0.993552 0.074822
-vn 0.034597 -0.997458 0.062295
-vn 0.034597 -0.997458 0.062295
-vn 0.016214 -0.999246 0.035272
-vn 0.016214 -0.999246 0.035272
-vn -0.587936 0.758667 -0.280635
-vn -0.587936 0.758667 -0.280635
-vn -0.571369 0.805597 -0.156688
-vn -0.571369 0.805597 -0.156688
-vn -0.481582 0.876281 -0.014493
-vn -0.481582 0.876281 -0.014493
-vn -0.354017 0.935130 0.014243
-vn -0.354017 0.935130 0.014243
-vn -0.244826 0.968916 0.035515
-vn -0.244826 0.968916 0.035515
-vn -0.158119 0.985976 0.053382
-vn -0.158119 0.985976 0.053382
-vn -0.085314 0.993321 0.077686
-vn -0.085314 0.993321 0.077686
-vn -0.034697 0.997265 0.065257
-vn -0.034697 0.997265 0.065257
-vn -0.016267 0.999135 0.038270
-vn -0.016267 0.999135 0.038270
-vn -0.817224 -0.576318 -0.001436
-vn -0.792802 -0.609478 -0.001459
-vn -0.877132 -0.480248 -0.001360
-vn -0.934942 -0.354798 -0.001246
-vn -0.969026 -0.246957 -0.001141
-vn -0.986982 -0.160825 -0.001051
-vn -0.996104 -0.088178 -0.000970
-vn -0.999344 -0.036204 -0.000926
-vn -0.999866 -0.016365 -0.000917
-vn -0.792802 -0.609478 -0.001459
-vn -0.817224 -0.576318 -0.001436
-vn -0.877132 -0.480248 -0.001360
-vn -0.934942 -0.354798 -0.001246
-vn -0.969026 -0.246957 -0.001141
-vn -0.986982 -0.160825 -0.001051
-vn -0.996104 -0.088178 -0.000970
-vn -0.999344 -0.036204 -0.000926
-vn -0.999866 -0.016365 -0.000917
-vn 0.817223 0.576319 0.001382
-vn 0.792803 0.609477 0.001397
-vn 0.877131 0.480249 0.001337
-vn 0.934941 0.354800 0.001258
-vn 0.969025 0.246960 0.001168
-vn 0.986983 0.160823 0.001087
-vn 0.996104 0.088177 0.001012
-vn 0.999344 0.036208 0.000943
-vn 0.999866 0.016369 0.000908
-vn 0.792803 0.609477 0.001397
-vn 0.817223 0.576319 0.001382
-vn 0.877131 0.480249 0.001337
-vn 0.934941 0.354800 0.001258
-vn 0.969025 0.246960 0.001168
-vn 0.986983 0.160823 0.001087
-vn 0.996104 0.088177 0.001012
-vn 0.999344 0.036208 0.000943
-vn 0.999866 0.016369 0.000908
-vn 1.000000 -0.000151 0.000553
-vn 0.663679 0.748017 0.000623
-vn 0.443030 0.896507 0.000533
-vn 0.236823 0.971553 0.000430
-vn 0.148338 0.988937 0.000381
-vn 0.663901 0.647840 -0.373549
-vn 0.443295 0.776443 -0.447912
-vn 0.237109 0.841439 -0.485551
-vn 0.148629 0.856494 -0.494295
-vn 0.664063 0.374136 -0.647335
-vn 0.443489 0.448405 -0.776048
-vn 0.237321 0.485942 -0.841153
-vn 0.148844 0.494637 -0.856259
-vn 0.664122 0.000218 -0.747624
-vn 0.443560 0.000264 -0.896245
-vn 0.237398 0.000286 -0.971412
-vn 0.148924 0.000292 -0.988849
-vn 0.664062 -0.373756 -0.647555
-vn 0.443489 -0.447946 -0.776313
-vn 0.237321 -0.485443 -0.841442
-vn 0.148846 -0.494127 -0.856553
-vn 0.663902 -0.647617 -0.373933
-vn 0.443294 -0.776177 -0.448374
-vn 0.237111 -0.841149 -0.486053
-vn 0.148632 -0.856199 -0.494805
-vn 0.663681 -0.748016 -0.000052
-vn 0.443029 -0.896507 -0.000270
-vn 0.236822 -0.971553 -0.000435
-vn 0.148339 -0.988936 -0.000498
-vn 0.663459 -0.648061 0.373951
-vn 0.442763 -0.776708 0.447979
-vn 0.236534 -0.841726 0.485335
-vn 0.148046 -0.856786 0.493964
-vn 0.663297 -0.374516 0.647900
-vn 0.442570 -0.448867 0.776306
-vn 0.236324 -0.486442 0.841145
-vn 0.147832 -0.495146 0.856141
-vn 0.663238 -0.000662 0.748408
-vn 0.442499 -0.000795 0.896769
-vn 0.236247 -0.000862 0.971693
-vn 0.147753 -0.000878 0.989024
-vn 0.663295 0.373366 0.648565
-vn 0.442569 0.447487 0.777102
-vn 0.236325 0.484946 0.842008
-vn 0.147832 0.493623 0.857019
-vn 0.663458 0.647509 0.374908
-vn 0.442765 0.776044 0.449127
-vn 0.236536 0.841006 0.486580
-vn 0.148047 0.856053 0.495232
-vn -1.000000 0.000000 -0.000591
-vn -1.000000 0.000000 -0.000591
-vn -1.000000 0.000000 -0.000594
-vn -1.000000 0.000000 -0.000594
-vn -1.000000 0.000000 -0.000595
-vn -1.000000 0.000000 -0.000595
-vn -1.000000 0.000000 -0.000594
-vn -1.000000 0.000000 -0.000594
-vn -1.000000 0.000000 -0.000594
-vn -1.000000 0.000000 -0.000594
-vn -1.000000 0.000000 -0.000596
-vn -1.000000 0.000000 -0.000596
-vn -1.000000 0.000000 -0.000591
-vn -1.000000 0.000000 -0.000591
-vn -1.000000 0.000000 -0.000589
-vn -1.000000 0.000000 -0.000589
-vn -1.000000 0.000000 -0.000593
-vn -1.000000 0.000000 -0.000593
-vn -1.000000 0.000000 -0.000593
-vn -1.000000 0.000000 -0.000593
-vn -1.000000 0.000000 -0.000592
-vn -1.000000 0.000000 -0.000592
-vn -1.000000 0.000000 -0.000590
-vn -1.000000 0.000000 -0.000590
-vn 0.000000 1.000000 0.000292
-vn 0.000000 1.000000 0.000292
-vn 0.000296 0.866077 -0.499910
-vn 0.000296 0.866077 -0.499910
-vn 0.000513 0.500175 -0.865924
-vn 0.000513 0.500175 -0.865924
-vn 0.000593 0.000300 -1.000000
-vn 0.000593 0.000300 -1.000000
-vn 0.000513 -0.499653 -0.866225
-vn 0.000513 -0.499653 -0.866225
-vn 0.000296 -0.865781 -0.500422
-vn 0.000296 -0.865781 -0.500422
-vn 0.000000 -1.000000 -0.000588
-vn 0.000000 -1.000000 -0.000588
-vn -0.000296 -0.866373 0.499397
-vn -0.000296 -0.866373 0.499397
-vn -0.000514 -0.500686 0.865629
-vn -0.000514 -0.500686 0.865629
-vn -0.000593 -0.000884 0.999999
-vn -0.000593 -0.000884 0.999999
-vn -0.000514 0.499145 0.866518
-vn -0.000514 0.499145 0.866518
-vn -0.000297 0.865630 0.500684
-vn -0.000297 0.865630 0.500684
-vn -1.000000 0.000000 -0.000599
-vn -1.000000 0.000000 -0.000596
-vn -1.000000 0.000006 -0.000597
-vn -1.000000 0.000006 -0.000590
-vn -1.000000 0.000000 -0.000585
-vn -1.000000 -0.000013 -0.000590
-vn -1.000000 -0.000013 -0.000597
-vn -1.000000 0.000000 -0.000600
-vn -1.000000 0.000006 -0.000597
-vn -1.000000 0.000006 -0.000597
-vn -1.000000 0.000013 -0.000600
-vn -1.000000 0.000000 -0.000597
-vn -1.000000 -0.000013 -0.000597
-vn -1.000000 0.000009 0.000000
-vn -1.000000 0.000009 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000019 0.000000
-vn -1.000000 0.000013 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 -0.000010 0.000000
-vn -0.992360 0.123378 0.000000
-vn -0.992360 0.123378 0.000000
-vn -0.998088 0.061807 0.000000
-vn -1.000000 0.000000 0.000000
-vn -0.992360 0.123378 0.000000
-vn -1.000000 -0.000031 0.000000
-vn -1.000000 0.000002 0.000000
-vn -1.000000 0.000019 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000000 0.000000
-vn -1.000000 0.000009 0.000000
-vn -1.000000 0.000009 0.000000
-vn -1.000000 0.000000 0.000000
-vn -0.996600 0.082392 0.000000
-# 1508 vertices
-
-# 0 vertex parms
-
-# 0 texture vertices
-
-# 2135 normals
-
-g fuselage
-usemtl UNKNOWN
-s 1
-f 88//207 97//216 127//246 129//248
-f 3//122 1//120 114//233 115//234
-f 2//121 11//130 139//258 141//260
-s 15
-f 183//875 184//876 177//869 178//870 179//871 180//872 181//873 182//874
-s 1
-f 6//125 121//240 123//242 7//126
-f 133//252 8//127 89//208 131//250
-f 4//123 117//236 119//238 5//124
-f 3//122 115//234 117//236 4//123
-f 121//240 6//125 5//124 119//238
-f 125//244 95//214 7//126 123//242
-f 137//256 10//129 9//128 135//254
-f 8//127 133//252 135//254 9//128
-f 139//258 11//130 10//129 137//256
-f 11//130 2//121 13//132 12//131
-f 1//120 3//122 15//134 14//133
-f 3//122 4//123 16//135 15//134
-f 4//123 5//124 17//136 16//135
-f 5//124 6//125 18//137 17//136
-f 6//125 7//126 19//138 18//137
-f 7//126 95//214 96//215 20//139 19//138
-f 97//216 88//207 90//209 20//139 96//215
-f 89//208 8//127 21//140 91//210
-f 8//127 9//128 22//141 21//140
-f 9//128 10//129 23//142 22//141
-f 10//129 11//130 12//131 23//142
-f 21//140 22//141 25//144 24//143
-f 22//141 23//142 26//145 25//144
-f 23//142 12//131 27//146 26//145
-f 12//131 13//132 28//147 27//146
-f 14//133 15//134 30//149 29//148
-f 15//134 16//135 31//150 30//149
-f 16//135 17//136 32//151 31//150
-f 17//136 18//137 33//152 32//151
-f 18//137 19//138 34//153 33//152
-g exhaust
-s 44
-f 400//898 395//893 396//894 399//897
-g fuselage
-s 1
-f 20//139 90//209 92//211 35//154
-f 91//210 21//140 24//143 94//213
-g exhaust
-s 42
-f 384//920 379//915 380//916 383//919
-g fuselage
-s 1
-f 35//154 92//211 93//212 38//157 37//156
-f 94//213 24//143 39//158 38//157 93//212
-f 24//143 25//144 40//159 39//158
-f 25//144 26//145 41//160 40//159
-f 26//145 27//146 42//161 41//160
-f 27//146 28//147 43//162 42//161
-f 29//148 30//149 45//164 44//163
-f 30//149 31//150 46//165 45//164
-f 31//150 32//151 47//166 46//165
-f 32//151 33//152 48//167 47//166
-f 33//152 34//153 36//155 48//167
-f 46//165 47//166 50//169 49//168
-f 47//166 48//167 51//170 50//169
-f 48//167 36//155 52//171 51//170
-g exhaust
-s 40
-f 368//942 363//937 364//938 367//941
-g fuselage
-s 1
-f 37//156 38//157 54//173 53//172
-f 38//157 39//158 55//174 54//173
-f 39//158 40//159 56//175 55//174
-f 40//159 41//160 57//176 56//175
-f 41//160 42//161 58//177 57//176
-f 42//161 43//162 59//178 58//177
-f 44//163 45//164 61//180 60//179
-f 45//164 46//165 49//168 61//180
-f 60//179 61//180 64//183 63//182
-f 61//180 49//168 65//184 64//183
-f 49//168 50//169 66//185 65//184
-f 50//169 51//170 67//186 66//185
-f 51//170 52//171 68//187 67//186
-g exhaust
-s 38
-f 341//955 346//958 347//959 340//954
-g fuselage
-s 1
-f 53//172 54//173 70//189 69//188
-f 54//173 55//174 71//190 70//189
-f 55//174 56//175 72//191 71//190
-f 56//175 57//176 73//192 72//191
-f 57//176 58//177 74//193 73//192
-f 58//177 59//178 62//181 74//193
-f 72//191 73//192 76//195 75//194
-f 73//192 74//193 77//196 76//195
-f 74//193 62//181 78//197 77//196
-f 63//182 64//183 80//199 79//198
-f 64//183 65//184 81//200 80//199
-f 65//184 66//185 82//201 81//200
-f 66//185 67//186 83//202 82//201
-f 67//186 68//187 84//203 83//202
-g exhaust
-s 34
-f 314//981 309//976 310//977 313//980
-g fuselage
-s 1
-f 69//188 70//189 86//205 85//204
-f 70//189 71//190 87//206 86//205
-f 71//190 72//191 75//194 87//206
-f 92//211 94//213 93//212
-f 88//207 129//248 131//250 89//208
-f 90//209 88//207 89//208 91//210
-f 92//211 90//209 91//210 94//213
-f 95//214 97//216 96//215
-f 127//246 97//216 95//214 125//244
-f 99//218 98//217 116//235 113//232
-f 118//237 116//235 98//217 100//219
-f 120//239 118//237 100//219 101//220
-f 122//241 120//239 101//220 102//221
-f 124//243 122//241 102//221 103//222
-f 126//245 124//243 103//222 104//223
-f 128//247 126//245 104//223 105//224
-f 105//224 106//225 130//249 128//247
-f 132//251 130//249 106//225 107//226
-f 134//253 132//251 107//226 108//227
-f 136//255 134//253 108//227 109//228
-f 138//257 136//255 109//228 110//229
-f 140//259 138//257 110//229 111//230
-f 111//230 112//231 142//261 140//259
-f 115//234 114//233 113//232 116//235
-f 117//236 115//234 116//235 118//237
-f 119//238 117//236 118//237 120//239
-f 121//240 119//238 120//239 122//241
-f 123//242 121//240 122//241 124//243
-f 125//244 123//242 124//243 126//245
-f 127//246 125//244 126//245 128//247
-f 129//248 127//246 128//247 130//249
-f 131//250 129//248 130//249 132//251
-f 133//252 131//250 132//251 134//253
-f 135//254 133//252 134//253 136//255
-f 137//256 135//254 136//255 138//257
-f 139//258 137//256 138//257 140//259
-f 141//260 139//258 140//259 142//261
-f 162//281 167//286 107//226 106//225
-f 172//291 162//281 106//225 105//224
-f 174//293 172//291 105//224 104//223
-f 176//295 174//293 104//223 103//222
-f 103//222 102//221 148//267 175//294 176//295
-f 102//221 101//220 149//268 148//267
-f 101//220 100//219 150//269 149//268
-f 100//219 98//217 151//270 150//269
-f 98//217 99//218 156//275 151//270
-f 157//276 112//231 111//230 152//271
-f 111//230 110//229 153//272 152//271
-f 110//229 109//228 154//273 153//272
-f 109//228 108//227 169//288 170//289 154//273
-f 167//286 169//288 108//227 107//226
-f 173//292 175//294 148//267 149//268 150//269 151//270 156//275 166//285 160//279 171//290
-f 144//263 161//280 160//279 159//278
-f 144//263 162//281 161//280
-f 144//263 163//282 162//281
-f 144//263 159//278 164//283 163//282
-f 155//274 170//289 169//288
-f 147//266 176//295 175//294
-f 164//283 159//278 158//277 165//284
-f 159//278 160//279 166//285 158//277
-f 162//281 163//282 143//262 167//286
-f 163//282 164//283 168//287 143//262
-f 167//286 143//262 155//274 169//288
-f 143//262 168//287 170//289 155//274
-f 172//291 145//264 161//280 162//281
-f 145//264 171//290 160//279 161//280
-f 174//293 146//265 145//264 172//291
-f 146//265 173//292 171//290 145//264
-f 176//295 147//266 146//265 174//293
-f 147//266 175//294 173//292 146//265
-s 11
-f 154//995 170//999 178//1001 177//1000
-f 170//999 168//998 179//1002 178//1001
-f 168//998 164//997 180//1003 179//1002
-s 13
-f 164//1019 165//1020 181//1022 180//1021
-s 11
-f 157//996 152//993 183//1005 182//1004
-f 152//993 153//994 184//1006 183//1005
-f 153//994 154//995 177//1000 184//1006
-g exhaust
-s 4
-f 34//1027 19//1025 186//1038 187//1039
-f 19//1025 20//1026 208//1060 186//1038
-f 20//1026 35//1028 205//1057 208//1060
-f 35//1028 37//1030 203//1055 205//1057
-f 37//1030 53//1032 201//1053 203//1055
-f 53//1032 69//1034 199//1051 201//1053
-f 69//1034 85//1036 198//1050 199//1051
-g fuselage
-f 85//1036 84//1035 196//1048 198//1050
-g exhaust
-f 84//1035 68//1033 193//1045 196//1048
-f 68//1033 52//1031 191//1043 193//1045
-f 52//1031 36//1029 189//1041 191//1043
-f 36//1029 34//1027 187//1039 189//1041
-f 187//1039 186//1038 185//1037 188//1040
-f 189//1041 187//1039 188//1040 190//1042
-f 191//1043 189//1041 190//1042 192//1044
-f 193//1045 191//1043 192//1044 194//1046
-f 196//1048 193//1045 194//1046 209//1061 195//1047
-f 199//1051 198//1050 197//1049 210//1062 200//1052
-f 201//1053 199//1051 200//1052 202//1054
-f 203//1055 201//1053 202//1054 204//1056
-f 205//1057 203//1055 204//1056 206//1058
-f 208//1060 205//1057 206//1058 207//1059
-f 186//1038 208//1060 207//1059 185//1037
-f 198//1050 196//1048 195//1047 197//1049
-s 36
-f 332//1098 335//1101 336//1102 331//1097
-s 4
-f 188//1040 185//1037 212//1064 211//1063
-f 185//1037 207//1059 213//1065 212//1064
-f 207//1059 206//1058 214//1066 213//1065
-f 206//1058 188//1040 211//1063 214//1066
-f 190//1042 188//1040 216//1068 215//1067
-f 188//1040 206//1058 217//1069 216//1068
-f 206//1058 204//1056 218//1070 217//1069
-f 204//1056 190//1042 215//1067 218//1070
-f 192//1044 190//1042 220//1072 219//1071
-f 190//1042 204//1056 221//1073 220//1072
-f 204//1056 202//1054 222//1074 221//1073
-f 202//1054 192//1044 219//1071 222//1074
-f 194//1046 192//1044 224//1076 223//1075
-f 192//1044 202//1054 225//1077 224//1076
-f 202//1054 200//1052 226//1078 225//1077
-f 200//1052 194//1046 223//1075 226//1078
-f 200//1052 210//1062 228//1080 227//1079
-f 210//1062 209//1061 229//1081 228//1080
-f 209//1061 194//1046 230//1082 229//1081
-f 194//1046 200//1052 227//1079 230//1082
-f 195//1047 209//1061 232//1084 231//1083
-f 209//1061 210//1062 233//1085 232//1084
-f 210//1062 197//1049 234//1086 233//1085
-f 197//1049 195//1047 231//1083 234//1086
-s 44
-f 212//884 213//885 406//902 407//903 388//888 389//889
-f 213//885 214//886 405//901 406//902
-s off
-f 275//1 276//1 271//1 272//1 273//1 274//1
-s 44
-f 211//883 212//884 389//889 390//890
-s off
-f 216//2 217//2 412//2 413//2 372//2 373//2
-s 42
-f 217//907 218//908 411//923 412//924
-s off
-f 281//3 282//3 277//3 278//3 279//3 280//3
-s 42
-f 215//905 216//906 373//911 374//912
-s off
-f 220//4 221//4 418//4 419//4 356//4 357//4
-s 40
-f 221//929 222//930 417//945 418//946
-s off
-f 287//5 288//5 283//5 284//5 285//5 286//5
-s 40
-f 219//927 220//928 357//933 358//934
-s off
-f 224//6 225//6 424//6 425//6 350//6 351//6
-s 38
-f 225//951 226//952 423//967 424//968
-s off
-f 293//7 294//7 289//7 290//7 291//7 292//7
-s 38
-f 223//949 224//950 351//963 352//964
-s off
-f 299//8 300//8 295//8 296//8 297//8 298//8
-s 36
-f 229//1089 230//1090 325//1093 326//1094
-s off
-f 230//9 227//9 430//9 431//9 324//9 325//9
-s 36
-f 227//1087 228//1088 429//1105 430//1106
-s off
-f 232//10 233//10 436//10 437//10 318//10 319//10
-s 34
-f 233//973 234//974 435//989 436//990
-s off
-f 305//11 306//11 301//11 302//11 303//11 304//11
-s 34
-f 231//971 232//972 319//985 320//986
-s 44
-f 392//891 387//887 397//895 393//892
-s 42
-f 376//913 371//909 381//917 377//914
-s 40
-f 360//935 355//931 365//939 361//936
-s 38
-f 354//965 349//961 348//960 344//957
-s 36
-f 328//1095 323//1091 333//1099 329//1096
-s 34
-f 322//987 317//983 311//978 307//975
-s 44
-f 408//904 403//900 402//899 398//896
-s 42
-f 414//926 409//922 386//921 382//918
-s 40
-f 420//948 415//944 370//943 366//940
-s 38
-f 426//970 421//966 343//956 339//953
-s 36
-f 432//1108 427//1104 338//1103 334//1100
-s 34
-f 438//992 433//988 316//982 312//979
-s 44
-f 388//888 407//903 408//904 398//896 399//897 396//894 397//895 387//887
-s 42
-f 372//910 413//925 414//926 382//918 383//919 380//916 381//917 371//909
-s 40
-f 356//932 419//947 420//948 366//940 367//941 364//938 365//939 355//931
-s 38
-f 350//962 425//969 426//970 339//953 340//954 347//959 348//960 349//961
-s 36
-f 324//1092 431//1107 432//1108 334//1100 335//1101 332//1098 333//1099 323//1091
-s 34
-f 318//984 437//991 438//992 312//979 313//980 310//977 311//978 317//983
-s 26
-f 405//1128 214//1110 236//1112 235//1111 404//1127
-s off
-f 214//12 211//12 237//12 236//12
-s 26
-f 211//1109 390//1117 391//1118 238//1114 237//1113
-f 392//1119 393//1120 394//1121 239//1115 238//1114 391//1118
-f 395//1122 400//1123 401//1124 240//1116 239//1115 394//1121
-f 402//1125 403//1126 404//1127 235//1111 240//1116 401//1124
-s 21
-f 411//1148 218//1130 242//1132 241//1131 410//1147
-f 218//1130 215//1129 243//1133 242//1132
-f 215//1129 374//1137 375//1138 244//1134 243//1133
-f 376//1139 377//1140 378//1141 245//1135 244//1134 375//1138
-f 379//1142 384//1143 385//1144 246//1136 245//1135 378//1141
-f 386//1145 409//1146 410//1147 241//1131 246//1136 385//1144
-s 22
-f 417//1168 222//1150 248//1152 247//1151 416//1167
-f 222//1150 219//1149 249//1153 248//1152
-f 219//1149 358//1157 359//1158 250//1154 249//1153
-f 360//1159 361//1160 362//1161 251//1155 250//1154 359//1158
-f 363//1162 368//1163 369//1164 252//1156 251//1155 362//1161
-f 370//1165 415//1166 416//1167 247//1151 252//1156 369//1164
-s 23
-f 423//1188 226//1170 254//1172 253//1171 422//1187
-f 226//1170 223//1169 255//1173 254//1172
-f 223//1169 352//1183 353//1184 256//1174 255//1173
-f 354//1185 344//1180 345//1181 257//1175 256//1174 353//1184
-f 346//1182 341//1177 342//1178 258//1176 257//1175 345//1181
-f 343//1179 421//1186 422//1187 253//1171 258//1176 342//1178
-s 24
-f 429//1208 228//1189 260//1192 259//1191 428//1207
-f 228//1189 229//1190 261//1193 260//1192
-f 229//1190 326//1197 327//1198 262//1194 261//1193
-f 328//1199 329//1200 330//1201 263//1195 262//1194 327//1198
-f 331//1202 336//1203 337//1204 264//1196 263//1195 330//1201
-f 338//1205 427//1206 428//1207 259//1191 264//1196 337//1204
-s 25
-f 435//1228 234//1210 266//1212 265//1211 434//1227
-f 234//1210 231//1209 267//1213 266//1212
-f 231//1209 320//1223 321//1224 268//1214 267//1213
-f 322//1225 307//1217 308//1218 269//1215 268//1214 321//1224
-f 309//1219 314//1220 315//1221 270//1216 269//1215 308//1218
-f 316//1222 433//1226 434//1227 265//1211 270//1216 315//1221
-s 28
-f 238//1230 239//1231 272//1234 271//1233
-f 239//1231 240//1232 273//1235 272//1234
-f 240//1232 235//1229 274//1236 273//1235
-s off
-f 235//13 236//13 275//13 274//13
-f 236//14 237//14 276//14 275//14
-f 237//15 238//15 271//15 276//15
-s 29
-f 244//1238 245//1239 278//1242 277//1241
-f 245//1239 246//1240 279//1243 278//1242
-f 246//1240 241//1237 280//1244 279//1243
-s off
-f 241//16 242//16 281//16 280//16
-f 242//17 243//17 282//17 281//17
-f 243//18 244//18 277//18 282//18
-s 30
-f 250//1246 251//1247 284//1250 283//1249
-f 251//1247 252//1248 285//1251 284//1250
-f 252//1248 247//1245 286//1252 285//1251
-s off
-f 247//19 248//19 287//19 286//19
-f 248//20 249//20 288//20 287//20
-f 249//21 250//21 283//21 288//21
-s 31
-f 256//1254 257//1255 290//1258 289//1257
-f 257//1255 258//1256 291//1259 290//1258
-f 258//1256 253//1253 292//1260 291//1259
-s off
-f 253//22 254//22 293//22 292//22
-f 254//23 255//23 294//23 293//23
-f 255//24 256//24 289//24 294//24
-s 32
-f 262//1262 263//1263 296//1266 295//1265
-f 263//1263 264//1264 297//1267 296//1266
-f 264//1264 259//1261 298//1268 297//1267
-s off
-f 259//25 260//25 299//25 298//25
-f 260//26 261//26 300//26 299//26
-f 261//27 262//27 295//27 300//27
-s 33
-f 268//1270 269//1271 302//1274 301//1273
-f 269//1271 270//1272 303//1275 302//1274
-f 270//1272 265//1269 304//1276 303//1275
-s off
-f 265//28 266//28 305//28 304//28
-f 266//29 267//29 306//29 305//29
-f 267//30 268//30 301//30 306//30
-f 307//31 309//31 308//31
-f 314//32 316//32 315//32
-s 34
-f 317//983 319//985 318//984
-s off
-f 320//33 322//33 321//33
-s 36
-f 323//1091 325//1093 324//1092
-s off
-f 326//34 328//34 327//34
-f 329//35 331//35 330//35
-f 336//36 338//36 337//36
-f 341//37 343//37 342//37
-f 344//38 346//38 345//38
-s 38
-f 349//961 351//963 350//962
-s off
-f 352//39 354//39 353//39
-s 40
-f 355//931 357//933 356//932
-s off
-f 358//40 360//40 359//40
-f 361//41 363//41 362//41
-f 368//42 370//42 369//42
-s 42
-f 371//909 373//911 372//910
-s off
-f 374//43 376//43 375//43
-f 377//44 379//44 378//44
-f 384//45 386//45 385//45
-s 44
-f 387//887 389//889 388//888
-s off
-f 390//46 392//46 391//46
-f 393//47 395//47 394//47
-f 400//48 402//48 401//48
-f 403//49 405//49 404//49
-s 44
-f 406//902 408//904 407//903
-s off
-f 409//50 411//50 410//50
-s 42
-f 412//924 414//926 413//925
-s off
-f 415//51 417//51 416//51
-s 40
-f 418//946 420//948 419//947
-s off
-f 421//52 423//52 422//52
-s 38
-f 424//968 426//970 425//969
-s off
-f 427//53 429//53 428//53
-s 36
-f 430//1106 432//1108 431//1107
-s off
-f 433//54 435//54 434//54
-s 34
-f 436//990 438//992 437//991
-f 310//977 309//976 307//975 311//978
-f 314//981 313//980 312//979 316//982
-f 320//986 319//985 317//983 322//987
-s 36
-f 326//1094 325//1093 323//1091 328//1095
-f 332//1098 331//1097 329//1096 333//1099
-f 336//1102 335//1101 334//1100 338//1103
-s 38
-f 341//955 340//954 339//953 343//956
-f 347//959 346//958 344//957 348//960
-f 352//964 351//963 349//961 354//965
-s 40
-f 358//934 357//933 355//931 360//935
-f 364//938 363//937 361//936 365//939
-f 368//942 367//941 366//940 370//943
-s 42
-f 374//912 373//911 371//909 376//913
-f 380//916 379//915 377//914 381//917
-f 384//920 383//919 382//918 386//921
-s 44
-f 390//890 389//889 387//887 392//891
-f 396//894 395//893 393//892 397//895
-f 400//898 399//897 398//896 402//899
-f 406//902 405//901 403//900 408//904
-s 42
-f 412//924 411//923 409//922 414//926
-s 40
-f 418//946 417//945 415//944 420//948
-s 38
-f 424//968 423//967 421//966 426//970
-s 36
-f 430//1106 429//1105 427//1104 432//1108
-s 34
-f 436//990 435//989 433//988 438//992
-g fuselage
-s 1
-f 85//204 86//205 440//297 439//296
-f 86//205 87//206 441//298 440//297
-f 87//206 75//194 442//299 441//298
-g wings
-f 563//420 569//426 561//418 562//419
-g fuselage
-f 77//196 78//197 444//301 443//300
-f 79//198 80//199 446//303 445//302
-f 80//199 81//200 447//304 446//303
-f 81//200 82//201 448//305 447//304
-f 82//201 83//202 449//306 448//305
-f 83//202 84//203 450//307 449//306
-f 84//203 85//204 439//296 450//307
-g canopy
-f 448//305 479//336 451//308 488//345 501//358 502//359
-g fuselage
-f 449//306 450//307 452//309 477//334 478//335
-f 450//307 439//296 453//310 452//309
-f 439//296 440//297 454//311 453//310
-f 440//297 441//298 455//312 454//311
-f 441//298 442//299 456//313 455//312
-f 443//300 444//301 458//315 457//314
-g canopy
-f 486//343 445//302 446//303 447//304 500//357 499//356 498//355
-f 502//359 500//357 447//304 448//305
-f 462//319 461//318 460//317 473//330 513//370 512//369 514//371
-f 510//367 463//320 462//319 514//371 512//369 509//366
-f 482//339 484//341 463//320 511//368
-g fuselage
-f 485//342 483//340 481//338 477//334 452//309 465//322
-f 452//309 453//310 466//323 465//322
-f 453//310 454//311 467//324 466//323
-f 454//311 455//312 468//325 467//324
-f 455//312 456//313 469//326 468//325
-f 457//314 458//315 472//329 471//328
-f 479//336 448//305 449//306 478//335
-g canopy
-f 497//354 513//370 473//330 487//344
-f 505//362 509//366 512//369 507//364 496//353 504//361
-g fuselage
-f 451//308 478//335 477//334
-f 451//308 479//336 478//335
-f 464//321 485//342 484//341
-g canopy
-f 451//308 476//333 503//360 491//348
-g fuselage
-f 476//333 451//308 475//332 480//337
-f 451//308 477//334 481//338 475//332
-f 480//337 475//332 474//331 482//339
-f 475//332 481//338 483//340 474//331
-f 482//339 474//331 464//321 484//341
-f 474//331 483//340 485//342 464//321
-g canopy
-f 501//358 489//346 492//349 499//356
-f 490//347 504//361 496//353 495//352
-f 498//355 493//350 459//316 486//343
-f 494//351 497//354 487//344 459//316
-f 488//345 491//348 490//347 489//346
-f 492//349 495//352 494//351 493//350
-f 510//367 511//368 463//320
-f 492//349 489//346 490//347 495//352
-f 495//352 496//353 497//354 494//351
-f 459//316 493//350 494//351
-f 493//350 498//355 499//356 492//349
-f 500//357 502//359 501//358 499//356
-f 489//346 501//358 488//345
-f 488//345 451//308 491//348
-f 491//348 503//360 504//361 490//347
-f 506//363 505//362 504//361 503//360
-f 508//365 509//366 505//362 506//363
-f 511//368 510//367 509//366 508//365
-f 482//339 508//365 506//363 480//337
-f 480//337 506//363 503//360 476//333
-f 482//339 511//368 508//365
-f 513//370 497//354 496//353 507//364 512//369
-g fuselage
-f 470//327 528//385 527//384 469//326
-f 460//317 461//318 519//376 518//375
-f 461//318 462//319 520//377 519//376
-f 462//319 463//320 521//378 520//377
-f 463//320 484//341 522//379 521//378
-f 484//341 485//342 523//380 522//379
-f 485//342 465//322 524//381 523//380
-f 465//322 466//323 525//382 524//381
-f 466//323 467//324 526//383 525//382
-f 467//324 468//325 527//384 526//383
-f 468//325 469//326 527//384
-f 526//383 527//384 530//387 529//386
-f 527//384 528//385 531//388 530//387
-f 528//385 515//372 532//389 531//388
-f 515//372 516//373 533//390 532//389
-f 516//373 517//374 534//391 533//390
-f 518//375 519//376 536//393 535//392
-f 519//376 520//377 537//394 536//393
-f 520//377 521//378 538//395 537//394
-f 521//378 522//379 539//396 538//395
-f 522//379 523//380 540//397 539//396
-f 523//380 524//381 541//398 540//397
-f 524//381 525//382 542//399 541//398
-f 525//382 526//383 529//386 542//399
-f 580//436 581//437 576//432 577//433 578//434 579//435
-g wings
-f 469//326 456//313 544//401 543//400
-f 456//313 442//299 545//402 544//401
-f 442//299 75//194 546//403 545//402
-f 75//194 76//195 547//404 546//403
-f 76//195 77//196 548//405 547//404
-f 77//196 443//300 549//406 548//405
-f 443//300 457//314 550//407 549//406
-f 457//314 471//328 551//408 550//407
-s 57
-f 471//1279 470//1278 469//1277 543//1280 551//1281
-s 1
-f 545//402 546//403 553//410 552//409
-f 546//403 547//404 554//411 553//410
-f 547//404 548//405 555//412 554//411
-f 548//405 549//406 556//413 555//412
-f 549//406 550//407 557//414 556//413
-f 550//407 551//408 558//415 557//414
-s 57
-f 551//1281 543//1280 559//1283 558//1282
-s 1
-f 543//400 544//401 560//417 559//416
-f 544//401 545//402 552//409 560//417
-f 558//415 559//416 562//419 561//418
-f 559//416 560//417 563//420 562//419
-f 560//417 552//409 564//421 563//420
-f 552//409 553//410 565//422 564//421
-f 553//410 554//411 566//423 565//422
-f 554//411 555//412 567//424 566//423
-f 555//412 556//413 568//425 567//424
-f 556//413 557//414 569//426 568//425
-f 557//414 558//415 561//418 569//426
-g fuselage
-f 515//372 528//385 571//428 570//427
-f 528//385 470//327 572//429 571//428
-f 470//327 471//328 572//429
-f 517//374 516//373 575//431 574//430
-f 516//373 515//372 570//427 575//431
-s 52
-f 573//1287 572//1286 471//1284 472//1285
-s 1
-f 574//430 575//431 578//434 577//433
-f 575//431 570//427 579//435 578//434
-f 570//427 571//428 580//436 579//435
-f 571//428 572//429 581//437 580//436
-s 52
-f 572//1286 573//1287 576//1288 581//1289
-g wings
-s 1
-f 568//425 564//421 565//422 566//423 567//424
-f 569//426 563//420 564//421 568//425
-g fuselage
-f 540//397 541//398 583//439 582//438
-f 541//398 542//399 584//440 583//439
-f 542//399 529//386 585//441 584//440
-f 529//386 530//387 586//442 585//441
-f 530//387 531//388 587//443 586//442
-f 531//388 532//389 588//444 587//443
-f 532//389 533//390 589//445 588//444
-f 533//390 534//391 590//446 589//445
-f 535//392 536//393 592//448 591//447
-f 536//393 537//394 593//449 592//448
-f 537//394 538//395 594//450 593//449
-f 538//395 539//396 595//451 594//450
-f 539//396 540//397 582//438 595//451
-f 593//449 594//450 597//453 596//452
-f 594//450 595//451 598//454 597//453
-f 595//451 582//438 599//455 598//454
-f 582//438 583//439 600//456 599//455
-f 583//439 584//440 601//457 600//456
-f 584//440 585//441 602//458 601//457
-f 585//441 586//442 603//459 602//458
-f 586//442 587//443 604//460 603//459
-f 587//443 588//444 605//461 604//460
-f 588//444 589//445 606//462 605//461
-f 589//445 590//446 607//463 606//462
-f 591//447 592//448 609//465 608//464
-f 592//448 593//449 596//452 609//465
-f 608//464 609//465 612//468 611//467
-f 609//465 596//452 613//469 612//468
-f 596//452 597//453 614//470 613//469
-f 597//453 598//454 615//471 614//470
-f 598//454 599//455 616//472 615//471
-f 599//455 600//456 617//473 616//472
-f 600//456 601//457 618//474 617//473
-f 601//457 602//458 619//475 618//474
-f 602//458 603//459 620//476 619//475
-f 603//459 604//460 621//477 620//476
-f 604//460 605//461 622//478 621//477
-f 605//461 606//462 623//479 622//478
-f 606//462 607//463 610//466 623//479
-f 621//477 622//478 625//481 624//480
-f 622//478 623//479 626//482 625//481
-f 623//479 610//466 627//483 626//482
-g wings
-f 611//467 612//468 629//485 628//484
-f 612//468 613//469 630//486 629//485
-g fuselage
-f 613//469 614//470 631//487 630//486
-f 614//470 615//471 632//488 631//487
-f 615//471 616//472 633//489 632//488
-f 616//472 617//473 634//490 633//489
-f 617//473 618//474 635//491 634//490
-f 618//474 619//475 636//492 635//491
-f 619//475 620//476 637//493 636//492
-f 620//476 621//477 624//480 637//493
-f 635//491 636//492 639//495 638//494
-f 636//492 637//493 640//496 639//495
-f 637//493 624//480 641//497 640//496
-f 624//480 625//481 642//498 641//497
-f 625//481 626//482 643//499 642//498
-f 626//482 627//483 644//500 643//499
-g wings
-s off
-f 628//55 629//55 646//55 645//55
-s 1
-f 629//485 647//502 646//501
-g fuselage
-f 630//486 631//487 648//503 647//502
-f 631//487 632//488 649//504 648//503
-f 632//488 633//489 650//505 649//504
-f 633//489 634//490 651//506 650//505
-g wings
-s 64
-f 668//1297 666//1295 670//1299 672//1301
-g fuselage
-s 1
-f 649//504 650//505 653//508 652//507
-f 650//505 651//506 654//509 653//508
-f 651//506 638//494 655//510 654//509
-f 638//494 639//495 656//511 655//510
-f 639//495 640//496 657//512 656//511
-f 640//496 641//497 658//513 657//512
-f 641//497 642//498 659//514 658//513
-f 642//498 643//499 660//515 659//514
-f 643//499 644//500 661//516 660//515
-g wings
-s 61
-f 645//1303 646//1304 663//1306 662//1305
-s 1
-f 646//501 647//502 664//518 663//517
-g fuselage
-f 647//502 648//503 665//519 664//518
-f 648//503 649//504 652//507 665//519
-g wings
-s 66
-f 651//1310 634//1309 673//1314 671//1312
-s 64
-f 634//1293 635//1294 669//1298 673//1302
-s 65
-f 635//1315 638//1316 667//1318 669//1320
-s off
-f 638//56 651//56 671//56 667//56
-s 65
-f 669//1320 667//1318 666//1317 668//1319
-s 64
-f 667//1296 671//1300 670//1299 666//1295
-s 66
-f 671//1312 673//1314 672//1313 670//1311
-s 64
-f 673//1302 669//1298 668//1297 672//1301
-g fuselage
-s 1
-f 674//520 675//521 676//522 677//523
-f 678//524 114//233 1//120 679//525
-f 141//260 680//526 681//527 2//121
-s 15
-f 182//874 181//873 682//877 683//878 684//879 685//880 686//881 687//882
-s 1
-f 700//540 701//541 702//542 703//543
-f 704//544 705//545 706//546 707//547
-f 708//548 709//549 710//550 711//551
-f 711//551 710//550 678//524 679//525
-f 709//549 708//548 703//543 702//542
-f 701//541 700//540 712//552 713//553
-f 714//554 715//555 716//556 717//557
-f 715//555 714//554 707//547 706//546
-f 717//557 716//556 681//527 680//526
-f 718//558 13//132 2//121 681//527
-f 14//133 719//559 679//525 1//120
-f 719//559 720//560 711//551 679//525
-f 720//560 721//561 708//548 711//551
-f 721//561 722//562 703//543 708//548
-f 722//562 723//563 700//540 703//543
-f 723//563 724//564 725//565 712//552 700//540
-f 725//565 724//564 726//566 677//523 676//522
-f 727//567 728//568 706//546 705//545
-f 728//568 729//569 715//555 706//546
-f 729//569 730//570 716//556 715//555
-f 730//570 718//558 681//527 716//556
-f 731//571 732//572 729//569 728//568
-f 732//572 733//573 730//570 729//569
-f 733//573 734//574 718//558 730//570
-f 734//574 28//147 13//132 718//558
-f 29//148 735//575 719//559 14//133
-f 735//575 736//576 720//560 719//559
-f 736//576 737//577 721//561 720//560
-f 737//577 738//578 722//562 721//561
-f 738//578 739//579 723//563 722//562
-g exhaust
-s 71
-f 740//1321 741//1322 742//1323 743//1324
-g fuselage
-s 1
-f 744//580 745//581 726//566 724//564
-f 746//582 731//571 728//568 727//567
-g exhaust
-s 73
-f 747//1343 748//1344 749//1345 750//1346
-g fuselage
-s 1
-f 751//583 752//584 753//585 745//581 744//580
-f 753//585 752//584 754//586 731//571 746//582
-f 754//586 755//587 732//572 731//571
-f 755//587 756//588 733//573 732//572
-f 756//588 757//589 734//574 733//573
-f 757//589 43//162 28//147 734//574
-f 44//163 758//590 735//575 29//148
-f 758//590 759//591 736//576 735//575
-f 759//591 760//592 737//577 736//576
-f 760//592 761//593 738//578 737//577
-f 761//593 762//594 739//579 738//578
-f 763//595 764//596 760//592 759//591
-f 764//596 765//597 761//593 760//592
-f 765//597 766//598 762//594 761//593
-g exhaust
-s 74
-f 767//1365 768//1366 769//1367 770//1368
-g fuselage
-s 1
-f 771//599 772//600 752//584 751//583
-f 772//600 773//601 754//586 752//584
-f 773//601 774//602 755//587 754//586
-f 774//602 775//603 756//588 755//587
-f 775//603 776//604 757//589 756//588
-f 776//604 59//178 43//162 757//589
-f 60//179 777//605 758//590 44//163
-f 777//605 763//595 759//591 758//590
-f 63//182 778//606 777//605 60//179
-f 778//606 779//607 763//595 777//605
-f 779//607 780//608 764//596 763//595
-f 780//608 781//609 765//597 764//596
-f 781//609 782//610 766//598 765//597
-g exhaust
-s 75
-f 783//1387 784//1388 785//1389 786//1390
-g fuselage
-s 1
-f 787//611 788//612 772//600 771//599
-f 788//612 789//613 773//601 772//600
-f 789//613 790//614 774//602 773//601
-f 790//614 791//615 775//603 774//602
-f 791//615 792//616 776//604 775//603
-f 792//616 62//181 59//178 776//604
-f 793//617 794//618 791//615 790//614
-f 794//618 795//619 792//616 791//615
-f 795//619 78//197 62//181 792//616
-f 79//198 796//620 778//606 63//182
-f 796//620 797//621 779//607 778//606
-f 797//621 798//622 780//608 779//607
-f 798//622 799//623 781//609 780//608
-f 799//623 800//624 782//610 781//609
-g exhaust
-s 76
-f 801//1409 802//1410 803//1411 804//1412
-g fuselage
-s 1
-f 805//625 806//626 788//612 787//611
-f 806//626 807//627 789//613 788//612
-f 807//627 793//617 790//614 789//613
-f 753//585 746//582 745//581
-f 705//545 704//544 674//520 677//523
-f 727//567 705//545 677//523 726//566
-f 746//582 727//567 726//566 745//581
-f 725//565 676//522 712//552
-f 713//553 712//552 676//522 675//521
-f 113//232 808//628 809//629 99//218
-f 810//630 809//629 808//628 811//631
-f 812//632 810//630 811//631 813//633
-f 814//634 812//632 813//633 815//635
-f 816//636 814//634 815//635 817//637
-f 818//638 816//636 817//637 819//639
-f 820//640 818//638 819//639 821//641
-f 821//641 822//642 823//643 820//640
-f 824//644 823//643 822//642 825//645
-f 826//646 824//644 825//645 827//647
-f 828//648 826//646 827//647 829//649
-f 830//650 828//648 829//649 831//651
-f 832//652 830//650 831//651 833//653
-f 833//653 142//261 112//231 832//652
-f 808//628 113//232 114//233 678//524
-f 811//631 808//628 678//524 710//550
-f 813//633 811//631 710//550 709//549
-f 815//635 813//633 709//549 702//542
-f 817//637 815//635 702//542 701//541
-f 819//639 817//637 701//541 713//553
-f 821//641 819//639 713//553 675//521
-f 822//642 821//641 675//521 674//520
-f 825//645 822//642 674//520 704//544
-f 827//647 825//645 704//544 707//547
-f 829//649 827//647 707//547 714//554
-f 831//651 829//649 714//554 717//557
-f 833//653 831//651 717//557 680//526
-f 142//261 833//653 680//526 141//260
-f 823//643 824//644 834//654 835//655
-f 820//640 823//643 835//655 836//656
-f 818//638 820//640 836//656 837//657
-f 816//636 818//638 837//657 838//658
-f 838//658 839//659 840//660 814//634 816//636
-f 840//660 841//661 812//632 814//634
-f 841//661 842//662 810//630 812//632
-f 842//662 843//663 809//629 810//630
-f 843//663 156//275 99//218 809//629
-f 844//664 832//652 112//231 157//276
-f 844//664 845//665 830//650 832//652
-f 845//665 846//666 828//648 830//650
-f 846//666 847//667 848//668 826//646 828//648
-f 824//644 826//646 848//668 834//654
-f 849//669 850//670 166//285 156//275 843//663 842//662 841//661 840//660 839//659 851//671
-f 852//672 850//670 853//673 854//674
-f 853//673 835//655 854//674
-f 835//655 855//675 854//674
-f 855//675 856//676 852//672 854//674
-f 848//668 847//667 857//677
-f 839//659 838//658 858//678
-f 165//284 158//277 852//672 856//676
-f 158//277 166//285 850//670 852//672
-f 834//654 859//679 855//675 835//655
-f 859//679 860//680 856//676 855//675
-f 848//668 857//677 859//679 834//654
-f 857//677 847//667 860//680 859//679
-f 835//655 853//673 861//681 836//656
-f 853//673 850//670 849//669 861//681
-f 836//656 861//681 862//682 837//657
-f 861//681 849//669 851//671 862//682
-f 837//657 862//682 858//678 838//658
-f 862//682 851//671 839//659 858//678
-s 11
-f 685//1010 684//1009 847//1016 846//1015
-f 684//1009 683//1008 860//1018 847//1016
-f 683//1008 682//1007 856//1017 860//1018
-s 13
-f 682//1023 181//1022 165//1020 856//1024
-s 11
-f 182//1004 687//1012 844//1013 157//996
-f 687//1012 686//1011 845//1014 844//1013
-f 686//1011 685//1010 846//1015 845//1014
-g exhaust
-s 70
-f 863//1443 864//1444 723//1431 739//1433
-f 864//1444 865//1445 724//1432 723//1431
-f 865//1445 866//1446 744//1434 724//1432
-f 866//1446 867//1447 751//1435 744//1434
-f 867//1447 868//1448 771//1438 751//1435
-f 868//1448 869//1449 787//1440 771//1438
-f 869//1449 870//1450 805//1442 787//1440
-g fuselage
-f 870//1450 871//1451 800//1441 805//1442
-g exhaust
-f 871//1451 872//1452 782//1439 800//1441
-f 872//1452 873//1453 766//1437 782//1439
-f 873//1453 874//1454 762//1436 766//1437
-f 874//1454 863//1443 739//1433 762//1436
-f 875//1455 876//1456 864//1444 863//1443
-f 877//1457 875//1455 863//1443 874//1454
-f 878//1458 877//1457 874//1454 873//1453
-f 879//1459 878//1458 873//1453 872//1452
-f 880//1460 881//1461 879//1459 872//1452 871//1451
-f 882//1462 883//1463 884//1464 870//1450 869//1449
-f 885//1465 882//1462 869//1449 868//1448
-f 886//1466 885//1465 868//1448 867//1447
-f 887//1467 886//1466 867//1447 866//1446
-f 888//1468 887//1467 866//1446 865//1445
-f 876//1456 888//1468 865//1445 864//1444
-f 884//1464 880//1460 871//1451 870//1450
-s 79
-f 889//1493 890//1494 891//1495 892//1496
-s 70
-f 893//1469 894//1470 876//1456 875//1455
-f 894//1470 895//1471 888//1468 876//1456
-f 895//1471 896//1472 887//1467 888//1468
-f 896//1472 893//1469 875//1455 887//1467
-f 897//1473 898//1474 875//1455 877//1457
-f 898//1474 899//1475 887//1467 875//1455
-f 899//1475 900//1476 886//1466 887//1467
-f 900//1476 897//1473 877//1457 886//1466
-f 901//1477 902//1478 877//1457 878//1458
-f 902//1478 903//1479 886//1466 877//1457
-f 903//1479 904//1480 885//1465 886//1466
-f 904//1480 901//1477 878//1458 885//1465
-f 905//1481 906//1482 878//1458 879//1459
-f 906//1482 907//1483 885//1465 878//1458
-f 907//1483 908//1484 882//1462 885//1465
-f 908//1484 905//1481 879//1459 882//1462
-f 909//1485 910//1486 883//1463 882//1462
-f 910//1486 911//1487 881//1461 883//1463
-f 911//1487 912//1488 879//1459 881//1461
-f 912//1488 909//1485 882//1462 879//1459
-f 913//1489 914//1490 881//1461 880//1460
-f 914//1490 915//1491 883//1463 881//1461
-f 915//1491 916//1492 884//1464 883//1463
-f 916//1492 913//1489 880//1460 884//1464
-s 71
-f 917//1329 918//1330 919//1331 920//1332 895//1327 894//1326
-f 920//1332 921//1333 896//1328 895//1327
-s off
-f 922//57 923//57 924//57 925//57 926//57 927//57
-s 71
-f 928//1334 917//1329 894//1326 893//1325
-s off
-f 929//58 930//58 931//58 932//58 899//58 898//58
-s 73
-f 932//1354 933//1355 900//1350 899//1349
-s off
-f 934//59 935//59 936//59 937//59 938//59 939//59
-s 73
-f 940//1356 929//1351 898//1348 897//1347
-s off
-f 941//60 942//60 943//60 944//60 903//60 902//60
-s 74
-f 944//1376 945//1377 904//1372 903//1371
-s off
-f 946//61 947//61 948//61 949//61 950//61 951//61
-s 74
-f 952//1378 941//1373 902//1370 901//1369
-s off
-f 953//62 954//62 955//62 956//62 907//62 906//62
-s 75
-f 956//1398 957//1399 908//1394 907//1393
-s off
-f 958//63 959//63 960//63 961//63 962//63 963//63
-s 75
-f 964//1400 953//1395 906//1392 905//1391
-s off
-f 965//64 966//64 967//64 968//64 969//64 970//64
-s 79
-f 971//1501 972//1502 912//1500 911//1499
-s off
-f 972//65 973//65 974//65 975//65 909//65 912//65
-s 79
-f 975//1505 976//1506 910//1498 909//1497
-s off
-f 977//66 978//66 979//66 980//66 915//66 914//66
-s 76
-f 980//1420 981//1421 916//1416 915//1415
-s off
-f 982//67 983//67 984//67 985//67 986//67 987//67
-s 76
-f 988//1422 977//1417 914//1414 913//1413
-s 71
-f 989//1335 990//1336 991//1337 992//1338
-s 73
-f 993//1357 994//1358 995//1359 996//1360
-s 74
-f 997//1379 998//1380 999//1381 1000//1382
-s 75
-f 1001//1401 1002//1402 1003//1403 1004//1404
-s 79
-f 1005//1507 1006//1508 1007//1509 1008//1510
-s 76
-f 1009//1423 1010//1424 1011//1425 1012//1426
-s 71
-f 1013//1339 1014//1340 1015//1341 1016//1342
-s 73
-f 1017//1361 1018//1362 1019//1363 1020//1364
-s 74
-f 1021//1383 1022//1384 1023//1385 1024//1386
-s 75
-f 1025//1405 1026//1406 1027//1407 1028//1408
-s 79
-f 1029//1511 1030//1512 1031//1513 1032//1514
-s 76
-f 1033//1427 1034//1428 1035//1429 1036//1430
-s 71
-f 991//1337 990//1336 741//1322 740//1321 1013//1339 1016//1342 919//1331 918//1330
-s 73
-f 995//1359 994//1358 748//1344 747//1343 1017//1361 1020//1364 931//1353 930//1352
-s 74
-f 999//1381 998//1380 768//1366 767//1365 1021//1383 1024//1386 943//1375 942//1374
-s 75
-f 1003//1403 1002//1402 784//1388 783//1387 1025//1405 1028//1408 955//1397 954//1396
-s 79
-f 1007//1509 1006//1508 892//1496 891//1495 1029//1511 1032//1514 974//1504 973//1503
-s 76
-f 1011//1425 1010//1424 802//1410 801//1409 1033//1427 1036//1430 979//1419 978//1418
-s 80
-f 1037//1525 1038//1526 1039//1527 896//1518 921//1519
-f 1039//1527 1040//1528 893//1517 896//1518
-f 1040//1528 1041//1529 1042//1530 928//1520 893//1517
-f 1042//1530 1041//1529 1043//1531 1044//1532 989//1521 992//1522
-f 1044//1532 1043//1531 1045//1533 1046//1534 743//1516 742//1515
-f 1046//1534 1045//1533 1038//1526 1037//1525 1015//1524 1014//1523
-s 81
-f 1047//1545 1048//1546 1049//1547 900//1538 933//1539
-f 1049//1547 1050//1548 897//1537 900//1538
-f 1050//1548 1051//1549 1052//1550 940//1540 897//1537
-f 1052//1550 1051//1549 1053//1551 1054//1552 993//1541 996//1542
-f 1054//1552 1053//1551 1055//1553 1056//1554 750//1536 749//1535
-f 1056//1554 1055//1553 1048//1546 1047//1545 1019//1544 1018//1543
-s 82
-f 1057//1565 1058//1566 1059//1567 904//1558 945//1559
-f 1059//1567 1060//1568 901//1557 904//1558
-f 1060//1568 1061//1569 1062//1570 952//1560 901//1557
-f 1062//1570 1061//1569 1063//1571 1064//1572 997//1561 1000//1562
-f 1064//1572 1063//1571 1065//1573 1066//1574 770//1556 769//1555
-f 1066//1574 1065//1573 1058//1566 1057//1565 1023//1564 1022//1563
-s 83
-f 1067//1585 1068//1586 1069//1587 908//1578 957//1579
-f 1069//1587 1070//1588 905//1577 908//1578
-f 1070//1588 1071//1589 1072//1590 964//1580 905//1577
-f 1072//1590 1071//1589 1073//1591 1074//1592 1001//1581 1004//1582
-f 1074//1592 1073//1591 1075//1593 1076//1594 786//1576 785//1575
-f 1076//1594 1075//1593 1068//1586 1067//1585 1027//1584 1026//1583
-s 84
-f 1077//1605 1078//1606 1079//1607 910//1597 976//1600
-f 1079//1607 1080//1608 911//1598 910//1597
-f 1080//1608 1081//1609 1082//1610 971//1599 911//1598
-f 1082//1610 1081//1609 1083//1611 1084//1612 1005//1601 1008//1602
-f 1084//1612 1083//1611 1085//1613 1086//1614 890//1596 889//1595
-f 1086//1614 1085//1613 1078//1606 1077//1605 1031//1604 1030//1603
-s 85
-f 1087//1625 1088//1626 1089//1627 916//1618 981//1619
-f 1089//1627 1090//1628 913//1617 916//1618
-f 1090//1628 1091//1629 1092//1630 988//1620 913//1617
-f 1092//1630 1091//1629 1093//1631 1094//1632 1009//1621 1012//1622
-f 1094//1632 1093//1631 1095//1633 1096//1634 804//1616 803//1615
-f 1096//1634 1095//1633 1088//1626 1087//1625 1035//1624 1034//1623
-s 89
-f 925//1638 924//1637 1043//1641 1041//1640
-f 924//1637 923//1636 1045//1642 1043//1641
-f 923//1636 922//1635 1038//1639 1045//1642
-s off
-f 922//68 927//68 1039//68 1038//68
-f 927//69 926//69 1040//69 1039//69
-f 926//70 925//70 1041//70 1040//70
-s 92
-f 937//1646 936//1645 1053//1649 1051//1648
-f 936//1645 935//1644 1055//1650 1053//1649
-f 935//1644 934//1643 1048//1647 1055//1650
-s off
-f 934//71 939//71 1049//71 1048//71
-f 939//72 938//72 1050//72 1049//72
-f 938//73 937//73 1051//73 1050//73
-s 95
-f 949//1654 948//1653 1063//1657 1061//1656
-f 948//1653 947//1652 1065//1658 1063//1657
-f 947//1652 946//1651 1058//1655 1065//1658
-s off
-f 946//74 951//74 1059//74 1058//74
-f 951//75 950//75 1060//75 1059//75
-f 950//76 949//76 1061//76 1060//76
-s 98
-f 961//1662 960//1661 1073//1665 1071//1664
-f 960//1661 959//1660 1075//1666 1073//1665
-f 959//1660 958//1659 1068//1663 1075//1666
-s off
-f 958//77 963//77 1069//77 1068//77
-f 963//78 962//78 1070//78 1069//78
-f 962//79 961//79 1071//79 1070//79
-s 99
-f 968//1670 967//1669 1083//1673 1081//1672
-f 967//1669 966//1668 1085//1674 1083//1673
-f 966//1668 965//1667 1078//1671 1085//1674
-s off
-f 965//80 970//80 1079//80 1078//80
-f 970//81 969//81 1080//81 1079//81
-f 969//82 968//82 1081//82 1080//82
-s 104
-f 985//1678 984//1677 1093//1681 1091//1680
-f 984//1677 983//1676 1095//1682 1093//1681
-f 983//1676 982//1675 1088//1679 1095//1682
-s off
-f 982//83 987//83 1089//83 1088//83
-f 987//84 986//84 1090//84 1089//84
-f 986//85 985//85 1091//85 1090//85
-f 1094//86 803//86 1009//86
-f 1096//87 1034//87 804//87
-s 76
-f 978//1418 977//1417 1011//1425
-s off
-f 1092//88 1012//88 988//88
-s 79
-f 973//1503 972//1502 1007//1509
-s off
-f 1082//89 1008//89 971//89
-f 1084//90 889//90 1005//90
-f 1086//91 1030//91 890//91
-f 1076//92 1026//92 786//92
-f 1074//93 785//93 1001//93
-s 75
-f 954//1396 953//1395 1003//1403
-s off
-f 1072//94 1004//94 964//94
-s 74
-f 942//1374 941//1373 999//1381
-s off
-f 1062//95 1000//95 952//95
-f 1064//96 769//96 997//96
-f 1066//97 1022//97 770//97
-s 73
-f 930//1352 929//1351 995//1359
-s off
-f 1052//98 996//98 940//98
-f 1054//99 749//99 993//99
-f 1056//100 1018//100 750//100
-s 71
-f 918//1330 917//1329 991//1337
-s off
-f 1042//101 992//101 928//101
-f 1044//102 742//102 989//102
-f 1046//103 1014//103 743//103
-f 1037//104 921//104 1015//104
-s 71
-f 919//1331 1016//1342 920//1332
-s off
-f 1047//105 933//105 1019//105
-s 73
-f 931//1353 1020//1364 932//1354
-s off
-f 1057//106 945//106 1023//106
-s 74
-f 943//1375 1024//1386 944//1376
-s off
-f 1067//107 957//107 1027//107
-s 75
-f 955//1397 1028//1408 956//1398
-s off
-f 1077//108 976//108 1031//108
-s 79
-f 974//1504 1032//1514 975//1505
-s off
-f 1087//109 981//109 1035//109
-s 76
-f 979//1419 1036//1430 980//1420
-f 1010//1424 1009//1423 803//1411 802//1410
-f 1034//1428 1033//1427 801//1409 804//1412
-f 1012//1426 1011//1425 977//1417 988//1422
-s 79
-f 1008//1510 1007//1509 972//1502 971//1501
-f 1006//1508 1005//1507 889//1493 892//1496
-f 1030//1512 1029//1511 891//1495 890//1494
-s 75
-f 1026//1406 1025//1405 783//1387 786//1390
-f 1002//1402 1001//1401 785//1389 784//1388
-f 1004//1404 1003//1403 953//1395 964//1400
-s 74
-f 1000//1382 999//1381 941//1373 952//1378
-f 998//1380 997//1379 769//1367 768//1366
-f 1022//1384 1021//1383 767//1365 770//1368
-s 73
-f 996//1360 995//1359 929//1351 940//1356
-f 994//1358 993//1357 749//1345 748//1344
-f 1018//1362 1017//1361 747//1343 750//1346
-s 71
-f 992//1338 991//1337 917//1329 928//1334
-f 990//1336 989//1335 742//1323 741//1322
-f 1014//1340 1013//1339 740//1321 743//1324
-f 1016//1342 1015//1341 921//1333 920//1332
-s 73
-f 1020//1364 1019//1363 933//1355 932//1354
-s 74
-f 1024//1386 1023//1385 945//1377 944//1376
-s 75
-f 1028//1408 1027//1407 957//1399 956//1398
-s 79
-f 1032//1514 1031//1513 976//1506 975//1505
-s 76
-f 1036//1430 1035//1429 981//1421 980//1420
-g fuselage
-s 1
-f 1097//683 1098//684 806//626 805//625
-f 1098//684 1099//685 807//627 806//626
-f 1099//685 1100//686 793//617 807//627
-g wings
-f 1101//687 1102//688 1103//689 1104//690
-g fuselage
-f 1105//691 444//301 78//197 795//619
-f 445//302 1106//692 796//620 79//198
-f 1106//692 1107//693 797//621 796//620
-f 1107//693 1108//694 798//622 797//621
-f 1108//694 1109//695 799//623 798//622
-f 1109//695 1110//696 800//624 799//623
-f 1110//696 1097//683 805//625 800//624
-g canopy
-f 1111//697 1112//698 1113//699 1114//700 1115//701 1108//694
-g fuselage
-f 1116//702 1117//703 1118//704 1110//696 1109//695
-f 1118//704 1119//705 1097//683 1110//696
-f 1119//705 1120//706 1098//684 1097//683
-f 1120//706 1121//707 1099//685 1098//684
-f 1121//707 1122//708 1100//686 1099//685
-f 1123//709 458//315 444//301 1105//691
-g canopy
-f 1124//710 1125//711 1126//712 1107//693 1106//692 445//302 486//343
-f 1108//694 1107//693 1126//712 1111//697
-f 1127//713 1128//714 1129//715 473//330 460//317 1130//716 1131//717
-f 1132//718 1128//714 1127//713 1131//717 1133//719 1134//720
-f 1135//721 1133//719 1136//722 1137//723
-g fuselage
-f 1138//724 1118//704 1117//703 1139//725 1140//726 1141//727
-f 1138//724 1142//728 1119//705 1118//704
-f 1142//728 1143//729 1120//706 1119//705
-f 1143//729 1144//730 1121//707 1120//706
-f 1144//730 1145//731 1122//708 1121//707
-f 1146//732 472//329 458//315 1123//709
-f 1116//702 1109//695 1108//694 1115//701
-g canopy
-f 487//344 473//330 1129//715 1147//733
-f 1148//734 1149//735 1150//736 1128//714 1132//718 1151//737
-g fuselage
-f 1117//703 1116//702 1114//700
-f 1116//702 1115//701 1114//700
-f 1136//722 1141//727 1152//738
-g canopy
-f 1153//739 1154//740 1155//741 1114//700
-g fuselage
-f 1156//742 1157//743 1114//700 1155//741
-f 1157//743 1139//725 1117//703 1114//700
-f 1137//723 1158//744 1157//743 1156//742
-f 1158//744 1140//726 1139//725 1157//743
-f 1136//722 1152//738 1158//744 1137//723
-f 1152//738 1141//727 1140//726 1158//744
-g canopy
-f 1125//711 1159//745 1160//746 1112//698
-f 1161//747 1149//735 1148//734 1162//748
-f 486//343 459//316 1163//749 1124//710
-f 459//316 487//344 1147//733 1164//750
-f 1160//746 1162//748 1153//739 1113//699
-f 1163//749 1164//750 1161//747 1159//745
-f 1133//719 1135//721 1134//720
-f 1161//747 1162//748 1160//746 1159//745
-f 1164//750 1147//733 1149//735 1161//747
-f 1164//750 1163//749 459//316
-f 1159//745 1125//711 1124//710 1163//749
-f 1125//711 1112//698 1111//697 1126//712
-f 1113//699 1112//698 1160//746
-f 1153//739 1114//700 1113//699
-f 1162//748 1148//734 1154//740 1153//739
-f 1154//740 1148//734 1151//737 1165//751
-f 1165//751 1151//737 1132//718 1166//752
-f 1166//752 1132//718 1134//720 1135//721
-f 1156//742 1165//751 1166//752 1137//723
-f 1155//741 1154//740 1165//751 1156//742
-f 1166//752 1135//721 1137//723
-f 1128//714 1150//736 1149//735 1147//733 1129//715
-g fuselage
-f 1145//731 1167//753 1168//754 1169//755
-f 518//375 1170//756 1130//716 460//317
-f 1170//756 1171//757 1131//717 1130//716
-f 1171//757 1172//758 1133//719 1131//717
-f 1172//758 1173//759 1136//722 1133//719
-f 1173//759 1174//760 1141//727 1136//722
-f 1174//760 1175//761 1138//724 1141//727
-f 1175//761 1176//762 1142//728 1138//724
-f 1176//762 1177//763 1143//729 1142//728
-f 1177//763 1167//753 1144//730 1143//729
-f 1167//753 1145//731 1144//730
-f 1178//764 1179//765 1167//753 1177//763
-f 1179//765 1180//766 1168//754 1167//753
-f 1180//766 1181//767 1182//768 1168//754
-f 1181//767 1183//769 1184//770 1182//768
-f 1183//769 534//391 517//374 1184//770
-f 535//392 1185//771 1170//756 518//375
-f 1185//771 1186//772 1171//757 1170//756
-f 1186//772 1187//773 1172//758 1171//757
-f 1187//773 1188//774 1173//759 1172//758
-f 1188//774 1189//775 1174//760 1173//759
-f 1189//775 1190//776 1175//761 1174//760
-f 1190//776 1191//777 1176//762 1175//761
-f 1191//777 1178//764 1177//763 1176//762
-f 1192//778 1193//779 577//433 576//432 1194//780 1195//781
-g wings
-f 1196//782 1197//783 1122//708 1145//731
-f 1197//783 1198//784 1100//686 1122//708
-f 1198//784 1199//785 793//617 1100//686
-f 1199//785 1200//786 794//618 793//617
-f 1200//786 1201//787 795//619 794//618
-f 1201//787 1202//788 1105//691 795//619
-f 1202//788 1203//789 1123//709 1105//691
-f 1203//789 1204//790 1146//732 1123//709
-s 110
-f 1204//1687 1196//1686 1145//1683 1169//1685 1146//1684
-s 1
-f 1205//791 1206//792 1199//785 1198//784
-f 1206//792 1207//793 1200//786 1199//785
-f 1207//793 1208//794 1201//787 1200//786
-f 1208//794 1209//795 1202//788 1201//787
-f 1209//795 1210//796 1203//789 1202//788
-f 1210//796 1211//797 1204//790 1203//789
-s 110
-f 1211//1688 1212//1689 1196//1686 1204//1687
-s 1
-f 1212//798 1213//799 1197//783 1196//782
-f 1213//799 1205//791 1198//784 1197//783
-f 1102//688 1101//687 1212//798 1211//797
-f 1101//687 1104//690 1213//799 1212//798
-f 1104//690 1214//800 1205//791 1213//799
-f 1214//800 1215//801 1206//792 1205//791
-f 1215//801 1216//802 1207//793 1206//792
-f 1216//802 1217//803 1208//794 1207//793
-f 1217//803 1218//804 1209//795 1208//794
-f 1218//804 1103//689 1210//796 1209//795
-f 1103//689 1102//688 1211//797 1210//796
-g fuselage
-f 1219//805 1220//806 1168//754 1182//768
-f 1220//806 1221//807 1169//755 1168//754
-f 1221//807 1146//732 1169//755
-f 574//430 1222//808 1184//770 517//374
-f 1222//808 1219//805 1182//768 1184//770
-s 52
-f 472//1285 1146//1290 1221//1292 573//1287
-s 1
-f 577//433 1193//779 1222//808 574//430
-f 1193//779 1192//778 1219//805 1222//808
-f 1192//778 1195//781 1220//806 1219//805
-f 1195//781 1194//780 1221//807 1220//806
-s 52
-f 1194//1291 576//1288 573//1287 1221//1292
-g wings
-s 1
-f 1217//803 1216//802 1215//801 1214//800 1218//804
-f 1218//804 1214//800 1104//690 1103//689
-g fuselage
-f 1223//809 1224//810 1190//776 1189//775
-f 1224//810 1225//811 1191//777 1190//776
-f 1225//811 1226//812 1178//764 1191//777
-f 1226//812 1227//813 1179//765 1178//764
-f 1227//813 1228//814 1180//766 1179//765
-f 1228//814 1229//815 1181//767 1180//766
-f 1229//815 1230//816 1183//769 1181//767
-f 1230//816 590//446 534//391 1183//769
-f 591//447 1231//817 1185//771 535//392
-f 1231//817 1232//818 1186//772 1185//771
-f 1232//818 1233//819 1187//773 1186//772
-f 1233//819 1234//820 1188//774 1187//773
-f 1234//820 1223//809 1189//775 1188//774
-f 1235//821 1236//822 1233//819 1232//818
-f 1236//822 1237//823 1234//820 1233//819
-f 1237//823 1238//824 1223//809 1234//820
-f 1238//824 1239//825 1224//810 1223//809
-f 1239//825 1240//826 1225//811 1224//810
-f 1240//826 1241//827 1226//812 1225//811
-f 1241//827 1242//828 1227//813 1226//812
-f 1242//828 1243//829 1228//814 1227//813
-f 1243//829 1244//830 1229//815 1228//814
-f 1244//830 1245//831 1230//816 1229//815
-f 1245//831 607//463 590//446 1230//816
-f 608//464 1246//832 1231//817 591//447
-f 1246//832 1235//821 1232//818 1231//817
-f 611//467 1247//833 1246//832 608//464
-f 1247//833 1248//834 1235//821 1246//832
-f 1248//834 1249//835 1236//822 1235//821
-f 1249//835 1250//836 1237//823 1236//822
-f 1250//836 1251//837 1238//824 1237//823
-f 1251//837 1252//838 1239//825 1238//824
-f 1252//838 1253//839 1240//826 1239//825
-f 1253//839 1254//840 1241//827 1240//826
-f 1254//840 1255//841 1242//828 1241//827
-f 1255//841 1256//842 1243//829 1242//828
-f 1256//842 1257//843 1244//830 1243//829
-f 1257//843 1258//844 1245//831 1244//830
-f 1258//844 610//466 607//463 1245//831
-f 1259//845 1260//846 1257//843 1256//842
-f 1260//846 1261//847 1258//844 1257//843
-f 1261//847 627//483 610//466 1258//844
-g wings
-f 628//484 1262//848 1247//833 611//467
-f 1262//848 1263//849 1248//834 1247//833
-g fuselage
-f 1263//849 1264//850 1249//835 1248//834
-f 1264//850 1265//851 1250//836 1249//835
-f 1265//851 1266//852 1251//837 1250//836
-f 1266//852 1267//853 1252//838 1251//837
-f 1267//853 1268//854 1253//839 1252//838
-f 1268//854 1269//855 1254//840 1253//839
-f 1269//855 1270//856 1255//841 1254//840
-f 1270//856 1259//845 1256//842 1255//841
-f 1271//857 1272//858 1269//855 1268//854
-f 1272//858 1273//859 1270//856 1269//855
-f 1273//859 1274//860 1259//845 1270//856
-f 1274//860 1275//861 1260//846 1259//845
-f 1275//861 1276//862 1261//847 1260//846
-f 1276//862 644//500 627//483 1261//847
-g wings
-s off
-f 645//110 1277//110 1262//110 628//110
-s 1
-f 1277//863 1278//864 1262//848
-g fuselage
-f 1278//864 1279//865 1264//850 1263//849
-f 1279//865 1280//866 1265//851 1264//850
-f 1280//866 1281//867 1266//852 1265//851
-f 1281//867 1282//868 1267//853 1266//852
-g wings
-s 112
-f 1283//1692 1284//1693 1285//1694 1286//1695
-g fuselage
-s 1
-f 697//537 696//536 1281//867 1280//866
-f 696//536 695//535 1282//868 1281//867
-f 695//535 694//534 1271//857 1282//868
-f 694//534 693//533 1272//858 1271//857
-f 693//533 692//532 1273//859 1272//858
-f 692//532 691//531 1274//860 1273//859
-f 691//531 690//530 1275//861 1274//860
-f 690//530 689//529 1276//862 1275//861
-f 689//529 661//516 644//500 1276//862
-g wings
-s 61
-f 662//1305 688//1307 1277//1308 645//1303
-s 1
-f 688//528 699//539 1278//864 1277//863
-g fuselage
-f 699//539 698//538 1279//865 1278//864
-f 698//538 697//537 1280//866 1279//865
-g wings
-s 113
-f 1287//1704 1288//1705 1267//1700 1282//1701
-s 112
-f 1288//1697 1289//1698 1268//1691 1267//1690
-s 114
-f 1289//1710 1290//1711 1271//1707 1268//1706
-s off
-f 1290//111 1287//111 1282//111 1271//111
-s 114
-f 1286//1709 1285//1708 1290//1711 1289//1710
-s 112
-f 1285//1694 1284//1693 1287//1696 1290//1699
-s 113
-f 1284//1703 1283//1702 1288//1705 1287//1704
-s 112
-f 1283//1692 1286//1695 1289//1698 1288//1697
-g prop
-s 115
-f 1294//1715 1293//1714 1292//1713 1291//1712
-f 1291//1712 1292//1713 1296//1717 1295//1716
-f 1295//1716 1296//1717 1298//1719 1297//1718
-f 1297//1718 1298//1719 1300//1721 1299//1720
-f 1299//1720 1300//1721 1302//1723 1301//1722
-f 1301//1722 1302//1723 1304//1725 1303//1724
-f 1303//1724 1304//1725 1306//1727 1305//1726
-f 1305//1726 1306//1727 1308//1729 1307//1728
-s 118
-f 1312//1733 1311//1732 1310//1731 1309//1730
-f 1314//1735 1313//1734 1311//1732 1312//1733
-f 1316//1737 1315//1736 1313//1734 1314//1735
-f 1318//1739 1317//1738 1315//1736 1316//1737
-f 1320//1741 1319//1740 1317//1738 1318//1739
-f 1322//1743 1321//1742 1319//1740 1320//1741
-f 1324//1745 1323//1744 1321//1742 1322//1743
-f 1326//1747 1325//1746 1323//1744 1324//1745
-s 116
-f 1309//1757 1294//1749 1291//1748 1312//1758
-f 1312//1758 1291//1748 1295//1750 1314//1759
-f 1314//1759 1295//1750 1297//1751 1316//1760
-f 1316//1760 1297//1751 1299//1752 1318//1761
-f 1318//1761 1299//1752 1301//1753 1320//1762
-f 1320//1762 1301//1753 1303//1754 1322//1763
-f 1322//1763 1303//1754 1305//1755 1324//1764
-f 1324//1764 1305//1755 1307//1756 1326//1765
-s 117
-f 1325//1783 1308//1774 1306//1773 1323//1782
-f 1323//1782 1306//1773 1304//1772 1321//1781
-f 1321//1781 1304//1772 1302//1771 1319//1780
-f 1319//1780 1302//1771 1300//1770 1317//1779
-f 1317//1779 1300//1770 1298//1769 1315//1778
-f 1315//1778 1298//1769 1296//1768 1313//1777
-f 1313//1777 1296//1768 1292//1766 1311//1776
-f 1311//1776 1292//1766 1293//1767 1310//1775
-s off
-f 1309//112 1310//112 1293//112 1294//112
-f 1307//113 1308//113 1325//113 1326//113
-s 119
-f 1330//1787 1329//1786 1328//1785 1327//1784
-f 1327//1784 1328//1785 1332//1789 1331//1788
-f 1331//1788 1332//1789 1334//1791 1333//1790
-f 1333//1790 1334//1791 1336//1793 1335//1792
-f 1335//1792 1336//1793 1338//1795 1337//1794
-f 1337//1794 1338//1795 1340//1797 1339//1796
-f 1339//1796 1340//1797 1342//1799 1341//1798
-f 1341//1798 1342//1799 1344//1801 1343//1800
-s 122
-f 1348//1805 1347//1804 1346//1803 1345//1802
-f 1350//1807 1349//1806 1347//1804 1348//1805
-f 1352//1809 1351//1808 1349//1806 1350//1807
-f 1354//1811 1353//1810 1351//1808 1352//1809
-f 1356//1813 1355//1812 1353//1810 1354//1811
-f 1358//1815 1357//1814 1355//1812 1356//1813
-f 1360//1817 1359//1816 1357//1814 1358//1815
-f 1362//1819 1361//1818 1359//1816 1360//1817
-s 120
-f 1345//1829 1330//1821 1327//1820 1348//1830
-f 1348//1830 1327//1820 1331//1822 1350//1831
-f 1350//1831 1331//1822 1333//1823 1352//1832
-f 1352//1832 1333//1823 1335//1824 1354//1833
-f 1354//1833 1335//1824 1337//1825 1356//1834
-f 1356//1834 1337//1825 1339//1826 1358//1835
-f 1358//1835 1339//1826 1341//1827 1360//1836
-f 1360//1836 1341//1827 1343//1828 1362//1837
-s 121
-f 1361//1855 1344//1846 1342//1845 1359//1854
-f 1359//1854 1342//1845 1340//1844 1357//1853
-f 1357//1853 1340//1844 1338//1843 1355//1852
-f 1355//1852 1338//1843 1336//1842 1353//1851
-f 1353//1851 1336//1842 1334//1841 1351//1850
-f 1351//1850 1334//1841 1332//1840 1349//1849
-f 1349//1849 1332//1840 1328//1838 1347//1848
-f 1347//1848 1328//1838 1329//1839 1346//1847
-s off
-f 1345//114 1346//114 1329//114 1330//114
-f 1343//115 1344//115 1361//115 1362//115
-s 123
-f 1366//1859 1365//1858 1364//1857 1363//1856
-f 1363//1856 1364//1857 1368//1861 1367//1860
-f 1367//1860 1368//1861 1370//1863 1369//1862
-f 1369//1862 1370//1863 1372//1865 1371//1864
-f 1371//1864 1372//1865 1374//1867 1373//1866
-f 1373//1866 1374//1867 1376//1869 1375//1868
-f 1375//1868 1376//1869 1378//1871 1377//1870
-f 1377//1870 1378//1871 1380//1873 1379//1872
-s 126
-f 1384//1877 1383//1876 1382//1875 1381//1874
-f 1386//1879 1385//1878 1383//1876 1384//1877
-f 1388//1881 1387//1880 1385//1878 1386//1879
-f 1390//1883 1389//1882 1387//1880 1388//1881
-f 1392//1885 1391//1884 1389//1882 1390//1883
-f 1394//1887 1393//1886 1391//1884 1392//1885
-f 1396//1889 1395//1888 1393//1886 1394//1887
-f 1398//1891 1397//1890 1395//1888 1396//1889
-s 124
-f 1381//1901 1366//1893 1363//1892 1384//1902
-f 1384//1902 1363//1892 1367//1894 1386//1903
-f 1386//1903 1367//1894 1369//1895 1388//1904
-f 1388//1904 1369//1895 1371//1896 1390//1905
-f 1390//1905 1371//1896 1373//1897 1392//1906
-f 1392//1906 1373//1897 1375//1898 1394//1907
-f 1394//1907 1375//1898 1377//1899 1396//1908
-f 1396//1908 1377//1899 1379//1900 1398//1909
-s 125
-f 1397//1927 1380//1918 1378//1917 1395//1926
-f 1395//1926 1378//1917 1376//1916 1393//1925
-f 1393//1925 1376//1916 1374//1915 1391//1924
-f 1391//1924 1374//1915 1372//1914 1389//1923
-f 1389//1923 1372//1914 1370//1913 1387//1922
-f 1387//1922 1370//1913 1368//1912 1385//1921
-f 1385//1921 1368//1912 1364//1910 1383//1920
-f 1383//1920 1364//1910 1365//1911 1382//1919
-s off
-f 1381//116 1382//116 1365//116 1366//116
-f 1379//117 1380//117 1397//117 1398//117
-s 127
-f 1402//1931 1401//1930 1400//1929 1399//1928
-f 1399//1928 1400//1929 1404//1933 1403//1932
-f 1403//1932 1404//1933 1406//1935 1405//1934
-f 1405//1934 1406//1935 1408//1937 1407//1936
-f 1407//1936 1408//1937 1410//1939 1409//1938
-f 1409//1938 1410//1939 1412//1941 1411//1940
-f 1411//1940 1412//1941 1414//1943 1413//1942
-f 1413//1942 1414//1943 1416//1945 1415//1944
-s 130
-f 1420//1949 1419//1948 1418//1947 1417//1946
-f 1422//1951 1421//1950 1419//1948 1420//1949
-f 1424//1953 1423//1952 1421//1950 1422//1951
-f 1426//1955 1425//1954 1423//1952 1424//1953
-f 1428//1957 1427//1956 1425//1954 1426//1955
-f 1430//1959 1429//1958 1427//1956 1428//1957
-f 1432//1961 1431//1960 1429//1958 1430//1959
-f 1434//1963 1433//1962 1431//1960 1432//1961
-s 128
-f 1417//1973 1402//1965 1399//1964 1420//1974
-f 1420//1974 1399//1964 1403//1966 1422//1975
-f 1422//1975 1403//1966 1405//1967 1424//1976
-f 1424//1976 1405//1967 1407//1968 1426//1977
-f 1426//1977 1407//1968 1409//1969 1428//1978
-f 1428//1978 1409//1969 1411//1970 1430//1979
-f 1430//1979 1411//1970 1413//1971 1432//1980
-f 1432//1980 1413//1971 1415//1972 1434//1981
-s 129
-f 1433//1999 1416//1990 1414//1989 1431//1998
-f 1431//1998 1414//1989 1412//1988 1429//1997
-f 1429//1997 1412//1988 1410//1987 1427//1996
-f 1427//1996 1410//1987 1408//1986 1425//1995
-f 1425//1995 1408//1986 1406//1985 1423//1994
-f 1423//1994 1406//1985 1404//1984 1421//1993
-f 1421//1993 1404//1984 1400//1982 1419//1992
-f 1419//1992 1400//1982 1401//1983 1418//1991
-s off
-f 1417//118 1418//118 1401//118 1402//118
-f 1415//119 1416//119 1433//119 1434//119
-s 131
-f 1435//2000 1443//2005 1436//2001
-f 1436//2001 1443//2005 1444//2006 1437//2002
-f 1437//2002 1444//2006 1445//2007 1438//2003
-f 1438//2003 1445//2007 1446//2008 1439//2004
-s 132
-f 1439//2049 1446//2051 1447//2052 1440//2050
-s 133
-f 1440//2073 1447//2075 1448//2076 1441//2074
-s 134
-f 1441//2097 1448//2099 1442//2098
-s 131
-f 1435//2000 1449//2009 1443//2005
-f 1443//2005 1449//2009 1450//2010 1444//2006
-f 1444//2006 1450//2010 1451//2011 1445//2007
-f 1445//2007 1451//2011 1452//2012 1446//2008
-s 132
-f 1446//2051 1452//2053 1453//2054 1447//2052
-s 133
-f 1447//2075 1453//2077 1454//2078 1448//2076
-s 134
-f 1448//2099 1454//2100 1442//2098
-s 131
-f 1435//2000 1455//2013 1449//2009
-f 1449//2009 1455//2013 1456//2014 1450//2010
-f 1450//2010 1456//2014 1457//2015 1451//2011
-f 1451//2011 1457//2015 1458//2016 1452//2012
-s 132
-f 1452//2053 1458//2055 1459//2056 1453//2054
-s 133
-f 1453//2077 1459//2079 1460//2080 1454//2078
-s 134
-f 1454//2100 1460//2101 1442//2098
-s 131
-f 1435//2000 1461//2017 1455//2013
-f 1455//2013 1461//2017 1462//2018 1456//2014
-f 1456//2014 1462//2018 1463//2019 1457//2015
-f 1457//2015 1463//2019 1464//2020 1458//2016
-s 132
-f 1458//2055 1464//2057 1465//2058 1459//2056
-s 133
-f 1459//2079 1465//2081 1466//2082 1460//2080
-s 134
-f 1460//2101 1466//2102 1442//2098
-s 131
-f 1435//2000 1467//2021 1461//2017
-f 1461//2017 1467//2021 1468//2022 1462//2018
-f 1462//2018 1468//2022 1469//2023 1463//2019
-f 1463//2019 1469//2023 1470//2024 1464//2020
-s 132
-f 1464//2057 1470//2059 1471//2060 1465//2058
-s 133
-f 1465//2081 1471//2083 1472//2084 1466//2082
-s 134
-f 1466//2102 1472//2103 1442//2098
-s 131
-f 1435//2000 1473//2025 1467//2021
-f 1467//2021 1473//2025 1474//2026 1468//2022
-f 1468//2022 1474//2026 1475//2027 1469//2023
-f 1469//2023 1475//2027 1476//2028 1470//2024
-s 132
-f 1470//2059 1476//2061 1477//2062 1471//2060
-s 133
-f 1471//2083 1477//2085 1478//2086 1472//2084
-s 134
-f 1472//2103 1478//2104 1442//2098
-s 131
-f 1435//2000 1479//2029 1473//2025
-f 1473//2025 1479//2029 1480//2030 1474//2026
-f 1474//2026 1480//2030 1481//2031 1475//2027
-f 1475//2027 1481//2031 1482//2032 1476//2028
-s 132
-f 1476//2061 1482//2063 1483//2064 1477//2062
-s 133
-f 1477//2085 1483//2087 1484//2088 1478//2086
-s 134
-f 1478//2104 1484//2105 1442//2098
-s 131
-f 1435//2000 1485//2033 1479//2029
-f 1479//2029 1485//2033 1486//2034 1480//2030
-f 1480//2030 1486//2034 1487//2035 1481//2031
-f 1481//2031 1487//2035 1488//2036 1482//2032
-s 132
-f 1482//2063 1488//2065 1489//2066 1483//2064
-s 133
-f 1483//2087 1489//2089 1490//2090 1484//2088
-s 134
-f 1484//2105 1490//2106 1442//2098
-s 131
-f 1435//2000 1491//2037 1485//2033
-f 1485//2033 1491//2037 1492//2038 1486//2034
-f 1486//2034 1492//2038 1493//2039 1487//2035
-f 1487//2035 1493//2039 1494//2040 1488//2036
-s 132
-f 1488//2065 1494//2067 1495//2068 1489//2066
-s 133
-f 1489//2089 1495//2091 1496//2092 1490//2090
-s 134
-f 1490//2106 1496//2107 1442//2098
-s 131
-f 1435//2000 1497//2041 1491//2037
-f 1491//2037 1497//2041 1498//2042 1492//2038
-f 1492//2038 1498//2042 1499//2043 1493//2039
-f 1493//2039 1499//2043 1500//2044 1494//2040
-s 132
-f 1494//2067 1500//2069 1501//2070 1495//2068
-s 133
-f 1495//2091 1501//2093 1502//2094 1496//2092
-s 134
-f 1496//2107 1502//2108 1442//2098
-s 131
-f 1435//2000 1503//2045 1497//2041
-f 1497//2041 1503//2045 1504//2046 1498//2042
-f 1498//2042 1504//2046 1505//2047 1499//2043
-f 1499//2043 1505//2047 1506//2048 1500//2044
-s 132
-f 1500//2069 1506//2071 1507//2072 1501//2070
-s 133
-f 1501//2093 1507//2095 1508//2096 1502//2094
-s 134
-f 1502//2108 1508//2109 1442//2098
-s 131
-f 1435//2000 1436//2001 1503//2045
-f 1503//2045 1436//2001 1437//2002 1504//2046
-f 1504//2046 1437//2002 1438//2003 1505//2047
-f 1505//2047 1438//2003 1439//2004 1506//2048
-s 132
-f 1506//2071 1439//2049 1440//2050 1507//2072
-s 133
-f 1507//2095 1440//2073 1441//2074 1508//2096
-s 134
-f 1508//2109 1441//2097 1442//2098
-g wings
-s 1
-f 1278//864 1263//849 1262//848
-f 629//485 630//486 647//502
-s 62
-f 663//2121 664//2122 699//2135 662//2120
-f 662//2120 699//2135 688//2124
-g fuselage
-f 664//2122 665//2123 698//2134 699//2135
-f 665//2123 652//2110 697//2133 698//2134
-f 652//2110 653//2111 696//2132 697//2133
-f 653//2111 654//2112 695//2131 696//2132
-f 654//2112 655//2113 694//2130 695//2131
-f 655//2113 656//2114 693//2129 694//2130
-f 656//2114 657//2115 692//2128 693//2129
-f 657//2115 658//2116 691//2127 692//2128
-f 658//2116 659//2117 690//2126 691//2127
-f 659//2117 660//2118 661//2119
-f 690//2126 661//2119 689//2125
-f 659//2117 661//2119 690//2126
-# 1430 elements
diff --git a/src/geometry/products.rgb b/src/geometry/products.rgb
deleted file mode 100644
index 0586d1f..0000000
--- a/src/geometry/products.rgb
+++ /dev/null
Binary files differ
diff --git a/src/geometry/pumps.int b/src/geometry/pumps.int
deleted file mode 100644
index 359b7b3..0000000
--- a/src/geometry/pumps.int
+++ /dev/null
Binary files differ
diff --git a/src/geometry/thdoor.inta b/src/geometry/thdoor.inta
deleted file mode 100644
index 7f8c084..0000000
--- a/src/geometry/thdoor.inta
+++ /dev/null
Binary files differ
diff --git a/src/geometry/window.inta b/src/geometry/window.inta
deleted file mode 100644
index cbfca58..0000000
--- a/src/geometry/window.inta
+++ /dev/null
Binary files differ
diff --git a/src/images/Java3d.jpg b/src/images/Java3d.jpg
deleted file mode 100644
index b6e6090..0000000
--- a/src/images/Java3d.jpg
+++ /dev/null
Binary files differ
diff --git a/src/images/animation1.gif b/src/images/animation1.gif
deleted file mode 100644
index 6bba810..0000000
--- a/src/images/animation1.gif
+++ /dev/null
Binary files differ
diff --git a/src/images/animation10.gif b/src/images/animation10.gif
deleted file mode 100644
index cb04e3a..0000000
--- a/src/images/animation10.gif
+++ /dev/null
Binary files differ
diff --git a/src/images/animation2.gif b/src/images/animation2.gif
deleted file mode 100644
index c20aefe..0000000
--- a/src/images/animation2.gif
+++ /dev/null
Binary files differ
diff --git a/src/images/animation3.gif b/src/images/animation3.gif
deleted file mode 100644
index 4813a7c..0000000
--- a/src/images/animation3.gif
+++ /dev/null
Binary files differ
diff --git a/src/images/animation4.gif b/src/images/animation4.gif
deleted file mode 100644
index c4d0083..0000000
--- a/src/images/animation4.gif
+++ /dev/null
Binary files differ
diff --git a/src/images/animation5.gif b/src/images/animation5.gif
deleted file mode 100644
index b41fb5d..0000000
--- a/src/images/animation5.gif
+++ /dev/null
Binary files differ
diff --git a/src/images/animation6.gif b/src/images/animation6.gif
deleted file mode 100644
index ce9015f..0000000
--- a/src/images/animation6.gif
+++ /dev/null
Binary files differ
diff --git a/src/images/animation7.gif b/src/images/animation7.gif
deleted file mode 100644
index 2f1face..0000000
--- a/src/images/animation7.gif
+++ /dev/null
Binary files differ
diff --git a/src/images/animation8.gif b/src/images/animation8.gif
deleted file mode 100644
index 7ed54bf..0000000
--- a/src/images/animation8.gif
+++ /dev/null
Binary files differ
diff --git a/src/images/animation9.gif b/src/images/animation9.gif
deleted file mode 100644
index e629b8c..0000000
--- a/src/images/animation9.gif
+++ /dev/null
Binary files differ
diff --git a/src/images/apimage.jpg b/src/images/apimage.jpg
deleted file mode 100644
index ab80a4a..0000000
--- a/src/images/apimage.jpg
+++ /dev/null
Binary files differ
diff --git a/src/images/bg.jpg b/src/images/bg.jpg
deleted file mode 100644
index 556babe..0000000
--- a/src/images/bg.jpg
+++ /dev/null
Binary files differ
diff --git a/src/images/earth.jpg b/src/images/earth.jpg
deleted file mode 100644
index 95f004b..0000000
--- a/src/images/earth.jpg
+++ /dev/null
Binary files differ
diff --git a/src/images/one.jpg b/src/images/one.jpg
deleted file mode 100644
index 1eaee12..0000000
--- a/src/images/one.jpg
+++ /dev/null
Binary files differ
diff --git a/src/images/stone.jpg b/src/images/stone.jpg
deleted file mode 100644
index ab80a4a..0000000
--- a/src/images/stone.jpg
+++ /dev/null
Binary files differ
diff --git a/src/images/ttimage.jpg b/src/images/ttimage.jpg
deleted file mode 100644
index f3eecb6..0000000
--- a/src/images/ttimage.jpg
+++ /dev/null
Binary files differ
diff --git a/www/index.html b/www/index.html
index 15d9851..ac41c06 100644
--- a/www/index.html
+++ b/www/index.html
@@ -25,7 +25,7 @@ information, including contributing to Java&nbsp;3D and reporting
issues,
please go to the parent <a href="https://java3d.dev.java.net/">java3d</a>
project.</em></strong></p>
-<p>NOTE: The issue Tracker in this j3d-core subproject cannot be used
+<p>NOTE: The issue Tracker in this j3d-examples subproject cannot be used
to file or track issues. Please use the <a
href="https://java3d.dev.java.net/servlets/ProjectIssues">Issue Tracker</a>
in the parent java3d