<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "http://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.0.xsd'>
  <head>
    <meta content='WallLamp.x3d' name='title'/>
    <meta content='A reusable wall lamp: prototype using an inverted cone with embedded PointLight.' name='description'/>
    <meta content='Frederic Roussille' name='creator'/>
    <meta content='1 April 2001' name='created'/>
    <meta content='27 December 2002' name='modified'/>
    <meta content='http://www.web3d.org/x3d/content/examples/Basic/StudentProjects/WallLamp.x3d' name='identifier'/>
    <meta content='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit' name='generator'/>
    <meta content='../license.html' name='license'/>
  </head>
  <Scene>
    <ProtoDeclare name='WallLamp'>
      <ProtoInterface>
        <field accessType='inputOutput' name='lampColor' type='SFColor' value='0 0 1'/>
        <field accessType='inputOutput' name='lightColor' type='SFColor' value='0.7 0.5 0'/>
        <field accessType='inputOutput' name='lightIntensity' type='SFFloat' value='0.8'/>
        <field accessType='inputOutput' name='lightAttenuation' type='SFVec3f' value='0 0.6 0'/>
        <field accessType='inputOutput' name='radius' type='SFFloat' value='50'/>
        <field accessType='inputOutput' name='lightLocation' type='SFVec3f' value='0 0 5'/>
      </ProtoInterface>
      <ProtoBody>
        <Group>
          <Shape>
            <Appearance>
              <Material DEF='lamp_color'>
                <IS>
                  <connect nodeField='diffuseColor' protoField='lampColor'/>
                </IS>
              </Material>
            </Appearance>
            <IndexedFaceSet coordIndex='0 9 1 -1 1 9 2 -1 2 9 3 -1 3 9 4 -1 4 9 5 -1 5 9 6 -1 6 9 7 -1 7 9 8 -1 9 0 8 -1' creaseAngle='1.57' solid='false'>
              <Coordinate point='-1 0 0 -0.92 0 0.38 -0.71 0 0.71 -0.38 0 0.92 0 0 1 0.38 0 0.92 0.71 0 0.71 0.92 0 0.38 1 0 0 0 -3 0'/>
            </IndexedFaceSet>
          </Shape>
          <PointLight DEF='lamp_light'>
            <IS>
              <connect nodeField='color' protoField='lightColor'/>
              <connect nodeField='intensity' protoField='lightIntensity'/>
              <connect nodeField='attenuation' protoField='lightAttenuation'/>
              <connect nodeField='radius' protoField='radius'/>
              <connect nodeField='location' protoField='lightLocation'/>
            </IS>
          </PointLight>
        </Group>
      </ProtoBody>
    </ProtoDeclare>
    <ProtoInstance name='WallLamp'/>
  </Scene>
</X3D>
