X3D Model Documentation: ExclusionZonePrototype.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=' ExclusionZonePrototype.x3d '/>
  6            <meta name='descriptioncontent='ExclusionZone range markers (zero or three)'/>
  7            <meta name='creatorcontent='LT Patrick Sullivan'/>
  8            <meta name='createdcontent='27 July 2006'/>
  9            <meta name='modifiedcontent='28 November 2019'/>
 10            <meta name=' warning content=' change whichChoice field to enabled '/>
 11            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/Tools/Symbology/ExclusionZonePrototype.x3d '/>
 12            <meta name='generatorcontent='X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 13            <meta name='licensecontent='../../license.html'/>
 14       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: InnerRange, MiddleRange, OutterRange, SensorGroupDDG77, SwitchSequencer, ZONESTEST, ZoneTouchSensor

Index for ProtoDeclare definition: ExclusionZones
-->
 15       <Scene>
 16            <WorldInfo title='ExclusionZonePrototype.x3d'/>
 17            <ProtoDeclare name='ExclusionZones'>
 18                 <ProtoInterface>
 19                      <field name='translationtype='SFVec3fvalue='0 1 0accessType='inputOutput'
                     appinfo='Usually to raise ranges off the surface'/>
 20                      <field name='OutterRangetype='SFVec3fvalue='1 1 1accessType='inputOutput'
                     appinfo='Length in Meters for the radius of the range'/>
 21                      <field name='MiddleRangetype='SFVec3fvalue='1 1 1accessType='inputOutput'
                     appinfo='Length in Meters for the radius of the range'/>
 22                      <field name='InnerRangetype='SFVec3fvalue='1 1 1accessType='inputOutput'
                     appinfo='Length in Meters for the radius of the range'/>
 23                      <field name='whichChoicetype='SFInt32value='-1accessType='inputOutput'
                     appinfo='Turns zones on and off'/>
 24                 </ProtoInterface>
 25                 <ProtoBody>
 26                      <Switch whichChoice='-1'>
 27                           <IS>
 28                                <connect nodeField='whichChoiceprotoField='whichChoice'/>
 29                           </IS>
 30                           <Transform scale='2 2 2'>
 31                                <IS>
 32                                     <connect nodeField='translationprotoField='translation'/>
 33                                </IS>
 34                                <Transform DEF='OutterRange'>
 35                                     <IS>
 36                                          <connect nodeField='scaleprotoField='OutterRange'/>
 37                                     </IS>
 38                                     <Shape>
 39                                          <IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0coordIndex='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33'>
 40                                               <Coordinate point='0 0 -1 0.195 0 -0.981 0.382 0 -0.924 0.555 0 -0.832 0.707 0 -0.708 0.831 0 -0.556 0.923 0 -0.383 0.98 0 -0.196 1 0 0 0.98 0 0.195 0.923 0 0.382 0.831 0 0.555 0.707 0 0.707 0.555 0 0.831 0.382 0 0.923 0.195 0 0.98 0 0 1 -0.195 0 0.98 -0.382 0 0.923 -0.555 0 0.831 -0.707 0 0.707 -0.831 0 0.555 -0.923 0 0.382 -0.98 0 0.195 -1 0 0 -0.981 0 -0.195 -0.924 0 -0.382 -0.832 0 -0.555 -0.708 0 -0.707 -0.556 0 -0.831 -0.383 0 -0.923 -0.196 0 -0.98 0 0 -1 0.195 0 -0.981'/>
 41                                               <Color color='0 1 0'/>
 42                                          </IndexedLineSet>
 43                                     </Shape>
 44                                </Transform>
 45                                <Transform DEF='MiddleRange'>
 46                                     <IS>
 47                                          <connect nodeField='scaleprotoField='MiddleRange'/>
 48                                     </IS>
 49                                     <Shape>
 50                                          <IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0coordIndex='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33'>
 51                                               <Coordinate point='0 0 -1 0.195 0 -0.981 0.382 0 -0.924 0.555 0 -0.832 0.707 0 -0.708 0.831 0 -0.556 0.923 0 -0.383 0.98 0 -0.196 1 0 0 0.98 0 0.195 0.923 0 0.382 0.831 0 0.555 0.707 0 0.707 0.555 0 0.831 0.382 0 0.923 0.195 0 0.98 0 0 1 -0.195 0 0.98 -0.382 0 0.923 -0.555 0 0.831 -0.707 0 0.707 -0.831 0 0.555 -0.923 0 0.382 -0.98 0 0.195 -1 0 0 -0.981 0 -0.195 -0.924 0 -0.382 -0.832 0 -0.555 -0.708 0 -0.707 -0.556 0 -0.831 -0.383 0 -0.923 -0.196 0 -0.98 0 0 -1 0.195 0 -0.981'/>
 52                                               <Color color='1 1 0'/>
 53                                          </IndexedLineSet>
 54                                     </Shape>
 55                                </Transform>
 56                                <Transform DEF='InnerRange'>
 57                                     <IS>
 58                                          <connect nodeField='scaleprotoField='InnerRange'/>
 59                                     </IS>
 60                                     <Shape>
 61                                          <IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0coordIndex='1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33'>
 62                                               <Coordinate point='0 0 -1 0.195 0 -0.981 0.382 0 -0.924 0.555 0 -0.832 0.707 0 -0.708 0.831 0 -0.556 0.923 0 -0.383 0.98 0 -0.196 1 0 0 0.98 0 0.195 0.923 0 0.382 0.831 0 0.555 0.707 0 0.707 0.555 0 0.831 0.382 0 0.923 0.195 0 0.98 0 0 1 -0.195 0 0.98 -0.382 0 0.923 -0.555 0 0.831 -0.707 0 0.707 -0.831 0 0.555 -0.923 0 0.382 -0.98 0 0.195 -1 0 0 -0.981 0 -0.195 -0.924 0 -0.382 -0.832 0 -0.555 -0.708 0 -0.707 -0.556 0 -0.831 -0.383 0 -0.923 -0.196 0 -0.98 0 0 -1 0.195 0 -0.981'/>
 63                                               <Color color='1 0 0'/>
 64                                          </IndexedLineSet>
 65                                     </Shape>
 66                                </Transform>
 67                           </Transform>
 68                      </Switch>
 69                 </ProtoBody>
 70            </ProtoDeclare>
 71 
          <!-- ROUTE information for ZONESTEST node:  [from SwitchSequencer.value_changed to whichChoice ] -->
          <ProtoInstance name='ExclusionZonesDEF='ZONESTEST'>
 72                 <fieldValue name='translationvalue='0 0 0'/>
 73                 <fieldValue name='OutterRangevalue='100 100 100'/>
 74                 <fieldValue name='MiddleRangevalue='50 50 50'/>
 75                 <fieldValue name='InnerRangevalue='25 25 25'/>
 76            </ProtoInstance>
 77            <Group DEF='SensorGroupDDG77'>
 78 
               <!-- ROUTE information for ZoneTouchSensor node:  [from isActive to SwitchSequencer.next ] -->
               <TouchSensor DEF='ZoneTouchSensordescription='Click for Exclusion Zone Display'/>
 79 
               <!-- ROUTE information for SwitchSequencer node:  [from ZoneTouchSensor.isActive to next ] [from value_changed to ZONESTEST.whichChoice ] -->
               <IntegerSequencer DEF='SwitchSequencerkey='0 1keyValue='0 -1'/>
 80                 < ROUTE  fromNode='ZoneTouchSensor' fromField='isActive' toNode='SwitchSequencer' toField='next'/>
 81                 < ROUTE  fromNode='SwitchSequencer' fromField='value_changed' toNode='ZONESTEST' toField='whichChoice'/>
 82            </Group>
 83       </Scene>
 84  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: InnerRange, MiddleRange, OutterRange, SensorGroupDDG77, SwitchSequencer, ZONESTEST, ZoneTouchSensor

Index for ProtoDeclare definition: ExclusionZones
-->
X3D Tooltips element index: Color, connect, Coordinate, field, fieldValue, Group, head, IndexedLineSet, IntegerSequencer, IS, meta, ProtoBody, ProtoDeclare, ProtoInstance, ProtoInterface, ROUTE, Scene, Shape, Switch, TouchSensor, Transform, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

Event Graph ROUTE Table entries with 2 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.

ZoneTouchSensor
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
SwitchSequencer
IntegerSequencer
next
SFBool
then
 
 
 
SwitchSequencer
IntegerSequencer
value_changed
SFInt32

ROUTE
event to
(2)
ZONESTEST
ProtoInstance
whichChoice
SFInt32

      ZONESTEST
ProtoInstance
ExclusionZones
No direct ROUTE connection found for events to/from this node.
This ProtoInstance contains SFNode/MFNode fieldValue declarations with
direct access to other nodes, and thus has potential to produce run-time animation. 

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/Savage/Tools/Symbology/ExclusionZonePrototypeIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/Tools/Symbology/ExclusionZonePrototype.x3d -->

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

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