@prefix :        <https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/OmniDirectional/OmniReceiverPrototypeWithDIS.ttl#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema:  <http://schema.org/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix x3d:     <https://www.web3d.org/specifications/x3d-4.1.xsd#> .
@prefix x3do:    <https://www.web3d.org/specifications/X3dOntology4.1#> .

:X3D a owl:NamedIndividual, x3do:X3D ;
  x3do:hasHead :head ;
  x3do:hasScene :Scene ;
  x3do:profile 'Immersive' ;
  x3do:version '3.0' ;
  x3do:noNamespaceSchemaLocation 'https://www.web3d.org/specifications/x3d-3.0.xsd' .
:head a owl:NamedIndividual, x3do:head ;
  x3do:hasParent :X3D ;
  x3do:hasComponent :component_1_1 ;
  x3do:hasMeta :meta_1_2, :meta_1_3, :meta_1_4, :meta_1_5, :meta_1_6, :meta_1_7, :meta_1_8, :meta_1_9 .
:component_1_1 a owl:NamedIndividual, x3do:component ;
  x3do:hasParent :head ;
  x3do:level 1 ;
  x3do:name 'DIS' .
:meta_1_2 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'OmniReceiverPrototypeWithDIS.x3d' ;
  x3do:name 'title' .
:meta_1_3 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Mike Hunsberger' ;
  x3do:name 'creator' .
:meta_1_4 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '26 March 2001' ;
  x3do:name 'created' .
:meta_1_5 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '20 October 2019' ;
  x3do:name 'modified' .
:meta_1_6 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Omni Directional Signal Dome Proto controlled by input frequency' ;
  x3do:name 'description' .
:meta_1_7 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/OmniDirectional/OmniReceiverPrototypeWithDIS.x3d' ;
  x3do:name 'identifier' .
:meta_1_8 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit' ;
  x3do:name 'generator' .
:meta_1_9 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '../../license.html' ;
  x3do:name 'license' .
:meta dcterms:title "OmniReceiverPrototypeWithDIS.x3d" .
:meta dcterms:creator "Mike Hunsberger" .
:meta dcterms:created "26 March 2001" .
:meta dcterms:modified "20 October 2019" .
:meta dcterms:description "Omni Directional Signal Dome Proto controlled by input frequency" .
:meta dcterms:identifier "https://www.web3d.org/x3d/content/examples/Savage/CommunicationsAndSensors/OmniDirectional/OmniReceiverPrototypeWithDIS.x3d" .
:meta dcterms:generator "X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit" .
:meta dcterms:license "../../license.html" .
:Scene a owl:NamedIndividual, x3do:Scene ;
  x3do:hasParent :X3D ;
  x3do:hasProtoDeclare :ProtoDeclare_2_1 ;
  x3do:hasChildren :Background_2_2, :ProtoInstance_2_3, :WorldInfo_2_4 .
:ProtoDeclare_2_1 a owl:NamedIndividual, x3do:ProtoDeclare ;
  x3do:hasParent :Scene ;
  x3do:hasProtoInterface :ProtoInterface_2_1_1 ;
  x3do:hasProtoBody :ProtoBody_2_1_2 ;
  x3do:appinfo 'Omnidirectional hemispherical receiver with integrated DIS ReceiverPdu functionality.' ;
  x3do:name 'OmniReceiverDIS' .
:ProtoInterface_2_1_1 a owl:NamedIndividual, x3do:ProtoInterface ;
  x3do:hasParent :ProtoDeclare_2_1 ;
  x3do:hasField :field_2_1_1_1, :field_2_1_1_2, :field_2_1_1_3, :field_2_1_1_4, :field_2_1_1_5, :field_2_1_1_6, :field_2_1_1_7, :field_2_1_1_8, :field_2_1_1_9, :field_2_1_1_10, :field_2_1_1_11 .
:field_2_1_1_1 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'initializeOnly' ;
  x3do:appinfo 'units Hertz' ;
  x3do:name 'frequency' ;
  x3do:type 'SFInt32' ;
  x3do:value 150000 .
