@prefix :        <https://www.web3d.org/x3d/content/examples/Savage/GroundVehicles/HMMWV/Suspension.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.0' ;
  x3do:noNamespaceSchemaLocation 'https://www.web3d.org/specifications/x3d-3.0.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_1 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Suspension.x3d' ;
  x3do:name 'title' .
:meta_1_2 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Suspension and Tires for the Highly Mobile Multi-purpose Wheeled Vehicle' ;
  x3do:name 'description' .
:meta_1_3 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Jeffrey Weekley' ;
  x3do:name 'creator' .
:meta_1_4 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '17 December 2001' ;
  x3do:name 'created' .
:meta_1_5 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '20 October 2019' ;
  x3do:name 'modified' .
:meta_1_6 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.fas.org' ;
  x3do:name 'reference' .
:meta_1_7 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'This is the front and rear suspension for the HMMWV from AM General.' ;
  x3do:name 'subject' .
:meta_1_8 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/Savage/GroundVehicles/HMMWV/Suspension.x3d' ;
  x3do:name 'identifier' .
:meta_1_9 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit' ;
  x3do:name 'generator' .
:meta_1_10 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '../../license.html' ;
  x3do:name 'license' .
:meta dcterms:title "Suspension.x3d" .
:meta dcterms:description "Suspension and Tires for the Highly Mobile Multi-purpose Wheeled Vehicle" .
:meta dcterms:creator "Jeffrey Weekley" .
:meta dcterms:created "17 December 2001" .
:meta dcterms:modified "20 October 2019" .
:meta dcterms:reference "https://www.fas.org" .
:meta dcterms:subject "This is the front and rear suspension for the HMMWV from AM General." .
:meta dcterms:identifier "https://www.web3d.org/x3d/content/examples/Savage/GroundVehicles/HMMWV/Suspension.x3d" .
:meta dcterms:generator "X3D-Edit 3.2, 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, :Suspension, :OppositeSide .
:WorldInfo_2_1 a owl:NamedIndividual, x3do:WorldInfo ;
  x3do:hasParent :Scene ;
  x3do:title 'Suspension.x3d' .
:Background_2_2 a owl:NamedIndividual, x3do:Background ;
  x3do:hasParent :Scene ;
  x3do:groundColor ( 0 0 0 ) ;
  x3do:skyColor ( 0.66 0.66 0.88 ) .
:Suspension a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :Spring, :Wishbone, :Transform_2_3_3 ;
  x3do:DEF 'Suspension' .
:Spring a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :Suspension ;
  x3do:hasChildren :HalfSpring ;
  x3do:DEF 'Spring' .
:HalfSpring a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Spring ;
  x3do:hasChildren :OnceRound, :Transform_2_3_1_1_2, :Transform_2_3_1_1_3, :Transform_2_3_1_1_4, :Transform_2_3_1_1_5, :Transform_2_3_1_1_6, :Transform_2_3_1_1_7, :Transform_2_3_1_1_8, :Transform_2_3_1_1_9, :SpringCenter ;
  x3do:DEF 'HalfSpring' ;
  x3do:rotation ( 1 0 0 -0.45 ) ;
  x3do:scale ( 0.1 0.1 0.1 ) ;
  x3do:translation ( 0 -0.125 0 ) .
:OnceRound a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :HalfSpring ;
  x3do:hasChildren :Shape_2_3_1_1_1_1 ;
  x3do:DEF 'OnceRound' .
:Shape_2_3_1_1_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :OnceRound ;
  x3do:hasAppearance :Tan ;
  x3do:hasGeometry :Extrusion_2_3_1_1_1_1_2 .
:Tan a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_1_1_1_1 ;
  x3do:hasMaterial :Material_2_3_1_1_1_1_1_1 ;
  x3do:DEF 'Tan' .
:Material_2_3_1_1_1_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Tan ;
  x3do:diffuseColor ( 0.8 0.7 0.7 ) .
