X3D Model Documentation: XvlShellProtoDeclare.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2 
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
  3  <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'>
  4       <head>
  5            <meta name='titlecontent='XvlShellProtoDeclare.x3d'/>
  6            <meta name='descriptioncontent='This is a development scene used to define the ProtoDeclaration for the XvlShell native node.'/>
  7            <meta name=' warning content=' This scene is not for example use, instead it is a development scene used during X3D design. '/>
  8            <meta name='creatorcontent='Marc Jablonski'/>
  9            <meta name='createdcontent='22 November 2001'/>
 10            <meta name='modifiedcontent='20 October 2019'/>
 11            <meta name=' error content=' Test X3D DTD experimental extensions mechanisms, the XVL nodes are not legal X3D '/>
 12            <meta name='referencecontent='readme.txt'/>
 13            <meta name='referencecontent='docs/LatticeXvl/LatticeXvlOverview.html'/>
 14            <meta name='referencecontent='https://www.web3d.org/x3d/content/examples/Basic/LatticeXvl/docs/LatticeXvl/LatticeXvlOverview.html'/>
 15            <meta name='referencecontent='http://www.xvl3d.com'/>
 16            <meta name='subjectcontent='Lattice XVL parametric geometry X3D VRML'/>
 17            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/Basic/LatticeXvl/XvlShellProtoDeclare.x3d'/>
 18            <meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
 19            <meta name='licensecontent='../license.html'/>
 20       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: IFS, XvlShellScript

Index for Viewpoint node: Viewpoint_1

Index for ProtoDeclare definition: XvlShell
-->
 21       <Scene>
 22            <WorldInfo title='XvlShellProtoDeclare.x3d'/>
 23            <ProtoDeclare name='XvlShell'>
 24                 <ProtoInterface>
 25                      <!-- Allowable children of XvlShell: a single Coordinate node (required for rendering) and a single TextureCoordinate node (optional) -->
 26                      <field name='shellTypetype='SFInt32value='1accessType='initializeOnly'/>
 27                      <field name='numberOfDivisionstype='SFInt32value='4accessType='initializeOnly'/>
 28                      <field name='coordtype='SFNodeaccessType='initializeOnly'/>
 29                      <field name='texCoordtype='SFNodeaccessType='initializeOnly'/>
 30                      <field name='vertexRoundtype='MFFloataccessType='initializeOnly'/>
 31                      <field name='edgeBeginCoordIndextype='MFInt32accessType='initializeOnly'/>
 32                      <field name='edgeEndCoordIndextype='MFInt32accessType='initializeOnly'/>
 33                      <field name='edgeRoundtype='MFFloataccessType='initializeOnly'/>
 34                      <field name='edgeBeginVectortype='MFVec3faccessType='initializeOnly'/>
 35                      <field name='edgeEndVectortype='MFVec3faccessType='initializeOnly'/>
 36                      <field name='faceCoordIndextype='MFInt32accessType='initializeOnly'/>
 37                      <field name='faceTexCoordIndextype='MFInt32accessType='initializeOnly'/>
 38                      <field name='faceEmptytype='MFBoolaccessType='initializeOnly'/>
 39                      <field name='faceHiddentype='MFBoolaccessType='initializeOnly'/>
 40                 </ProtoInterface>
 41                 <ProtoBody>
 42 
 43                           <Coordinate/>
 44                           <Normal/>
 45                           <TextureCoordinate/>
 46                      </IndexedFaceSet>
 47                      <!-- Warning: VRML97-style scripting, not X3D Scene Authoring Interface (SAI) -->
 48 
                    <!-- 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" '>
 49                           <field name='mShellTypetype='SFInt32accessType='initializeOnly'/>
 50                           <field name='mNumDivtype='SFInt32accessType='initializeOnly'/>
 51                           <field name='mCoordtype='SFNodeaccessType='initializeOnly'/>
 52                           <field name='mTexCoordtype='SFNodeaccessType='initializeOnly'/>
 53                           <field name='mVtxRoundtype='MFFloataccessType='initializeOnly'/>
 54                           <field name='mEdgeV0type='MFInt32accessType='initializeOnly'/>
 55                           <field name='mEdgeV1type='MFInt32accessType='initializeOnly'/>
 56                           <field name='mEdgeRoundtype='MFFloataccessType='initializeOnly'/>
 57                           <field name='mEdgeVec0type='MFVec3faccessType='initializeOnly'/>
 58                           <field name='mEdgeVec1type='MFVec3faccessType='initializeOnly'/>
 59                           <field name='mFaceCoordIndextype='MFInt32accessType='initializeOnly'/>
 60                           <field name='mFaceTexCoordIndextype='MFInt32accessType='initializeOnly'/>
 61                           <field name='mFaceEmptytype='MFBoolaccessType='initializeOnly'/>
 62                           <field name='mFaceHiddentype='MFBoolaccessType='initializeOnly'/>
 63                           <field name='coord_changedtype='SFNodeaccessType='outputOnly'/>
 64                           <field name='coordIndex_changedtype='MFInt32accessType='outputOnly'/>
 65                           <field name='texCoord_changedtype='SFNodeaccessType='outputOnly'/>
 66                           <field name='normal_changedtype='SFNodeaccessType='outputOnly'/>
 67                           <IS>
 68                                <connect nodeField='mShellTypeprotoField='shellType'/>
 69                                <connect nodeField='mNumDivprotoField='numberOfDivisions'/>
 70                                <connect nodeField='mCoordprotoField='coord'/>
 71                                <connect nodeField='mTexCoordprotoField='texCoord'/>
 72                                <connect nodeField='mVtxRoundprotoField='vertexRound'/>
 73                                <connect nodeField='mEdgeV0protoField='edgeBeginCoordIndex'/>
 74                                <connect nodeField='mEdgeV1protoField='edgeEndCoordIndex'/>
 75                                <connect nodeField='mEdgeRoundprotoField='edgeRound'/>
 76                                <connect nodeField='mEdgeVec0protoField='edgeBeginVector'/>
 77                                <connect nodeField='mEdgeVec1protoField='edgeEndVector'/>
 78                                <connect nodeField='mFaceCoordIndexprotoField='faceCoordIndex'/>
 79                                <connect nodeField='mFaceTexCoordIndexprotoField='faceTexCoordIndex'/>
 80                                <connect nodeField='mFaceEmptyprotoField='faceEmpty'/>
 81                                <connect nodeField='mFaceHiddenprotoField='faceHidden'/>
 82                           </IS>
 83                      </Script>
 84                      < ROUTE  fromNode='XvlShellScript' fromField='coord_changed' toNode='IFS' toField='set_coord'/>
 85                      < ROUTE  fromNode='XvlShellScript' fromField='coordIndex_changed' toNode='IFS' toField='set_coordIndex'/>
 86                      < ROUTE  fromNode='XvlShellScript' fromField='texCoord_changed' toNode='IFS' toField='set_texCoord'/>
 87                      < ROUTE  fromNode='XvlShellScript' fromField='normal_changed' toNode='IFS' toField='set_normal'/>
 88                 </ProtoBody>
 89            </ProtoDeclare>
 90            <Background groundColor='0 .1 .2skyColor='0 .1 .2'/>
 91            <Viewpoint description='Hello LatticeXvl prototypeposition='0 0 8'/>
 92            <!-- Redirection text in case a user examines this PROTO file via a 3D browser: -->
 93            <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" '>
 94                 <Shape>
 95                      <Appearance>
 96                           <Material diffuseColor='0 1 1emissiveColor='0 1 1'/>
 97                      </Appearance>
 98                      <Text string='"XvlShellProtoDeclare.wrl" "is a ProtoDeclare definition file." "" "To see an example scene using this new node," "click this text and view XvlShellAttributeAll"'>
 99                           <FontStyle justify='"MIDDLE" "MIDDLE"size='0.5'/>