:field_2_1_1_2 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'inputOutput' ;
  x3do:name 'diffuseColor' ;
  x3do:type 'SFColor' .
:field_2_1_1_3 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'inputOutput' ;
  x3do:name 'emissiveColor' ;
  x3do:type 'SFColor' .
:field_2_1_1_4 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'inputOutput' ;
  x3do:name 'shininess' ;
  x3do:type 'SFFloat' ;
  x3do:value .72 .
:field_2_1_1_5 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'inputOutput' ;
  x3do:name 'ambientIntensity' ;
  x3do:type 'SFFloat' ;
  x3do:value 0.372549 .
:field_2_1_1_6 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'inputOutput' ;
  x3do:name 'transparency' ;
  x3do:type 'SFFloat' ;
  x3do:value .85 .
:field_2_1_1_7 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'initializeOnly' ;
  x3do:name 'address' ;
  x3do:type 'SFString' ;
  x3do:value '224.2.181.145' .
:field_2_1_1_8 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'initializeOnly' ;
  x3do:name 'port' ;
  x3do:type 'SFInt32' ;
  x3do:value 62040 .
:field_2_1_1_9 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'initializeOnly' ;
  x3do:name 'siteID' ;
  x3do:type 'SFInt32' ;
  x3do:value 0 .
:field_2_1_1_10 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'initializeOnly' ;
  x3do:name 'applicationID' ;
  x3do:type 'SFInt32' ;
  x3do:value 1 .
:field_2_1_1_11 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_1_1 ;
  x3do:accessType 'initializeOnly' ;
  x3do:name 'entityID' ;
  x3do:type 'SFInt32' ;
  x3do:value 1 .
:ProtoBody_2_1_2 a owl:NamedIndividual, x3do:ProtoBody ;
  x3do:hasParent :ProtoDeclare_2_1 ;
  x3do:hasChildren :Group_2_1_2_1 ;
  x3do:hasROUTE :ROUTE_2_1_2_2, :ROUTE_2_1_2_3 .
:Group_2_1_2_1 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :ProtoBody_2_1_2 ;
  x3do:hasChildren :DomeTransform, :CalculateColorSchemeMEDAL, :RECEIVER, :TransmitScript ;
  x3do:hasROUTE :ROUTE_2_1_2_1_3, :ROUTE_2_1_2_1_4, :ROUTE_2_1_2_1_5 .
:DomeTransform a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Group_2_1_2_1 ;
  x3do:hasChildren :Shape_2_1_2_1_1_1 ;
  x3do:DEF 'DomeTransform' .
:Shape_2_1_2_1_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :DomeTransform ;
  x3do:hasAppearance :Appearance_2_1_2_1_1_1_1 ;
  x3do:hasGeometry :IndexedFaceSet_2_1_2_1_1_1_2 .
:Appearance_2_1_2_1_1_1_1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_1_2_1_1_1 ;
  x3do:hasMaterial :material .
:material a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_1_2_1_1_1_1 ;
  x3do:hasIS :IS_2_1_2_1_1_1_1_1_1 ;
  x3do:DEF 'material' .
:IS_2_1_2_1_1_1_1_1_1 a owl:NamedIndividual, x3do:IS ;
  x3do:hasParent :material ;
  x3do:hasConnect :connect_2_1_2_1_1_1_1_1_1_1, :connect_2_1_2_1_1_1_1_1_1_2, :connect_2_1_2_1_1_1_1_1_1_3, :connect_2_1_2_1_1_1_1_1_1_4, :connect_2_1_2_1_1_1_1_1_1_5 .
:connect_2_1_2_1_1_1_1_1_1_1 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_1_1_1_1_1 ;
  x3do:nodeField 'diffuseColor' ;
  x3do:protoField 'diffuseColor' .
:connect_2_1_2_1_1_1_1_1_1_2 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_1_1_1_1_1 ;
  x3do:nodeField 'emissiveColor' ;
  x3do:protoField 'emissiveColor' .
:connect_2_1_2_1_1_1_1_1_1_3 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_1_1_1_1_1 ;
  x3do:nodeField 'shininess' ;
  x3do:protoField 'shininess' .
