{ "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":"RoundedRectangleComparison.x3d"
          },
          {
            "@name":"description",
            "@content":"RoundedRectangleComparison shows three RoundedRectangle shapes using polygons/lines/points rendering. Note that reuse of RoundedRectangle geometry requires only Interchange profile, but Text requires Immersive profile."
          },
          {
            "@name":"created",
            "@content":"8 November 2014"
          },
          {
            "@name":"modified",
            "@content":"14 July 2025"
          },
          {
            "@name":"Image",
            "@content":"RoundedRectangleComparison.png"
          },
          {
            "@name":"reference",
            "@content":"RoundedRectanglePrimitives.x3d"
          },
          {
            "@name":"reference",
            "@content":"RoundedRectangle2D.x3d"
          },
          {
            "@name":"reference",
            "@content":"RoundedRectangleDesign.vsd"
          },
          {
            "@name":"reference",
            "@content":"RoundedRectangleDesign.png"
          },
          {
            "@name":"reference",
            "@content":"RoundedRectangleDesign.svg"
          },
          {
            "@name":"creator",
            "@content":"Don Brutzman"
          },
          {
            "@name":"reference",
            "@content":"https://en.wikipedia.org/wiki/Squircle"
          },
          {
            "@name":"reference",
            "@content":"https://en.wiktionary.org/wiki/roundrect"
          },
          {
            "@name":"info",
            "@content":"Development of this scene added new features to X3D-Edit"
          },
          {
            "@name":"identifier",
            "@content":"https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/RoundedRectangleComparison.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":"RoundedRectangleComparison.x3d"
            }
          },
          { "Background":
            {
              "@skyColor":[0.1,0.1,0.1]
            }
          },
          { "Viewpoint":
            {
              "@description":"RoundedRectangle Comparison",
              "@position":[0,0,7]
            }
          },
          { "Viewpoint":
            {
              "@description":"Polygons RoundedRectangle",
              "@position":[-2,0,3]
            }
          },
          { "Viewpoint":
            {
              "@description":"Lines RoundedRectangle",
              "@position":[0,0,3]
            }
          },
          { "Viewpoint":
            {
              "@description":"Points RoundedRectangle",
              "@position":[2,0,3]
            }
          },
          { "Transform":
            {
              "@translation":[-2,0,0],
              "-children":[
                { "Shape":
                  {
                    "@DEF":"polygonsRoundedRectangle",
                    "-children":[
                      {
                        "#comment":"RoundedRectangle with 44 perimeter points + 4 internal points on each level"
                      }
                    ],
                    "-geometry":
                      { "IndexedFaceSet":
                        {
                          "@coordIndex":[0,1,2,3,0,-1,0,14,15,1,0,-1,1,25,26,2,1,-1,2,36,37,3,2,-1,3,47,4,0,3,-1,0,4,5,6,7,8,9,10,11,12,13,14,0,-1,1,15,16,17,18,19,20,21,22,23,24,25,1,-1,2,26,27,28,29,30,31,32,33,34,35,36,2,-1,3,37,38,39,40,41,42,43,44,45,46,47,3,-1,48,49,50,51,48,-1,48,62,63,49,48,-1,49,73,74,50,49,-1,50,84,85,51,50,-1,51,95,52,48,51,-1,48,52,53,54,55,56,57,58,59,60,61,62,48,-1,49,63,64,65,66,67,68,69,70,71,72,73,49,-1,50,74,75,76,77,78,79,80,81,82,83,84,50,-1,51,85,86,87,88,89,90,91,92,93,94,95,51,-1,5,4,52,53,-1,6,5,53,54,-1,7,6,54,55,-1,8,7,55,56,-1,9,8,56,57,-1,10,9,57,58,-1,11,10,58,59,-1,12,11,59,60,-1,13,12,60,61,-1,14,13,61,62,-1,15,14,62,63,-1,16,15,63,64,-1,17,16,64,65,-1,18,17,65,66,-1,19,18,66,67,-1,20,19,67,68,-1,21,20,68,69,-1,22,21,69,70,-1,23,22,70,71,-1,24,23,71,72,-1,25,24,72,73,-1,26,25,73,74,-1,27,26,74,75,-1,28,27,75,76,-1,29,28,76,77,-1,30,29,77,78,-1,31,30,78,79,-1,32,31,79,80,-1,33,32,80,81,-1,34,33,81,82,-1,35,34,82,83,-1,36,35,83,84,-1,37,36,84,85,-1,38,37,85,86,-1,39,38,86,87,-1,40,39,87,88,-1,41,40,88,89,-1,42,41,89,90,-1,43,42,90,91,-1,44,43,91,92,-1,45,44,92,93,-1,46,45,93,94,-1,47,46,94,95,-1,47,95,52,4,-1],
                          "@creaseAngle":6.28,
                          "@solid":false,
                          "-coord":
                            { "Coordinate":
                              {
                                "@DEF":"PointArray2x1x0_2",
                                "@point":[0.450,0.900,0.100,0.450,-0.900,0.100,-0.450,-0.900,0.100,-0.450,0.900,0.100,0.450,1.000,0.100,0.466,0.999,0.100,0.481,0.995,0.100,0.495,0.989,0.100,0.509,0.981,0.100,0.521,0.971,0.100,0.531,0.959,0.100,0.539,0.945,0.100,0.545,0.931,0.100,0.549,0.916,0.100,0.550,0.900,0.100,0.550,-0.900,0.100,0.549,-0.916,0.100,0.545,-0.931,0.100,0.539,-0.945,0.100,0.531,-0.959,0.100,0.521,-0.971,0.100,0.509,-0.981,0.100,0.495,-0.989,0.100,0.481,-0.995,0.100,0.466,-0.999,0.100,0.450,-1.000,0.100,-0.450,-1.000,0.100,-0.466,-0.999,0.100,-0.481,-0.995,0.100,-0.495,-0.989,0.100,-0.509,-0.981,0.100,-0.521,-0.971,0.100,-0.531,-0.959,0.100,-0.539,-0.945,0.100,-0.545,-0.931,0.100,-0.549,-0.916,0.100,-0.550,-0.900,0.100,-0.550,0.900,0.100,-0.549,0.916,0.100,-0.545,0.931,0.100,-0.539,0.945,0.100,-0.531,0.959,0.100,-0.521,0.971,0.100,-0.509,0.981,0.100,-0.495,0.989,0.100,-0.481,0.995,0.100,-0.466,0.999,0.100,-0.450,1.000,0.100,0.450,0.900,-0.100,0.450,-0.900,-0.100,-0.450,-0.900,-0.100,-0.450,0.900,-0.100,0.450,1.000,-0.100,0.466,0.999,-0.100,0.481,0.995,-0.100,0.495,0.989,-0.100,0.509,0.981,-0.100,0.521,0.971,-0.100,0.531,0.959,-0.100,0.539,0.945,-0.100,0.545,0.931,-0.100,0.549,0.916,-0.100,0.550,0.900,-0.100,0.550,-0.900,-0.100,0.549,-0.916,-0.100,0.545,-0.931,-0.100,0.539,-0.945,-0.100,0.531,-0.959,-0.100,0.521,-0.971,-0.100,0.509,-0.981,-0.100,0.495,-0.989,-0.100,0.481,-0.995,-0.100,0.466,-0.999,-0.100,0.450,-1.000,-0.100,-0.450,-1.000,-0.100,-0.466,-0.999,-0.100,-0.481,-0.995,-0.100,-0.495,-0.989,-0.100,-0.509,-0.981,-0.100,-0.521,-0.971,-0.100,-0.531,-0.959,-0.100,-0.539,-0.945,-0.100,-0.545,-0.931,-0.100,-0.549,-0.916,-0.100,-0.550,-0.900,-0.100,-0.550,0.900,-0.100,-0.549,0.916,-0.100,-0.545,0.931,-0.100,-0.539,0.945,-0.100,-0.531,0.959,-0.100,-0.521,0.971,-0.100,-0.509,0.981,-0.100,-0.495,0.989,-0.100,-0.481,0.995,-0.100,-0.466,0.999,-0.100,-0.450,1.000,-0.100]
                              }
                            }
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "-children":[
                            {
                              "#comment":"Polygon color is primarily defined by diffuseColor"
                            }
                          ],
                          "-material":
                            { "Material":
                              {
                                "@DEF":"PeriwinkleDiffuse",
                                "@diffuseColor":[0.8,0.8,1.0]
                              }
                            }
                        }
                      }
                  }
                },
                { "Transform":
                  {
                    "@translation":[0,-1.5,0],
                    "-children":[
                      { "Shape":
                        {
                          "-geometry":
                            { "Text":
                              {
                                "@string":["Polygons"],
                                "-fontStyle":
                                  { "FontStyle":
                                    {
                                      "@DEF":"SmallCenteredFont",
                                      "@family":["SANS"],
                                      "@justify":["MIDDLE","MIDDLE"],
                                      "@size":0.2,
                                      "@style":"BOLD"
                                    }
                                  }
                              }
                            },
                          "-appearance":
                            { "Appearance":
                              {
                                "-material":
                                  { "Material":
                                    {
                                      "@USE":"PeriwinkleDiffuse"
                                    }
                                  }
                              }
                            }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          },
          { "Shape":
            {
              "@DEF":"linesRoundedRectangle",
              "-geometry":
                { "IndexedLineSet":
                  {
                    "@coordIndex":[0,1,2,3,0,-1,0,14,15,1,0,-1,1,25,26,2,1,-1,2,36,37,3,2,-1,3,47,4,0,3,-1,0,4,5,6,7,8,9,10,11,12,13,14,0,-1,1,15,16,17,18,19,20,21,22,23,24,25,1,-1,2,26,27,28,29,30,31,32,33,34,35,36,2,-1,3,37,38,39,40,41,42,43,44,45,46,47,3,-1,48,49,50,51,48,-1,48,62,63,49,48,-1,49,73,74,50,49,-1,50,84,85,51,50,-1,51,95,52,48,51,-1,48,52,53,54,55,56,57,58,59,60,61,62,48,-1,49,63,64,65,66,67,68,69,70,71,72,73,49,-1,50,74,75,76,77,78,79,80,81,82,83,84,50,-1,51,85,86,87,88,89,90,91,92,93,94,95,51,-1,5,4,52,53,-1,6,5,53,54,-1,7,6,54,55,-1,8,7,55,56,-1,9,8,56,57,-1,10,9,57,58,-1,11,10,58,59,-1,12,11,59,60,-1,13,12,60,61,-1,14,13,61,62,-1,15,14,62,63,-1,16,15,63,64,-1,17,16,64,65,-1,18,17,65,66,-1,19,18,66,67,-1,20,19,67,68,-1,21,20,68,69,-1,22,21,69,70,-1,23,22,70,71,-1,24,23,71,72,-1,25,24,72,73,-1,26,25,73,74,-1,27,26,74,75,-1,28,27,75,76,-1,29,28,76,77,-1,30,29,77,78,-1,31,30,78,79,-1,32,31,79,80,-1,33,32,80,81,-1,34,33,81,82,-1,35,34,82,83,-1,36,35,83,84,-1,37,36,84,85,-1,38,37,85,86,-1,39,38,86,87,-1,40,39,87,88,-1,41,40,88,89,-1,42,41,89,90,-1,43,42,90,91,-1,44,43,91,92,-1,45,44,92,93,-1,46,45,93,94,-1,47,46,94,95,-1,47,95,52,4,-1],
                    "-coord":
                      { "Coordinate":
                        {
                          "@USE":"PointArray2x1x0_2"
                        }
                      }
                  }
                },
              "-appearance":
                { "Appearance":
                  {
                    "-children":[
                      {
                        "#comment":"Line color is only! defined by emissiveColor"
                      }
                    ],
                    "-material":
                      { "Material":
                        {
                          "@DEF":"PeriwinkleEmissive",
                          "@emissiveColor":[0.8,0.8,1.0]
                        }
                      }
                  }
                }
            }
          },
          { "Transform":
            {
              "@translation":[0,-1.5,0],
              "-children":[
                { "Shape":
                  {
                    "-geometry":
                      { "Text":
                        {
                          "@string":["Lines"],
                          "-fontStyle":
                            { "FontStyle":
                              {
                                "@USE":"SmallCenteredFont"
                              }
                            }
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "-material":
                            { "Material":
                              {
                                "@USE":"PeriwinkleDiffuse"
                              }
                            }
                        }
                      }
                  }
                }
              ]
            }
          },
          { "Transform":
            {
              "@translation":[2,0,0],
              "-children":[
                { "Shape":
                  {
                    "@DEF":"pointsRoundedRectangle",
                    "-geometry":
                      { "PointSet":
                        {
                          "-coord":
                            { "Coordinate":
                              {
                                "@USE":"PointArray2x1x0_2"
                              }
                            }
                        }
                      },
                    "-appearance":
                      { "Appearance":
                        {
                          "-children":[
                            {
                              "#comment":"Point color is only! defined by emissiveColor"
                            }
                          ],
                          "-material":
                            { "Material":
                              {
                                "@USE":"PeriwinkleEmissive"
                              }
                            }
                        }
                      }
                  }
                },
                { "Transform":
                  {
                    "@translation":[0,-1.5,0],
                    "-children":[
                      { "Shape":
                        {
                          "-geometry":
                            { "Text":
                              {
                                "@string":["Points"],
                                "-fontStyle":
                                  { "FontStyle":
                                    {
                                      "@USE":"SmallCenteredFont"
                                    }
                                  }
                              }
                            },
                          "-appearance":
                            { "Appearance":
                              {
                                "-material":
                                  { "Material":
                                    {
                                      "@USE":"PeriwinkleDiffuse"
                                    }
                                  }
                              }
                            }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
    }
  }
}