@prefix :        <https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/RoundedRectangleComparison.ttl#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema:  <http://schema.org/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix x3d:     <https://www.web3d.org/specifications/x3d-4.0.xsd#> .
@prefix x3do:    <https://www.web3d.org/specifications/X3dOntology4.0#> .

:X3D a owl:NamedIndividual, x3do:X3D ;
  x3do:hasHead :head ;
  x3do:hasScene :Scene ;
  x3do:profile 'Immersive' ;
  x3do:version '3.3' ;
  x3do:noNamespaceSchemaLocation 'https://www.web3d.org/specifications/x3d-3.3.xsd' .
:head a owl:NamedIndividual, x3do:head ;
  x3do:hasParent :X3D ;
  x3do:hasMeta :meta_1_1, :meta_1_2, :meta_1_3, :meta_1_4, :meta_1_5, :meta_1_6, :meta_1_7, :meta_1_8, :meta_1_9, :meta_1_10, :meta_1_11, :meta_1_12, :meta_1_13, :meta_1_14, :meta_1_15, :meta_1_16, :meta_1_17 .
:meta_1_1 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'RoundedRectangleComparison.x3d' ;
  x3do:name 'title' .
:meta_1_2 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do: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.' ;
  x3do:name 'description' .
:meta_1_3 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '8 November 2014' ;
  x3do:name 'created' .
:meta_1_4 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '14 July 2025' ;
  x3do:name 'modified' .
:meta_1_5 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'RoundedRectangleComparison.png' ;
  x3do:name 'Image' .
:meta_1_6 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'RoundedRectanglePrimitives.x3d' ;
  x3do:name 'reference' .
:meta_1_7 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'RoundedRectangle2D.x3d' ;
  x3do:name 'reference' .
:meta_1_8 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'RoundedRectangleDesign.vsd' ;
  x3do:name 'reference' .
:meta_1_9 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'RoundedRectangleDesign.png' ;
  x3do:name 'reference' .
:meta_1_10 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'RoundedRectangleDesign.svg' ;
  x3do:name 'reference' .
:meta_1_11 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Don Brutzman' ;
  x3do:name 'creator' .
:meta_1_12 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://en.wikipedia.org/wiki/Squircle' ;
  x3do:name 'reference' .
:meta_1_13 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://en.wiktionary.org/wiki/roundrect' ;
  x3do:name 'reference' .
:meta_1_14 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Development of this scene added new features to X3D-Edit' ;
  x3do:name 'info' .
:meta_1_15 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/RoundedRectangleComparison.x3d' ;
  x3do:name 'identifier' .
:meta_1_16 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit' ;
  x3do:name 'generator' .
:meta_1_17 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '../license.html' ;
  x3do:name 'license' .
:meta dcterms:title "RoundedRectangleComparison.x3d" .
:meta dcterms:description "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." .
:meta dcterms:created "8 November 2014" .
:meta dcterms:modified "14 July 2025" .
:meta dcterms:Image "RoundedRectangleComparison.png" .
:meta dcterms:reference "RoundedRectanglePrimitives.x3d" .
:meta dcterms:reference "RoundedRectangle2D.x3d" .
:meta dcterms:reference "RoundedRectangleDesign.vsd" .
:meta dcterms:reference "RoundedRectangleDesign.png" .
:meta dcterms:reference "RoundedRectangleDesign.svg" .
:meta dcterms:creator "Don Brutzman" .
:meta dcterms:reference "https://en.wikipedia.org/wiki/Squircle" .
:meta dcterms:reference "https://en.wiktionary.org/wiki/roundrect" .
:meta dcterms:info "Development of this scene added new features to X3D-Edit" .
:meta dcterms:identifier "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GeometricShapes/RoundedRectangleComparison.x3d" .
:meta dcterms:generator "X3D-Edit 3.3, https://www.web3d.org/x3d/tools/X3D-Edit" .
:meta dcterms:license "../license.html" .
:Scene a owl:NamedIndividual, x3do:Scene ;
  x3do:hasParent :X3D ;
  x3do:hasChildren :WorldInfo_2_1, :Background_2_2, :Viewpoint_2_3, :Viewpoint_2_4, :Viewpoint_2_5, :Viewpoint_2_6, :Transform_2_7, :linesRoundedRectangle, :Transform_2_9, :Transform_2_10 .