:connect_2_1_2_1_1_1_1_1_1_4 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_1_1_1_1_1 ;
  x3do:nodeField 'ambientIntensity' ;
  x3do:protoField 'ambientIntensity' .
:connect_2_1_2_1_1_1_1_1_1_5 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_1_1_1_1_1 ;
  x3do:nodeField 'transparency' ;
  x3do:protoField 'transparency' .
:IndexedFaceSet_2_1_2_1_1_1_2 a owl:NamedIndividual, x3do:IndexedFaceSet ;
  x3do:hasParent :Shape_2_1_2_1_1_1 ;
  x3do:hasCoord :Coordinate_2_1_2_1_1_1_2_1 ;
  x3do:coordIndex ( 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 ) ;
  x3do:creaseAngle .01 ;
  x3do:solid false .
:Coordinate_2_1_2_1_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedFaceSet_2_1_2_1_1_1_2 ;
  x3do: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 ) .
:CalculateColorSchemeMEDAL a owl:NamedIndividual, x3do:Script ;
  x3do:hasParent :Group_2_1_2_1 ;
  x3do:hasField :field_2_1_2_1_2_1, :field_2_1_2_1_2_2, :field_2_1_2_1_2_3, :field_2_1_2_1_2_4, :field_2_1_2_1_2_5, :field_2_1_2_1_2_6 ;
  x3do:hasIS :IS_2_1_2_1_2_7 ;
  x3do:DEF 'CalculateColorSchemeMEDAL' ;
  x3do:sourceCode """
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 ;
	}
  }
}
""" .
:field_2_1_2_1_2_1 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :CalculateColorSchemeMEDAL ;
  x3do:accessType 'initializeOnly' ;
  x3do:name 'frequency' ;
  x3do:type 'SFInt32' .
:field_2_1_2_1_2_2 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :CalculateColorSchemeMEDAL ;
  x3do:accessType 'outputOnly' ;
  x3do:name 'diffuseColor' ;
  x3do:type 'SFColor' .
:field_2_1_2_1_2_3 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :CalculateColorSchemeMEDAL ;
  x3do:accessType 'outputOnly' ;
  x3do:name 'emissiveColor' ;
  x3do:type 'SFColor' .
:field_2_1_2_1_2_4 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :CalculateColorSchemeMEDAL ;
  x3do:accessType 'outputOnly' ;
  x3do:name 'shininess' ;
  x3do:type 'SFFloat' .
:field_2_1_2_1_2_5 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :CalculateColorSchemeMEDAL ;
  x3do:accessType 'outputOnly' ;
  x3do:name 'ambientIntensity' ;
  x3do:type 'SFFloat' .
:field_2_1_2_1_2_6 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :CalculateColorSchemeMEDAL ;
  x3do:accessType 'outputOnly' ;
  x3do:name 'transparency' ;
  x3do:type 'SFFloat' .
:IS_2_1_2_1_2_7 a owl:NamedIndividual, x3do:IS ;
  x3do:hasParent :CalculateColorSchemeMEDAL ;
  x3do:hasConnect :connect_2_1_2_1_2_7_1 .
:connect_2_1_2_1_2_7_1 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_2_7 ;
  x3do:nodeField 'frequency' ;
  x3do:protoField 'frequency' .
:ROUTE_2_1_2_1_3 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_1_2_1 ;
  x3do:fromField 'diffuseColor' ;
  x3do:fromNode 'CalculateColorSchemeMEDAL' ;
  x3do:toField 'diffuseColor' ;
  x3do:toNode 'material' .
:ROUTE_2_1_2_1_4 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_1_2_1 ;
  x3do:fromField 'emissiveColor' ;
  x3do:fromNode 'CalculateColorSchemeMEDAL' ;
  x3do:toField 'emissiveColor' ;
  x3do:toNode 'material' .
:ROUTE_2_1_2_1_5 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_1_2_1 ;
  x3do:fromField 'transparency' ;
  x3do:fromNode 'CalculateColorSchemeMEDAL' ;
  x3do:toField 'transparency' ;
  x3do:toNode 'material' .
