@prefix :        <https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/GeometryPrimitiveSubstituteMeshes.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_1 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'GeometryPrimitiveSubstituteMeshes.x3d' ;
  x3do:name 'title' .
:meta_1_2 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Substitute IndexedFaceSet mesh versions of Geometry Primitive Nodes: Shape, Box, Cone, Cylinder, Sphere.' ;
  x3do:name 'description' .
:meta_1_3 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Don Brutzman' ;
  x3do:name 'creator' .
:meta_1_4 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '14 July 2018' ;
  x3do:name 'created' .
:meta_1_5 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '4 August 2024' ;
  x3do:name 'modified' .
:meta_1_6 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Fix Cone and Cylinder IFS, add Sphere IFS' ;
  x3do:name 'TODO' .
:meta_1_7 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Meshlab: submit issue to support import of Box Cone Cylinder Sphere' ;
  x3do:name 'TODO' .
:meta_1_8 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D-Edit authoring tool Shape wizard: fix height value and endpoint stitching on Cone and Cylinder, add Sphere' ;
  x3do:name 'TODO' .
:meta_1_9 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Default values have been added to geometry nodes for clarity, ordinarily default values are omitted.' ;
  x3do:name 'hint' .
:meta_1_10 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/GeometryPrimitiveSubstituteMeshes.x3d' ;
  x3do:name 'identifier' .
:meta_1_11 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit' ;
  x3do:name 'generator' .
:meta_1_12 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '../license.html' ;
  x3do:name 'license' .
:meta dcterms:title "GeometryPrimitiveSubstituteMeshes.x3d" .
:meta dcterms:description "Substitute IndexedFaceSet mesh versions of Geometry Primitive Nodes: Shape, Box, Cone, Cylinder, Sphere." .
:meta dcterms:creator "Don Brutzman" .
:meta dcterms:created "14 July 2018" .
:meta dcterms:modified "4 August 2024" .
:meta dcterms:hint "Default values have been added to geometry nodes for clarity, ordinarily default values are omitted." .
:meta dcterms:identifier "https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02GeometryPrimitives/GeometryPrimitiveSubstituteMeshes.x3d" .
:meta dcterms:generator "X3D-Edit 4.0, 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, :Transform_2_2, :Transform_2_3 .
:WorldInfo_2_1 a owl:NamedIndividual, x3do:WorldInfo ;
  x3do:hasParent :Scene ;
  x3do:title 'GeometryPrimitiveSubstituteMeshes.x3d' .
:Transform_2_2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :Transform_2_2_1, :Transform_2_2_2, :Transform_2_2_3, :Transform_2_2_4, :Transform_2_2_5 ;
  x3do:translation ( 0 2 0 ) .
:Transform_2_2_1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_2 ;
  x3do:hasChildren :Shape_2_2_1_1 ;
  x3do:translation ( -5 0 0 ) .
:Shape_2_2_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_2_1 ;
  x3do:hasGeometry :IfsMeshBox ;
  x3do:hasAppearance :Appearance_2_2_1_1_2 .
:IfsMeshBox a owl:NamedIndividual, x3do:IndexedFaceSet ;
  x3do:hasParent :Shape_2_2_1_1 ;
  x3do:hasCoord :Coordinate_2_2_1_1_1_1 ;
  x3do:DEF 'IfsMeshBox' ;
  x3do:coordIndex ( 0 1 2 3 0 -1 7 6 5 4 7 -1 0 4 5 1 0 -1 1 5 6 2 1 -1 2 6 7 3 2 -1 3 7 4 0 3 -1 ) .
:Coordinate_2_2_1_1_1_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IfsMeshBox ;
  x3do:point ( 1 1 1 1 1 -1 -1 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1 ) .
:Appearance_2_2_1_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_1_1 ;
  x3do:hasMaterial :Material_2_2_1_1_2_1 .
:Material_2_2_1_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_2_1_1_2 ;
  x3do:diffuseColor ( 1 0.2 0.2 ) .
