<WorldInfo title='CaliforniaCampuses.x3d'/>
<Switch DEF='SwitchGlobes' whichChoice='0'>
</Switch>
<NavigationInfo transitionType='"ANIMATE"'/>
<Group DEF='PlacemarkGroup'>
<GeoViewpoint DEF='View01' description='Naval Postgraduate School' orientation='1 0 0 -1.57' position='36.595599 -121.877148 250000' containerField='children'/>
<GeoViewpoint DEF='View02' description='University of California Davis' orientation='1 0 0 -1.57' position='38.53650615157984 -121.7489628616831 250000' containerField='children'/>
<GeoViewpoint DEF='View03' description='University of California Berkeley' orientation='1 0 0 -1.57' position='37.86963434512325 -122.2593873127355 250000' containerField='children'/>
<GeoViewpoint DEF='View04' description='University of California San Francisco' orientation='1 0 0 -1.57' position='37.76340647188392 -122.4582475377715 250000' containerField='children'/>
<GeoViewpoint DEF='View05' description='University of California Santa Cruz' orientation='1 0 0 -1.57' position='36.99628443046043 -122.0534325473795 250000' containerField='children'/>
<GeoViewpoint DEF='View06' description='University of California Merced' orientation='1 0 0 -1.57' position='37.365508575977 -120.4252597059142 250000' containerField='children'/>
<GeoViewpoint DEF='View07' description='University of California Santa Barbara' orientation='1 0 0 -1.57' position='34.41124450961521 -119.8479940053906 250000' containerField='children'/>
<GeoViewpoint DEF='View08' description='University of California Los Angeles' orientation='1 0 0 -1.57' position='34.07224474392262 -118.4408472225642 250000' containerField='children'/>
<GeoViewpoint DEF='View09' description='University of California Irvine' orientation='1 0 0 -1.57' position='33.64623283675919 -117.8427064139082 250000' containerField='children'/>
<GeoViewpoint DEF='View10' description='University of California Riverside' orientation='1 0 0 -1.57' position='33.97350567066717 -117.3281649569839 250000' containerField='children'/>
<GeoViewpoint DEF='View11' description='University of California San Diego' orientation='1 0 0 -1.57' position='32.87612136607509 -117.2367298240259 250000' containerField='children'/>
<GeoViewpoint DEF='View12' description='Humboldt State University' orientation='1 0 0 -1.57' position='40.87630235623448 -124.0785789217266 250000' containerField='children'/>
<GeoViewpoint DEF='View13' description='California State University, Chico' orientation='1 0 0 -1.57' position='39.73031527724385 -121.8453722745223 250000' containerField='children'/>
<GeoViewpoint DEF='View14' description='California State University Sacramento' orientation='1 0 0 -1.57' position='38.5626517618963 -121.4244636520556 250000' containerField='children'/>
<GeoViewpoint DEF='View15' description='Sonoma State University' orientation='1 0 0 -1.57' position='38.33922929793606 -122.6744333530031 250000' containerField='children'/>
<GeoViewpoint DEF='View16' description='California Maritime Academy' orientation='1 0 0 -1.57' position='38.06907065059484 -122.2309147135222 250000' containerField='children'/>
<GeoViewpoint DEF='View17' description='San Francisco State University' orientation='1 0 0 -1.57' position='37.722876 -122.4781512190666 250000' containerField='children'/>
<GeoViewpoint DEF='View18' description='California State University, East Bay' orientation='1 0 0 -1.57' position='37.65707914139907 -122.0569190659761 250000' containerField='children'/>
<GeoViewpoint DEF='View19' description='California State University Stanislaus' orientation='1 0 0 -1.57' position='37.52552478005697 -120.8563508560606 250000' containerField='children'/>
<GeoViewpoint DEF='View20' description='San Jose State University' orientation='1 0 0 -1.57' position='37.33580940527095 -121.8815343755784 250000' containerField='children'/>
<GeoViewpoint DEF='View21' description='California State University, Monterey Bay' orientation='1 0 0 -1.57' position='36.6538071781493 -121.7984465276711 250000' containerField='children'/>
<GeoViewpoint DEF='View22' description='Fresno State University' orientation='1 0 0 -1.57' position='36.812166 -119.7451552005852 250000' containerField='children'/>
<GeoViewpoint DEF='View23' description='California State University, Bakersfield' orientation='1 0 0 -1.57' position='35.350804 -119.1043226128032 250000' containerField='children'/>
<GeoViewpoint DEF='View24' description='California Polytechnic State University' orientation='1 0 0 -1.57' position='35.30115692599171 -120.6595761796351 250000' containerField='children'/>
<GeoViewpoint DEF='View25' description='California State University, Channel Islands' orientation='1 0 0 -1.57' position='34.1624126428852 -119.0425264841287 250000' containerField='children'/>
<GeoViewpoint DEF='View26' description='California State University, Northridge' orientation='1 0 0 -1.57' position='34.23959265263849 -118.5284272400904 250000' containerField='children'/>
<GeoViewpoint DEF='View27' description='California State University, Los Angeles' orientation='1 0 0 -1.57' position='34.06645996626264 -118.1682050902557 250000' containerField='children'/>
<GeoViewpoint DEF='View28' description='California State Polytechnic University, Pomona' orientation='1 0 0 -1.57' position='34.05727150000314 -117.8215320234812 250000' containerField='children'/>
<GeoViewpoint DEF='View29' description='California State University, San Bernardino' orientation='1 0 0 -1.57' position='34.18180116432101 -117.3243676664719 250000' containerField='children'/>
<GeoViewpoint DEF='View30' description='California State University, Fullerton' orientation='1 0 0 -1.57' position='33.882522 -117.8868367869023 250000' containerField='children'/>
<GeoViewpoint DEF='View31' description='California State University Dominguez Hills' orientation='1 0 0 -1.57' position='33.86463396857103 -118.2553596272055 250000' containerField='children'/>
<GeoViewpoint DEF='View32' description='California State University, Long Beach' orientation='1 0 0 -1.57' position='33.78196696470824 -118.112678253688 250000' containerField='children'/>
<GeoViewpoint DEF='View33' description='California State University, San Marcos' orientation='1 0 0 -1.57' position='33.12837619265174 -117.1600194071002 250000' containerField='children'/>
<GeoViewpoint DEF='View34' description='San Diego State University' orientation='1 0 0 -1.57' position='32.77593126586385 -117.0722876242553 250000' containerField='children'/>
<GeoViewpoint DEF='View35' description='CENIC' orientation='1 0 0 -1.57' position='33.879947 -118.027903 250000' containerField='children'/>
</Group>
<!-- ==================== here!!! -->
<ExternProtoDeclare name='CrossHair' appinfo='CrossHair prototype provides a heads-up display (HUD) crosshair at the view center, which is useful for assessing NavigationInfo lookAt point'
url='
"../../Savage/Tools/HeadsUpDisplays/CrossHairPrototype.x3d#CrossHair"
"https://savage.nps.edu/Savage/Tools/HeadsUpDisplays/CrossHairPrototype.x3d#CrossHair" "../../Savage/Tools/HeadsUpDisplays/CrossHairPrototype.wrl#CrossHair"
"https://savage.nps.edu/Savage/Tools/HeadsUpDisplays/CrossHairPrototype.wrl#CrossHair" '
>
<field name='enabled' type='SFBool' accessType='initializeOnly'
appinfo='whether CrossHair prototype is enabled or not'
/>
<field name='set_enabled' type='SFBool' accessType='inputOnly'
appinfo='control whether enabled/disabled'
/>
<field name='markerColor' type='SFColor' accessType='inputOutput'
appinfo='color of CrossHair marker'
/>
<field name='scale' type='SFVec3f' accessType='inputOutput'
appinfo='size of CrossHair in meters'
/>
<field name='positionOffsetFromCamera' type='SFVec3f' accessType='inputOutput'
appinfo='distance in front of HUD viewpoint'
/>
</ExternProtoDeclare>
<ProtoInstance name='CrossHair' DEF='CrossHairInstance'>
<fieldValue name='enabled' value='true'/>
<fieldValue name='markerColor' value='0.1 0.8 0.1'/>
<fieldValue name='scale' value='0.5 0.5 0.5'/>
<fieldValue name='positionOffsetFromCamera' value='0 0 -5'/>
</ProtoInstance>
<!-- ==================== here!!! -->
<ExternProtoDeclare name='HeadsUpDisplay' appinfo='Heads-up display (HUD) keeps child geometry aligned on screen in a consistent location'
url='
"../../../X3dForWebAuthors/Chapter14Prototypes/HeadsUpDisplayPrototype.x3d#HeadsUpDisplay"
"https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/HeadsUpDisplayPrototype.x3d#HeadsUpDisplay" "../../../X3dForWebAuthors/Chapter14Prototypes/HeadsUpDisplayPrototype.wrl#HeadsUpDisplay"
"https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter14Prototypes/HeadsUpDisplayPrototype.wrl#HeadsUpDisplay" '
>
<field name='children' type='MFNode' accessType='inputOutput'
appinfo='X3D content positioned at HUD offset'
/>
<field name='screenOffset' type='SFVec3f' accessType='inputOutput'
appinfo='offset position for HUD relative to current view location, default 0 0 -5'
/>
<field name='position_changed' type='SFVec3f' accessType='outputOnly'
appinfo='HUD position update (in world coordinates) relative to original location'
/>
<field name='orientation_changed' type='SFRotation' accessType='outputOnly'
appinfo='HUD orientation update relative to original location'
/>
</ExternProtoDeclare>
<!-- ==================== here!!! -->
<ExternProtoDeclare name='ViewpointSequencer' appinfo='Sequentially binds each Viewpoint in a set of Viewpoint USE nodes, creating an automatic tour for a scene'
url='
"../../Savage/Tools/Animation/ViewpointSequencerPrototype.x3d#ViewpointSequencer"
"https://savage.nps.edu/Savage/Tools/Animation/ViewpointSequencerPrototype.x3d#ViewpointSequencer" "../../Savage/Tools/Animation/ViewpointSequencerPrototype.wrl#ViewpointSequencer"
"https://savage.nps.edu/Savage/Tools/Animation/ViewpointSequencerPrototype.wrl#ViewpointSequencer" '
>
<field name='viewpoints' type='MFNode' accessType='initializeOnly'
appinfo='Viewpoint USE nodes that are sequentially bound'
/>
<field name='interval' type='SFTime' accessType='inputOutput'
appinfo='number of seconds between viewpoint shifts'
/>
<field name='enabled' type='SFBool' accessType='inputOutput'
appinfo='whether ViewpointSequencer is enabled or not'
/>
<field name='set_enabled' type='SFBool' accessType='inputOnly'
appinfo='whether ViewpointSequencer is enabled or not'
/>
<field name='previous' type='SFBool' accessType='inputOnly'
appinfo='bind previous Viewpoint in list'
/>
<field name='next' type='SFBool' accessType='inputOnly'
appinfo='bind next Viewpoint in list'
/>
<field name='toggleMessage' type='MFString' accessType='inputOutput'
appinfo='Select message to toggle ViewpointSequencer'
/>
<field name='toggleMessageFontSize' type='SFFloat' accessType='initializeOnly'
appinfo='Color for toggleMessage text'
/>
<field name='toggleMessageColor' type='SFColor' accessType='inputOutput'
appinfo='Color for toggleMessage text'
/>
<field name='traceEnabled' type='SFBool' accessType='inputOutput'
appinfo='enable console output'
/>
</ExternProtoDeclare>
<fieldValue name='interval' value='30'/>
<!-- initially enabled is off, scene provides selectable text to activate here!!! -->
<fieldValue name='enabled' value='true'/>
<fieldValue name='toggleMessage' value='"ViewpointSequencer tour"'/>
<fieldValue name='viewpoints'>
<GeoViewpoint USE='
View01' containerField='children'/>
<GeoViewpoint USE='
View02' containerField='children'/>
<GeoViewpoint USE='
View03' containerField='children'/>
<GeoViewpoint USE='
View04' containerField='children'/>
<GeoViewpoint USE='
View05' containerField='children'/>
<GeoViewpoint USE='
View06' containerField='children'/>
<GeoViewpoint USE='
View07' containerField='children'/>
<GeoViewpoint USE='
View08' containerField='children'/>
<GeoViewpoint USE='
View09' containerField='children'/>
<GeoViewpoint USE='
View10' containerField='children'/>
<GeoViewpoint USE='
View11' containerField='children'/>
<GeoViewpoint USE='
View12' containerField='children'/>
<GeoViewpoint USE='
View13' containerField='children'/>
<GeoViewpoint USE='
View14' containerField='children'/>
<GeoViewpoint USE='
View15' containerField='children'/>
<GeoViewpoint USE='
View16' containerField='children'/>
<GeoViewpoint USE='
View17' containerField='children'/>
<GeoViewpoint USE='
View18' containerField='children'/>
<GeoViewpoint USE='
View19' containerField='children'/>
<GeoViewpoint USE='
View20' containerField='children'/>
<GeoViewpoint USE='
View21' containerField='children'/>
<GeoViewpoint USE='
View22' containerField='children'/>
<GeoViewpoint USE='
View23' containerField='children'/>
<GeoViewpoint USE='
View24' containerField='children'/>
<GeoViewpoint USE='
View25' containerField='children'/>
<GeoViewpoint USE='
View26' containerField='children'/>
<GeoViewpoint USE='
View27' containerField='children'/>
<GeoViewpoint USE='
View28' containerField='children'/>
<GeoViewpoint USE='
View29' containerField='children'/>
<GeoViewpoint USE='
View30' containerField='children'/>
<GeoViewpoint USE='
View31' containerField='children'/>
<GeoViewpoint USE='
View32' containerField='children'/>
<GeoViewpoint USE='
View33' containerField='children'/>
<GeoViewpoint USE='
View34' containerField='children'/>
<GeoViewpoint USE='
View35' containerField='children'/>
<Viewpoint DEF='View4' description='View four (-X axis)' orientation='0 1 0 -1.57' position='-10 0 0'/>
</fieldValue>
</ProtoInstance>
<!-- ==================== here!!! -->
<GeoLocation geoCoords='36.595599 -121.877148 624990' containerField='children'>
<Billboard axisOfRotation='0 0 0'>
<Shape>
<Text string='"ViewpointSequencer tour"'>
<FontStyle justify='"MIDDLE" "MIDDLE"'/>
</Text>
<Appearance>
<Material ambientIntensity='0.25' diffuseColor='0.795918 0.505869 0.093315' shininess='0.39' specularColor='0.923469 0.428866 0.006369'/>
</Appearance>
</Shape>
</Billboard>
<
ROUTE
fromNode='
TourTouch' fromField='isActive' toNode='
TourToggle' toField='set_boolean'/>
<
ROUTE
fromNode='
TourToggle' fromField='toggle' toNode='
ViewpointTour' toField='set_enabled'/>
</GeoLocation>
<!-- ==================== here!!! -->
<ExternProtoDeclare name='ViewPositionOrientation' appinfo='ViewPositionOrientation provides provides console output of local position and orientation as user navigates'
url='
"../../Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation"
"https://savage.nps.edu/Savage/Tools/Authoring/ViewPositionOrientationPrototype.x3d#ViewPositionOrientation" "../../Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation"
"https://savage.nps.edu/Savage/Tools/Authoring/ViewPositionOrientationPrototype.wrl#ViewPositionOrientation" '
>
<field name='enabled' type='SFBool' accessType='inputOutput'
appinfo='Whether or not ViewPositionOrientation sends output to console'
/>
<field name='traceEnabled' type='SFBool' accessType='initializeOnly'
appinfo='Output internal trace messages for debugging this node, intended for developer use only'
/>
<field name='set_traceEnabled' type='SFBool' accessType='inputOnly'
appinfo='Ability to turn output tracing on/off at runtime'
/>
<field name='position_changed' type='SFVec3f' accessType='outputOnly'
appinfo='Output local position'
/>
<field name='orientation_changed' type='SFRotation' accessType='outputOnly'
appinfo='Output local orientation'
/>
<field name='outputViewpointString' type='MFString' accessType='outputOnly'
appinfo='MFString value of new Viewpoint'
/>
</ExternProtoDeclare>
<ProtoInstance name='ViewPositionOrientation' DEF='ExampleViewPositionOrientation'>
<fieldValue name='enabled' value='false'/>
</ProtoInstance>
<!-- ==================== here!!! -->