<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.1//EN"   "http://www.web3d.org/specifications/x3d-3.1.dtd">
<X3D profile='Immersiveversion='3.1xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation=' http://www.web3d.org/specifications/x3d-3.1.xsd '>
<head>
<meta name='titlecontent='ElevationGridNonPlanarQuadrilaterals.x3d'/>
<meta name='descriptioncontent='Show how a single nonplanar quadrilateral can be tesselated in 2 different ways.'/>
<meta name='creatorcontent='Don Brutzman'/>
<meta name='organizationcontent='Naval Postgraduate School'/>
<meta name='createdcontent='28 August 2005'/>
<meta name='modifiedcontent='31 August 2005'/>
<meta name='warningcontent='under development'/>
<meta name='identifiercontent=' http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter06-GeometryPointsLinesPolygons/ElevationGridNonPlanarQuadrilaterals.x3d '/>
<meta name='generatorcontent='X3D-Edit, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent='../license.html'/>
</head>
<!--

Index for ExternProtoDeclare definition: WhereAmI
Index for DEF nodes: CenterFS, CommonFigureElements, DefaultElevationGrid, DefaultView, DiffuseRedAppearance, ExamineMode, ExampleElevationGridShape, FigureElevationGridBack, FigureElevationGridFront, FigureIfsCenterDiagonal, FigureIfsCrossDiagonal, FigureLabelBrowserElevationGrid, FigureLabelCenterDiagonalTesselation, FigureLabelCrossDiagonalTesselation, FloorShape, FlyPanNavigation, LabelAppearance, PointLabels, QuadCenterDiagonalLineShape, QuadCrossDiagonalLineShape, QuadOutlineShape, QuadrilateralPoints, QuadVerticalLineShape, TransparentGreyAppearance, White
Index for Viewpoint images: Viewpoint_1, DefaultView, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6
-->
<Scene>
<ExternProtoDeclare name='WhereAmI'
  url=' "WhereAmI.x3d#WhereAmI" "WhereAmI.wrl#WhereAmI" '/>