:Transform_2_2_2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_2 ;
  x3do:hasChildren :Shape_2_2_2_1 ;
  x3do:translation ( -2.5 0 0 ) .
:Shape_2_2_2_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_2_2 ;
  x3do:hasGeometry :IndexedFaceSet_2_2_2_1_1 ;
  x3do:hasAppearance :Appearance_2_2_2_1_2 .
:IndexedFaceSet_2_2_2_1_1 a owl:NamedIndividual, x3do:IndexedFaceSet ;
  x3do:hasParent :Shape_2_2_2_1 ;
  x3do:hasCoord :Coordinate_2_2_2_1_1_1 ;
  x3do:coordIndex ( 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 -1 1 2 3 -1 1 3 4 -1 1 4 5 -1 1 5 6 -1 1 6 7 -1 1 7 8 -1 1 8 9 -1 1 9 10 -1 1 10 11 -1 1 11 12 -1 1 12 13 -1 1 13 14 -1 1 14 15 -1 1 15 16 -1 1 16 17 -1 1 17 18 -1 1 18 19 -1 1 19 20 -1 1 20 21 -1 1 21 22 -1 1 22 23 -1 1 23 24 -1 1 24 25 -1 1 25 26 -1 1 26 27 -1 1 27 28 -1 1 28 29 -1 1 29 30 -1 1 30 31 -1 1 31 32 -1 1 32 33 -1 1 33 34 -1 1 34 35 -1 1 35 36 -1 1 36 37 -1 1 37 38 -1 1 38 39 -1 1 39 40 -1 1 40 41 -1 1 41 42 -1 1 42 43 -1 1 43 44 -1 1 44 45 -1 1 45 46 -1 1 46 47 -1 1 47 48 -1 1 48 49 -1 1 49 50 -1 1 50 51 -1 1 51 52 -1 1 52 53 -1 1 53 54 -1 1 54 55 -1 1 55 56 -1 1 56 57 -1 1 57 58 -1 1 58 59 -1 1 59 60 -1 1 60 61 -1 1 61 62 -1 1 62 63 -1 1 63 64 -1 1 64 65 -1 1 65 66 -1 ) ;
  x3do:creaseAngle 3.14159 ;
  x3do:solid false .
:Coordinate_2_2_2_1_1_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedFaceSet_2_2_2_1_1 ;
  x3do:point ( 0 0 0 0 1 0 0.000 0.0 1.000 0.098 0.0 0.995 0.195 0.0 0.981 0.290 0.0 0.957 0.383 0.0 0.924 0.471 0.0 0.882 0.556 0.0 0.831 0.634 0.0 0.773 0.707 0.0 0.707 0.773 0.0 0.634 0.831 0.0 0.556 0.882 0.0 0.471 0.924 0.0 0.383 0.957 0.0 0.290 0.981 0.0 0.195 0.995 0.0 0.098 1.000 0.0 0.000 0.995 0.0 -0.098 0.981 0.0 -0.195 0.957 0.0 -0.290 0.924 0.0 -0.383 0.882 0.0 -0.471 0.831 0.0 -0.556 0.773 0.0 -0.634 0.707 0.0 -0.707 0.634 0.0 -0.773 0.556 0.0 -0.831 0.471 0.0 -0.882 0.383 0.0 -0.924 0.290 0.0 -0.957 0.195 0.0 -0.981 0.098 0.0 -0.995 0.000 0.0 -1.000 -0.098 0.0 -0.995 -0.195 0.0 -0.981 -0.290 0.0 -0.957 -0.383 0.0 -0.924 -0.471 0.0 -0.882 -0.556 0.0 -0.831 -0.634 0.0 -0.773 -0.707 0.0 -0.707 -0.773 0.0 -0.634 -0.831 0.0 -0.556 -0.882 0.0 -0.471 -0.924 0.0 -0.383 -0.957 0.0 -0.290 -0.981 0.0 -0.195 -0.995 0.0 -0.098 -1.000 0.0 -0.000 -0.995 0.0 0.098 -0.981 0.0 0.195 -0.957 0.0 0.290 -0.924 0.0 0.383 -0.882 0.0 0.471 -0.831 0.0 0.556 -0.773 0.0 0.634 -0.707 0.0 0.707 -0.634 0.0 0.773 -0.556 0.0 0.831 -0.471 0.0 0.882 -0.383 0.0 0.924 -0.290 0.0 0.957 -0.195 0.0 0.981 -0.098 0.0 0.995 0.000 0.0 1.000 ) .