:Extrusion_2_3_1_1_1_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_3_1_1_1_1 ;
  x3do:convex false ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.20 0.00 0.192 -0.138 0.171 -0.171 0.138 -0.192 0.00 -0.20 -0.138 -0.192 -0.171 -0.171 -0.192 -0.138 -0.20 -0.00 -0.192 0.138 -0.171 0.171 -0.138 0.192 0.00 0.20 0.138 0.192 0.171 0.171 0.192 0.138 0.20 0.00 ) ;
  x3do:spine ( 2.00 0.04 0.00 1.85 0.08 0.77 1.41 0.12 1.41 0.77 0.16 1.85 0.00 0.2 2.00 -0.77 0.24 1.85 -1.41 0.28 1.41 -1.85 0.32 0.77 -2.00 0.36 0.00 -1.85 0.4 -0.77 -1.41 0.44 -1.41 -0.77 0.48 -1.85 0.00 0.52 -2.00 0.77 0.56 -1.85 1.41 0.6 -1.41 1.85 0.64 -0.77 2.00 0.68 0.00 ) .
:Transform_2_3_1_1_2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :HalfSpring ;
  x3do:hasChildren :OnceRound-USE-1 ;
  x3do:translation ( 0 0.64 0 ) .
:OnceRound-USE-1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_1_1_2 ;
  owl:sameAs :OnceRound . # DEF matching this USE
:Transform_2_3_1_1_3 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :HalfSpring ;
  x3do:hasChildren :OnceRound-USE-2 ;
  x3do:translation ( 0 1.28 0 ) .
:OnceRound-USE-2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_1_1_3 ;
  owl:sameAs :OnceRound . # DEF matching this USE
:Transform_2_3_1_1_4 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :HalfSpring ;
  x3do:hasChildren :OnceRound-USE-3 ;
  x3do:translation ( 0 1.92 0 ) .
:OnceRound-USE-3 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_1_1_4 ;
  owl:sameAs :OnceRound . # DEF matching this USE
:Transform_2_3_1_1_5 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :HalfSpring ;
  x3do:hasChildren :OnceRound-USE-4 ;
  x3do:translation ( 0 2.56 0 ) .
:OnceRound-USE-4 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_1_1_5 ;
  owl:sameAs :OnceRound . # DEF matching this USE
:Transform_2_3_1_1_6 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :HalfSpring ;
  x3do:hasChildren :OnceRound-USE-5 ;
  x3do:translation ( 0 3.2 0 ) .
:OnceRound-USE-5 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_1_1_6 ;
  owl:sameAs :OnceRound . # DEF matching this USE
:Transform_2_3_1_1_7 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :HalfSpring ;
  x3do:hasChildren :OnceRound-USE-6 ;
  x3do:translation ( 0 3.84 0 ) .
:OnceRound-USE-6 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_1_1_7 ;
  owl:sameAs :OnceRound . # DEF matching this USE
:Transform_2_3_1_1_8 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :HalfSpring ;
  x3do:hasChildren :OnceRound-USE-7 ;
  x3do:translation ( 0 4.48 0 ) .
:OnceRound-USE-7 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_1_1_8 ;
  owl:sameAs :OnceRound . # DEF matching this USE
:Transform_2_3_1_1_9 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :HalfSpring ;
  x3do:hasChildren :OnceRound-USE-8 ;
  x3do:translation ( 0 5.12 0 ) .
:OnceRound-USE-8 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_1_1_9 ;
  owl:sameAs :OnceRound . # DEF matching this USE
:SpringCenter a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :HalfSpring ;
  x3do:hasChildren :Shape_2_3_1_1_10_1 ;
  x3do:DEF 'SpringCenter' ;
  x3do:translation ( 0 6 0 ) .
:Shape_2_3_1_1_10_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :SpringCenter ;
  x3do:hasGeometry :Cylinder_2_3_1_1_10_1_1 ;
  x3do:hasAppearance :Tan-USE-1 .
