@prefix :        <https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AttenuationTest.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 'Interchange' ;
  x3do:version '4.0' ;
  x3do:noNamespaceSchemaLocation 'https://www.web3d.org/specifications/x3d-4.0.xsd' .
:head a owl:NamedIndividual, x3do:head ;
  x3do:hasParent :X3D ;
  x3do:hasComponent :component_1_1, :component_1_2 ;
  x3do:hasMeta :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_18, :meta_1_19, :meta_1_20, :meta_1_21, :meta_1_22, :meta_1_23, :meta_1_24, :meta_1_25 .
:component_1_1 a owl:NamedIndividual, x3do:component ;
  x3do:hasParent :head ;
  x3do:level 3 ;
  x3do:name 'Lighting' .
:component_1_2 a owl:NamedIndividual, x3do:component ;
  x3do:hasParent :head ;
  x3do:level 2 ;
  x3do:name 'Shape' .
:meta_1_3 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'AttenuationTest.x3d' ;
  x3do:name 'title' .
:meta_1_4 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'This model tests interactions between attenuation color, attenuation distance, and thickness in the KHR_materials_volume extension.' ;
  x3do:name 'description' .
:meta_1_5 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '17 July 2021' ;
  x3do:name 'created' .
:meta_1_6 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '11 May 2024' ;
  x3do:name 'modified' .
:meta_1_7 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Ed Mackey, Analytical Graphics, Inc.' ;
  x3do:name 'creator' .
:meta_1_8 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'recheck conversion, text labels are upside down' ;
  x3do:name 'TODO' .
:meta_1_9 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/AttenuationTest' ;
  x3do:name 'reference' .
:meta_1_10 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://khronos/gltf' ;
  x3do:name 'reference' .
:meta_1_11 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://en.wikipedia.org/glTF' ;
  x3do:name 'reference' .
:meta_1_12 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d4' ;
  x3do:name 'reference' .
:meta_1_13 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D 4.0 Architecture, ISO/IEC 19775-1:2023, 9 Networking component, 12 Shape component, 12.4.2 Appearance' ;
  x3do:name 'specificationSection' .
:meta_1_14 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D 4.0 Architecture, ISO/IEC 19775-1:2023, clause 9 Networking component, Table 9.3 - Networking component support levels' ;
  x3do:name 'specificationSection' .
:meta_1_15 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/networking.html#t-supportLevels' ;
  x3do:name 'specificationUrl' .
:meta_1_16 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/shape.html#Appearance' ;
  x3do:name 'specificationUrl' .
:meta_1_17 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS' ;
  x3do:name 'reference' .
:meta_1_18 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://castle-engine.io/creating_data_model_formats.php#section_gltf' ;
  x3do:name 'reference' .
:meta_1_19 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'commented out Tangent nodes, removed flipVertically=true, removed gravityTransform=false since those constructs are not valid X3D4' ;
  x3do:name 'warning' .
:meta_1_20 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'view3dscene, https://castle-engine.io/view3dscene.php' ;
  x3do:name 'generator' .
:meta_1_21 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_22 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3dTidy, https://www.web3d.org/x3d/stylesheets/X3dTidy.html' ;
  x3do:name 'generator' .
:meta_1_23 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AttenuationTest.x3d' ;
  x3do:name 'identifier' .
:meta_1_24 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/license.html' ;
  x3do:name 'license' .
:meta_1_25 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'AttenuationTest.gltf' ;
  x3do:name 'source' .
:meta dcterms:title "AttenuationTest.x3d" .
:meta dcterms:description "This model tests interactions between attenuation color, attenuation distance, and thickness in the KHR_materials_volume extension." .
:meta dcterms:created "17 July 2021" .
:meta dcterms:modified "11 May 2024" .
:meta dcterms:creator "Ed Mackey, Analytical Graphics, Inc." .
:meta dcterms:reference "https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/AttenuationTest" .
:meta dcterms:reference "https://khronos/gltf" .
:meta dcterms:reference "https://en.wikipedia.org/glTF" .
:meta dcterms:reference "https://www.web3d.org/x3d4" .
:meta dcterms:reference "https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS" .
:meta dcterms:reference "https://castle-engine.io/creating_data_model_formats.php#section_gltf" .
:meta dcterms:warning "commented out Tangent nodes, removed flipVertically=true, removed gravityTransform=false since those constructs are not valid X3D4" .
:meta dcterms:generator "view3dscene, https://castle-engine.io/view3dscene.php" .
:meta dcterms:generator "X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit" .
:meta dcterms:generator "X3dTidy, https://www.web3d.org/x3d/stylesheets/X3dTidy.html" .
:meta dcterms:identifier "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AttenuationTest.x3d" .
:meta dcterms:license "https://www.web3d.org/x3d/content/examples/license.html" .
:Scene a owl:NamedIndividual, x3do:Scene ;
  x3do:hasParent :X3D ;
  x3do:hasChildren :WorldInfo_2_1, :CastleEncoded_R2_Block_1_46_0, :CastleEncoded_R2_Block_1_46_5, :CastleEncoded_R2_Block_2_46_0, :CastleEncoded_R2_Block_0_46_50, :CastleEncoded_R2_Block_0_46_25, :Labels, :CastleEncoded_R4_Block_1_46_0, :CastleEncoded_R4_Block_1_46_5, :CastleEncoded_R4_Block_2_46_0, :CastleEncoded_R4_Block_0_46_50, :CastleEncoded_R4_Block_0_46_25, :R3_Block_Row, :CastleEncoded_R5_Block_1_46_0, :CastleEncoded_R5_Block_1_46_5, :CastleEncoded_R5_Block_2_46_0, :CastleEncoded_R5_Block_0_46_50, :CastleEncoded_R5_Block_0_46_25, :MeterGrid, :CastleEncoded_R1_Sample_1_46_0, :CastleEncoded_R1_Sample_1_46_5, :CastleEncoded_R1_Sample_2_46_0, :CastleEncoded_R1_Sample_0_46_50, :CastleEncoded_R1_Sample_0_46_25 .
:WorldInfo_2_1 a owl:NamedIndividual, x3do:WorldInfo ;
  x3do:hasParent :Scene ;
  x3do:info '"glTF Sample Model"' ;
  x3do:title 'AttenuationTest.x3d' .
:CastleEncoded_R2_Block_1_46_0 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0 ;
  x3do:DEF 'CastleEncoded_R2_Block_1_46_0' ;
  x3do:translation ( 0 3 0 ) .
:CastleEncoded_Block_1_46_0 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R2_Block_1_46_0 ;
  x3do:hasChildren :Shape_2_2_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0' .