:WorldInfo_2_1 a owl:NamedIndividual, x3do:WorldInfo ;
  x3do:hasParent :Scene ;
  x3do:title 'RoundedRectangleComparison.x3d' .
:Background_2_2 a owl:NamedIndividual, x3do:Background ;
  x3do:hasParent :Scene ;
  x3do:skyColor ( 0.1 0.1 0.1 ) .
:Viewpoint_2_3 a owl:NamedIndividual, x3do:Viewpoint ;
  x3do:hasParent :Scene ;
  x3do:description 'RoundedRectangle Comparison' ;
  x3do:position ( 0 0 7 ) .
:Viewpoint_2_4 a owl:NamedIndividual, x3do:Viewpoint ;
  x3do:hasParent :Scene ;
  x3do:description 'Polygons RoundedRectangle' ;
  x3do:position ( -2 0 3 ) .
:Viewpoint_2_5 a owl:NamedIndividual, x3do:Viewpoint ;
  x3do:hasParent :Scene ;
  x3do:description 'Lines RoundedRectangle' ;
  x3do:position ( 0 0 3 ) .
:Viewpoint_2_6 a owl:NamedIndividual, x3do:Viewpoint ;
  x3do:hasParent :Scene ;
  x3do:description 'Points RoundedRectangle' ;
  x3do:position ( 2 0 3 ) .
:Transform_2_7 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :polygonsRoundedRectangle, :Transform_2_7_2 ;
  x3do:translation ( -2 0 0 ) .
:polygonsRoundedRectangle a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_7 ;
  x3do:hasGeometry :IndexedFaceSet_2_7_1_1 ;
  x3do:hasAppearance :Appearance_2_7_1_2 ;
  x3do:DEF 'polygonsRoundedRectangle' .
:IndexedFaceSet_2_7_1_1 a owl:NamedIndividual, x3do:IndexedFaceSet ;
  x3do:hasParent :polygonsRoundedRectangle ;
  x3do:hasCoord :PointArray2x1x0_2 ;
  x3do: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 ) ;
  x3do:creaseAngle 6.28 ;
  x3do:solid false .
:PointArray2x1x0_2 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedFaceSet_2_7_1_1 ;
  x3do:DEF 'PointArray2x1x0_2' ;
  x3do: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_2_7_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :polygonsRoundedRectangle ;
  x3do:hasMaterial :PeriwinkleDiffuse .
:PeriwinkleDiffuse a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_7_1_2 ;
  x3do:DEF 'PeriwinkleDiffuse' ;
  x3do:diffuseColor ( 0.8 0.8 1.0 ) .
:Transform_2_7_2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_7 ;
  x3do:hasChildren :Shape_2_7_2_1 ;
  x3do:translation ( 0 -1.5 0 ) .
:Shape_2_7_2_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_7_2 ;
  x3do:hasGeometry :Text_2_7_2_1_1 ;
  x3do:hasAppearance :Appearance_2_7_2_1_2 .
:Text_2_7_2_1_1 a owl:NamedIndividual, x3do:Text ;
  x3do:hasParent :Shape_2_7_2_1 ;
  x3do:hasFontStyle :SmallCenteredFont ;
  x3do:string '"Polygons"' .
:SmallCenteredFont a owl:NamedIndividual, x3do:FontStyle ;
  x3do:hasParent :Text_2_7_2_1_1 ;
  x3do:DEF 'SmallCenteredFont' ;
  x3do:family '"SANS"' ;
  x3do:justify '"MIDDLE" "MIDDLE"' ;
  x3do:size 0.2 ;
  x3do:cssStyle 'BOLD' .
:Appearance_2_7_2_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_7_2_1 ;
  x3do:hasMaterial :PeriwinkleDiffuse-USE-1 .
:PeriwinkleDiffuse-USE-1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_7_2_1_2 ;
  owl:sameAs :PeriwinkleDiffuse . # DEF matching this USE
:linesRoundedRectangle a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Scene ;
  x3do:hasGeometry :IndexedLineSet_2_8_1 ;
  x3do:hasAppearance :Appearance_2_8_2 ;
  x3do:DEF 'linesRoundedRectangle' .