:Cylinder_2_3_1_1_10_1_1 a owl:NamedIndividual, x3do:Cylinder ;
  x3do:hasParent :Shape_2_3_1_1_10_1 ;
  x3do:height 4 ;
  x3do:radius 1.8 .
:Tan-USE-1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_1_1_10_1 ;
  owl:sameAs :Tan . # DEF matching this USE
:Wishbone a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :Suspension ;
  x3do:hasChildren :Transform_2_3_2_1, :Center, :Transform_2_3_2_3 ;
  x3do:DEF 'Wishbone' .
:Transform_2_3_2_1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Wishbone ;
  x3do:hasChildren :Shape_2_3_2_1_1 ;
  x3do:center ( 0 0 0.625 ) ;
  x3do:rotation ( 1 0 0 -0.45 ) ;
  x3do:translation ( 0 -0.175 -0.45 ) .
:Shape_2_3_2_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_2_1 ;
  x3do:hasGeometry :Box_2_3_2_1_1_1 ;
  x3do:hasAppearance :Tan-USE-2 .
:Box_2_3_2_1_1_1 a owl:NamedIndividual, x3do:Box ;
  x3do:hasParent :Shape_2_3_2_1_1 ;
  x3do:size ( 0.4 0.3 2 ) .
:Tan-USE-2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_2_1_1 ;
  owl:sameAs :Tan . # DEF matching this USE
:Center a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Wishbone ;
  x3do:hasChildren :Transform_2_3_2_2_1, :Transform_2_3_2_2_2 ;
  x3do:DEF 'Center' .
:Transform_2_3_2_2_1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Center ;
  x3do:hasChildren :Shape_2_3_2_2_1_1 ;
  x3do:translation ( 0 0.33 1 ) .
:Shape_2_3_2_2_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_2_2_1 ;
  x3do:hasAppearance :Tan-USE-3 ;
  x3do:hasGeometry :Box_2_3_2_2_1_1_2 .
:Tan-USE-3 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_2_2_1_1 ;
  owl:sameAs :Tan . # DEF matching this USE
:Box_2_3_2_2_1_1_2 a owl:NamedIndividual, x3do:Box ;
  x3do:hasParent :Shape_2_3_2_2_1_1 ;
  x3do:size ( 0.4 1 0.25 ) .
:Transform_2_3_2_2_2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Center ;
  x3do:hasChildren :Shape_2_3_2_2_2_1 ;
  x3do:rotation ( 0 0 1 1.57 ) ;
  x3do:translation ( 0 0 0.5 ) .
:Shape_2_3_2_2_2_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_2_2_2 ;
  x3do:hasGeometry :Cylinder_2_3_2_2_2_1_1 ;
  x3do:hasAppearance :Appearance_2_3_2_2_2_1_2 .
:Cylinder_2_3_2_2_2_1_1 a owl:NamedIndividual, x3do:Cylinder ;
  x3do:hasParent :Shape_2_3_2_2_2_1 ;
  x3do:height 0.5 ;
  x3do:radius 0.125 .
:Appearance_2_3_2_2_2_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_2_2_2_1 ;
  x3do:hasMaterial :Material_2_3_2_2_2_1_2_1 .
:Material_2_3_2_2_2_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_3_2_2_2_1_2 ;
  x3do:diffuseColor ( 0.6 0.5 0.5 ) .
:Transform_2_3_2_3 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Wishbone ;
  x3do:hasChildren :Shape_2_3_2_3_1 ;
  x3do:translation ( 0 -0.05 1 ) .
:Shape_2_3_2_3_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_2_3 ;
  x3do:hasGeometry :Box_2_3_2_3_1_1 ;
  x3do:hasAppearance :Tan-USE-4 .