:Shape_2_2_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0 ;
  x3do:hasAppearance :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0 ;
  x3do:hasGeometry :IndexedTriangleSet_2_2_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R2_and_R4_ThicknessFac_1_46_0 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_2_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R2_and_R4_ThicknessFac_1_46_0' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_2_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0 ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_2_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_2_1_1 ;
  x3do:hasCoord :Coordinate_2_2_1_1_2_1 ;
  x3do:hasNormal :Normal_2_2_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_2_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_2_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_2_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_2_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R2_Block_1_46_5 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_5 ;
  x3do:DEF 'CastleEncoded_R2_Block_1_46_5' ;
  x3do:translation ( 2.5 3 0 ) .
:CastleEncoded_Block_1_46_5 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R2_Block_1_46_5 ;
  x3do:hasChildren :Shape_2_3_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_5' .
:Shape_2_3_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_5 ;
  x3do:hasAppearance :CastleEncoded_R2_ThicknessFac_1_46_5 ;
  x3do:hasGeometry :IndexedTriangleSet_2_3_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.75 ) ;
  x3do:bboxSize ( 1.5 1.5 1.5 ) .
:CastleEncoded_R2_ThicknessFac_1_46_5 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_3_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R2_ThicknessFac_1_46_5' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_3_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R2_ThicknessFac_1_46_5 ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_3_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_3_1_1 ;
  x3do:hasCoord :Coordinate_2_3_1_1_2_1 ;
  x3do:hasNormal :Normal_2_3_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_3_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_3_1_1_2 ;
  x3do:point ( 0.75 0.75 0 0.75 0.75 0 0.75 0.75 0 0.75 -0.75 0 0.75 -0.75 0 0.75 -0.75 0 0.75 0.75 1.5 0.75 0.75 1.5 0.75 0.75 1.5 0.75 -0.75 1.5 0.75 -0.75 1.5 0.75 -0.75 1.5 -0.75 0.75 0 -0.75 0.75 0 -0.75 0.75 0 -0.75 -0.75 0 -0.75 -0.75 0 -0.75 -0.75 0 -0.75 0.75 1.5 -0.75 0.75 1.5 -0.75 0.75 1.5 -0.75 -0.75 1.5 -0.75 -0.75 1.5 -0.75 -0.75 1.5 ) .
:Normal_2_3_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_3_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R2_Block_2_46_0 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_2_46_0 ;
  x3do:DEF 'CastleEncoded_R2_Block_2_46_0' ;
  x3do:translation ( 6 3 0 ) .
:CastleEncoded_Block_2_46_0 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R2_Block_2_46_0 ;
  x3do:hasChildren :Shape_2_4_1_1 ;
  x3do:DEF 'CastleEncoded_Block_2_46_0' .
:Shape_2_4_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_2_46_0 ;
  x3do:hasAppearance :CastleEncoded_R2_ThicknessFac_2_46_0 ;
  x3do:hasGeometry :IndexedTriangleSet_2_4_1_1_2 ;
  x3do:bboxCenter ( 0 0 1 ) ;
  x3do:bboxSize ( 2 2 2 ) .
:CastleEncoded_R2_ThicknessFac_2_46_0 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_4_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_4_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R2_ThicknessFac_2_46_0' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_4_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R2_ThicknessFac_2_46_0 ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_4_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_4_1_1 ;
  x3do:hasCoord :Coordinate_2_4_1_1_2_1 ;
  x3do:hasNormal :Normal_2_4_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_4_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_4_1_1_2 ;
  x3do:point ( 1 1 0 1 1 0 1 1 0 1 -1 0 1 -1 0 1 -1 0 1 1 2 1 1 2 1 1 2 1 -1 2 1 -1 2 1 -1 2 -1 1 0 -1 1 0 -1 1 0 -1 -1 0 -1 -1 0 -1 -1 0 -1 1 2 -1 1 2 -1 1 2 -1 -1 2 -1 -1 2 -1 -1 2 ) .
:Normal_2_4_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_4_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R2_Block_0_46_50 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_0_46_50 ;
  x3do:DEF 'CastleEncoded_R2_Block_0_46_50' ;
  x3do:translation ( -2 3 0 ) .
:CastleEncoded_Block_0_46_50 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R2_Block_0_46_50 ;
  x3do:hasChildren :Shape_2_5_1_1 ;
  x3do:DEF 'CastleEncoded_Block_0_46_50' .
:Shape_2_5_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_0_46_50 ;
  x3do:hasAppearance :CastleEncoded_R2_ThicknessFac_0_46_50 ;
  x3do:hasGeometry :IndexedTriangleSet_2_5_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.25 ) ;
  x3do:bboxSize ( 0.5 0.5 0.5 ) .
:CastleEncoded_R2_ThicknessFac_0_46_50 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_5_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_5_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R2_ThicknessFac_0_46_50' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_5_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R2_ThicknessFac_0_46_50 ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_5_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_5_1_1 ;
  x3do:hasCoord :Coordinate_2_5_1_1_2_1 ;
  x3do:hasNormal :Normal_2_5_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_5_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_5_1_1_2 ;
  x3do:point ( 0.25 0.25 0 0.25 0.25 0 0.25 0.25 0 0.25 -0.25 0 0.25 -0.25 0 0.25 -0.25 0 0.25 0.25 0.5 0.25 0.25 0.5 0.25 0.25 0.5 0.25 -0.25 0.5 0.25 -0.25 0.5 0.25 -0.25 0.5 -0.25 0.25 0 -0.25 0.25 0 -0.25 0.25 0 -0.25 -0.25 0 -0.25 -0.25 0 -0.25 -0.25 0 -0.25 0.25 0.5 -0.25 0.25 0.5 -0.25 0.25 0.5 -0.25 -0.25 0.5 -0.25 -0.25 0.5 -0.25 -0.25 0.5 ) .
:Normal_2_5_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_5_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R2_Block_0_46_25 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_0_46_25 ;
  x3do:DEF 'CastleEncoded_R2_Block_0_46_25' ;
  x3do:translation ( -3.5 3 0 ) .
:CastleEncoded_Block_0_46_25 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R2_Block_0_46_25 ;
  x3do:hasChildren :Shape_2_6_1_1 ;
  x3do:DEF 'CastleEncoded_Block_0_46_25' .
:Shape_2_6_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_0_46_25 ;
  x3do:hasAppearance :CastleEncoded_R2_ThicknessFac_0_46_25 ;
  x3do:hasGeometry :IndexedTriangleSet_2_6_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.125 ) ;
  x3do:bboxSize ( 0.25 0.25 0.25 ) .