:IndexedLineSet_2_8_1 a owl:NamedIndividual, x3do:IndexedLineSet ;
  x3do:hasParent :linesRoundedRectangle ;
  x3do:hasCoord :PointArray2x1x0_2-USE-1 ;
  x3do: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 ) .
:PointArray2x1x0_2-USE-1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedLineSet_2_8_1 ;
  owl:sameAs :PointArray2x1x0_2 . # DEF matching this USE
:Appearance_2_8_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :linesRoundedRectangle ;
  x3do:hasMaterial :PeriwinkleEmissive .
:PeriwinkleEmissive a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_8_2 ;
  x3do:DEF 'PeriwinkleEmissive' ;
  x3do:emissiveColor ( 0.8 0.8 1.0 ) .
:Transform_2_9 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :Shape_2_9_1 ;
  x3do:translation ( 0 -1.5 0 ) .
:Shape_2_9_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_9 ;
  x3do:hasGeometry :Text_2_9_1_1 ;
  x3do:hasAppearance :Appearance_2_9_1_2 .
:Text_2_9_1_1 a owl:NamedIndividual, x3do:Text ;
  x3do:hasParent :Shape_2_9_1 ;
  x3do:hasFontStyle :SmallCenteredFont-USE-1 ;
  x3do:string '"Lines"' .
:SmallCenteredFont-USE-1 a owl:NamedIndividual, x3do:FontStyle ;
  x3do:hasParent :Text_2_9_1_1 ;
  owl:sameAs :SmallCenteredFont . # DEF matching this USE
:Appearance_2_9_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_9_1 ;
  x3do:hasMaterial :PeriwinkleDiffuse-USE-2 .
:PeriwinkleDiffuse-USE-2 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_9_1_2 ;
  owl:sameAs :PeriwinkleDiffuse . # DEF matching this USE
:Transform_2_10 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :pointsRoundedRectangle, :Transform_2_10_2 ;
  x3do:translation ( 2 0 0 ) .
:pointsRoundedRectangle a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_10 ;
  x3do:hasGeometry :PointSet_2_10_1_1 ;
  x3do:hasAppearance :Appearance_2_10_1_2 ;
  x3do:DEF 'pointsRoundedRectangle' .
:PointSet_2_10_1_1 a owl:NamedIndividual, x3do:PointSet ;
  x3do:hasParent :pointsRoundedRectangle ;
  x3do:hasCoord :PointArray2x1x0_2-USE-2 .
:PointArray2x1x0_2-USE-2 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :PointSet_2_10_1_1 ;
  owl:sameAs :PointArray2x1x0_2 . # DEF matching this USE
:Appearance_2_10_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :pointsRoundedRectangle ;
  x3do:hasMaterial :PeriwinkleEmissive-USE-1 .
:PeriwinkleEmissive-USE-1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_10_1_2 ;
  owl:sameAs :PeriwinkleEmissive . # DEF matching this USE
:Transform_2_10_2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_10 ;
  x3do:hasChildren :Shape_2_10_2_1 ;
  x3do:translation ( 0 -1.5 0 ) .
:Shape_2_10_2_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_10_2 ;
  x3do:hasGeometry :Text_2_10_2_1_1 ;
  x3do:hasAppearance :Appearance_2_10_2_1_2 .
:Text_2_10_2_1_1 a owl:NamedIndividual, x3do:Text ;
  x3do:hasParent :Shape_2_10_2_1 ;
  x3do:hasFontStyle :SmallCenteredFont-USE-2 ;
  x3do:string '"Points"' .
:SmallCenteredFont-USE-2 a owl:NamedIndividual, x3do:FontStyle ;
  x3do:hasParent :Text_2_10_2_1_1 ;
  owl:sameAs :SmallCenteredFont . # DEF matching this USE
:Appearance_2_10_2_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_10_2_1 ;
  x3do:hasMaterial :PeriwinkleDiffuse-USE-3 .
:PeriwinkleDiffuse-USE-3 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_10_2_1_2 ;
  owl:sameAs :PeriwinkleDiffuse . # DEF matching this USE
