<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Immersive' version='3.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' https://www.web3d.org/specifications/x3d-3.0.xsd '>
<head>
<meta name='titlecontent='XvlShellProtoDeclare.x3d'/>
<meta name='descriptioncontent='This is a development scene used to define the ProtoDeclaration for the XvlShell native node.'/>
<meta name=' warning content=' This scene is not for example use, instead it is a development scene used during X3D design. '/>
<meta name='creatorcontent='Marc Jablonski'/>
<meta name='createdcontent='22 November 2001'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name=' error content=' Test X3D DTD experimental extensions mechanisms, the XVL nodes are not legal X3D '/>
<meta name='referencecontent='readme.txt'/>
<meta name='referencecontent='docs/LatticeXvl/LatticeXvlOverview.html'/>
<meta name='referencecontent=' https://www.web3d.org/x3d/content/examples/Basic/LatticeXvl/docs/LatticeXvl/LatticeXvlOverview.html '/>
<meta name='referencecontent=' http://www.xvl3d.com '/>
<meta name='subjectcontent='Lattice XVL parametric geometry X3D VRML'/>
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Basic/LatticeXvl/XvlShellProtoDeclare.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!--

Index for ProtoDeclare definition : XvlShell

Index for DEF nodes : IFS, XvlShellScript

Index for Viewpoint image : Viewpoint_1
-->
<Scene>
<WorldInfo title='XvlShellProtoDeclare.x3d'/>
<ProtoDeclare name='XvlShell'>
<ProtoInterface>
<!-- Allowable children of XvlShell: a single Coordinate node (required for rendering) and a single TextureCoordinate node (optional) -->
<field name='shellTypetype='SFInt32value='1accessType='initializeOnly'/>
<field name='numberOfDivisionstype='SFInt32value='4accessType='initializeOnly'/>
<field name='coordtype='SFNodeaccessType='initializeOnly'/>
<field name='texCoordtype='SFNodeaccessType='initializeOnly'/>
<field name='vertexRoundtype='MFFloataccessType='initializeOnly'/>
<field name='edgeBeginCoordIndextype='MFInt32accessType='initializeOnly'/>
<field name='edgeEndCoordIndextype='MFInt32accessType='initializeOnly'/>
<field name='edgeRoundtype='MFFloataccessType='initializeOnly'/>
<field name='edgeBeginVectortype='MFVec3faccessType='initializeOnly'/>
<field name='edgeEndVectortype='MFVec3faccessType='initializeOnly'/>
<field name='faceCoordIndextype='MFInt32accessType='initializeOnly'/>
<field name='faceTexCoordIndextype='MFInt32accessType='initializeOnly'/>
<field name='faceEmptytype='MFBoolaccessType='initializeOnly'/>
<field name='faceHiddentype='MFBoolaccessType='initializeOnly'/>
</ProtoInterface>
<ProtoBody>
<!-- ROUTE information for IFS node:  [from XvlShellScript.coord_changed to set_coord ] [from XvlShellScript.coordIndex_changed to set_coordIndex ] [from XvlShellScript.texCoord_changed to set_texCoord ] [from XvlShellScript.normal_changed to set_normal ] -->
<IndexedFaceSet DEF='IFS'>
<Coordinate/>
<Normal/>
<TextureCoordinate/>
</IndexedFaceSet>
<!-- Warning: VRML97-style scripting, not X3D Scene Authoring Interface (SAI) -->
<!-- ROUTE information for XvlShellScript node:  [from coord_changed to IFS.set_coord ] [from coordIndex_changed to IFS.set_coordIndex ] [from texCoord_changed to IFS.set_texCoord ] [from normal_changed to IFS.set_normal ] -->
<Script DEF='XvlShellScriptdirectOutput='true'
  url=' "XvlShell.class" "https://www.web3d.org/x3d/content/examples/Basic/LatticeXvl/XvlShell.class" '>