:CastleEncoded_R2_ThicknessFac_0_46_25 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_6_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_6_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R2_ThicknessFac_0_46_25' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_6_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R2_ThicknessFac_0_46_25 ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_6_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_6_1_1 ;
  x3do:hasCoord :Coordinate_2_6_1_1_2_1 ;
  x3do:hasNormal :Normal_2_6_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_6_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_6_1_1_2 ;
  x3do:point ( 0.125 0.125 0 0.125 0.125 0 0.125 0.125 0 0.125 -0.125 0 0.125 -0.125 0 0.125 -0.125 0 0.125 0.125 0.25 0.125 0.125 0.25 0.125 0.125 0.25 0.125 -0.125 0.25 0.125 -0.125 0.25 0.125 -0.125 0.25 -0.125 0.125 0 -0.125 0.125 0 -0.125 0.125 0 -0.125 -0.125 0 -0.125 -0.125 0 -0.125 -0.125 0 -0.125 0.125 0.25 -0.125 0.125 0.25 -0.125 0.125 0.25 -0.125 -0.125 0.25 -0.125 -0.125 0.25 -0.125 -0.125 0.25 ) .
:Normal_2_6_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_6_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:Labels a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :Labels_2 ;
  x3do:DEF 'Labels' .
:Labels_2 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :Labels ;
  x3do:hasChildren :Shape_2_7_1_1 ;
  x3do:DEF 'Labels_2' .
:Shape_2_7_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Labels_2 ;
  x3do:hasAppearance :LabelMaterial ;
  x3do:hasGeometry :IndexedTriangleSet_2_7_1_1_2 ;
  x3do:bboxCenter ( -1.4736 0.9743 -0.0125 ) ;
  x3do:bboxSize ( 15.8458 14.5642 0.025 ) .
:LabelMaterial a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_7_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_7_1_1_1_1 ;
  x3do:DEF 'LabelMaterial' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_7_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :LabelMaterial ;
  x3do:hasBaseTexture :ImageTexture_2_7_1_1_1_1_1 ;
  x3do:baseTextureMapping 'TEXCOORD_0' ;
  x3do:metallic 0 ;
  x3do:roughness 0.8 .
:ImageTexture_2_7_1_1_1_1_1 a owl:NamedIndividual, x3do:ImageTexture ;
  x3do:hasParent :PhysicalMaterial_2_7_1_1_1_1 ;
  x3do:hasTextureProperties :TextureProperties_2_7_1_1_1_1_1_1 ;
  x3do:url '"AttenuationLabels.png" "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/AttenuationLabels.png"' .
:TextureProperties_2_7_1_1_1_1_1_1 a owl:NamedIndividual, x3do:TextureProperties ;
  x3do:hasParent :ImageTexture_2_7_1_1_1_1_1 ;
  x3do:magnificationFilter 'AVG_PIXEL' ;
  x3do:minificationFilter 'NEAREST_PIXEL_AVG_MIPMAP' .
:IndexedTriangleSet_2_7_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_7_1_1 ;
  x3do:hasCoord :Coordinate_2_7_1_1_2_1 ;
  x3do:hasNormal :Normal_2_7_1_1_2_2 ;
  x3do:hasTexCoord :MultiTextureCoordinate_2_7_1_1_2_3 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 24 37 36 24 36 25 2 7 5 2 5 3 9 34 35 9 35 18 33 32 11 33 11 19 31 13 20 31 20 30 29 15 21 29 21 28 39 23 22 39 22 38 8 6 4 8 4 10 26 14 12 26 12 27 0 16 17 0 17 1 64 77 76 64 76 65 42 47 45 42 45 43 49 74 75 49 75 58 73 72 51 73 51 59 71 53 60 71 60 70 69 55 61 69 61 68 79 63 62 79 62 78 48 46 44 48 44 50 66 54 52 66 52 67 40 56 57 40 57 41 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_7_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_7_1_1_2 ;
  x3do:point ( -9.3965 -6.3077 -0 -9.3965 -5.6308 -0 -9.3965 5.65 0 -9.3965 6.3805 0 0.4707 8.2564 0 -5.1089 6.3805 0 0.4707 7.7154 0 -5.1089 5.65 0 -0.4155 7.7154 0 5.5336 7.7154 0 -0.4155 8.2564 0 -5.1089 3.4043 0 -2.9253 8.2564 0 -5.1089 -0.3916 -0 -2.9253 7.7154 0 -5.1089 -3.4008 -0 -5.1089 -6.3077 -0 -5.1089 -5.6308 -0 5.5336 8.2564 0 -9.3965 3.4043 0 -5.1089 0.3985 -0 -5.1089 -2.6216 -0 -1.499 8.2564 0 -1.499 7.7154 0 2.1063 7.7154 0 2.1063 8.2564 0 -4.0449 7.7154 0 -4.0449 8.2564 0 -9.3965 -2.6216 -0 -9.3965 -3.4008 -0 -9.3965 0.3985 -0 -9.3965 -0.3916 -0 -5.1089 2.6128 -0 -9.3965 2.6128 -0 6.4493 7.7154 0 6.4493 8.2564 0 2.9444 8.2564 0 2.9444 7.7154 0 -2.4087 8.2564 0 -2.4087 7.7154 0 -5.1089 -6.3077 -0.025 -5.1089 -5.6308 -0.025 -5.1089 5.65 -0.025 -5.1089 6.3805 -0.025 -0.4155 8.2564 -0.025 -9.3965 6.3805 -0.025 -0.4155 7.7154 -0.025 -9.3965 5.65 -0.025 0.4707 7.7154 -0.025 6.4493 7.7154 -0.025 0.4707 8.2564 -0.025 -9.3965 3.4043 -0.025 -4.0449 8.2564 -0.025 -9.3965 -0.3916 -0.025 -4.0449 7.7154 -0.025 -9.3965 -3.4008 -0.025 -9.3965 -6.3077 -0.025 -9.3965 -5.6308 -0.025 6.4493 8.2564 -0.025 -5.1089 3.4043 -0.025 -9.3965 0.3985 -0.025 -9.3965 -2.6216 -0.025 -2.4087 8.2564 -0.025 -2.4087 7.7154 -0.025 2.9444 7.7154 -0.025 2.9444 8.2564 -0.025 -2.9253 7.7154 -0.025 -2.9253 8.2564 -0.025 -5.1089 -2.6216 -0.025 -5.1089 -3.4008 -0.025 -5.1089 0.3985 -0.025 -5.1089 -0.3916 -0.025 -9.3965 2.6128 -0.025 -5.1089 2.6128 -0.025 5.5336 7.7154 -0.025 5.5336 8.2564 -0.025 2.1063 8.2564 -0.025 2.1063 7.7154 -0.025 -1.499 8.2564 -0.025 -1.499 7.7154 -0.025 ) .
:Normal_2_7_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_7_1_1_2 ;
  x3do:vector ( 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 0 -0 1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 -0 -0 -1 ) .
:MultiTextureCoordinate_2_7_1_1_2_3 a owl:NamedIndividual, x3do:MultiTextureCoordinate ;
  x3do:hasParent :IndexedTriangleSet_2_7_1_1_2 ;
  x3do:hasTexCoord :TextureCoordinate_2_7_1_1_2_3_1 .
