<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Immersive' version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' https://www.web3d.org/specifications/x3d-3.3.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='contributorcontent='U.S. Naval Postgraduate School (NPS)'/>
<meta name='createdcontent='28 August 2005'/>
<meta name='modifiedcontent='20 October 2019'/>
<meta name='identifiercontent=' https://X3dGraphics.com/examples/X3dForWebAuthors/Chapter06GeometryPointsLinesPolygons/ElevationGridNonPlanarQuadrilaterals.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='ElevationGridNonPlanarQuadrilaterals.x3d'/>
<NavigationInfo DEF='ExamineMode'/>
<!-- ROUTE information for FlyPanNavigation node:  [from DefaultView.isBound to set_bind ] -->
<NavigationInfo DEF='FlyPanNavigationtype='"FLY" "ANY"'/>
<Background skyColor='1 1 1'/>
<Viewpoint description='Book Vieworientation='0 1 0 0.01position='0.13 0.2 7.71'/>
<!-- ROUTE information for DefaultView node:  [from isBound to FlyPanNavigation.set_bind ] -->
<Viewpoint DEF='DefaultViewdescription='ElevationGrid tessellation 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 tessellation, 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='falseheight='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"'>
<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='false'/>
<Appearance DEF='TransparentGreyAppearance'>
<Material diffuseColor='0 0 0transparency='0.8'/>
</Appearance>
</Shape>
<Transform DEF='PointLabelstranslation='0 -0.2 0'>
<Billboard>
<Shape>
<Text string='"h0"'>
<FontStyle USE='CenterFS'/>
</Text>
<Appearance USE='LabelAppearance'/>
</Shape>
</Billboard>
<Transform translation='1 0 0'>
<Billboard>
<Shape>
<Text string='"h1"'>
<FontStyle USE='CenterFS'/>
</Text>
<Appearance USE='LabelAppearance'/>
</Shape>
</Billboard>
</Transform>
<Transform translation='0 0 1'>
<Billboard>
<Shape>
<Text string='"h2"'>
<FontStyle USE='CenterFS'/>
</Text>
<Appearance USE='LabelAppearance'/>
</Shape>
</Billboard>
</Transform>
<Transform translation='1 0 1'>
<Billboard>
<Shape>
<Text string='"h3"'>
<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 tessellation, 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 tessellationposition='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='FigureLabelCenterDiagonalTessellationtranslation='0.5 1 0.5'>
<Billboard>
<Shape>
<Text string='"Center Diagonal" "Tessellation"'>
<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 tessellationposition='0.5 0.4 4'/>
<Transform center='1 0 1'>
<Shape>
<IndexedFaceSet coordIndex='0 2 1 -1 2 3 1 -1'>
<Coordinate USE='QuadrilateralPoints'/>
</IndexedFaceSet>
<Appearance USE='DiffuseRedAppearance'/>
</Shape>
<Transform DEF='FigureLabelCrossDiagonalTessellationtranslation='0.5 1 0.5'>
<Billboard>
<Shape>
<Text string='"Cross Diagonal" "Tessellation"'>
<FontStyle USE='CenterFS'/>
</Text>
<Appearance USE='LabelAppearance'/>
</Shape>
</Billboard>
</Transform>
<Group USE='CommonFigureElements'/>
<Shape USE='QuadCrossDiagonalLineShape'/>
</Transform>
</Transform>
</Transform>
</Scene>
</X3D>
<!--

Index for DEF nodes : CenterFS, CommonFigureElements, DefaultElevationGrid, DefaultView, DiffuseRedAppearance, ExamineMode, ExampleElevationGridShape, FigureElevationGridBack, FigureElevationGridFront, FigureIfsCenterDiagonal, FigureIfsCrossDiagonal, FigureLabelBrowserElevationGrid, FigureLabelCenterDiagonalTessellation, FigureLabelCrossDiagonalTessellation, FloorShape, FlyPanNavigation, LabelAppearance, PointLabels, QuadCenterDiagonalLineShape, QuadCrossDiagonalLineShape, QuadOutlineShape, QuadrilateralPoints, QuadVerticalLineShape, TransparentGreyAppearance, White

Index for Viewpoint images : Viewpoint_1, Viewpoint_2, Viewpoint_3, Viewpoint_4, Viewpoint_5, DefaultView
-->

<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/>
(Light blue background: behavior node) (Grey background: inserted documentation) (Magenta background: X3D Extensibility)
-->

<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources and X3D Scene Authoring Hints. -->