:Appearance_2_2_2_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1 .
:Material_2_2_2_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_2_2_1_2 ;
  x3do:diffuseColor ( 0.2 1 0.2 ) .
:Transform_2_2_3 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_2 ;
  x3do:hasChildren :Shape_2_2_3_1 .
:Shape_2_2_3_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_2_3 ;
  x3do:hasGeometry :IndexedFaceSet_2_2_3_1_1 ;
  x3do:hasAppearance :Appearance_2_2_3_1_2 .
:IndexedFaceSet_2_2_3_1_1 a owl:NamedIndividual, x3do:IndexedFaceSet ;
  x3do:hasParent :Shape_2_2_3_1 ;
  x3do:hasCoord :Coordinate_2_2_3_1_1_1 ;
  x3do:coordIndex ( 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 0 -1 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 127 -1 1 65 64 0 1 -1 2 66 65 1 2 -1 3 67 66 2 3 -1 4 68 67 3 4 -1 5 69 68 4 5 -1 6 70 69 5 6 -1 7 71 70 6 7 -1 8 72 71 7 8 -1 9 73 72 8 9 -1 10 74 73 9 10 -1 11 75 74 10 11 -1 12 76 75 11 12 -1 13 77 76 12 13 -1 14 78 77 13 14 -1 15 79 78 14 15 -1 16 80 79 15 16 -1 17 81 80 16 17 -1 18 82 81 17 18 -1 19 83 82 18 19 -1 20 84 83 19 20 -1 21 85 84 20 21 -1 22 86 85 21 22 -1 23 87 86 22 23 -1 24 88 87 23 24 -1 25 89 88 24 25 -1 26 90 89 25 26 -1 27 91 90 26 27 -1 28 92 91 27 28 -1 29 93 92 28 29 -1 30 94 93 29 30 -1 31 95 94 30 31 -1 32 96 95 31 32 -1 33 97 96 32 33 -1 34 98 97 33 34 -1 35 99 98 34 35 -1 36 100 99 35 36 -1 37 101 100 36 37 -1 38 102 101 37 38 -1 39 103 102 38 39 -1 40 104 103 39 40 -1 41 105 104 40 41 -1 42 106 105 41 42 -1 43 107 106 42 43 -1 44 108 107 43 44 -1 45 109 108 44 45 -1 46 110 109 45 46 -1 47 111 110 46 47 -1 48 112 111 47 48 -1 49 113 112 48 49 -1 50 114 113 49 50 -1 51 115 114 50 51 -1 52 116 115 51 52 -1 53 117 116 52 53 -1 54 118 117 53 54 -1 55 119 118 54 55 -1 56 120 119 55 56 -1 57 121 120 56 57 -1 58 122 121 57 58 -1 59 123 122 58 59 -1 60 124 123 59 60 -1 61 125 124 60 61 -1 62 126 125 61 62 -1 63 127 126 62 63 -1 0 64 127 63 0 -1 ) ;
  x3do:creaseAngle 3.14159 ;
  x3do:solid false .
