<?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>
    <!-- The following component tag is needed since LineProperties node is not part of the default Immersive profile -->
    <component level='2' name='Shape'/>
    <meta content='LinePropertiesExample.x3d' name='title'/>
    <meta content='Demonstrate each of the various LineProperties enumeration values.' name='description'/>
    <meta content='Don Brutzman' name='creator'/>
    <meta content='20 August 2008' name='created'/>
    <meta content='27 July 2024' name='modified'/>
    <meta content='LinePropertiesLinetypeExample.png' name='Image'/>
    <meta content='https://X3dGraphics.com' name='reference'/>
    <meta content='https://www.web3d.org/x3d/content/examples/X3dResources.html' name='reference'/>
    <meta content='X3D book, X3D graphics, X3D-Edit, http://www.x3dGraphics.com' name='subject'/>
    <meta content='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter05AppearanceMaterialTextures/LinePropertiesExample.x3d' name='identifier'/>
    <meta content='X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit' name='generator'/>
    <meta content='../license.html' name='license'/>
  </head>
  <Scene>
    <WorldInfo title='LinePropertiesExample.x3d'/>
    <Viewpoint description='LineProperties linetype examples' position='0 0 22'/>
    <Transform translation='1 -6 0'>
      <Transform translation='-4 14 0'>
        <Shape>
          <Text string='"1 Solid"'>
            <FontStyle DEF='LeftJustify' justify='"BEGIN" "MIDDLE"'/>
          </Text>
          <Appearance>
            <Material diffuseColor='1 0 0'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1'>
              <Coordinate DEF='Segment' point='0 0 0 2 0 0'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='1 0 0'/>
              <LineProperties>
                <!-- linetype='1' solid -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 13 0'>
        <Shape>
          <Text string='"2 Dashed"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='1 0.5 0'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='1 0.5 0'/>
              <LineProperties linetype='2'>
                <!-- linetype='2' dashed -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 12 0'>
        <Shape>
          <Text string='"3 Dotted"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='1 1 0'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='1 1 0'/>
              <LineProperties linetype='3'>
                <!-- linetype='3' dotted -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 11 0'>
        <Shape>
          <Text string='"4 Dashed-dotted"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0 1 0'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='0 1 0'/>
              <LineProperties linetype='4'>
                <!-- linetype='4' dashed-dotted -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 10 0'>
        <Shape>
          <Text string='"5 Dash-dot-dot"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0.2 0.2 1'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='0 0 1'/>
              <LineProperties linetype='5'>
                <!-- linetype='5' dash-dot-dot -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 9 0'>
        <Shape>
          <Text string='"6 (single arrow)"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='1 0 1'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='1 0 1'/>
              <LineProperties linetype='6'>
                <!-- linetype='6' (optional support) single arrow, meainging single arrowhead at final vertex, in this case pointing to right -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 8 0'>
        <Shape>
          <Text string='"7 (single dot)"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0 1 1'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='0 1 1'/>
              <LineProperties linetype='7'>
                <!-- linetype='7' (optional support) single dot -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 7 0'>
        <Shape>
          <Text string='"8 (double arrow)"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='1 1 1'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material/>
              <LineProperties linetype='8'>
                <!-- linetype='8' (optional support) double arrow, meaning arrow heads at each end -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 6 0'>
        <Shape>
          <Text string='"9 [no entry]"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0.2 0.2 0.2'/>
          </Appearance>
        </Shape>
      </Transform>
      <Transform translation='-4 5 0'>
        <Shape>
          <Text string='"10 (chain line)"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0.5 0.5 0.5'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='1 0 0'/>
              <LineProperties linetype='10'>
                <!-- linetype='10' (optional support) chain line -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 4 0'>
        <Shape>
          <Text string='"11 (center line)"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0.8 0.2 0.2'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='0.8 0.2 0.2'/>
              <LineProperties linetype='11'>
                <!-- linetype='11' (optional support) center line -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 3 0'>
        <Shape>
          <Text string='"12 (hidden line)"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0.5 0.5 0.1'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='0.5 0.5 0.1'/>
              <LineProperties linetype='12'>
                <!-- linetype='12' (optional support) hidden line -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 2 0'>
        <Shape>
          <Text string='"13 (phantom line)"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0.8 0.8 0.2'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='0.8 0.8 0.2'/>
              <LineProperties linetype='13'>
                <!-- linetype='13' (optional support) phantom line -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 1 0'>
        <Shape>
          <Text string='"14 (break line 1)"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0.2 0.8 0.2'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='0.2 0.8 0.2'/>
              <LineProperties linetype='14'>
                <!-- linetype='14' (optional support) break line 1 -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 0 0'>
        <Shape>
          <Text string='"15 (break line 2)"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0.2 0.2 0.8'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='0.2 0.2 0.8'/>
              <LineProperties linetype='15'>
                <!-- linetype='15' (optional support) break line 2 -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
      <Transform translation='-4 -1 0'>
        <Shape>
          <Text string='"16 (user-specified dash pattern)"'>
            <FontStyle USE='LeftJustify'/>
          </Text>
          <Appearance>
            <Material diffuseColor='0.7 0.7 0.7'/>
          </Appearance>
        </Shape>
        <Transform translation='-4 0 0'>
          <Shape>
            <IndexedLineSet coordIndex='0 1 -1'>
              <Coordinate USE='Segment'/>
            </IndexedLineSet>
            <Appearance>
              <Material emissiveColor='0.7 0.7 0.7'/>
              <LineProperties linetype='16'>
                <!-- linetype='16' (optional support) user-specified dash pattern -->
              </LineProperties>
            </Appearance>
          </Shape>
        </Transform>
      </Transform>
    </Transform>
  </Scene>
</X3D>