:TextureCoordinate_2_7_1_1_2_3_1 a owl:NamedIndividual, x3do:TextureCoordinate ;
  x3do:hasParent :MultiTextureCoordinate_2_7_1_1_2_3 ;
  x3do:mapping 'TEXCOORD_0' ;
  x3do:point ( 0.1425 0.9693 0.1425 0.8339 0.1425 0.3618 0.1425 0.2157 0.6162 0.042 1 0.2157 0.6162 0.1502 1 0.3618 0.4389 0.1502 0.7838 0.1502 0.4389 0.042 1 0.3618 0.257 0.042 1 0.6781 0.257 0.1502 1 0.8339 1 0.9693 1 0.8339 0.7838 0.042 0.1425 0.3618 1 0.5201 1 0.6781 0.4389 0.042 0.4389 0.1502 0.6162 0.1502 0.6162 0.042 0.0331 0.1502 0.0331 0.042 0.1425 0.6781 0.1425 0.8339 0.1425 0.5201 0.1425 0.6781 1 0.5201 0.1425 0.5201 0.9669 0.1502 0.9669 0.042 0.7838 0.042 0.7838 0.1502 0.257 0.042 0.257 0.1502 0.1425 0.9693 0.1425 0.8339 0.439 0.3618 0.439 0.2157 0.6162 0.042 1.2965 0.2157 0.6162 0.1502 1.2965 0.3618 0.4389 0.1502 0.7838 0.1502 0.4389 0.042 1.1585 0.3618 0.257 0.042 1.104 0.6781 0.257 0.1502 1.3869 0.8339 1 0.9693 1 0.8339 0.7838 0.042 0.301 0.3618 1.104 0.5201 1.3869 0.6781 0.4389 0.042 0.4389 0.1502 0.6162 0.1502 0.6162 0.042 0.0331 0.1502 0.0331 0.042 0.5294 0.6781 0.5294 0.8339 0.2465 0.5201 0.2465 0.6781 1.1585 0.5201 0.301 0.5201 0.9669 0.1502 0.9669 0.042 0.7838 0.042 0.7838 0.1502 0.257 0.042 0.257 0.1502 ) .
:CastleEncoded_R4_Block_1_46_0 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_2 ;
  x3do:DEF 'CastleEncoded_R4_Block_1_46_0' ;
  x3do:translation ( 0 -3 0 ) .
:CastleEncoded_Block_1_46_0_2 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R4_Block_1_46_0 ;
  x3do:hasChildren :Shape_2_8_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_2' .
:Shape_2_8_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_2 ;
  x3do:hasAppearance :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0-USE-1 ;
  x3do:hasGeometry :IndexedTriangleSet_2_8_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R2_and_R4_ThicknessFac_1_46_0-USE-1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_8_1_1 ;
  owl:sameAs :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0 . # DEF matching this USE
:IndexedTriangleSet_2_8_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_8_1_1 ;
  x3do:hasCoord :Coordinate_2_8_1_1_2_1 ;
  x3do:hasNormal :Normal_2_8_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_8_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_8_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_8_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_8_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R4_Block_1_46_5 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_3 ;
  x3do:DEF 'CastleEncoded_R4_Block_1_46_5' ;
  x3do:scale ( 1.5 1.5 1.5 ) ;
  x3do:translation ( 2.5 -3 0 ) .
:CastleEncoded_Block_1_46_0_3 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R4_Block_1_46_5 ;
  x3do:hasChildren :Shape_2_9_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_3' .
:Shape_2_9_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_3 ;
  x3do:hasAppearance :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0-USE-2 ;
  x3do:hasGeometry :IndexedTriangleSet_2_9_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R2_and_R4_ThicknessFac_1_46_0-USE-2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_9_1_1 ;
  owl:sameAs :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0 . # DEF matching this USE
:IndexedTriangleSet_2_9_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_9_1_1 ;
  x3do:hasCoord :Coordinate_2_9_1_1_2_1 ;
  x3do:hasNormal :Normal_2_9_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_9_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_9_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_9_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_9_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R4_Block_2_46_0 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_4 ;
  x3do:DEF 'CastleEncoded_R4_Block_2_46_0' ;
  x3do:scale ( 2 2 2 ) ;
  x3do:translation ( 6 -3 0 ) .
:CastleEncoded_Block_1_46_0_4 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R4_Block_2_46_0 ;
  x3do:hasChildren :Shape_2_10_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_4' .
:Shape_2_10_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_4 ;
  x3do:hasAppearance :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0-USE-3 ;
  x3do:hasGeometry :IndexedTriangleSet_2_10_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R2_and_R4_ThicknessFac_1_46_0-USE-3 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_10_1_1 ;
  owl:sameAs :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0 . # DEF matching this USE
:IndexedTriangleSet_2_10_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_10_1_1 ;
  x3do:hasCoord :Coordinate_2_10_1_1_2_1 ;
  x3do:hasNormal :Normal_2_10_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_10_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_10_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_10_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_10_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R4_Block_0_46_50 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_5 ;
  x3do:DEF 'CastleEncoded_R4_Block_0_46_50' ;
  x3do:scale ( 0.5 0.5 0.5 ) ;
  x3do:translation ( -2 -3 0 ) .
:CastleEncoded_Block_1_46_0_5 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R4_Block_0_46_50 ;
  x3do:hasChildren :Shape_2_11_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_5' .
:Shape_2_11_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_5 ;
  x3do:hasAppearance :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0-USE-4 ;
  x3do:hasGeometry :IndexedTriangleSet_2_11_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R2_and_R4_ThicknessFac_1_46_0-USE-4 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_11_1_1 ;
  owl:sameAs :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0 . # DEF matching this USE
:IndexedTriangleSet_2_11_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_11_1_1 ;
  x3do:hasCoord :Coordinate_2_11_1_1_2_1 ;
  x3do:hasNormal :Normal_2_11_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_11_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_11_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_11_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_11_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R4_Block_0_46_25 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_6 ;
  x3do:DEF 'CastleEncoded_R4_Block_0_46_25' ;
  x3do:scale ( 0.25 0.25 0.25 ) ;
  x3do:translation ( -3.5 -3 0 ) .
:CastleEncoded_Block_1_46_0_6 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R4_Block_0_46_25 ;
  x3do:hasChildren :Shape_2_12_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_6' .
:Shape_2_12_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_6 ;
  x3do:hasAppearance :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0-USE-5 ;
  x3do:hasGeometry :IndexedTriangleSet_2_12_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R2_and_R4_ThicknessFac_1_46_0-USE-5 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_12_1_1 ;
  owl:sameAs :CastleEncoded_R2_and_R4_ThicknessFac_1_46_0 . # DEF matching this USE
