{ "X3D": {
    "encoding":"UTF-8",
    "@profile":"Immersive",
    "@version":"3.3",
    "@xsd:noNamespaceSchemaLocation":"https://www.web3d.org/specifications/x3d-3.3.xsd",
    "JSON schema":"https://www.web3d.org/specifications/x3d-4.0-JSONSchema.autogenerated.json",
    "head": {
        "meta": [
          {
            "@name":"title",
            "@content":"ExtrusionExamplesTest.x3d"
          },
          {
            "@name":"description",
            "@content":"Extrusion examples for testing and debugging"
          },
          {
            "@name":"creator",
            "@content":"Don Brutzman"
          },
          {
            "@name":"created",
            "@content":"18 August 2012"
          },
          {
            "@name":"modified",
            "@content":"20 October 2019"
          },
          {
            "@name":"warning",
            "@content":"several tests (marked TODO) are failing under Xj3D but work satisfactorily on other X3D players"
          },
          {
            "@name":"Image",
            "@content":"ExtrusionExamplesTest.BScontact.png"
          },
          {
            "@name":"Image",
            "@content":"ExtrusionExamplesTest.Coin3D.png"
          },
          {
            "@name":"Image",
            "@content":"ExtrusionExamplesTest.FreeWrl.png"
          },
          {
            "@name":"Image",
            "@content":"ExtrusionExamplesTest.H3DViewer.png"
          },
          {
            "@name":"Image",
            "@content":"ExtrusionExamplesTest.InstantReality.png"
          },
          {
            "@name":"Image",
            "@content":"ExtrusionExamplesTest.OctagaVS.png"
          },
          {
            "@name":"Image",
            "@content":"ExtrusionExamplesTest.view3dscene.png"
          },
          {
            "@name":"Image",
            "@content":"ExtrusionExamplesTest.X3DOM.png"
          },
          {
            "@name":"Image",
            "@content":"ExtrusionExamplesTest.Xj3D.png"
          },
          {
            "@name":"reference",
            "@content":"ExtrusionExamplesTestXj3dConsoleOutput.txt"
          },
          {
            "@name":"identifier",
            "@content":"https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/ExtrusionExamplesTest.x3d"
          },
          {
            "@name":"generator",
            "@content":"X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit"
          },
          {
            "@name":"license",
            "@content":"../license.html"
          },
          {
            "@name":"translated",
            "@content":"16 April 2026"
          },
          {
            "@name":"generator",
            "@content":"X3dToJson.xslt, https://www.web3d.org/x3d/stylesheets/X3dToJson.html"
          },
          {
            "@name":"reference",
            "@content":"X3D JSON encoding: https://www.web3d.org/wiki/index.php/X3D_JSON_Encoding"
          }
        ]
    },
    "Scene": {
        "-children":[
          { "WorldInfo":
            {
              "@title":"ExtrusionExamplesTest.x3d"
            }
          },
          { "Viewpoint":
            {
              "@description":"Extrusion examples",
              "@orientation":[1,0,0,-0.244979],
              "@position":[0,4,16]
            }
          },
          { "Background":
            {
              "@skyColor":[0.380392,0.607843,1]
            }
          },
          { "Transform":
            {
              "@translation":[-6,1,0],
              "-children":[
                { "Viewpoint":
                  {
                    "@description":"Extrusion1 Default",
                    "@position":[0,0,4]
                  }
                },
                { "Shape":
                  {
                    "-geometry":
                      { "Extrusion":
                        {
                          "@DEF":"Extrusion1Default"
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "@DEF":"AppearanceDefault",
                          "-material":
                            { "Material":
                              {
                                "@emissiveColor":[0.24,0.2,0.8]
                              }
                            }
                        }
                      }
                  }
                }
              ]
            }
          },
          { "Transform":
            {
              "@translation":[-3,1,0],
              "-children":[
                { "Viewpoint":
                  {
                    "@description":"Extrusion2 CircularCrossSection12",
                    "@position":[0,0,4]
                  }
                },
                { "Shape":
                  {
                    "-geometry":
                      { "Extrusion":
                        {
                          "@DEF":"Extrusion2CircularCrossSection12",
                          "@crossSection":[0,1,0.5,0.866,0.866,0.5,1,0,0.866,-0.5,0.5,-0.866,0,-1,-0.5,-0.866,-0.866,-0.5,-1,-0,-0.866,0.5,-0.5,0.866,0,1]
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "@USE":"AppearanceDefault"
                        }
                      }
                  }
                }
              ]
            }
          },
          { "Transform":
            {
              "@translation":[0,1,0],
              "-children":[
                { "Viewpoint":
                  {
                    "@description":"Extrusion3 CircularCrossSection60",
                    "@position":[0,0,4]
                  }
                },
                { "Shape":
                  {
                    "-geometry":
                      { "Extrusion":
                        {
                          "@DEF":"Extrusion3CircularCrossSection60",
                          "@crossSection":[0,1,0.105,0.995,0.208,0.978,0.309,0.951,0.407,0.914,0.5,0.866,0.588,0.809,0.669,0.743,0.743,0.669,0.809,0.588,0.866,0.5,0.914,0.407,0.951,0.309,0.978,0.208,0.995,0.105,1,0,0.995,-0.105,0.978,-0.208,0.951,-0.309,0.914,-0.407,0.866,-0.5,0.809,-0.588,0.743,-0.669,0.669,-0.743,0.588,-0.809,0.5,-0.866,0.407,-0.914,0.309,-0.951,0.208,-0.978,0.105,-0.995,0,-1,-0.105,-0.995,-0.208,-0.978,-0.309,-0.951,-0.407,-0.914,-0.5,-0.866,-0.588,-0.809,-0.669,-0.743,-0.743,-0.669,-0.809,-0.588,-0.866,-0.5,-0.914,-0.407,-0.951,-0.309,-0.978,-0.208,-0.995,-0.105,-1,-0,-0.995,0.105,-0.978,0.208,-0.951,0.309,-0.914,0.407,-0.866,0.5,-0.809,0.588,-0.743,0.669,-0.669,0.743,-0.588,0.809,-0.5,0.866,-0.407,0.914,-0.309,0.951,-0.208,0.978,-0.105,0.995,0,1]
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "@USE":"AppearanceDefault"
                        }
                      }
                  }
                }
              ]
            }
          },
          { "Transform":
            {
              "@rotation":[0,0,1,0.261799],
              "@translation":[3,1,0],
              "-children":[
                { "Viewpoint":
                  {
                    "@description":"Extrusion4 CircularCrossSection12SemiCircularSpine",
                    "@position":[0,0,4]
                  }
                },
                { "Shape":
                  {
                    "-children":[
                      {
                        "#comment":"TODO isolated problem: Xj3D rotations look like SCP is mistaken and (unspecified) scales are bogus. mesh connectivity seems OK. crossSection is closed, spine is open."
                      }
                    ],
                    "-geometry":
                      { "Extrusion":
                        {
                          "@DEF":"Extrusion4CircularCrossSection12SemiCircularSpine",
                          "@crossSection":[0,1,0.5,0.866,0.866,0.5,1,0,0.866,-0.5,0.5,-0.866,0,-1,-0.5,-0.866,-0.866,-0.5,-1,-0,-0.866,0.5,-0.5,0.866,0,1],
                          "@scale":[0.2,0.2],
                          "@spine":[-1,0,0,-0.866,0.5,0,-0.5,0.866,0,0,1,0,0.5,0.866,0,0.866,0.5,0,1,0,0,0.866,-0.5,0]
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "@USE":"AppearanceDefault"
                        }
                      }
                  }
                }
              ]
            }
          },
          { "Transform":
            {
              "@translation":[6,2,0],
              "-children":[
                { "Viewpoint":
                  {
                    "@description":"Extrusion5 CircularCrossSection12CircularSpine",
                    "@position":[0,0,4]
                  }
                },
                { "Shape":
                  {
                    "-children":[
                      {
                        "#comment":"TODO isolated problem: Xj3D rotations look like SCP is mistaken and (unspecified) scales are bogus. mesh connectivity seems OK. crossSection is closed, spine is closed."
                      }
                    ],
                    "-geometry":
                      { "Extrusion":
                        {
                          "@DEF":"Extrusion5CircularCrossSection12CircularSpine",
                          "@crossSection":[0,1,0.5,0.866,0.866,0.5,1,0,0.866,-0.5,0.5,-0.866,0,-1,-0.5,-0.866,-0.866,-0.5,-1,-0,-0.866,0.5,-0.5,0.866,0,1],
                          "@scale":[0.2,0.2],
                          "@spine":[0,1,0,0.5,0.866,0,0.866,0.5,0,1,0,0,0.866,-0.5,0,0.5,-0.866,0,0,-1,0,-0.5,-0.866,0,-0.866,-0.5,0,-1,-0,0,-0.866,0.5,0,-0.5,0.866,0,0,1,0]
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "@USE":"AppearanceDefault"
                        }
                      }
                  }
                }
              ]
            }
          },
          {
            "#comment":"========================================="
          },
          { "Transform":
            {
              "@translation":[-6.5,-1,0],
              "-children":[
                { "Viewpoint":
                  {
                    "@description":"Extrusion6 DefaultSideways",
                    "@position":[0,0,4]
                  }
                },
                { "Shape":
                  {
                    "-geometry":
                      { "Extrusion":
                        {
                          "@DEF":"Extrusion6DefaultSideways",
                          "@spine":[0,0,0,1,0,0]
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "@USE":"AppearanceDefault"
                        }
                      }
                  }
                }
              ]
            }
          },
          { "Transform":
            {
              "@translation":[-4,-1,0],
              "-children":[
                { "Viewpoint":
                  {
                    "@description":"Extrusion7 Right45DegreeBends",
                    "@position":[0,0,4]
                  }
                },
                { "Shape":
                  {
                    "-geometry":
                      { "Extrusion":
                        {
                          "@DEF":"Extrusion7Right45DegreeBends",
                          "@crossSection":[0.1,0.1,0.1,-0.1,-0.1,-0.1,-0.1,0.1,0.1,0.1],
                          "@spine":[0,0,0,0,0.5,0,0.5,1,0,1,1,0,1.5,1,0,2,0.5,0,2,0,0]
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "@USE":"AppearanceDefault"
                        }
                      }
                  }
                }
              ]
            }
          },
          { "Transform":
            {
              "@translation":[-1,-1,0],
              "-children":[
                { "Viewpoint":
                  {
                    "@description":"Extrusion8 Right45DegreeBendsClosed",
                    "@position":[0,0,4]
                  }
                },
                { "Shape":
                  {
                    "-geometry":
                      { "Extrusion":
                        {
                          "@DEF":"Extrusion8Right45DegreeBendsClosed",
                          "@crossSection":[0.1,0.1,0.1,-0.1,-0.1,-0.1,-0.1,0.1,0.1,0.1],
                          "@spine":[0,0,0,0,0.5,0,0.5,1,0,1,1,0,1.5,1,0,2,0.5,0,2,0,0,2,-0.5,0,1.5,-1,0,1,-1,0,0.5,-1,0,0,-0.5,0,0,0,0]
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "@USE":"AppearanceDefault"
                        }
                      }
                  }
                }
              ]
            }
          },
          { "Transform":
            {
              "@translation":[3,-1,0],
              "-children":[
                { "Viewpoint":
                  {
                    "@description":"Extrusion9 CircularSpineSquareCrossection",
                    "@position":[0,0,4]
                  }
                },
                { "Shape":
                  {
                    "-children":[
                      {
                        "#comment":"TODO isolated problem: Xj3D end segments squeezed (but not shut) when crossSection is closed, regardless of beginCap='true' endCap='true'"
                      }
                    ],
                    "-geometry":
                      { "Extrusion":
                        {
                          "@DEF":"Extrusion9CircularSpineSquareCrossection",
                          "@crossSection":[0.1,0.1,0.1,-0.1,-0.1,-0.1,-0.1,0.1,0.1,0.1],
                          "@spine":[0,1,0,0.309,0.951,0,0.588,0.809,0,0.809,0.588,0,0.951,0.309,0,1,0,0,0.951,-0.309,0,0.809,-0.588,0,0.588,-0.809,0,0.309,-0.951,0,0,-1,0,-0.309,-0.951,0,-0.588,-0.809,0,-0.809,-0.588,0,-0.951,-0.309,0,-1,-0,0,-0.951,0.309,0,-0.809,0.588,0,-0.588,0.809,0,-0.309,0.951,0,0,1,0]
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "@USE":"AppearanceDefault"
                        }
                      }
                  }
                }
              ]
            }
          },
          { "Transform":
            {
              "@translation":[5,-1,0],
              "-children":[
                { "Viewpoint":
                  {
                    "@description":"Extrusion10 Right45DegreeBendsClosedCircularCrossection",
                    "@position":[0,0,4]
                  }
                },
                { "Shape":
                  {
                    "-geometry":
                      { "Extrusion":
                        {
                          "@DEF":"Extrusion10Right45DegreeBendsClosedCircularCrossection",
                          "@crossSection":[0,0.1,0.0383,0.0924,0.0707,0.0707,0.0924,0.0383,0.1,0,0.0924,-0.0383,0.0707,-0.0707,0.0383,-0.0924,0,-0.1,-0.0383,-0.0924,-0.0707,-0.0707,-0.0924,-0.0383,-0.1,-0,-0.0924,0.0383,-0.0707,0.0707,-0.0383,0.0924,0,0.1],
                          "@spine":[0,0,0,0,0.5,0,0.5,1,0,1,1,0,1.5,1,0,2,0.5,0,2,0,0,2,-0.5,0,1.5,-1,0,1,-1,0,0.5,-1,0,0,-0.5,0,0,0,0]
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "@USE":"AppearanceDefault"
                        }
                      }
                  }
                }
              ]
            }
          }
        ]
    }
  }
}