100                      </Text>
101                 </Shape>
102            </Anchor>
103       </Scene>
104  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->

<!-- to top Index for DEF nodes: IFS, XvlShellScript

Index for Viewpoint node: Viewpoint_1

Index for ProtoDeclare definition: XvlShell
-->
X3D Tooltips element index: Anchor, Appearance, Background, connect, Coordinate, field, FontStyle, head, IndexedFaceSet, IS, Material, meta, Normal, ProtoBody, ProtoDeclare, ProtoInterface, ROUTE, Scene, Script, Shape, Text, TextureCoordinate, Viewpoint, WorldInfo, X3D, accessType and type, XML data types, field types

Event Graph ROUTE Table entries with 4 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.

XvlShellScript
Script
coord_changed
SFNode

ROUTE
event to
(1)
IFS
IndexedFaceSet
set_coord
SFNode
XvlShellScript
Script
coordIndex_changed
MFInt32

ROUTE
event to
(1)
IFS
IndexedFaceSet
set_coordIndex
MFInt32
XvlShellScript
Script
texCoord_changed
SFNode

ROUTE
event to
(1)
IFS
IndexedFaceSet
set_texCoord
SFNode
XvlShellScript
Script
normal_changed
SFNode

ROUTE
event to
(1)
IFS
IndexedFaceSet
set_normal
SFNode


Anchor
description='XvlShellAttributeAll' 
User-interaction hint for this node. 
Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/Basic/LatticeXvl/XvlShellProtoDeclareIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/LatticeXvl/XvlShellProtoDeclare.x3d -->

<!-- Color legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
    <ProtoDeclare name='ProtoName'> <field name='fieldName'/> </ProtoDeclare> -->

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