<?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='1' name='Text'/>
<component level='2' name='Grouping'/>
<component level='3' name='Navigation'/>
<meta name='title' content='
X3dMeshDesignPattern.x3d
'/>
<meta name='description' content='Candidate design pattern for 3D scanner outputs to consistently define the elements of an X3D mesh.'/>
<meta name='creator' content='Don Brutzman, Vince Marchetti, Roy Walmsley, Nicholas Polys'/>
<meta name='created' content='4 June 2017'/>
<meta name='modified' content='13 October 2023'/>
<meta name=' TODO ' content=' Upgrade and verify X3D v4.0 XML DTD and Schema to validate '/>
<meta name='reference' content='
X3dMeshDesignPattern.txt
'/>
<meta name='Image' content='X3dMeshDesignPattern.png'
/>
<meta name=' warning ' content=' Under development. Note that proposed design pattern for Normal inside PointSet or LineSet/IndexedLineSet is accepted in X3D 4.0 but is not allowed in X3D v3.3. '/>
<meta name='reference' content='Web3D 2017 Workshop on 3D Scanning: Use Cases, Workflow and Profile Requirements for X3D'/>
<meta name='reference' content='
http://web3d2017.web3d.org/program
'/>
<meta name='generator' content='X3D-Edit 4.0,
https://savage.nps.edu/X3D-Edit'/>
<meta name='identifier' content='
https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Scanning/X3dMeshDesignPattern.x3d
'/>
<meta name='license' content='
../license.html'/>
</head>
<!--
-->
<Scene>
<WorldInfo title='X3dMeshDesignPattern.x3d'/>
<Group>
<
MetadataSet containerField='
metadata'
name='
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='VertexColors' color='1 0 0 0 1 0 0 0 1 1 1 1'/>
<Coordinate DEF='VertexValues' point='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='false' coordIndex='0 1 2 3 0 -1'>
</IndexedFaceSet>
</Shape>
</Switch>
<
ViewpointGroup description='
Viewpoints at appropriate distance from model'
containerField='
children'>
<Viewpoint description='Front view' position='0 0 4'/>
</
ViewpointGroup>
</Group>
<!-- Default scene display -->
<Background skyColor='1 1 1'/>
<Transform DEF='AvoidCoplanarAliasing' translation='0 0 0.1'>
<Shape>
<Text string='"X3D" "Mesh" "Design" "Pattern"'>
<FontStyle family='"SANS"' justify='"MIDDLE" "MIDDLE"' size='0.4' style='BOLD'/>
</Text>
<Appearance>
<Material diffuseColor='0.3 0.7 0.7'/>
</Appearance>
</Shape>
</Transform>
</Scene>
</X3D>
<!--
-->
-->
<!--
Online at
https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Scanning/X3dMeshDesignPatternIndex.html
-->
<!--
Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Scanning/X3dMeshDesignPattern.x3d
-->
<!--
Color legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
-->
<!--
For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints.
-->