<Viewpoint description='ViewFrustum from above, looking down' orientation='1 0 0 -1.57' position='0 40 0' retainUserOffsets='false'/>
<Viewpoint description='ViewFrustum from point of view' retainUserOffsets='false'/>
<Viewpoint description='ViewFrustum behind point of view' position='0 0 15' retainUserOffsets='false'/>
<Viewpoint description='ViewFrustum oblique side view' orientation='0.8005 0.5926 0.0898 -0.3743' position='-5 5 20' retainUserOffsets='false'/>
<NavigationInfo type='"EXAMINE" "FLY" "ANY"' transitionType='"ANIMATE"' transitionTime='1.0'/>
<ExternProtoDeclare name='ViewFrustum' appinfo='Display view frustum associated with a given pair of Viewpoint NavigationInfo nodes'
url='
"ViewFrustumPrototype.x3d#ViewFrustum" "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter14-Prototypes/ViewFrustumPrototype.x3d#ViewFrustum" "ViewFrustumPrototype.wrl#ViewFrustum" "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter14-Prototypes/ViewFrustumPrototype.wrl#ViewFrustum" '>
<field name='ViewpointNode' type='SFNode' accessType='initializeOnly'
appinfo='required: insert Viewpoint DEF or USE node for view of interest'/>
<field name='NavigationInfoNode' type='SFNode' accessType='initializeOnly'
appinfo='required: insert NavigationInfo DEF or USE node of interest'/>
<field name='visible' type='SFBool' accessType='inputOutput'
appinfo='whether or not frustum geometry is rendered'/>
<field name='lineColor' type='SFColor' accessType='inputOutput'
appinfo='RGB color of ViewFrustum outline, default value 0.9 0.9 0.9'/>
<field name='frustumColor' type='SFColor' accessType='inputOutput'
appinfo='RGB color of ViewFrustum hull geometry, default value 0.8 0.8 0.8'/>
<field name='transparency' type='SFFloat' accessType='inputOutput'
appinfo='transparency of ViewFrustum hull geometry, default value 0.5'/>
<field name='aspectRatio' type='SFFloat' accessType='inputOutput'
appinfo='assumed ratio height/width, default value 0.75'/>
<field name='trace' type='SFBool' accessType='initializeOnly'
appinfo='debug support, default false'/>
</ExternProtoDeclare>
<!-- Example use -->
<ProtoInstance name='ViewFrustum'>
<fieldValue name='ViewpointNode'>
<!-- prefer empty description to prevent entry in player's ViewpointList -->
<Viewpoint description='ViewFrustum ViewpointNode' retainUserOffsets='false'/>
</fieldValue>
<fieldValue name='NavigationInfoNode'>
<NavigationInfo visibilityLimit='15' type='"EXAMINE" "ANY"' transitionType='"ANIMATE"' transitionTime='1.0'/>
</fieldValue>
<fieldValue name='visible' value='true'/>
<fieldValue name='lineColor' value='0.9 0.9 0.9'/>
<fieldValue name='frustumColor' value='0.8 0.8 0.8'/>
<fieldValue name='transparency' value='0.75'/>
<fieldValue name='trace' value='true'/>
</ProtoInstance>
<!-- Visualization assists -->
<Inline DEF='GridXZ'
url='
"../../Savage/Tools/Authoring/GridXZ_20x20Fixed.x3d"
"https://savage.nps.edu/Savage/Tools/Authoring/GridXZ_20x20Fixed.x3d" '/>
<Transform scale='5 5 5'>
</Transform>