X3D Model Documentation: OmniReceiverPrototypeWithDIS.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            <component level='1name='DIS'/>
  6            <meta name='titlecontent=' OmniReceiverPrototypeWithDIS.x3d '/>
  7            <meta name='creatorcontent='Mike Hunsberger'/>
  8            <meta name='createdcontent='26 March 2001'/>
  9            <meta name='modifiedcontent='20 October 2019'/>
 10            <meta name='descriptioncontent='Omni Directional Signal Dome Proto controlled by input frequency'/>
 11            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/OmniDirectional/OmniReceiverPrototypeWithDIS.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: CalculateColorSchemeMEDAL, DomeTransform, material, RECEIVER, TransmitScript

Index for ProtoDeclare definition: OmniReceiverDIS
-->
 15       <Scene>
 16            <ProtoDeclare name='OmniReceiverDISappinfo='Omnidirectional hemispherical receiver with integrated DIS ReceiverPdu functionality.'>
 17                 <ProtoInterface>
 18                      <field name='frequencytype='SFInt32value='150000accessType='initializeOnly'
                     appinfo='units Hertz'/>
 19                      <field name='diffuseColortype='SFColoraccessType='inputOutput'/>
 20                      <field name='emissiveColortype='SFColoraccessType='inputOutput'/>
 21                      <field name='shininesstype='SFFloatvalue='.72accessType='inputOutput'/>
 22                      <field name='ambientIntensitytype='SFFloatvalue='0.372549accessType='inputOutput'/>
 23                      <field name='transparencytype='SFFloatvalue='.85accessType='inputOutput'/>
 24                      <field name='addresstype='SFStringvalue='224.2.181.145accessType='initializeOnly'/>
 25                      <field name='porttype='SFInt32value='62040accessType='initializeOnly'/>
 26                      <field name='siteIDtype='SFInt32value='0accessType='initializeOnly'/>
 27                      <field name='applicationIDtype='SFInt32value='1accessType='initializeOnly'/>
 28                      <field name='entityIDtype='SFInt32value='1accessType='initializeOnly'/>
 29                 </ProtoInterface>
 30                 <ProtoBody>
 31                      <Group>
 32 
                         <!-- ROUTE information for DomeTransform node:  [from TransmitScript.size to scale ] -->
                         <Transform DEF='DomeTransform'>
 33                                <Shape>
 34                                     <Appearance>
 35 
                                        <!-- ROUTE information for material node:  [from CalculateColorSchemeMEDAL.diffuseColor to diffuseColor ] [from CalculateColorSchemeMEDAL.emissiveColor to emissiveColor ] [from CalculateColorSchemeMEDAL.transparency to transparency ] -->
                                        <Material DEF='material'>
 36                                               <IS>
 37                                                    <connect nodeField='diffuseColorprotoField='diffuseColor'/>
 38                                                    <connect nodeField='emissiveColorprotoField='emissiveColor'/>
 39                                                    <connect nodeField='shininessprotoField='shininess'/>
 40                                                    <connect nodeField='ambientIntensityprotoField='ambientIntensity'/>
 41                                                    <connect nodeField='transparencyprotoField='transparency'/>
 42                                               </IS>
 43                                          </Material>
 44                                     </Appearance>
 45                                     <IndexedFaceSet creaseAngle='.01solid='falsecoordIndex='0 1 2 -1 1 3 4 -1 2 4 5 -1 3 6 7 -1 4 7 8 -1 5 8 9 -1 6 10 11 -1 7 11 12 -1 8 12 13 -1 9 13 14 -1 10 15 16 -1 11 16 17 -1 12 17 18 -1 13 18 19 -1 14 19 20 -1 1 4 2 -1 3 7 4 -1 4 8 5 -1 6 11 7 -1 7 12 8 -1 8 13 9 -1 10 16 11 -1 11 17 12 -1 12 18 13 -1 13 19 14 -1 21 22 23 -1 22 24 25 -1 23 25 26 -1 24 27 28 -1 25 28 29 -1 26 29 30 -1 27 31 32 -1 28 32 33 -1 29 33 34 -1 30 34 35 -1 31 0 2 -1 32 2 5 -1 33 5 9 -1 34 9 14 -1 35 14 20 -1 22 25 23 -1 24 28 25 -1 25 29 26 -1 27 32 28 -1 28 33 29 -1 29 34 30 -1 31 2 32 -1 32 5 33 -1 33 9 34 -1 34 14 35 -1 21 36 22 -1 36 37 38 -1 22 38 24 -1 37 39 40 -1 38 40 41 -1 24 41 27 -1 41 42 43 -1 27 43 31 -1 31 44 0 -1 36 38 22 -1 37 40 38 -1 38 41 24 -1 40 42 41 -1 41 43 27 -1 43 44 31 -1 15 45 16 -1 45 46 47 -1 16 47 17 -1 46 48 49 -1 47 49 50 -1 17 50 18 -1 48 51 52 -1 49 52 53 -1 50 53 54 -1 18 54 19 -1 51 55 56 -1 52 56 57 -1 53 57 58 -1 54 58 59 -1 19 59 20 -1 45 47 16 -1 46 49 47 -1 47 50 17 -1 48 52 49 -1 49 53 50 -1 50 54 18 -1 51 56 52 -1 52 57 53 -1 53 58 54 -1 54 59 19 -1 15 60 45 -1 45 61 46 -1 61 62 63 -1 46 63 48 -1 63 64 65 -1 48 65 51 -1 64 66 67 -1 65 67 68 -1 51 68 55 -1 60 61 45 -1 61 63 46 -1 62 64 63 -1 63 65 48 -1 64 67 65 -1 65 68 51 -1 55 69 56 -1 69 70 71 -1 56 71 57 -1 70 72 73 -1 71 73 74 -1 57 74 58 -1 72 75 76 -1 73 76 77 -1 74 77 78 -1 58 78 59 -1 75 79 80 -1 76 80 81 -1 77 81 82 -1 78 82 83 -1 59 83 20 -1 69 71 56 -1 70 73 71 -1 71 74 57 -1 72 76 73 -1 73 77 74 -1 74 78 58 -1 75 80 76 -1 76 81 77 -1 77 82 78 -1 78 83 59 -1 55 84 69 -1 84 85 86 -1 69 86 70 -1 85 87 88 -1 86 88 89 -1 70 89 72 -1 87 90 91 -1 88 91 92 -1 89 92 93 -1 72 93 75 -1 90 94 95 -1 91 95 96 -1 92 96 97 -1 93 97 98 -1 75 98 79 -1 84 86 69 -1 85 88 86 -1 86 89 70 -1 87 91 88 -1 88 92 89 -1 89 93 72 -1 90 95 91 -1 91 96 92 -1 92 97 93 -1 93 98 75 -1 79 99 80 -1 99 100 101 -1 80 101 81 -1 100 102 103 -1 101 103 104 -1 81 104 82 -1 102 105 106 -1 103 106 107 -1 104 107 108 -1 82 108 83 -1 105 21 23 -1 106 23 26 -1 107 26 30 -1 108 30 35 -1 83 35 20 -1 99 101 80 -1 100 103 101 -1 101 104 81 -1 102 106 103 -1 103 107 104 -1 104 108 82 -1 105 23 106 -1 106 26 107 -1 107 30 108 -1 108 35 83 -1 79 109 99 -1 109 110 111 -1 99 111 100 -1 110 112 113 -1 111 113 114 -1 100 114 102 -1 112 115 116 -1 113 116 117 -1 114 117 118 -1 102 118 105 -1 115 119 120 -1 116 120 121 -1 117 121 122 -1 118 122 123 -1 105 123 21 -1 109 111 99 -1 110 113 111 -1 111 114 100 -1 112 116 113 -1 113 117 114 -1 114 118 102 -1 115 120 116 -1 116 121 117 -1 117 122 118 -1 118 123 105 -1 119 115 124 -1 115 112 128 -1 124 128 125 -1 112 110 129 -1 128 129 130 -1 125 130 126 -1 110 109 131 -1 129 131 132 -1 130 132 133 -1 126 133 127 -1 109 79 98 -1 131 98 97 -1 132 97 96 -1 133 96 95 -1 127 95 94 -1 115 128 124 -1 112 129 128 -1 128 130 125 -1 110 131 129 -1 129 132 130 -1 130 133 126 -1 109 98 131 -1 131 97 132 -1 132 96 133 -1 133 95 127 -1 39 37 135 -1 37 36 137 -1 135 137 138 -1 136 138 139 -1 36 21 123 -1 137 123 122 -1 138 122 121 -1 139 121 120 -1 134 120 119 -1 37 137 135 -1 135 138 136 -1 36 123 137 -1 137 122 138 -1 138 121 139 -1 139 120 134 -1 94 90 140 -1 90 87 141 -1 87 85 142 -1 141 142 143 -1 85 84 144 -1 142 144 145 -1 84 55 68 -1 144 68 67 -1 145 67 66 -1 90 141 140 -1 87 142 141 -1 85 144 142 -1 142 145 143 -1 84 68 144 -1 144 67 145 -1'>
 46                                          <Coordinate point='0.5257 0 0.8507 0.3477 0 0.9376 0.4636 0.1875 0.866 0.1227 0 0.9924 0.2531 0.2047 0.9455 0.368 0.397 0.8408 -0.1227 0 0.9924 0 0.2116 0.9773 0.1308 0.4233 0.8965 0.2453 0.5955 0.765 -0.3477 0 0.9376 -0.2531 0.2047 0.9455 -0.1308 0.4233 0.8965 0 0.6142 0.7891 0.1159 0.7501 0.6511 -0.5257 0 0.8507 -0.4636 0.1875 0.866 -0.368 0.397 0.8408 -0.2453 0.5955 0.765 -0.1159 0.7501 0.6511 0 0.8507 0.5257 0.8507 0.5257 0 0.866 0.4636 0.1875 0.7501 0.6511 0.1159 0.8408 0.368 0.397 0.7408 0.5844 0.3313 0.5955 0.765 0.2453 0.765 0.2453 0.5955 0.6849 0.4732 0.5541 0.5541 0.6849 0.4732 0.397 0.8408 0.368 0.6511 0.1159 0.7501 0.5844 0.3313 0.7408 0.4732 0.5541 0.6849 0.3313 0.7408 0.5844 0.1875 0.866 0.4636 0.9376 0.3477 0 0.9924 0.1227 0 0.9455 0.2531 0.2047 0.9924 0 0 0.9773 0 0.2116 0.8965 0.1308 0.4233 0.8965 0 0.4233 0.7891 0 0.6142 0.6511 0 0.7501 -0.6511 0.1159 0.7501 -0.765 0.2453 0.5955 -0.5844 0.3313 0.7408 -0.8408 0.368 0.397 -0.6849 0.4732 0.5541 -0.4732 0.5541 0.6849 -0.866 0.4636 0.1875 -0.7408 0.5844 0.3313 -0.5541 0.6849 0.4732 -0.3313 0.7408 0.5844 -0.8507 0.5257 0 -0.7501 0.6511 0.1159 -0.5955 0.765 0.2453 -0.397 0.8408 0.368 -0.1875 0.866 0.4636 -0.6511 0 0.7501 -0.7891 0 0.6142 -0.8965 0 0.4233 -0.8965 0.1308 0.4233 -0.9773 0 0.2116 -0.9455 0.2531 0.2047 -0.9924 0 0 -0.9924 0.1227 0 -0.9376 0.3477 0 -0.7501 0.6511 -0.1159 -0.5955 0.765 -0.2453 -0.6142 0.7891 0 -0.397 0.8408 -0.368 -0.4233 0.8965 -0.1308 -0.4233 0.8965 0.1308 -0.1875 0.866 -0.4636 -0.2047 0.9455 -0.2531 -0.2116 0.9773 0 -0.2047 0.9455 0.2531 0 0.8507 -0.5257 0 0.9376 -0.3477 0 0.9924 -0.1227 0 0.9924 0.1227 0 0.9376 0.3477 -0.866 0.4636 -0.1875 -0.8408 0.368 -0.397 -0.7408 0.5844 -0.3313 -0.765 0.2453 -0.5955 -0.6849 0.4732 -0.5541 -0.5541 0.6849 -0.4732 -0.6511 0.1159 -0.7501 -0.5844 0.3313 -0.7408 -0.4732 0.5541 -0.6849 -0.3313 0.7408 -0.5844 -0.5257 0 -0.8507 -0.4636 0.1875 -0.866 -0.368 0.397 -0.8408 -0.2453 0.5955 -0.765 -0.1159 0.7501 -0.6511 0.1875 0.866 -0.4636 0.397 0.8408 -0.368 0.2047 0.9455 -0.2531 0.5955 0.765 -0.2453 0.4233 0.8965 -0.1308 0.2116 0.9773 0 0.7501 0.6511 -0.1159 0.6142 0.7891 0 0.4233 0.8965 0.1308 0.2047 0.9455 0.2531 0.1159 0.7501 -0.6511 0.2453 0.5955 -0.765 0.3313 0.7408 -0.5844 0.368 0.397 -0.8408 0.4732 0.5541 -0.6849 0.5541 0.6849 -0.4732 0.4636 0.1875 -0.866 0.5844 0.3313 -0.7408 0.6849 0.4732 -0.5541 0.7408 0.5844 -0.3313 0.5257 0 -0.8507 0.6511 0.1159 -0.7501 0.765 0.2453 -0.5955 0.8408 0.368 -0.397 0.866 0.4636 -0.1875 0.3477 0 -0.9376 0.1227 0 -0.9924 -0.1227 0 -0.9924 -0.3477 0 -0.9376 0.2531 0.2047 -0.9455 0.1308 0.4233 -0.8965 0 0.2116 -0.9773 0 0.6142 -0.7891 -0.1308 0.4233 -0.8965 -0.2531 0.2047 -0.9455 0.6511 0 -0.7501 0.9773 0 -0.2116 0.8965 0 -0.4233 0.9455 0.2531 -0.2047 0.8965 0.1308 -0.4233 0.7891 0 -0.6142 -0.6511 0 -0.7501 -0.7891 0 -0.6142 -0.8965 0.1308 -0.4233 -0.8965 0 -0.4233 -0.9455 0.2531 -0.2047 -0.9773 0 -0.2116'/>
 47                                     </IndexedFaceSet>
 48                                </Shape>
 49                           </Transform>
 50 
                         <!-- ROUTE information for CalculateColorSchemeMEDAL node:  [from diffuseColor to material.diffuseColor ] [from emissiveColor to material.emissiveColor ] [from transparency to material.transparency ] -->
                         <Script DEF='CalculateColorSchemeMEDAL'>
 51                                <!-- inputUnits are 'feet' or 'meters' - heightValuesOutput is always in meters. -->
 52                                <field name='frequencytype='SFInt32accessType='initializeOnly'/>
 53                                <field name='diffuseColortype='SFColoraccessType='outputOnly'/>
 54                                <field name='emissiveColortype='SFColoraccessType='outputOnly'/>
 55                                <field name='shininesstype='SFFloataccessType='outputOnly'/>
 56                                <field name='ambientIntensitytype='SFFloataccessType='outputOnly'/>
 57                                <field name='transparencytype='SFFloataccessType='outputOnly'/>
 58                                <IS>
 59                                     <connect nodeField='frequencyprotoField='frequency'/>
 60                                </IS>
  <![CDATA[
            
ecmascript:

function initialize ()
{

  // this depth band defined to match fathoms to 60 feet, then 10' increments, doesn't match MEDAL
  depthBand = new MFFloat (3000, 30000, 300000, 3000000, 30000000, 300000000, 3000000000);
  transparency = .65;

  brown		= new SFColor (0.2, 0.2, 0);
  white		= new SFColor (1, 1, 1);
  red		= new SFColor (1, 0, 0);
  redEmiss	= new SFColor (1, 0, 0) ;
  orange	= new SFColor (1, .529, 0);
  yellow	= new SFColor (1, 1, 0);
  green		= new SFColor (0, 1, 0);
  cyan		= new SFColor (0, 1, 1);
  blue		= new SFColor (0, 0, 1);
  magenta	= new SFColor (1, 0, 1);
  maroon	= new SFColor (0.561, 0, 0.322);
  tan		= new SFColor (0.871, 0.721, 0.529);
  seaGreen	= new SFColor (0.322, 0.584, 0.517);
  slateBlue	= new SFColor (0.494, 0.533, 0.671);
  navyBlue	= new SFColor (0.137, 0.137, 0.459);
  grey		= new SFColor (0.5,   0.5,   0.5);
  slateGrey	= new SFColor (0.439, 0.502, 0.565);
  skyBlue	= new SFColor (0.6, 0.6, 1.0);
  olive		= new SFColor (0.1, 0.4, 0);
  black		= new SFColor (0.1, 0.1, 0.1);

	frequencyValue = frequency ;
//	Browser.println ('frequency	= ' +frequencyValue) ;
//	Browser.println ('color		= ' +diffuseColor) ;
  {
	if      (frequencyValue < depthBand[1]) { diffuseColor = brown;
                                                  emissiveColor = brown; }
	else if (frequencyValue < depthBand[2]) { diffuseColor = cyan;
                                                  emissiveColor = cyan; }
	else if (frequencyValue < depthBand[3]) { diffuseColor = red;
						  emissiveColor = redEmiss ; }
	else if (frequencyValue < depthBand[4]) { diffuseColor = grey;
                                                  emissiveColor = grey; }
	else if (frequencyValue < depthBand[5]) { diffuseColor = yellow;
                                                 emissiveColor = yellow; }
	else if (frequencyValue < depthBand[6]) { diffuseColor = tan;
                                                  emissiveColor = tan; }
	else if (frequencyValue < depthBand[7]) { diffuseColor = orange;
                                                  emissiveColor = orange; }
//	else if (frequencyValue < depthBand[8])  diffuseColor = olive;
//	else if (frequencyValue < depthBand[9])  diffuseColor = green;
//	else if (frequencyValue < depthBand[10]) diffuseColor = seaGreen;
//	else if (frequencyValue < depthBand[11]) diffuseColor = navyBlue;
//	else if (frequencyValue < depthBand[12]) diffuseColor = blue;
//	else if (frequencyValue < depthBand[13]) diffuseColor = slateBlue;
//	else if (frequencyValue < depthBand[14]) diffuseColor = skyBlue;
//	else if (frequencyValue < depthBand[15]) diffuseColor = slateGrey;
	else
	{
	        diffuseColor = black;
		emissiveColor = black;
		transparency = 0 ;
	}
  }
}

          
]]>
 62                           </Script>
 63                           < ROUTE  fromNode='CalculateColorSchemeMEDAL' fromField='diffuseColor' toNode='material' toField='diffuseColor'/>
 64                           < ROUTE  fromNode='CalculateColorSchemeMEDAL' fromField='emissiveColor' toNode='material' toField='emissiveColor'/>
 65                           < ROUTE  fromNode='CalculateColorSchemeMEDAL' fromField='transparency' toNode='material' toField='transparency'/>
 66 
                         <!-- ROUTE information for RECEIVER node:  [from receiverState to TransmitScript.transState ] -->
                         <ReceiverPdu DEF='RECEIVERaddress='224.2.181.145entityID='1port='62040readInterval='1receivedPower='0.0whichGeometry='0containerField='children'>
 67                                <IS>
 68                                     <connect nodeField='addressprotoField='address'/>
 69                                     <connect nodeField='portprotoField='port'/>
 70                                     <connect nodeField='siteIDprotoField='siteID'/>
 71                                     <connect nodeField='applicationIDprotoField='applicationID'/>
 72                                     <connect nodeField='entityIDprotoField='entityID'/>
 73                                </IS>
 74                           </ReceiverPdu>
 75 
                         <!-- ROUTE information for TransmitScript node:  [from RECEIVER.receiverState to transState ] [from size to DomeTransform.scale ] -->
                         <Script DEF='TransmitScript'>
 76                                <field name='transStatetype='SFInt32accessType='inputOnly'/>
 77                                <field name='sizetype='SFVec3faccessType='outputOnly'/>
  <![CDATA[
            
ecmascript:

function initialize ()
{
	size = new SFVec3f(1, 1, 1) ;
	Browser.println ('TransmitScript initialize() complete') ;
}

// function name matches eventIn variable name ('hour')
// hourValue captures the new value of the ROUTE hour event
// minutes is just the current field value

function transState (newValue, timestamp)
{
	transmitState = newValue ;
	if (transmitState == 2) {
		size[0] = 10;
		size[1] = 10;
		size[2] = 10;
	}
	else if (transmitState == 1) {
		size[0] = 2;
		size[1] = 2;
		size[2] = 2;
	}
	else {
		size[0] = .5;
		size[1] = .5;
		size[2] = .5;
	}
	Browser.println ('size	= ' + size) ;
}

          
]]>
 79                           </Script>
 80                      </Group>
 81                      < ROUTE  fromNode='RECEIVER' fromField='receiverState' toNode='TransmitScript' toField='transState'/>
 82                      < ROUTE  fromNode='TransmitScript' fromField='size' toNode='DomeTransform' toField='scale'/>
 83                 </ProtoBody>
 84            </ProtoDeclare>
 85            <!-- ==================== -->
 86            <Background groundAngle='1.57079groundColor='1 0.8 0.6 0.6 0.4 0.2skyAngle='0.2skyColor='1 1 1 0.2 0.2 1'/>
 87            <ProtoInstance name='OmniReceiverDIS'>
 88                 <fieldValue name='frequencyvalue='100000'/>
 89            </ProtoInstance>
 90            <WorldInfo title='Geodesic Hemisphere Order 4, radius 1m'/>
 91       </Scene>
 92  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: CalculateColorSchemeMEDAL, DomeTransform, material, RECEIVER, TransmitScript

