<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Immersive' version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' https://www.web3d.org/specifications/x3d-3.3.xsd '>
<head>
<meta name='titlecontent='CircleFishLodPrototype.x3d'/>
<meta name='descriptioncontent='Modifies an externally defined CircleFish prototype by adding Level of Detail (LOD)'/>
<meta name='creatorcontent='Ildeniz Duman'/>
<meta name='translatorcontent='Scott Tufts'/>
<meta name='createdcontent='1998'/>
<meta name='translatedcontent='11 December 2001'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='identifiercontent=' https://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/CircleFishLodPrototype.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!--

Index for ExternProtoDeclare definition : CircleFish

Index for ProtoDeclare definition : CircleFishLod

Index for DEF nodes : MidRangeInstance, NearInstance
-->
<Scene>
<ExternProtoDeclare name='CircleFishappinfo='Simple model of a fish swimming in a cirlce'
  url=' "CircleFishPrototype.x3d#CircleFish" "https://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/CircleFishPrototype.x3d#CircleFish" "CircleFishPrototype.wrl#CircleFish" "https://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/CircleFishPrototype.wrl#CircleFish" '>
<field name='skinTextureUrltype='MFStringaccessType='inputOutput'/>
<field name='fishScaletype='SFVec3faccessType='inputOutput'/>
<field name='fishColortype='SFColoraccessType='inputOutput'/>
<field name='finColortype='SFColoraccessType='inputOutput'/>
<field name='positionKeytype='MFFloataccessType='inputOutput'/>
<field name='positionKeyValuetype='MFVec3faccessType='inputOutput'/>
<field name='orientationKeytype='MFFloataccessType='inputOutput'/>
<field name='orientationKeyValuetype='MFRotationaccessType='inputOutput'/>
<field name='orbitTimetype='SFTimeaccessType='inputOutput'/>
</ExternProtoDeclare>
<!-- new LOD prototype extends a previously defined prototype -->
<ProtoDeclare name='CircleFishLodappinfo='CircleFish prototype with LOD added'>
<ProtoInterface>
<field name='skinTextureUrltype='MFStringaccessType='inputOutput'/>
<field name='fishScaletype='SFVec3fvalue='1 1 1accessType='inputOutput'/>
<field name='fishColortype='SFColorvalue='0.5 0.5 0.5accessType='inputOutput'/>
<field name='finColortype='SFColorvalue='0.5 0.5 0.5accessType='inputOutput'/>
<field name='positionKeytype='MFFloatvalue='0.0 0.125 0.25 0.375 0.5 0.625 0.750 0.875 1accessType='inputOutput'/>
<field name='positionKeyValuetype='MFVec3fvalue='1.5 0.5 0 1.3 0 -0.8 0 -0.5 -1.0 -1.3 0 -0.8 -1.5 0.5 0 -1.3 0 0.8 0 -0.5 1.0 1.3 0 0.8 1.5 0.5 0accessType='inputOutput'/>
<field name='orientationKeytype='MFFloatvalue='0.0 0.25 0.5 0.750 1accessType='inputOutput'/>
<field name='orientationKeyValuetype='MFRotationvalue='0 1 0 -3.14 0 1 0 -1.57 0 1 0 0 0 1 0 1.57 0 1 0 3.14accessType='inputOutput'/>
<field name='orbitTimetype='SFTimevalue='45accessType='inputOutput'/>
</ProtoInterface>
<ProtoBody>
<LOD forceTransitions='truerange='20 40'>
<ProtoInstance name='CircleFishDEF='NearInstance'>
<IS>
<connect nodeField='skinTextureUrlprotoField='skinTextureUrl'/>
<connect nodeField='fishScaleprotoField='fishScale'/>
<connect nodeField='fishColorprotoField='fishColor'/>
<connect nodeField='finColorprotoField='finColor'/>
<connect nodeField='positionKeyprotoField='positionKey'/>
<connect nodeField='positionKeyValueprotoField='positionKeyValue'/>
<connect nodeField='orientationKeyprotoField='orientationKey'/>
<connect nodeField='orientationKeyValueprotoField='orientationKeyValue'/>
<connect nodeField='orbitTimeprotoField='orbitTime'/>
</IS>
</ProtoInstance>
<ProtoInstance name='CircleFishDEF='MidRangeInstance'>
<!-- no skinTexture at midRange for better performance -->
<IS>
<connect nodeField='fishScaleprotoField='fishScale'/>
<connect nodeField='fishColorprotoField='fishColor'/>
<connect nodeField='finColorprotoField='finColor'/>
<connect nodeField='positionKeyprotoField='positionKey'/>
<connect nodeField='positionKeyValueprotoField='positionKeyValue'/>
<connect nodeField='orientationKeyprotoField='orientationKey'/>
<connect nodeField='orientationKeyValueprotoField='orientationKeyValue'/>
<connect nodeField='orbitTimeprotoField='orbitTime'/>
</IS>
</ProtoInstance>
<!-- Disappear at far range -->
<WorldInfo info='"null node"'/>
</LOD>
</ProtoBody>
</ProtoDeclare>
<!-- ==================== -->
<Anchor description='CircleFishLod Exampleparameter='"target=_blank"'
  url=' "CircleFishLodExample.x3d" "https://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/CircleFishLodExample.x3d" "CircleFishLodExample.wrl" "https://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/CircleFishLodExample.wrl" '>
<Shape>
<Appearance>
<Material diffuseColor='0 1 1emissiveColor='0 1 1'/>
</Appearance>
<Text string='"CircleFishLodPrototype" "is a Prototype declaration file." "" "To see an example using this new node," "click this text and view" "CircleFishLodExample scene"'>
<FontStyle justify='"MIDDLE" "MIDDLE"size='0.7'/>
</Text>
</Shape>
<!-- Selectable Text design pattern has transparent Box and TouchSensor description as a tooltip -->
<Shape>
<Box size='12 5 .001'/>
<Appearance>
<Material transparency='1'/>
</Appearance>
</Shape>
</Anchor>
</Scene>
</X3D>
<!--

Index for ExternProtoDeclare definition : CircleFish

Index for ProtoDeclare definition : CircleFishLod

Index for DEF nodes : MidRangeInstance, NearInstance
-->

<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/>
(Light blue background: behavior node) (Grey background: inserted documentation) (Magenta background: X3D Extensibility)
    <Prototype name='ProtoName'> <field name='fieldName'/> </Prototype> -->

<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources and X3D Scene Authoring Hints. -->