:Coordinate_2_2_3_1_1_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedFaceSet_2_2_3_1_1 ;
  x3do:point ( 0.000 1.0 1.000 0.098 1.0 0.995 0.195 1.0 0.981 0.290 1.0 0.957 0.383 1.0 0.924 0.471 1.0 0.882 0.556 1.0 0.831 0.634 1.0 0.773 0.707 1.0 0.707 0.773 1.0 0.634 0.831 1.0 0.556 0.882 1.0 0.471 0.924 1.0 0.383 0.957 1.0 0.290 0.981 1.0 0.195 0.995 1.0 0.098 1.000 1.0 0.000 0.995 1.0 -0.098 0.981 1.0 -0.195 0.957 1.0 -0.290 0.924 1.0 -0.383 0.882 1.0 -0.471 0.831 1.0 -0.556 0.773 1.0 -0.634 0.707 1.0 -0.707 0.634 1.0 -0.773 0.556 1.0 -0.831 0.471 1.0 -0.882 0.383 1.0 -0.924 0.290 1.0 -0.957 0.195 1.0 -0.981 0.098 1.0 -0.995 0.000 1.0 -1.000 -0.098 1.0 -0.995 -0.195 1.0 -0.981 -0.290 1.0 -0.957 -0.383 1.0 -0.924 -0.471 1.0 -0.882 -0.556 1.0 -0.831 -0.634 1.0 -0.773 -0.707 1.0 -0.707 -0.773 1.0 -0.634 -0.831 1.0 -0.556 -0.882 1.0 -0.471 -0.924 1.0 -0.383 -0.957 1.0 -0.290 -0.981 1.0 -0.195 -0.995 1.0 -0.098 -1.000 1.0 -0.000 -0.995 1.0 0.098 -0.981 1.0 0.195 -0.957 1.0 0.290 -0.924 1.0 0.383 -0.882 1.0 0.471 -0.831 1.0 0.556 -0.773 1.0 0.634 -0.707 1.0 0.707 -0.634 1.0 0.773 -0.556 1.0 0.831 -0.471 1.0 0.882 -0.383 1.0 0.924 -0.290 1.0 0.957 -0.195 1.0 0.981 -0.098 1.0 0.995 0.000 0.0 1.000 0.098 0.0 0.995 0.195 0.0 0.981 0.290 0.0 0.957 0.383 0.0 0.924 0.471 0.0 0.882 0.556 0.0 0.831 0.634 0.0 0.773 0.707 0.0 0.707 0.773 0.0 0.634 0.831 0.0 0.556 0.882 0.0 0.471 0.924 0.0 0.383 0.957 0.0 0.290 0.981 0.0 0.195 0.995 0.0 0.098 1.000 0.0 0.000 0.995 0.0 -0.098 0.981 0.0 -0.195 0.957 0.0 -0.290 0.924 0.0 -0.383 0.882 0.0 -0.471 0.831 0.0 -0.556 0.773 0.0 -0.634 0.707 0.0 -0.707 0.634 0.0 -0.773 0.556 0.0 -0.831 0.471 0.0 -0.882 0.383 0.0 -0.924 0.290 0.0 -0.957 0.195 0.0 -0.981 0.098 0.0 -0.995 0.000 0.0 -1.000 -0.098 0.0 -0.995 -0.195 0.0 -0.981 -0.290 0.0 -0.957 -0.383 0.0 -0.924 -0.471 0.0 -0.882 -0.556 0.0 -0.831 -0.634 0.0 -0.773 -0.707 0.0 -0.707 -0.773 0.0 -0.634 -0.831 0.0 -0.556 -0.882 0.0 -0.471 -0.924 0.0 -0.383 -0.957 0.0 -0.290 -0.981 0.0 -0.195 -0.995 0.0 -0.098 -1.000 0.0 -0.000 -0.995 0.0 0.098 -0.981 0.0 0.195 -0.957 0.0 0.290 -0.924 0.0 0.383 -0.882 0.0 0.471 -0.831 0.0 0.556 -0.773 0.0 0.634 -0.707 0.0 0.707 -0.634 0.0 0.773 -0.556 0.0 0.831 -0.471 0.0 0.882 -0.383 0.0 0.924 -0.290 0.0 0.957 -0.195 0.0 0.981 -0.098 0.0 0.995 ) .