:Box_2_3_2_3_1_1 a owl:NamedIndividual, x3do:Box ;
  x3do:hasParent :Shape_2_3_2_3_1 ;
  x3do:size ( 0.4 0.25 1.25 ) .
:Tan-USE-4 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_2_3_1 ;
  owl:sameAs :Tan . # DEF matching this USE
:Transform_2_3_3 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Suspension ;
  x3do:hasChildren :Transform_2_3_3_1, :Transform_2_3_3_2, :Transform_2_3_3_3 ;
  x3do:translation ( -0.1 -0.95 -1.25 ) .
:Transform_2_3_3_1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_3 ;
  x3do:hasChildren :Inline_2_3_3_1_1 ;
  x3do:rotation ( 1 0 0 1.57 ) ;
  x3do:scale ( 0.5 0.5 0.5 ) .
:Inline_2_3_3_1_1 a owl:NamedIndividual, x3do:Inline ;
  x3do:hasParent :Transform_2_3_3_1 ;
  x3do:url '"AutomotiveTire.wrl" "../../GroundVehicles/HMMWV/AutomotiveTire.wrl" "https://www.web3d.org/x3d/content/examples/Savage/GroundVehiclesHMMWV/AutomotiveTire.wrl" "AutomotiveTire.x3d" "../../GroundVehicles/HMMWV/AutomotiveTire.x3d" "https://www.web3d.org/x3d/content/examples/Savage/GroundVehiclesHMMWV/AutomotiveTire.x3d"' .
:Transform_2_3_3_2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_3 ;
  x3do:hasChildren :Shape_2_3_3_2_1 ;
  x3do:rotation ( 1 0 0 1.57 ) ;
  x3do:translation ( 0.1 -0.1 -0.2 ) .
:Shape_2_3_3_2_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_3_2 ;
  x3do:hasGeometry :Cylinder_2_3_3_2_1_1 ;
  x3do:hasAppearance :Appearance_2_3_3_2_1_2 .
:Cylinder_2_3_3_2_1_1 a owl:NamedIndividual, x3do:Cylinder ;
  x3do:hasParent :Shape_2_3_3_2_1 ;
  x3do:height 0.3 ;
  x3do:radius 0.25 .
:Appearance_2_3_3_2_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_3_2_1 ;
  x3do:hasMaterial :Material_2_3_3_2_1_2_1 .
:Material_2_3_3_2_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_3_3_2_1_2 ;
  x3do:diffuseColor ( 0.125 0.125 0.2 ) .
:Transform_2_3_3_3 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Transform_2_3_3 ;
  x3do:hasChildren :Shape_2_3_3_3_1 ;
  x3do:rotation ( 1 0 0 1.57 ) ;
  x3do:translation ( 0.1 -0.1 -0.1 ) .
:Shape_2_3_3_3_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_3_3_3 ;
  x3do:hasGeometry :Cylinder_2_3_3_3_1_1 ;
  x3do:hasAppearance :Appearance_2_3_3_3_1_2 .
:Cylinder_2_3_3_3_1_1 a owl:NamedIndividual, x3do:Cylinder ;
  x3do:hasParent :Shape_2_3_3_3_1 ;
  x3do:height 0.3 ;
  x3do:radius 0.66 .
:Appearance_2_3_3_3_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_3_3_3_1 ;
  x3do:hasMaterial :Material_2_3_3_3_1_2_1 .
:Material_2_3_3_3_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_3_3_3_1_2 ;
  x3do:diffuseColor ( 0.25 0.25 0.4 ) .
:OppositeSide a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :Transform_2_4_1 ;
  x3do:DEF 'OppositeSide' .
:Transform_2_4_1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :OppositeSide ;
  x3do:hasChildren :Suspension-USE-1 ;
  x3do:center ( 0 0 1.5 ) ;
  x3do:rotation ( 0 1 0 3.14 ) .
:Suspension-USE-1 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :Transform_2_4_1 ;
  owl:sameAs :Suspension . # DEF matching this USE