:IndexedTriangleSet_2_12_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_12_1_1 ;
  x3do:hasCoord :Coordinate_2_12_1_1_2_1 ;
  x3do:hasNormal :Normal_2_12_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_12_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_12_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_12_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_12_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:R3_Block_Row a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :Block_Row ;
  x3do:DEF 'R3_Block_Row' ;
  x3do:translation ( -3.5 0 0 ) .
:Block_Row a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :R3_Block_Row ;
  x3do:hasChildren :Shape_2_13_1_1 ;
  x3do:DEF 'Block_Row' .
:Shape_2_13_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Block_Row ;
  x3do:hasAppearance :R3_ThicknessTex_Mat ;
  x3do:hasGeometry :IndexedTriangleSet_2_13_1_1_2 ;
  x3do:bboxCenter ( 5.1875 0 1 ) ;
  x3do:bboxSize ( 10.625 2 2 ) .
:R3_ThicknessTex_Mat a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_13_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_13_1_1_1_1 ;
  x3do:DEF 'R3_ThicknessTex_Mat' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_13_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :R3_ThicknessTex_Mat ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_13_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_13_1_1 ;
  x3do:hasCoord :Coordinate_2_13_1_1_2_1 ;
  x3do:hasNormal :Normal_2_13_1_1_2_2 ;
  x3do:hasTexCoord :MultiTextureCoordinate_2_13_1_1_2_3 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 25 38 44 25 44 31 34 30 43 34 43 47 45 42 36 45 36 39 40 27 33 40 33 46 29 26 32 29 32 35 41 37 24 41 24 28 49 62 68 49 68 55 58 54 67 58 67 71 69 66 60 69 60 63 64 51 57 64 57 70 53 50 56 53 56 59 65 61 48 65 48 52 73 86 92 73 92 79 82 78 91 82 91 95 93 90 84 93 84 87 88 75 81 88 81 94 77 74 80 77 80 83 89 85 72 89 72 76 97 110 116 97 116 103 106 102 115 106 115 119 117 114 108 117 108 111 112 99 105 112 105 118 101 98 104 101 104 107 113 109 96 113 96 100 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_13_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_13_1_1_2 ;
  x3do:point ( 0.125 0.125 0 0.125 0.125 0 0.125 0.125 0 0.125 -0.125 0 0.125 -0.125 0 0.125 -0.125 0 0.125 0.125 0.25 0.125 0.125 0.25 0.125 0.125 0.25 0.125 -0.125 0.25 0.125 -0.125 0.25 0.125 -0.125 0.25 -0.125 0.125 0 -0.125 0.125 0 -0.125 0.125 0 -0.125 -0.125 0 -0.125 -0.125 0 -0.125 -0.125 0 -0.125 0.125 0.25 -0.125 0.125 0.25 -0.125 0.125 0.25 -0.125 -0.125 0.25 -0.125 -0.125 0.25 -0.125 -0.125 0.25 4 0.5 0 4 0.5 0 4 0.5 0 4 -0.5 0 4 -0.5 0 4 -0.5 0 4 0.5 1 4 0.5 1 4 0.5 1 4 -0.5 1 4 -0.5 1 4 -0.5 1 3 0.5 0 3 0.5 0 3 0.5 0 3 -0.5 0 3 -0.5 0 3 -0.5 0 3 0.5 1 3 0.5 1 3 0.5 1 3 -0.5 1 3 -0.5 1 3 -0.5 1 6.75 0.75 0 6.75 0.75 0 6.75 0.75 0 6.75 -0.75 0 6.75 -0.75 0 6.75 -0.75 0 6.75 0.75 1.5 6.75 0.75 1.5 6.75 0.75 1.5 6.75 -0.75 1.5 6.75 -0.75 1.5 6.75 -0.75 1.5 5.25 0.75 0 5.25 0.75 0 5.25 0.75 0 5.25 -0.75 0 5.25 -0.75 0 5.25 -0.75 0 5.25 0.75 1.5 5.25 0.75 1.5 5.25 0.75 1.5 5.25 -0.75 1.5 5.25 -0.75 1.5 5.25 -0.75 1.5 10.5 1 0 10.5 1 0 10.5 1 0 10.5 -1 0 10.5 -1 0 10.5 -1 0 10.5 1 2 10.5 1 2 10.5 1 2 10.5 -1 2 10.5 -1 2 10.5 -1 2 8.5 1 0 8.5 1 0 8.5 1 0 8.5 -1 0 8.5 -1 0 8.5 -1 0 8.5 1 2 8.5 1 2 8.5 1 2 8.5 -1 2 8.5 -1 2 8.5 -1 2 1.75 0.25 0 1.75 0.25 0 1.75 0.25 0 1.75 -0.25 0 1.75 -0.25 0 1.75 -0.25 0 1.75 0.25 0.5 1.75 0.25 0.5 1.75 0.25 0.5 1.75 -0.25 0.5 1.75 -0.25 0.5 1.75 -0.25 0.5 1.25 0.25 0 1.25 0.25 0 1.25 0.25 0 1.25 -0.25 0 1.25 -0.25 0 1.25 -0.25 0 1.25 0.25 0.5 1.25 0.25 0.5 1.25 0.25 0.5 1.25 -0.25 0.5 1.25 -0.25 0.5 1.25 -0.25 0.5 ) .
:Normal_2_13_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_13_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:MultiTextureCoordinate_2_13_1_1_2_3 a owl:NamedIndividual, x3do:MultiTextureCoordinate ;
  x3do:hasParent :IndexedTriangleSet_2_13_1_1_2 ;
  x3do:hasTexCoord :TextureCoordinate_2_13_1_1_2_3_1 .