:Appearance_2_2_3_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_3_1 ;
  x3do:hasMaterial :Material_2_2_3_1_2_1 .
:Material_2_2_3_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_2_3_1_2 .
:Transform_2_2_4 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_2 ;
  x3do:hasChildren :Shape_2_2_4_1 ;
  x3do:translation ( 2.5 0 0 ) .
:Shape_2_2_4_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_2_4 ;
  x3do:hasGeometry :IfsMeshSphere ;
  x3do:hasAppearance :Appearance_2_2_4_1_2 .
:IfsMeshSphere a owl:NamedIndividual, x3do:Sphere ;
  x3do:hasParent :Shape_2_2_4_1 ;
  x3do:DEF 'IfsMeshSphere' .
:Appearance_2_2_4_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_4_1 ;
  x3do:hasMaterial :Material_2_2_4_1_2_1 .
:Material_2_2_4_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_2_4_1_2 ;
  x3do:diffuseColor ( 1 1 0.2 ) .
:Transform_2_2_5 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_2 ;
  x3do:hasChildren :Group_2_2_5_1 ;
  x3do:translation ( 5.4 0 0 ) .
:Group_2_2_5_1 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :Transform_2_2_5 ;
  x3do:hasChildren :Shape_2_2_5_1_1, :Shape_2_2_5_1_2, :IfsMeshTextTouchSensorHint .
:Shape_2_2_5_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Group_2_2_5_1 ;
  x3do:hasGeometry :IfsMeshText ;
  x3do:hasAppearance :DefaultAppearance .
:IfsMeshText a owl:NamedIndividual, x3do:Text ;
  x3do:hasParent :Shape_2_2_5_1_1 ;
  x3do:hasFontStyle :MiddleFontStyle ;
  x3do:DEF 'IfsMeshText' ;
  x3do:string '"IFS" "Meshes"' .
:MiddleFontStyle a owl:NamedIndividual, x3do:FontStyle ;
  x3do:hasParent :IfsMeshText ;
  x3do:DEF 'MiddleFontStyle' ;
  x3do:justify '"MIDDLE" "MIDDLE"' ;
  x3do:size 0.6 ;
  x3do:cssStyle 'BOLD' .
:DefaultAppearance a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_5_1_1 ;
  x3do:hasMaterial :DefaultMaterial ;
  x3do:DEF 'DefaultAppearance' .
:DefaultMaterial a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :DefaultAppearance ;
  x3do:DEF 'DefaultMaterial' .
:Shape_2_2_5_1_2 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Group_2_2_5_1 ;
  x3do:hasGeometry :Box_2_2_5_1_2_1 ;
  x3do:hasAppearance :Appearance_2_2_5_1_2_2 .
:Box_2_2_5_1_2_1 a owl:NamedIndividual, x3do:Box ;
  x3do:hasParent :Shape_2_2_5_1_2 ;
  x3do:size ( 2.5 2 .001 ) .
:Appearance_2_2_5_1_2_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_5_1_2 ;
  x3do:hasMaterial :Material_2_2_5_1_2_2_1 .
:Material_2_2_5_1_2_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_2_5_1_2_2 ;
  x3do:transparency 1 .
:IfsMeshTextTouchSensorHint a owl:NamedIndividual, x3do:TouchSensor ;
  x3do:hasParent :Group_2_2_5_1 ;
  x3do:DEF 'IfsMeshTextTouchSensorHint' ;
  x3do:description 'IndexedFaceSet Meshes' .
:Transform_2_3 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :Transform_2_3_1, :Transform_2_3_2, :Transform_2_3_3, :Transform_2_3_4, :Transform_2_3_5 ;
  x3do:translation ( 0 -2 0 ) .
:Transform_2_3_1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3 ;
  x3do:hasChildren :Shape_2_3_1_1 ;
  x3do:translation ( -5 0 0 ) .