<ProtoInstance name='WhereAmIcontainerField='children'/>
<NavigationInfo DEF='ExamineModetype='"EXAMINE" "ANY"transitionType='"ANIMATE"transitionTime='1.0'/>
<!-- FlyPanNavigation ROUTE:  [from DefaultView.isBound to set_bind ] -->
<NavigationInfo DEF='FlyPanNavigationtype='"FLY" "ANY"transitionType='"ANIMATE"transitionTime='1.0'/>
<Background skyColor='1 1 1'/>
<Viewpoint description='Book Vieworientation='0 1 0 0.01position='0.13 0.2 7.71'/>
<!-- DefaultView ROUTE:  [from isBound to FlyPanNavigation.set_bind ] -->
<Viewpoint DEF='DefaultViewdescription='ElevationGrid tesselation examplesposition='0 0.2 10'/>
<ROUTE fromNode='DefaultViewfromField='isBoundtoNode='FlyPanNavigationtoField='set_bind'/>
<Transform translation='0 -0.75 0'>
<Transform DEF='FigureElevationGridBacktranslation='-4 0 0'>
<!-- Note that the base of each piece of polygonal geometry is based at (1 0 1) -->
<Viewpoint description='Default brower ElevationGrid tesselation, front viewposition='1.5 0.4 4'/>
<Transform center='1 0 1rotation='0 1 0 3.2'>
<Group DEF='DefaultElevationGrid'>
<Shape DEF='ExampleElevationGridShape'>
<ElevationGrid solid='falsexDimension='2zDimension='2height='0 0.5 0 0'/>
<Appearance DEF='DiffuseRedAppearance'>
<Material diffuseColor='0.9 0.1 0.1transparency='0.1'/>
</Appearance>
</Shape>
<Transform DEF='FigureLabelBrowserElevationGridtranslation='0.5 1 0.5'>
<Billboard>
<Shape>
<Text string='"Browser" "ElevationGrid"solid='true'>
<FontStyle DEF='CenterFSjustify='"MIDDLE" "MIDDLE"size='0.25'/>
</Text>
<Appearance DEF='LabelAppearance'>
<Material diffuseColor='0.2 0.1 0.8'/>
</Appearance>
</Shape>
</Billboard>
</Transform>
<Group DEF='CommonFigureElements'>
<Shape DEF='QuadOutlineShape'>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0coordIndex='0 1 3 2 0 -1'>
<!-- first iterate on x-axis, then z-xis -->
<Coordinate DEF='QuadrilateralPointspoint='0 0 0 1 0.5 0 0 0 1 1 0 1 1 0 0'/>
<Color DEF='Whitecolor='1 1 1'/>
</IndexedLineSet>
</Shape>
<Shape DEF='FloorShape'>
<!-- setting all height values to zero is a simple way to get a square outline. A more efficient way is to use an IndexedFaceSet. -->
<ElevationGrid solid='falsexDimension='2zDimension='2height='0 0 0 0'/>
<Appearance DEF='TransparentGreyAppearance'>
<Material diffuseColor='0 0 0emissiveColor='1 1 1transparency='0.8'/>
</Appearance>
</Shape>
<Transform DEF='PointLabelstranslation='0 -0.2 0'>
<Billboard>
<Shape>
<Text string='h0solid='true'>
<FontStyle USE='CenterFS'/>
</Text>
<Appearance USE='LabelAppearance'/>
</Shape>
</Billboard>
<Transform translation='1 0 0'>
<Billboard>
<Shape>
<Text string='h1solid='true'>
<FontStyle USE='CenterFS'/>
</Text>
<Appearance USE='LabelAppearance'/>
</Shape>
</Billboard>
</Transform>
<Transform translation='0 0 1'>
<Billboard>
<Shape>
<Text string='h2solid='true'>
<FontStyle USE='CenterFS'/>
</Text>
<Appearance USE='LabelAppearance'/>
</Shape>
</Billboard>
</Transform>
<Transform translation='1 0 1'>
<Billboard>
<Shape>
<Text string='h3solid='true'>
<FontStyle USE='CenterFS'/>
</Text>
<Appearance USE='LabelAppearance'/>
</Shape>
</Billboard>
</Transform>
</Transform>
<Shape DEF='QuadVerticalLineShape'>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0coordIndex='1 4 -1'>
<Coordinate USE='QuadrilateralPoints'/>
<Color USE='White'/>
</IndexedLineSet>
</Shape>
</Group>
<Shape DEF='QuadCrossDiagonalLineShape'>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0coordIndex='2 1 -1'>
<Coordinate USE='QuadrilateralPoints'/>
<Color USE='White'/>
</IndexedLineSet>
</Shape>
<Shape DEF='QuadCenterDiagonalLineShape'>
<IndexedLineSet colorPerVertex='falsecolorIndex='0 0 0 0coordIndex='0 3 -1'>
<Coordinate USE='QuadrilateralPoints'/>
<Color USE='White'/>
</IndexedLineSet>
</Shape>
</Group>
</Transform>
</Transform>
<Transform DEF='FigureElevationGridFronttranslation='-1 0 0'>
<Viewpoint description='Default brower ElevationGrid tesselation, back viewposition='0.5 0.4 4'/>
<Transform center='1 0 1rotation='0 1 0 0.8'>
<Group USE='DefaultElevationGrid'/>
</Transform>
</Transform>
<Transform DEF='FigureIfsCenterDiagonaltranslation='1 0 0'>
<Viewpoint description='Center-diagonal tesselationposition='0.5 0.4 4'/>
<Transform center='1 0 1rotation='0 1 0 0.4'>
<Shape>
<IndexedFaceSet coordIndex='0 3 1 -1 0 2 3 -1'>
<Coordinate USE='QuadrilateralPoints'/>
</IndexedFaceSet>
<Appearance USE='DiffuseRedAppearance'/>
</Shape>
<Transform DEF='FigureLabelCenterDiagonalTesselationtranslation='0.5 1 0.5'>
<Billboard>
<Shape>
<Text string='"Center Diagonal" "Tesselation"solid='true'>
<FontStyle USE='CenterFS'/>
</Text>
<Appearance USE='LabelAppearance'/>
</Shape>
</Billboard>
</Transform>
<Group USE='CommonFigureElements'/>
<Shape USE='QuadCenterDiagonalLineShape'/>
</Transform>
</Transform>
<Transform DEF='FigureIfsCrossDiagonaltranslation='3 0 0'>
<Viewpoint description='Cross-diagonal tesselationposition='0.5 0.4 4'/>
<Transform center='1 0 1rotation='0 1 0 0'>
<Shape>
<IndexedFaceSet coordIndex='0 2 1 -1 2 3 1 -1'>
<Coordinate USE='QuadrilateralPoints'/>
</IndexedFaceSet>
<Appearance USE='DiffuseRedAppearance'/>
</Shape>
<Transform DEF='FigureLabelCrossDiagonalTesselationtranslation='0.5 1 0.5'>
<Billboard>
<Shape>
<Text string='"Cross Diagonal" "Tesselation"solid='true'>
<FontStyle USE='CenterFS'/>
</Text>
<Appearance USE='LabelAppearance'/>
</Shape>
</Billboard>
</Transform>
<Group USE='CommonFigureElements'/>
<Shape USE='QuadCrossDiagonalLineShape'/>
</Transform>
</Transform>
</Transform>
</Scene>
</X3D>
<!--

Index for ExternProtoDeclare definition: WhereAmI
Index for DEF nodes: CenterFS, CommonFigureElements, DefaultElevationGrid, DefaultView, DiffuseRedAppearance, ExamineMode, ExampleElevationGridShape, FigureElevationGridBack, FigureElevationGridFront, FigureIfsCenterDiagonal, FigureIfsCrossDiagonal, FigureLabelBrowserElevationGrid, FigureLabelCenterDiagonalTesselation, FigureLabelCrossDiagonalTesselation, FloorShape, FlyPanNavigation, LabelAppearance, PointLabels, QuadCenterDiagonalLineShape, QuadCrossDiagonalLineShape, QuadOutlineShape, QuadrilateralPoints, QuadVerticalLineShape, TransparentGreyAppearance, White
Index for Viewpoint images: Viewpoint_1, DefaultView, Viewpoint_3, Viewpoint_4, Viewpoint_5, Viewpoint_6
-->

<!-- Tag color codes: <Node DEF='idName' attribute='value'/> <Prototype name='ProtoName'> <field name='fieldName'/> </Prototype> -->