:TextureCoordinate_2_13_1_1_2_3_1 a owl:NamedIndividual, x3do:TextureCoordinate ;
  x3do:hasParent :MultiTextureCoordinate_2_13_1_1_2_3 ;
  x3do:mapping 'TEXCOORD_0' ;
  x3do:point ( 0.8974 0.1264 0.8974 0.1264 0.8974 0.1264 0.8974 0.0923 0.8974 0.0923 0.8974 0.0923 0.9315 0.1264 0.9315 0.1264 0.9315 0.1264 0.9315 0.0923 0.9315 0.0923 0.9315 0.0923 0.8633 0.1264 0.8633 0.1264 0.8974 0.1605 0.8633 0.0923 0.8974 0.0582 0.8633 0.0923 0.8293 0.1264 0.9656 0.1264 0.9315 0.1605 0.8293 0.0923 0.9315 0.0582 0.9656 0.0923 0.8974 0.5227 0.8974 0.5227 0.8974 0.5227 0.8974 0.4886 0.8974 0.4886 0.8974 0.4886 0.9315 0.5227 0.9315 0.5227 0.9315 0.5227 0.9315 0.4886 0.9315 0.4886 0.9315 0.4886 0.8633 0.5227 0.8633 0.5227 0.8974 0.5568 0.8633 0.4886 0.8974 0.4546 0.8633 0.4886 0.8293 0.5227 0.9656 0.5227 0.9315 0.5568 0.8293 0.4886 0.9315 0.4546 0.9656 0.4886 0.8974 0.7107 0.8974 0.7107 0.8974 0.7107 0.8974 0.6767 0.8974 0.6767 0.8974 0.6767 0.9315 0.7107 0.9315 0.7107 0.9315 0.7107 0.9315 0.6767 0.9315 0.6767 0.9315 0.6767 0.8633 0.7107 0.8633 0.7107 0.8974 0.7448 0.8633 0.6767 0.8974 0.6426 0.8633 0.6767 0.8293 0.7107 0.9656 0.7107 0.9315 0.7448 0.8293 0.6767 0.9315 0.6426 0.9656 0.6767 0.8974 0.9123 0.8974 0.9123 0.8974 0.9123 0.8974 0.8782 0.8974 0.8782 0.8974 0.8782 0.9315 0.9123 0.9315 0.9123 0.9315 0.9123 0.9315 0.8782 0.9315 0.8782 0.9315 0.8782 0.8633 0.9123 0.8633 0.9123 0.8974 0.9464 0.8633 0.8782 0.8974 0.8441 0.8633 0.8782 0.8293 0.9123 0.9656 0.9123 0.9315 0.9464 0.8293 0.8782 0.9315 0.8441 0.9656 0.8782 0.8974 0.3306 0.8974 0.3306 0.8974 0.3306 0.8974 0.2966 0.8974 0.2966 0.8974 0.2966 0.9315 0.3306 0.9315 0.3306 0.9315 0.3306 0.9315 0.2966 0.9315 0.2966 0.9315 0.2966 0.8633 0.3306 0.8633 0.3306 0.8974 0.3647 0.8633 0.2966 0.8974 0.2625 0.8633 0.2966 0.8293 0.3306 0.9656 0.3306 0.9315 0.3647 0.8293 0.2966 0.9315 0.2625 0.9656 0.2966 ) .
:CastleEncoded_R5_Block_1_46_0 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_7 ;
  x3do:DEF 'CastleEncoded_R5_Block_1_46_0' ;
  x3do:translation ( 0 -6 0 ) .
:CastleEncoded_Block_1_46_0_7 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R5_Block_1_46_0 ;
  x3do:hasChildren :Shape_2_14_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_7' .
:Shape_2_14_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_7 ;
  x3do:hasAppearance :CastleEncoded_R5_Attenuation_1_46_0 ;
  x3do:hasGeometry :IndexedTriangleSet_2_14_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R5_Attenuation_1_46_0 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_14_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_14_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R5_Attenuation_1_46_0' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_14_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R5_Attenuation_1_46_0 ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_14_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_14_1_1 ;
  x3do:hasCoord :Coordinate_2_14_1_1_2_1 ;
  x3do:hasNormal :Normal_2_14_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_14_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_14_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_14_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_14_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R5_Block_1_46_5 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_8 ;
  x3do:DEF 'CastleEncoded_R5_Block_1_46_5' ;
  x3do:translation ( 2.5 -6 0 ) .
:CastleEncoded_Block_1_46_0_8 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R5_Block_1_46_5 ;
  x3do:hasChildren :Shape_2_15_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_8' .
:Shape_2_15_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_8 ;
  x3do:hasAppearance :CastleEncoded_R5_Attenuation_1_46_5 ;
  x3do:hasGeometry :IndexedTriangleSet_2_15_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R5_Attenuation_1_46_5 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_15_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_15_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R5_Attenuation_1_46_5' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_15_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R5_Attenuation_1_46_5 ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_15_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_15_1_1 ;
  x3do:hasCoord :Coordinate_2_15_1_1_2_1 ;
  x3do:hasNormal :Normal_2_15_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_15_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_15_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_15_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_15_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R5_Block_2_46_0 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_9 ;
  x3do:DEF 'CastleEncoded_R5_Block_2_46_0' ;
  x3do:translation ( 6 -6 0 ) .
:CastleEncoded_Block_1_46_0_9 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R5_Block_2_46_0 ;
  x3do:hasChildren :Shape_2_16_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_9' .
:Shape_2_16_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_9 ;
  x3do:hasAppearance :CastleEncoded_R5_Attenuation_2_46_0 ;
  x3do:hasGeometry :IndexedTriangleSet_2_16_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R5_Attenuation_2_46_0 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_16_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_16_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R5_Attenuation_2_46_0' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_16_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R5_Attenuation_2_46_0 ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_16_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_16_1_1 ;
  x3do:hasCoord :Coordinate_2_16_1_1_2_1 ;
  x3do:hasNormal :Normal_2_16_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_16_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_16_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_16_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_16_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R5_Block_0_46_50 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_10 ;
  x3do:DEF 'CastleEncoded_R5_Block_0_46_50' ;
  x3do:translation ( -2 -6 0 ) .
:CastleEncoded_Block_1_46_0_10 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R5_Block_0_46_50 ;
  x3do:hasChildren :Shape_2_17_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_10' .
:Shape_2_17_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_10 ;
  x3do:hasAppearance :CastleEncoded_R5_Attenuation_0_46_50 ;
  x3do:hasGeometry :IndexedTriangleSet_2_17_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R5_Attenuation_0_46_50 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_17_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_17_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R5_Attenuation_0_46_50' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_17_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R5_Attenuation_0_46_50 ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_17_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_17_1_1 ;
  x3do:hasCoord :Coordinate_2_17_1_1_2_1 ;
  x3do:hasNormal :Normal_2_17_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_17_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_17_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_17_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_17_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R5_Block_0_46_25 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_11 ;
  x3do:DEF 'CastleEncoded_R5_Block_0_46_25' ;
  x3do:translation ( -3.5 -6 0 ) .
:CastleEncoded_Block_1_46_0_11 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R5_Block_0_46_25 ;
  x3do:hasChildren :Shape_2_18_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_11' .
:Shape_2_18_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_11 ;
  x3do:hasAppearance :CastleEncoded_R5_Attenuation_0_46_25 ;
  x3do:hasGeometry :IndexedTriangleSet_2_18_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R5_Attenuation_0_46_25 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_18_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_18_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R5_Attenuation_0_46_25' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_18_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R5_Attenuation_0_46_25 ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_18_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_18_1_1 ;
  x3do:hasCoord :Coordinate_2_18_1_1_2_1 ;
  x3do:hasNormal :Normal_2_18_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_18_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_18_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_18_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_18_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:MeterGrid a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :Plane ;
  x3do:DEF 'MeterGrid' ;
  x3do:translation ( 0 0 -2 ) .
