X3D Model Documentation: X3dMeshDesignPattern.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
  3  <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'>
  4       <head>
  5            <component level='1name='Text'/>
  6            <component level='2name='Grouping'/>
  7            <component level='3name='Navigation'/>
  8            <meta name='titlecontent='X3dMeshDesignPattern.x3d'/>
  9            <meta name='descriptioncontent='Candidate design pattern for 3D scanner outputs to consistently define the elements of an X3D mesh.'/>
 10            <meta name='creatorcontent='Don Brutzman, Vince Marchetti, Roy Walmsley, Nicholas Polys'/>
 11            <meta name='createdcontent='4 June 2017'/>
 12            <meta name='modifiedcontent='13 October 2023'/>
 13            <meta name=' TODO content=' Upgrade and verify X3D v4.0 XML DTD and Schema to validate '/>
 14            <meta name='referencecontent='X3dMeshDesignPattern.txt'/>
 15            <meta name='Imagecontent='X3dMeshDesignPattern.png'/>
 16            <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. '/>
 17            <meta name='referencecontent='Web3D 2017 Workshop on 3D Scanning: Use Cases, Workflow and Profile Requirements for X3D'/>
 18            <meta name='referencecontent='http://web3d2017.web3d.org/program'/>
 19            <meta name='generatorcontent='X3D-Edit 4.0, https://savage.nps.edu/X3D-Edit'/>
 20            <meta name='identifiercontent='https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Scanning/X3dMeshDesignPattern.x3d'/>
 21            <meta name='licensecontent='../license.html'/>
 22       </head>
<!--

<!-- -->

<!-- to top Index for DEF nodes: AvoidCoplanarAliasing, VertexColors, VertexNormals, VertexValues

Index for Viewpoint node: Viewpoint_1
-->
 23       <Scene>
 24            <WorldInfo title='X3dMeshDesignPattern.x3d'/>
 25            <Group>
 26                 <MetadataSet containerField='metadataname='X3dMesh'>
 27                      <!-- enter other Metadata nodes and values here, vocabulary TBD -->
 28                 </MetadataSet>
 29                 <Switch whichChoice='2'>
 30                      <Shape>
 31                           <PointSet>
 32                                <!-- Currently invalid in X3D DTD: Normal node must be first to be allowed inside IndexedLineSet or LineSet -->
 33                                <!-- Of note: MeshLab allows assigning normals to a point cloud -->
 34 
                              <!-- Normal VertexNormals is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                              <Normal DEF='VertexNormals'/>
 35 
                              <!-- Color VertexColors is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                              <Color DEF='VertexColorscolor='1 0 0 0 1 0 0 0 1 1 1 1'/>
 36 
                              <!-- Coordinate VertexValues is a DEF node that has 2 USE nodes: USE_1, USE_2 -->
                              <Coordinate DEF='VertexValuespoint='1 1 0 1 -1 0 -1 -1 0 -1 1 0'/>
 37                                <!-- Currently invalid in X3D v3.3: Normal node not allowed inside PointSet -->
 38                           </PointSet>
 39                      </Shape>
 40                      <Shape>
 41                           <IndexedLineSet coordIndex='0 1 2 3 0 -1'>
 42                                <!-- Currently invalid in X3D DTD: Normal node must be first to be allowed inside IndexedLineSet or LineSet -->
 43                                <Normal USE='VertexNormals'/>
 44                                <Coordinate USE='VertexValues'/>
 45                                <Color USE='VertexColors'/>
 46                           </IndexedLineSet>
 47                      </Shape>
 48                      <Shape>
 49                           <IndexedFaceSet solid='falsecoordIndex='0 1 2 3 0 -1'>
 50                                <Coordinate USE='VertexValues'/>
 51                                <Color USE='VertexColors'/>
 52                                <Normal USE='VertexNormals'/>
 53                           </IndexedFaceSet>
 54                      </Shape>
 55                 </Switch>
 56                 <ViewpointGroup description='Viewpoints at appropriate distance from modelcontainerField='children'>
 57                      <Viewpoint description='Front viewposition='0 0 4'/>
 58                 </ViewpointGroup>
 59            </Group>
 60            <!-- Default scene display -->
 61            <Background skyColor='1 1 1'/>
 62            <Transform DEF='AvoidCoplanarAliasingtranslation='0 0 0.1'>
 63                 <Shape>
 64                      <Text string='"X3D" "Mesh" "Design" "Pattern"'>
 65                           <FontStyle family='"SANS"justify='"MIDDLE" "MIDDLE"size='0.4style='BOLD'/>
 66                      </Text>
 67                      <Appearance>
 68                           <Material diffuseColor='0.3 0.7 0.7'/>
 69                      </Appearance>
 70                 </Shape>
 71            </Transform>
 72       </Scene>
 73  </X3D>
<!--

<!-- -->

<!-- to top Index for DEF nodes: AvoidCoplanarAliasing, VertexColors, VertexNormals, VertexValues

Index for Viewpoint node: Viewpoint_1
-->
X3D Tooltips element index: Appearance, Background, Color, component, Coordinate, FontStyle, Group, head, IndexedFaceSet, IndexedLineSet, Material, meta, MetadataSet, Normal, PointSet, Scene, Shape, Switch, Text, Transform, Viewpoint, ViewpointGroup, WorldInfo, X3D, accessType and type, XML data types, field types

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

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