#VRML V2.0 utf8 WorldInfo { title "VRML: EspduTransformEXAMPLE.wrl" info [ "Author: Don Brutzman" "Revised: 14 April 2002" "Script: EspduTransform.java, .class" "Purpose: Example providing DIS ESPDU interface for VRML entities" "Browsers: WinNT Netscape 4.79/CosmoPlayer 2.1.1" "http://www.web3D.org/WorkingGroups/vrtp/mil/navy/nps/dis/EspduTransformPROTO.wrl" "http://web.nps.navy.mil/~brutzman/vrtp/mil/navy/nps/dis/EspduTransformEXAMPLE.wrl" ] } ########################################################################### # To use EspduReadTransform, include the following EXTERNPROTO definition: EXTERNPROTO EspduTransform [ # DIS ESPDU fields - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Entity identity field SFString marking # 0..11 character label for entity field SFInt32 siteID # EntityID triplet, first element field SFInt32 applicationID # EntityID triplet, second element field SFInt32 entityID # EntityID triplet, third element # Networking configuration parameters field SFString networkMode # "standAlone" | "networkReader" | "networkWriter" eventOut SFBool isStandAlone eventOut SFBool isNetworkReader eventOut SFBool isNetworkWriter field SFTime readInterval # seconds between read updates (if reading as remote) field SFTime writeInterval # seconds between write updates (if writing as master) field SFString address # multicast address or "localhost" field SFInt32 port # port number # Automatic MulticastRelayClient if no multicast heard - - - - - - - - - - - - - - field SFString multicastRelayHost field SFInt32 multicastRelayPort field SFBool rtpHeaderExpected # whether RTP headers are prepended to DIS eventOut SFBool rtpHeaderHeard # Standard VRML Transform fields - - - - - - - - - - - - - - - - - - - - - - - - - exposedField MFNode children exposedField SFVec3f translation # default prior to DIS update exposedField SFRotation rotation # default prior to DIS update exposedField SFVec3f scale exposedField SFRotation scaleOrientation exposedField SFVec3f center field SFVec3f bboxCenter field SFVec3f bboxSize eventIn MFNode addChildren eventIn MFNode removeChildren # Events: active, Collision/Detonation/Fire PDU heard, or recent active ESPDUs heard - - - - - - - - - eventOut SFTime timestamp # DIS timestamp in VRML units eventOut SFBool active # have we had an update recently? eventOut SFBool collided # has a CollisionPDU reported a collision? eventOut SFTime collideTime # when were we collided with? eventOut SFBool detonated # has a DetonationPDU reported a detonation? eventOut SFTime detonateTime # when were we detonated? eventOut SFBool fired1 # have we shot a Fire (weapon) PDU (primary)? eventOut SFBool fired2 # have we shot a Fire (weapon) PDU (secondary)? eventOut SFTime firedTime # when did we shoot a Fire (weapon) PDU? eventOut SFVec3f munitionStartPoint # exercise coordinates eventOut SFVec3f munitionEndPoint # exercise coordinates # Articulated Parameter (user-defined payload) fields - - - - - - - - - - - - - - - - - - - - - - eventOut SFInt32 articulationParameterCount # articulated parameters available eventOut SFFloat articulationParameterValue0 # user-defined payload value eventOut SFFloat articulationParameterValue1 # user-defined payload value eventOut SFFloat articulationParameterValue2 # user-defined payload value eventOut SFFloat articulationParameterValue3 # user-defined payload value eventOut SFFloat articulationParameterValue4 # user-defined payload value eventOut SFFloat articulationParameterValue5 # user-defined payload value eventOut SFFloat articulationParameterValue6 # user-defined payload value eventOut SFFloat articulationParameterValue7 # user-defined payload value eventOut SFFloat articulationParameterValue8 # user-defined payload value eventOut SFFloat articulationParameterValue9 # user-defined payload value eventOut SFFloat articulationParameterValue10 # user-defined payload value eventOut SFFloat articulationParameterValue11 # user-defined payload value eventOut SFFloat articulationParameterValue12 # user-defined payload value # Trace fields - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - exposedField SFColor traceColor # color of VRML trace text exposedField SFVec3f traceOffset # VRML text position relative to entity field SFFloat traceFontSize # VRML text scale field SFBool traceJava # Java console tracing enabled? ] [ # CosmoPlayer bug: first URL must be valid... "EspduTransformPROTO.wrl#EspduTransform" # local or remote URLs for the EXTERNPROTO "file://C:\vrtp\mil\navy\nps\dis\EspduTransformPROTO.wrl#EspduTransform" "file://C:/vrtp/mil/navy/nps/dis/EspduTransformPROTO.wrl#EspduTransform" # attempted PC installation "file:///vrtp/mil/navy/nps/dis/EspduTransformPROTO.wrl#EspduTransform" # default PC installation "file:///C|/vrtp/mil/navy/nps/dis/EspduTransformPROTO.wrl#EspduTransform" # default PC installation "file:///D|/vrtp/mil/navy/nps/dis/EspduTransformPROTO.wrl#EspduTransform" # default PC installation "file:///D:/vrtp/mil/navy/nps/dis/EspduTransformPROTO.wrl#EspduTransform" # attempted PC installation "../../mil/navy/nps/dis/EspduTransformPROTO.wrl#EspduTransform" "http://web.nps.navy.mil/~brutzman/vrtp/mil/navy/nps/dis/EspduTransformPROTO.wrl#EspduTransform" "http://www.web3D.org/WorkingGroups/vrtp/mil/navy/nps/dis/EspduTransformPROTO.wrl#EspduTransform" ] # ########################################################################### # Example uses of EspduTransform node to view two remote DIS-capable entities: Group { children [ NavigationInfo { type ["EXAMINE" "ANY"] speed 2 # m/sec for FLY | WALK visibilityLimit 2000 # reduce aliasing by increasing relative precision } WorldInfo { title "AUV test for EspduTransformEXAMPLE.wrl" } EspduTransform { marking "Phoenix AUV" networkMode "networkReader" # "standAlone" | "networkReader" | "networkWriter" readInterval 1 # seconds, enabled whenever networkReader writeInterval 1 # seconds, disabled unless networkWriter address "224.2.181.145" # multicast address port 62040 # port number siteID 0 applicationID 1 entityID 2 traceJava FALSE # TRUE FALSE multicastRelayHost "devo.stl.nps.navy.mil" multicastRelayPort 8010 rtpHeaderExpected FALSE # optional hint children [ Inline { url [ "phoenix_auv.wrl" "http://web.nps.navy.mil/~brutzman/vrtp/demo/auv/phoenix_auv_articulated.wrl" ] } ] } # DEF AUV2 EspduTransform { # driven by telemetry ROUTE below, writes PDUs # readInterval 0 # integer seconds, 0 => disabled # writeInterval 5.0 # integer seconds, enabled # address "224.2.181.145" # multicast address # port 62040 # port number # siteID 0 # applicationID 1 # entityID 2 # translation 0 -2 0 # default initial position # traceJava FALSE # rtpHeaderExpected FALSE # # children [ # Inline { # url [ "phoenix_auv2.wrl" # "http://devo.stl.nps.navy.mil/~auv/viewer/phoenix_auv.wrl" # ] # } # ] # } # Insert additional entities and world scenes inserted as desired, # at this level.. Background { skyColor [ 0.44 0.66 0.90, 0.08 0.44 0.90, 0.06 0.33 0.45 ] skyAngle [ 0.15, 3.0 ] groundColor [ 0.02 0.04 0.11, 0.02 0.11 0.45, 0.04 0.22 0.45 ] groundAngle [ 0.15, 2.5 ] frontUrl ["mountains.png" "http://web.nps.navy.mil/~brutzman/vrtp/mil/navy/nps/dis/mountains.png" "http://www.web3D.org/WorkingGroups/vrtp/mil/navy/nps/dis/mountains.png" ] backUrl ["mountains.png" "http://web.nps.navy.mil/~brutzman/vrtp/mil/navy/nps/dis/mountains.png" "http://www.web3D.org/WorkingGroups/vrtp/mil/navy/nps/dis/mountains.png" ] leftUrl ["mountains.png" "http://web.nps.navy.mil/~brutzman/vrtp/mil/navy/nps/dis/mountains.png" "http://www.web3D.org/WorkingGroups/vrtp/mil/navy/nps/dis/mountains.png" ] rightUrl ["mountains.png" "http://web.nps.navy.mil/~brutzman/vrtp/mil/navy/nps/dis/mountains.png" "http://www.web3D.org/WorkingGroups/vrtp/mil/navy/nps/dis/mountains.png" ] } DEF TELEMETRY_POSITION PositionInterpolator { key [ 0 .03976 .05810 .07034 .08257 .09174 .10092 .11009 .11927 .12844 .13761 .14373 .14985 .15596 .16208 .16820 .17431 .18043 .18654 .19266 .19878 .20489 .21101 .21713 .22324 .22936 .23547 .24159 .24771 .25382 .25994 .26606 .27217 .27829 .28440 .29052 .29664 .30275 .30887 .31498 .32110 .32416 .32722 .33028 .33333 .33639 .33945 .34251 .34557 .34862 .35168 .35474 .35780 .36086 .36391 .36697 .37003 .37309 .37615 .37920 .38226 .38532 .38838 .39144 .39450 .39755 .40061 .40367 .40673 .40979 .41284 .41590 .41896 .42202 .42508 .42813 .43119 .43425 .43731 .44037 .44342 .44648 .44954 .45260 .45566 .45872 .46177 .46483 .46789 .47095 .47401 .47706 .48012 .48318 .48624 .48930 .49235 .49541 .49847 .50153 .50459 .50765 .51070 .51376 .51682 .51988 .52294 .52599 .52905 .53211 .53517 .53823 .54128 .54434 .54740 .55046 .55352 .55657 .55963 .56269 .56575 .56881 .57187 .57492 .58104 .58716 .59327 .59939 .60550 .61162 .61774 .62385 .62997 .63609 .64220 .64832 .65443 .66055 .66667 .67278 .67890 .68502 .69113 .69725 .70336 .70948 .71560 .72171 .72783 .73394 .74006 .74618 .75229 .75841 .76453 .77064 .77676 .78287 .78899 .79511 .80122 .80734 .81346 .81957 .82569 .83180 .83792 .84404 .85015 .85627 .86239 .86850 .87462 .88073 .88685 .89297 .89908 .90520 .91131 .91743 .92355 .92966 .93578 .94190 .94801 .95413 .96024 .96636 .97248 .97859 .98471 .99083 .99388 .99694 1.00000 ] keyValue [ 5.00 -2.00 5.00, 5.08 -2.06 5.00, 5.19 -2.13 5.01, 5.28 -2.19 5.02, 5.38 -2.25 5.04, 5.47 -2.31 5.05, 5.57 -2.36 5.07, 5.68 -2.42 5.10, 5.79 -2.48 5.13, 5.91 -2.55 5.17, 6.04 -2.61 5.21, 6.13 -2.65 5.25, 6.23 -2.69 5.28, 6.32 -2.73 5.32, 6.42 -2.78 5.36, 6.53 -2.82 5.41, 6.63 -2.86 5.46, 6.74 -2.90 5.51, 6.85 -2.94 5.57, 6.96 -2.98 5.63, 7.08 -3.02 5.69, 7.19 -3.05 5.76, 7.31 -3.09 5.83, 7.43 -3.13 5.90, 7.55 -3.16 5.98, 7.68 -3.20 6.06, 7.80 -3.24 6.15, 7.93 -3.27 6.24, 8.06 -3.31 6.34, 8.18 -3.34 6.44, 8.31 -3.38 6.54, 8.44 -3.41 6.65, 8.57 -3.44 6.76, 8.70 -3.48 6.88, 8.84 -3.51 7.00, 8.97 -3.55 7.12, 9.10 -3.58 7.25, 9.23 -3.61 7.38, 9.36 -3.65 7.52, 9.49 -3.68 7.67, 9.62 -3.72 7.81, 9.69 -3.73 7.89, 9.75 -3.75 7.96, 9.81 -3.77 8.04, 9.88 -3.79 8.12, 9.94 -3.80 8.20, 10.00 -3.82 8.28, 10.07 -3.84 8.36, 10.13 -3.86 8.45, 10.19 -3.87 8.53, 10.25 -3.89 8.62, 10.31 -3.91 8.70, 10.37 -3.93 8.79, 10.42 -3.95 8.88, 10.48 -3.96 8.97, 10.54 -3.98 9.06, 10.59 -4.00 9.16, 10.64 -4.02 9.25, 10.70 -4.04 9.35, 10.75 -4.06 9.44, 10.80 -4.08 9.54, 10.84 -4.10 9.64, 10.89 -4.11 9.74, 10.93 -4.13 9.84, 10.97 -4.15 9.94, 11.01 -4.17 10.04, 11.05 -4.19 10.15, 11.09 -4.21 10.25, 11.12 -4.23 10.36, 11.15 -4.25 10.47, 11.18 -4.27 10.57, 11.21 -4.29 10.68, 11.23 -4.31 10.79, 11.25 -4.33 10.90, 11.27 -4.34 11.01, 11.29 -4.36 11.12, 11.30 -4.38 11.23, 11.31 -4.40 11.34, 11.32 -4.42 11.45, 11.32 -4.44 11.56, 11.33 -4.46 11.68, 11.33 -4.48 11.79, 11.32 -4.50 11.90, 11.32 -4.51 12.01, 11.31 -4.53 12.12, 11.30 -4.55 12.23, 11.28 -4.57 12.34, 11.26 -4.59 12.44, 11.24 -4.61 12.55, 11.22 -4.62 12.66, 11.19 -4.64 12.76, 11.17 -4.66 12.87, 11.14 -4.68 12.98, 11.10 -4.70 13.08, 11.06 -4.71 13.18, 11.03 -4.73 13.28, 10.98 -4.75 13.38, 10.94 -4.76 13.48, 10.89 -4.78 13.57, 10.84 -4.80 13.67, 10.79 -4.82 13.76, 10.74 -4.83 13.85, 10.68 -4.85 13.94, 10.62 -4.87 14.03, 10.56 -4.88 14.12, 10.50 -4.90 14.20, 10.44 -4.92 14.28, 10.37 -4.93 14.36, 10.30 -4.95 14.44, 10.23 -4.97 14.52, 10.16 -4.98 14.59, 10.09 -5.00 14.66, 10.01 -5.02 14.73, 9.94 -5.03 14.80, 9.86 -5.05 14.87, 9.78 -5.07 14.93, 9.70 -5.08 14.99, 9.61 -5.10 15.05, 9.53 -5.12 15.10, 9.45 -5.14 15.15, 9.36 -5.15 15.21, 9.27 -5.17 15.25, 9.18 -5.18 15.30, 9.10 -5.20 15.34, 8.92 -5.23 15.42, 8.73 -5.27 15.49, 8.55 -5.30 15.55, 8.36 -5.33 15.60, 8.17 -5.37 15.63, 7.98 -5.40 15.66, 7.79 -5.43 15.68, 7.61 -5.47 15.69, 7.42 -5.50 15.68, 7.23 -5.53 15.67, 7.05 -5.57 15.65, 6.87 -5.60 15.62, 6.69 -5.64 15.58, 6.51 -5.67 15.53, 6.34 -5.70 15.47, 6.17 -5.74 15.40, 6.00 -5.77 15.33, 5.84 -5.80 15.25, 5.69 -5.84 15.16, 5.54 -5.87 15.06, 5.39 -5.90 14.95, 5.25 -5.94 14.84, 5.12 -5.97 14.73, 4.99 -6.01 14.60, 4.87 -6.04 14.47, 4.75 -6.07 14.34, 4.64 -6.11 14.20, 4.54 -6.14 14.05, 4.45 -6.17 13.90, 4.36 -6.21 13.75, 4.28 -6.24 13.59, 4.21 -6.27 13.43, 4.14 -6.31 13.26, 4.08 -6.34 13.10, 4.03 -6.37 12.92, 3.99 -6.41 12.75, 3.95 -6.44 12.58, 3.93 -6.47 12.40, 3.91 -6.51 12.22, 3.90 -6.54 12.04, 3.89 -6.57 11.86, 3.90 -6.61 11.68, 3.91 -6.64 11.50, 3.93 -6.67 11.32, 3.95 -6.71 11.15, 3.99 -6.74 10.97, 4.03 -6.77 10.79, 4.08 -6.80 10.61, 4.14 -6.84 10.44, 4.20 -6.87 10.27, 4.28 -6.90 10.10, 4.36 -6.94 9.93, 4.44 -6.97 9.77, 4.53 -7.00 9.61, 4.64 -7.04 9.45, 4.74 -7.07 9.30, 4.86 -7.10 9.14, 4.97 -7.14 9.00, 5.10 -7.17 8.85, 5.23 -7.20 8.72, 5.37 -7.24 8.58, 5.51 -7.27 8.45, 5.66 -7.30 8.33, 5.82 -7.34 8.21, 5.98 -7.37 8.10, 6.14 -7.41 7.99, 6.31 -7.44 7.89, 6.48 -7.47 7.80, 6.57 -7.49 7.76, 6.66 -7.51 7.71, 6.75 -7.52 7.67 ] } DEF MISSION_TIMESENSOR TimeSensor { cycleInterval 33 # integer seconds loop TRUE } DEF TELEMETRY_ORIENTATION OrientationInterpolator { key [ 0 .06728 .11315 .16208 .22018 .28440 .33945 .37309 .39755 .41896 .43731 .45566 .47401 .49235 .51070 .52905 .55046 .57187 .59327 .61468 .63609 .65749 .67890 .70336 .72783 .75229 .77982 .80734 .83486 .86239 .89297 .92355 .95413 .98471 1.00000 ] keyValue [ 0 1 0 .00000, 0 1 0 -.18469, 0 1 0 -.37008, 0 1 0 -.54531, 0 1 0 -.72211, 0 1 0 -.89940, 0 1 0 -1.07997, 0 1 0 -1.25779, 0 1 0 -1.45067, 0 1 0 -1.65407, 0 1 0 -1.83750, 0 1 0 -2.02252, 0 1 0 -2.20652, 0 1 0 -2.38843, 0 1 0 -2.56787, 0 1 0 -2.74479, 0 1 0 -2.94807, 0 1 0 -3.14826, 0 1 0 -3.34564, 0 1 0 -3.54010, 0 1 0 -3.72909, 0 1 0 -3.91127, 0 1 0 -4.08679, 0 1 0 -4.27977, 0 1 0 -4.46530, 0 1 0 -4.64413, 0 1 0 -4.83818, 0 1 0 -5.02559, 0 1 0 -5.20740, 0 1 0 -5.38457, 0 1 0 -5.57596, 0 1 0 -5.76035, 0 1 0 -5.94039, 0 1 0 -6.12005, 0 1 0 -6.21114 ] } ] } ROUTE MISSION_TIMESENSOR.fraction_changed TO TELEMETRY_POSITION.set_fraction ROUTE MISSION_TIMESENSOR.fraction_changed TO TELEMETRY_ORIENTATION.set_fraction #ROUTE TELEMETRY_POSITION.value_changed TO AUV2.translation #ROUTE TELEMETRY_ORIENTATION.value_changed TO AUV2.rotation # local entity viewpoints are best, since entity may move out of sight # due to DIS PDUs, so no further viewpoints are provided here