Index for ProtoDeclare definition: OmniReceiverDIS
-->
X3D Tooltips element index: Appearance, Background, component, connect, Coordinate, field, fieldValue, Group, head, IndexedFaceSet, IS, Material, meta, ProtoBody, ProtoDeclare, ProtoInstance, ProtoInterface, ReceiverPdu, ROUTE, Scene, Script, Shape, Transform, WorldInfo, X3D, plus documentation for accessType definitions, type definitions, XML data types, and field types

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

CalculateColorSchemeMEDAL
Script
diffuseColor
SFColor

ROUTE
event to
(1)
material
Material
diffuseColor
SFColor
CalculateColorSchemeMEDAL
Script
emissiveColor
SFColor

ROUTE
event to
(1)
material
Material
emissiveColor
SFColor
CalculateColorSchemeMEDAL
Script
transparency
SFFloat

ROUTE
event to
(1)
material
Material
transparency
SFFloat

      TransmitScript
Script
size
SFVec3f

ROUTE
event to
(1)
DomeTransform
Transform
scale
SFVec3f

RECEIVER
ReceiverPdu
receiverState
SFInt32

ROUTE
event to
(1)
TransmitScript
Script
transState
SFInt32
then
 
 
 
TransmitScript
Script
size
SFVec3f

ROUTE
event to
(2)
DomeTransform
Transform
scale
SFVec3f

line 87
ProtoInstance
OmniReceiverDIS
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/CommunicationsAndSensors/OmniDirectional/OmniReceiverPrototypeWithDISIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/OmniDirectional/OmniReceiverPrototypeWithDIS.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. -->