<field name='mShellTypetype='SFInt32accessType='initializeOnly'/>
<field name='mNumDivtype='SFInt32accessType='initializeOnly'/>
<field name='mCoordtype='SFNodeaccessType='initializeOnly'/>
<field name='mTexCoordtype='SFNodeaccessType='initializeOnly'/>
<field name='mVtxRoundtype='MFFloataccessType='initializeOnly'/>
<field name='mEdgeV0type='MFInt32accessType='initializeOnly'/>
<field name='mEdgeV1type='MFInt32accessType='initializeOnly'/>
<field name='mEdgeRoundtype='MFFloataccessType='initializeOnly'/>
<field name='mEdgeVec0type='MFVec3faccessType='initializeOnly'/>
<field name='mEdgeVec1type='MFVec3faccessType='initializeOnly'/>
<field name='mFaceCoordIndextype='MFInt32accessType='initializeOnly'/>
<field name='mFaceTexCoordIndextype='MFInt32accessType='initializeOnly'/>
<field name='mFaceEmptytype='MFBoolaccessType='initializeOnly'/>
<field name='mFaceHiddentype='MFBoolaccessType='initializeOnly'/>
<field name='coord_changedtype='SFNodeaccessType='outputOnly'/>
<field name='coordIndex_changedtype='MFInt32accessType='outputOnly'/>
<field name='texCoord_changedtype='SFNodeaccessType='outputOnly'/>
<field name='normal_changedtype='SFNodeaccessType='outputOnly'/>
<IS>
<connect nodeField='mShellTypeprotoField='shellType'/>
<connect nodeField='mNumDivprotoField='numberOfDivisions'/>
<connect nodeField='mCoordprotoField='coord'/>
<connect nodeField='mTexCoordprotoField='texCoord'/>
<connect nodeField='mVtxRoundprotoField='vertexRound'/>
<connect nodeField='mEdgeV0protoField='edgeBeginCoordIndex'/>
<connect nodeField='mEdgeV1protoField='edgeEndCoordIndex'/>
<connect nodeField='mEdgeRoundprotoField='edgeRound'/>
<connect nodeField='mEdgeVec0protoField='edgeBeginVector'/>
<connect nodeField='mEdgeVec1protoField='edgeEndVector'/>
<connect nodeField='mFaceCoordIndexprotoField='faceCoordIndex'/>
<connect nodeField='mFaceTexCoordIndexprotoField='faceTexCoordIndex'/>
<connect nodeField='mFaceEmptyprotoField='faceEmpty'/>
<connect nodeField='mFaceHiddenprotoField='faceHidden'/>
</IS>
</Script>
<ROUTE fromNode='XvlShellScriptfromField='coord_changedtoNode='IFStoField='set_coord'/>
<ROUTE fromNode='XvlShellScriptfromField='coordIndex_changedtoNode='IFStoField='set_coordIndex'/>
<ROUTE fromNode='XvlShellScriptfromField='texCoord_changedtoNode='IFStoField='set_texCoord'/>
<ROUTE fromNode='XvlShellScriptfromField='normal_changedtoNode='IFStoField='set_normal'/>
</ProtoBody>
</ProtoDeclare>
<Background groundColor='0 .1 .2skyColor='0 .1 .2'/>
<Viewpoint description='Hello LatticeXvl prototypeposition='0 0 8'/>
<!-- Redirection text in case a user examines this PROTO file via a 3D browser: -->
<Anchor description='XvlShellAttributeAllparameter='"target=_blank"'
  url=' "XvlShellAttributeAll.wrl" "https://www.web3d.org/x3d/content/examples/Basic/LatticeXvl/XvlShellAttributeAll.wrl" "XvlShellAttributeAll.x3d" "https://www.web3d.org/x3d/content/examples/Basic/LatticeXvl/XvlShellAttributeAll.x3d" '>
<Shape>
<Appearance>
<Material diffuseColor='0 1 1emissiveColor='0 1 1'/>
</Appearance>
<Text string='"XvlShellProtoDeclare.wrl" "is a ProtoDeclare definition file." "" "To see an example scene using this new node," "click this text and view XvlShellAttributeAll"'>
<FontStyle justify='"MIDDLE" "MIDDLE"size='0.5'/>
</Text>
</Shape>
</Anchor>
</Scene>
</X3D>
<!--

Index for ProtoDeclare definition : XvlShell

Index for DEF nodes : IFS, XvlShellScript

Index for Viewpoint image : Viewpoint_1
-->

<!-- 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. -->