<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
<X3D profile='Interchange' version='4.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' https://www.web3d.org/specifications/x3d-4.0.xsd '>
<head>
<component level='1name='Text'/>
<component level='2name='Grouping'/>
<component level='3name='Navigation'/>
<meta name='titlecontent='X3dMeshDesignPattern.x3d'/>
<meta name='descriptioncontent='Candidate design pattern for 3D scanner outputs to consistently define the elements of an X3D mesh.'/>
<meta name='creatorcontent='Don Brutzman, Vince Marchetti, Roy Walmsley, Nicholas Polys'/>
<meta name='createdcontent='4 June 2017'/>
<meta name='modifiedcontent='20 August 2022'/>
<meta name=' TODO content=' Upgrade and verify X3D v4.0 XML DTD and Schema to validate '/>
<meta name='referencecontent='X3dMeshDesignPattern.txt'/>
<meta name='Imagecontent='X3dMeshDesignPattern.png'/>
<meta name=' warning content=' Under development. Note that proposed design pattern for Normal inside PointSet or LineSet/IndexedLineSet is not allowed in X3D v3.3. '/>
<meta name='referencecontent='Web3D 2017 Workshop on 3D Scanning: Use Cases, Workflow and Profile Requirements for X3D'/>
<meta name='referencecontent=' http://web3d2017.web3d.org/program '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='identifiercontent=' https://x3dgraphics.com/examples/X3dForAdvancedModeling/Scanning/X3dMeshDesignPattern.x3d '/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!--

Index for DEF nodes : AvoidCoplanarAliasing, VertexColors, VertexNormals, VertexValues

Index for Viewpoint image : Viewpoint_1
-->
<Scene>
<WorldInfo title='X3dMeshDesignPattern.x3d'/>
<Group>
<MetadataSet containerField='metadataname='X3dMesh'>
<!-- enter other Metadata nodes and values here, vocabulary TBD -->
</MetadataSet>
<Switch whichChoice='2'>
<Shape>
<PointSet>
<!-- Currently invalid in X3D DTD: Normal node must be first to be allowed inside IndexedLineSet or LineSet -->
<!-- Of note: MeshLab allows assigning normals to a point cloud -->
<Normal DEF='VertexNormals'/>
<Color DEF='VertexColorscolor='1 0 0 0 1 0 0 0 1 1 1 1'/>
<Coordinate DEF='VertexValuespoint='1 1 0 1 -1 0 -1 -1 0 -1 1 0'/>
<!-- Currently invalid in X3D v3.3: Normal node not allowed inside PointSet -->
</PointSet>
</Shape>
<Shape>
<IndexedLineSet coordIndex='0 1 2 3 0 -1'>
<!-- Currently invalid in X3D DTD: Normal node must be first to be allowed inside IndexedLineSet or LineSet -->
<Normal USE='VertexNormals'/>
<Coordinate USE='VertexValues'/>
<Color USE='VertexColors'/>
</IndexedLineSet>
</Shape>
<Shape>
<IndexedFaceSet solid='falsecoordIndex='0 1 2 3 0 -1'>
<Coordinate USE='VertexValues'/>
<Color USE='VertexColors'/>
<Normal USE='VertexNormals'/>
</IndexedFaceSet>
</Shape>
</Switch>
<ViewpointGroup description='Viewpoints at appropriate distance from modelcontainerField='children'>
<Viewpoint description='Front viewposition='0 0 4'/>
</ViewpointGroup>
</Group>
<!-- Default scene display -->
<Background skyColor='1 1 1'/>
<Transform DEF='AvoidCoplanarAliasingtranslation='0 0 0.1'>
<Shape>
<Text string='"X3D" "Mesh" "Design" "Pattern"'>
<FontStyle family='"SANS"justify='"MIDDLE" "MIDDLE"size='0.4style='BOLD'/>
</Text>
<Appearance>
<Material diffuseColor='0.3 0.7 0.7'/>
</Appearance>
</Shape>
</Transform>
</Scene>
</X3D>
<!--

Index for DEF nodes : AvoidCoplanarAliasing, VertexColors, VertexNormals, VertexValues

Index for Viewpoint image : Viewpoint_1
-->

<!-- 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. -->