:Plane a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :MeterGrid ;
  x3do:hasChildren :Shape_2_19_1_1 ;
  x3do:DEF 'Plane' .
:Shape_2_19_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Plane ;
  x3do:hasAppearance :FlatBackdrop ;
  x3do:hasGeometry :IndexedTriangleSet_2_19_1_1_2 ;
  x3do:bboxSize ( 20 20 0 ) .
:FlatBackdrop a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_19_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_19_1_1_1_1 ;
  x3do:DEF 'FlatBackdrop' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_19_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :FlatBackdrop ;
  x3do:hasBaseTexture :ImageTexture_2_19_1_1_1_1_1 ;
  x3do:baseTextureMapping 'TEXCOORD_0' ;
  x3do:metallic 0 ;
  x3do:roughness 0.5 .
:ImageTexture_2_19_1_1_1_1_1 a owl:NamedIndividual, x3do:ImageTexture ;
  x3do:hasParent :PhysicalMaterial_2_19_1_1_1_1 ;
  x3do:hasTextureProperties :TextureProperties_2_19_1_1_1_1_1_1 ;
  x3do:url '"PlainGrid.png" "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/GltfSampleModels/PlainGrid.png"' .
:TextureProperties_2_19_1_1_1_1_1_1 a owl:NamedIndividual, x3do:TextureProperties ;
  x3do:hasParent :ImageTexture_2_19_1_1_1_1_1 ;
  x3do:magnificationFilter 'AVG_PIXEL' ;
  x3do:minificationFilter 'NEAREST_PIXEL_AVG_MIPMAP' .
:IndexedTriangleSet_2_19_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_19_1_1 ;
  x3do:hasCoord :Coordinate_2_19_1_1_2_1 ;
  x3do:hasNormal :Normal_2_19_1_1_2_2 ;
  x3do:hasTexCoord :MultiTextureCoordinate_2_19_1_1_2_3 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 0 1 3 0 3 2 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_19_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_19_1_1_2 ;
  x3do:point ( -10 -10 0 10 -10 0 -10 10 0 10 10 0 ) .
:Normal_2_19_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_19_1_1_2 ;
  x3do:vector ( 0 0 1 0 0 1 0 0 1 0 0 1 ) .
:MultiTextureCoordinate_2_19_1_1_2_3 a owl:NamedIndividual, x3do:MultiTextureCoordinate ;
  x3do:hasParent :IndexedTriangleSet_2_19_1_1_2 ;
  x3do:hasTexCoord :TextureCoordinate_2_19_1_1_2_3_1 .
:TextureCoordinate_2_19_1_1_2_3_1 a owl:NamedIndividual, x3do:TextureCoordinate ;
  x3do:hasParent :MultiTextureCoordinate_2_19_1_1_2_3 ;
  x3do:mapping 'TEXCOORD_0' ;
  x3do:point ( 0.5156 0.5156 20.5156 0.5156 0.5156 -19.4844 20.5156 -19.4844 ) .
:CastleEncoded_R1_Sample_1_46_0 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_0_12 ;
  x3do:DEF 'CastleEncoded_R1_Sample_1_46_0' ;
  x3do:translation ( 0 6 0 ) .
:CastleEncoded_Block_1_46_0_12 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R1_Sample_1_46_0 ;
  x3do:hasChildren :Shape_2_20_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_0_12' .
:Shape_2_20_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_0_12 ;
  x3do:hasAppearance :CastleEncoded_R1_Sample_1_46_0_2 ;
  x3do:hasGeometry :IndexedTriangleSet_2_20_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.5 ) ;
  x3do:bboxSize ( 1 1 1 ) .
:CastleEncoded_R1_Sample_1_46_0_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_20_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_20_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R1_Sample_1_46_0_2' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_20_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R1_Sample_1_46_0_2 ;
  x3do:baseColor ( 0.1 0.5 0.9 ) ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_20_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_20_1_1 ;
  x3do:hasCoord :Coordinate_2_20_1_1_2_1 ;
  x3do:hasNormal :Normal_2_20_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_20_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_20_1_1_2 ;
  x3do:point ( 0.5 0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 -0.5 0 0.5 0.5 1 0.5 0.5 1 0.5 0.5 1 0.5 -0.5 1 0.5 -0.5 1 0.5 -0.5 1 -0.5 0.5 0 -0.5 0.5 0 -0.5 0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 -0.5 0 -0.5 0.5 1 -0.5 0.5 1 -0.5 0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 -0.5 -0.5 1 ) .
:Normal_2_20_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_20_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R1_Sample_1_46_5 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_1_46_5_2 ;
  x3do:DEF 'CastleEncoded_R1_Sample_1_46_5' ;
  x3do:translation ( 2.5 6 0 ) .
:CastleEncoded_Block_1_46_5_2 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R1_Sample_1_46_5 ;
  x3do:hasChildren :Shape_2_21_1_1 ;
  x3do:DEF 'CastleEncoded_Block_1_46_5_2' .
:Shape_2_21_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_1_46_5_2 ;
  x3do:hasAppearance :CastleEncoded_R1_Sample_1_46_5_2 ;
  x3do:hasGeometry :IndexedTriangleSet_2_21_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.75 ) ;
  x3do:bboxSize ( 1.5 1.5 1.5 ) .
:CastleEncoded_R1_Sample_1_46_5_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_21_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_21_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R1_Sample_1_46_5_2' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_21_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R1_Sample_1_46_5_2 ;
  x3do:baseColor ( 0.0316 0.3536 0.8538 ) ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_21_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_21_1_1 ;
  x3do:hasCoord :Coordinate_2_21_1_1_2_1 ;
  x3do:hasNormal :Normal_2_21_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_21_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_21_1_1_2 ;
  x3do:point ( 0.75 0.75 0 0.75 0.75 0 0.75 0.75 0 0.75 -0.75 0 0.75 -0.75 0 0.75 -0.75 0 0.75 0.75 1.5 0.75 0.75 1.5 0.75 0.75 1.5 0.75 -0.75 1.5 0.75 -0.75 1.5 0.75 -0.75 1.5 -0.75 0.75 0 -0.75 0.75 0 -0.75 0.75 0 -0.75 -0.75 0 -0.75 -0.75 0 -0.75 -0.75 0 -0.75 0.75 1.5 -0.75 0.75 1.5 -0.75 0.75 1.5 -0.75 -0.75 1.5 -0.75 -0.75 1.5 -0.75 -0.75 1.5 ) .
:Normal_2_21_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_21_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R1_Sample_2_46_0 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_2_46_0_2 ;
  x3do:DEF 'CastleEncoded_R1_Sample_2_46_0' ;
  x3do:translation ( 6 6 0 ) .