:RECEIVER a owl:NamedIndividual, x3do:ReceiverPdu ;
  x3do:hasParent :Group_2_1_2_1 ;
  x3do:hasIS :IS_2_1_2_1_6_1 ;
  x3do:DEF 'RECEIVER' ;
  x3do:address '224.2.181.145' ;
  x3do:entityID 1 ;
  x3do:port 62040 ;
  x3do:readInterval '1' ;
  x3do:receivedPower 0.0 ;
  x3do:whichGeometry 0 .
:IS_2_1_2_1_6_1 a owl:NamedIndividual, x3do:IS ;
  x3do:hasParent :RECEIVER ;
  x3do:hasConnect :connect_2_1_2_1_6_1_1, :connect_2_1_2_1_6_1_2, :connect_2_1_2_1_6_1_3, :connect_2_1_2_1_6_1_4, :connect_2_1_2_1_6_1_5 .
:connect_2_1_2_1_6_1_1 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_6_1 ;
  x3do:nodeField 'address' ;
  x3do:protoField 'address' .
:connect_2_1_2_1_6_1_2 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_6_1 ;
  x3do:nodeField 'port' ;
  x3do:protoField 'port' .
:connect_2_1_2_1_6_1_3 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_6_1 ;
  x3do:nodeField 'siteID' ;
  x3do:protoField 'siteID' .
:connect_2_1_2_1_6_1_4 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_6_1 ;
  x3do:nodeField 'applicationID' ;
  x3do:protoField 'applicationID' .
:connect_2_1_2_1_6_1_5 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_1_2_1_6_1 ;
  x3do:nodeField 'entityID' ;
  x3do:protoField 'entityID' .
:TransmitScript a owl:NamedIndividual, x3do:Script ;
  x3do:hasParent :Group_2_1_2_1 ;
  x3do:hasField :field_2_1_2_1_7_1, :field_2_1_2_1_7_2 ;
  x3do:DEF 'TransmitScript' ;
  x3do:sourceCode """
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) ;
}
""" .
:field_2_1_2_1_7_1 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :TransmitScript ;
  x3do:accessType 'inputOnly' ;
  x3do:name 'transState' ;
  x3do:type 'SFInt32' .
:field_2_1_2_1_7_2 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :TransmitScript ;
  x3do:accessType 'outputOnly' ;
  x3do:name 'size' ;
  x3do:type 'SFVec3f' .
:ROUTE_2_1_2_2 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_1_2 ;
  x3do:fromField 'receiverState' ;
  x3do:fromNode 'RECEIVER' ;
  x3do:toField 'transState' ;
  x3do:toNode 'TransmitScript' .
:ROUTE_2_1_2_3 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :ProtoBody_2_1_2 ;
  x3do:fromField 'size' ;
  x3do:fromNode 'TransmitScript' ;
  x3do:toField 'scale' ;
  x3do:toNode 'DomeTransform' .
:Background_2_2 a owl:NamedIndividual, x3do:Background ;
  x3do:hasParent :Scene ;
  x3do:groundAngle ( 1.57079 ) ;
  x3do:groundColor ( 1 0.8 0.6 0.6 0.4 0.2 ) ;
  x3do:skyAngle ( 0.2 ) ;
  x3do:skyColor ( 1 1 1 0.2 0.2 1 ) .
:ProtoInstance_2_3 a owl:NamedIndividual, x3do:ProtoInstance ;
  x3do:hasParent :Scene ;
  x3do:hasFieldValue :fieldValue_2_3_1 ;
  x3do:name 'OmniReceiverDIS' .
:fieldValue_2_3_1 a owl:NamedIndividual, x3do:fieldValue ;
  x3do:hasParent :ProtoInstance_2_3 ;
  x3do:name 'frequency' ;
  x3do:value 100000 .
:WorldInfo_2_4 a owl:NamedIndividual, x3do:WorldInfo ;
  x3do:hasParent :Scene ;
  x3do:title 'Geodesic Hemisphere Order 4, radius 1m' .