:Shape_2_3_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_1 ;
  x3do:hasGeometry :DefaultBox ;
  x3do:hasAppearance :Appearance_2_3_1_1_2 .
:DefaultBox a owl:NamedIndividual, x3do:Box ;
  x3do:hasParent :Shape_2_3_1_1 ;
  x3do:DEF 'DefaultBox' .
:Appearance_2_3_1_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_1_1 ;
  x3do:hasMaterial :Material_2_3_1_1_2_1 .
:Material_2_3_1_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_3_1_1_2 ;
  x3do:diffuseColor ( 1 0.2 0.2 ) .
:Transform_2_3_2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3 ;
  x3do:hasChildren :Shape_2_3_2_1 ;
  x3do:translation ( -2.5 0 0 ) .
:Shape_2_3_2_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_2 ;
  x3do:hasGeometry :DefaultCone ;
  x3do:hasAppearance :Appearance_2_3_2_1_2 .
:DefaultCone a owl:NamedIndividual, x3do:Cone ;
  x3do:hasParent :Shape_2_3_2_1 ;
  x3do:DEF 'DefaultCone' .
:Appearance_2_3_2_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_2_1 ;
  x3do:hasMaterial :Material_2_3_2_1_2_1 .
:Material_2_3_2_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_3_2_1_2 ;
  x3do:diffuseColor ( 0.2 1 0.2 ) .
:Transform_2_3_3 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3 ;
  x3do:hasChildren :Shape_2_3_3_1 .
:Shape_2_3_3_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_3 ;
  x3do:hasGeometry :DefaultCylinder ;
  x3do:hasAppearance :Appearance_2_3_3_1_2 .
:DefaultCylinder a owl:NamedIndividual, x3do:Cylinder ;
  x3do:hasParent :Shape_2_3_3_1 ;
  x3do:DEF 'DefaultCylinder' .
:Appearance_2_3_3_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_3_1 ;
  x3do:hasMaterial :Material_2_3_3_1_2_1 .
:Material_2_3_3_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_3_3_1_2 ;
  x3do:diffuseColor ( 0.2 0.2 1 ) .
:Transform_2_3_4 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3 ;
  x3do:hasChildren :Shape_2_3_4_1 ;
  x3do:translation ( 2.5 0 0 ) .
:Shape_2_3_4_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_4 ;
  x3do:hasGeometry :DefaultSphere ;
  x3do:hasAppearance :Appearance_2_3_4_1_2 .
:DefaultSphere a owl:NamedIndividual, x3do:Sphere ;
  x3do:hasParent :Shape_2_3_4_1 ;
  x3do:DEF 'DefaultSphere' .
:Appearance_2_3_4_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_4_1 ;
  x3do:hasMaterial :Material_2_3_4_1_2_1 .
:Material_2_3_4_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_3_4_1_2 ;
  x3do:diffuseColor ( 1 1 0.2 ) .
:Transform_2_3_5 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3 ;
  x3do:hasChildren :Shape_2_3_5_1 ;
  x3do:translation ( 5.4 0 0 ) .
:Shape_2_3_5_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_5 ;
  x3do:hasGeometry :DefaultText ;
  x3do:hasAppearance :DefaultAppearance-USE-1 .
:DefaultText a owl:NamedIndividual, x3do:Text ;
  x3do:hasParent :Shape_2_3_5_1 ;
  x3do:hasFontStyle :MiddleFontStyle-USE-1 ;
  x3do:DEF 'DefaultText' ;
  x3do:string '"Geometry" "Primitives"' .
:MiddleFontStyle-USE-1 a owl:NamedIndividual, x3do:FontStyle ;
  x3do:hasParent :DefaultText ;
  owl:sameAs :MiddleFontStyle . # DEF matching this USE
:DefaultAppearance-USE-1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_5_1 ;
  owl:sameAs :DefaultAppearance . # DEF matching this USE