:CastleEncoded_Block_2_46_0_2 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R1_Sample_2_46_0 ;
  x3do:hasChildren :Shape_2_22_1_1 ;
  x3do:DEF 'CastleEncoded_Block_2_46_0_2' .
:Shape_2_22_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_2_46_0_2 ;
  x3do:hasAppearance :CastleEncoded_R1_Sample_2_46_0_2 ;
  x3do:hasGeometry :IndexedTriangleSet_2_22_1_1_2 ;
  x3do:bboxCenter ( 0 0 1 ) ;
  x3do:bboxSize ( 2 2 2 ) .
:CastleEncoded_R1_Sample_2_46_0_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_22_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_22_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R1_Sample_2_46_0_2' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_22_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R1_Sample_2_46_0_2 ;
  x3do:baseColor ( 0.01 0.25 0.81 ) ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_22_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_22_1_1 ;
  x3do:hasCoord :Coordinate_2_22_1_1_2_1 ;
  x3do:hasNormal :Normal_2_22_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_22_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_22_1_1_2 ;
  x3do:point ( 1 1 0 1 1 0 1 1 0 1 -1 0 1 -1 0 1 -1 0 1 1 2 1 1 2 1 1 2 1 -1 2 1 -1 2 1 -1 2 -1 1 0 -1 1 0 -1 1 0 -1 -1 0 -1 -1 0 -1 -1 0 -1 1 2 -1 1 2 -1 1 2 -1 -1 2 -1 -1 2 -1 -1 2 ) .
:Normal_2_22_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_22_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R1_Sample_0_46_50 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_0_46_50_2 ;
  x3do:DEF 'CastleEncoded_R1_Sample_0_46_50' ;
  x3do:translation ( -2 6 0 ) .
:CastleEncoded_Block_0_46_50_2 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R1_Sample_0_46_50 ;
  x3do:hasChildren :Shape_2_23_1_1 ;
  x3do:DEF 'CastleEncoded_Block_0_46_50_2' .
:Shape_2_23_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_0_46_50_2 ;
  x3do:hasAppearance :CastleEncoded_R1_Sample_0_46_50_2 ;
  x3do:hasGeometry :IndexedTriangleSet_2_23_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.25 ) ;
  x3do:bboxSize ( 0.5 0.5 0.5 ) .
:CastleEncoded_R1_Sample_0_46_50_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_23_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_23_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R1_Sample_0_46_50_2' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_23_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R1_Sample_0_46_50_2 ;
  x3do:baseColor ( 0.3162 0.7071 0.9487 ) ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_23_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_23_1_1 ;
  x3do:hasCoord :Coordinate_2_23_1_1_2_1 ;
  x3do:hasNormal :Normal_2_23_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_23_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_23_1_1_2 ;
  x3do:point ( 0.25 0.25 0 0.25 0.25 0 0.25 0.25 0 0.25 -0.25 0 0.25 -0.25 0 0.25 -0.25 0 0.25 0.25 0.5 0.25 0.25 0.5 0.25 0.25 0.5 0.25 -0.25 0.5 0.25 -0.25 0.5 0.25 -0.25 0.5 -0.25 0.25 0 -0.25 0.25 0 -0.25 0.25 0 -0.25 -0.25 0 -0.25 -0.25 0 -0.25 -0.25 0 -0.25 0.25 0.5 -0.25 0.25 0.5 -0.25 0.25 0.5 -0.25 -0.25 0.5 -0.25 -0.25 0.5 -0.25 -0.25 0.5 ) .
:Normal_2_23_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_23_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
:CastleEncoded_R1_Sample_0_46_25 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Block_0_46_25_2 ;
  x3do:DEF 'CastleEncoded_R1_Sample_0_46_25' ;
  x3do:translation ( -3.5 6 0 ) .
:CastleEncoded_Block_0_46_25_2 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_R1_Sample_0_46_25 ;
  x3do:hasChildren :Shape_2_24_1_1 ;
  x3do:DEF 'CastleEncoded_Block_0_46_25_2' .
:Shape_2_24_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CastleEncoded_Block_0_46_25_2 ;
  x3do:hasAppearance :CastleEncoded_R1_Sample_0_46_25_2 ;
  x3do:hasGeometry :IndexedTriangleSet_2_24_1_1_2 ;
  x3do:bboxCenter ( 0 0 0.125 ) ;
  x3do:bboxSize ( 0.25 0.25 0.25 ) .
:CastleEncoded_R1_Sample_0_46_25_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_24_1_1 ;
  x3do:hasMaterial :PhysicalMaterial_2_24_1_1_1_1 ;
  x3do:DEF 'CastleEncoded_R1_Sample_0_46_25_2' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_24_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :CastleEncoded_R1_Sample_0_46_25_2 ;
  x3do:baseColor ( 0.5623 0.8409 0.974 ) ;
  x3do:metallic 0 ;
  x3do:roughness 0 .
:IndexedTriangleSet_2_24_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :Shape_2_24_1_1 ;
  x3do:hasCoord :Coordinate_2_24_1_1_2_1 ;
  x3do:hasNormal :Normal_2_24_1_1_2_2 ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:index ( 1 14 20 1 20 7 10 6 19 10 19 23 21 18 12 21 12 15 16 3 9 16 9 22 5 2 8 5 8 11 17 13 0 17 0 4 ) ;
  x3do:normalPerVertex true ;
  x3do:solid true .
:Coordinate_2_24_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_24_1_1_2 ;
  x3do:point ( 0.125 0.125 0 0.125 0.125 0 0.125 0.125 0 0.125 -0.125 0 0.125 -0.125 0 0.125 -0.125 0 0.125 0.125 0.25 0.125 0.125 0.25 0.125 0.125 0.25 0.125 -0.125 0.25 0.125 -0.125 0.25 0.125 -0.125 0.25 -0.125 0.125 0 -0.125 0.125 0 -0.125 0.125 0 -0.125 -0.125 0 -0.125 -0.125 0 -0.125 -0.125 0 -0.125 0.125 0.25 -0.125 0.125 0.25 -0.125 0.125 0.25 -0.125 -0.125 0.25 -0.125 -0.125 0.25 -0.125 -0.125 0.25 ) .
:Normal_2_24_1_1_2_2 a owl:NamedIndividual, x3do:Normal ;
  x3do:hasParent :IndexedTriangleSet_2_24_1_1_2 ;
  x3do:vector ( 0 0 -1 0 1 0 1 0 0 0 -1 0 0 0 -1 1 0 0 0 0 1 0 1 0 1 0 0 0 -1 0 0 0 1 1 0 0 -1 0 0 0 0 -1 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 0 0 0 0 1 0 1 0 -1 0 0 0 -1 0 0 0 1 ) .
