{ "X3D": {
    "encoding":"UTF-8",
    "@profile":"Interactive",
    "@version":"4.0",
    "@xsd:noNamespaceSchemaLocation":"https://www.web3d.org/specifications/x3d-4.0.xsd",
    "JSON schema":"https://www.web3d.org/specifications/x3d-4.0-JSONSchema.autogenerated.json",
    "head": {
        "meta": [
          {
            "@name":"title",
            "@content":"jaw.x3d"
          },
          {
            "@name":"description",
            "@content":"jaw includes mandible (lower jaw or jawbone) and lower teeth"
          },
          {
            "@name":"creator",
            "@content":"Don Brutzman"
          },
          {
            "@name":"created",
            "@content":"12 March 2026"
          },
          {
            "@name":"modified",
            "@content":"22 March 2026"
          },
          {
            "@name":"reference",
            "@content":"https://en.wikipedia.org/wiki/Mandible"
          },
          {
            "@name":"reference",
            "@content":"https://en.wikipedia.org/wiki/Human_tooth"
          },
          {
            "@name":"reference",
            "@content":"United States, https://en.wikipedia.org/wiki/Universal_Numbering_System"
          },
          {
            "@name":"reference",
            "@content":"ISO 3950, https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation"
          },
          {
            "@name":"reference",
            "@content":"https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation#/media/File:Comparison_of_dental_notations.svg"
          },
          {
            "@name":"reference",
            "@content":"usage examples https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Medical"
          },
          {
            "@name":"generator",
            "@content":"X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit"
          },
          {
            "@name":"generator",
            "@content":"X3D Tidy, https://www.web3d.org/x3d/stylesheets/X3dTidy.html"
          },
          {
            "@name":"identifier",
            "@content":"https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/jaw.x3d"
          },
          {
            "@name":"license",
            "@content":"../license.html"
          },
          {
            "@name":"translated",
            "@content":"25 March 2026"
          },
          {
            "@name":"generator",
            "@content":"X3dToJson.xslt, https://www.web3d.org/x3d/stylesheets/X3dToJson.html"
          },
          {
            "@name":"reference",
            "@content":"X3D JSON encoding: https://www.web3d.org/wiki/index.php/X3D_JSON_Encoding"
          }
        ]
    },
    "Scene": {
        "-children":[
          { "WorldInfo":
            {
              "@title":"jaw.x3d"
            }
          },
          {
            "#comment":"user hover lights bone and reveals description, user selection/deselection temporarily binds/unbinds close-up hidden viewpoint"
          },
          { "TouchSensor":
            {
              "@DEF":"UserTouchSensor",
              "@description":"jaw, mandible and lower teeth"
            }
          },
          { "Transform":
            {
              "@DEF":"jaw",
              "@translation":[0,1.5954,0],
              "-children":[
                { "ViewpointGroup":
                  {
                    "@DEF":"ViewpointGroup_jaw",
                    "@description":"jaw model",
                    "@retainUserOffsets":true,
                    "-children":[
                      { "Viewpoint":
                        {
                          "@DEF":"ViewFromFront",
                          "@description":"jaw face",
                          "@nearDistance":0.001,
                          "@position":[0,0,0.4],
                          "@retainUserOffsets":true
                        }
                      },
                      { "Viewpoint":
                        {
                          "@DEF":"ViewFromBehind",
                          "@description":"jaw from left side",
                          "@nearDistance":0.001,
                          "@orientation":[0,1,0,1.5708],
                          "@position":[0.4,0,0],
                          "@retainUserOffsets":true
                        }
                      },
                      { "Viewpoint":
                        {
                          "@DEF":"ViewFromLeft",
                          "@description":"jaw from behind",
                          "@nearDistance":0.001,
                          "@orientation":[0,1,0,3.1416],
                          "@position":[0,0,-0.4],
                          "@retainUserOffsets":true
                        }
                      },
                      { "Viewpoint":
                        {
                          "@DEF":"ViewFromRight",
                          "@description":"jaw from right side",
                          "@nearDistance":0.001,
                          "@orientation":[0,1,0,-1.5708],
                          "@position":[-0.4,0,0],
                          "@retainUserOffsets":true
                        }
                      },
                      { "Viewpoint":
                        {
                          "@DEF":"ViewFromAbove",
                          "@description":"jaw from above",
                          "@nearDistance":0.001,
                          "@orientation":[1,0,0,-1.5708],
                          "@position":[0,0.4,0],
                          "@retainUserOffsets":true
                        }
                      },
                      { "Viewpoint":
                        {
                          "@DEF":"ViewFromBelow",
                          "@description":"jaw from below",
                          "@nearDistance":0.001,
                          "@orientation":[1,0,0,1.5708],
                          "@position":[0,-0.4,0],
                          "@retainUserOffsets":true
                        }
                      }
                    ]
                  }
                },
                {
                  "#comment":"nevertheless, TouchSensor interfaces from each of the Inline models are closer, taking priority and overriding this interface"
                },
                { "Viewpoint":
                  {
                    "@DEF":"HiddenViewpoint",
                    "@nearDistance":0.001,
                    "@position":[0,0,0.3],
                    "@retainUserOffsets":true,
                    "-navigationInfo":[
                      { "NavigationInfo":
                        {
                          "@transitionType":["ANIMATE"],
                          "@type":["EXAMINE"]
                        }
                      }
                    ]
                  }
                },
                { "ROUTE":
                  {
                    "@fromField":"isActive",
                    "@fromNode":"UserTouchSensor",
                    "@toField":"set_bind",
                    "@toNode":"HiddenViewpoint"
                  }
                },
                { "DirectionalLight":
                  {
                    "@DEF":"HiddenLight",
                    "@ambientIntensity":1,
                    "@color":[0.1,0.1,1],
                    "@on":false
                  }
                },
                { "ROUTE":
                  {
                    "@fromField":"isOver",
                    "@fromNode":"UserTouchSensor",
                    "@toField":"on",
                    "@toNode":"HiddenLight"
                  }
                }
              ]
            }
          },
          {
            "#comment":"mandible and teeth, TODO combine and rename"
          },
          { "Inline":
            {
              "@DEF":"mandible",
              "@url":["mandible.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/mandible.x3d","mandible.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/mandible.wrl"]
            }
          },
          { "Inline":
            {
              "@DEF":"tooth_molar_17_38",
              "@url":["tooth_molar_17_38.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_17_38.x3d","tooth_molar_17_38.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_17_38.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='l_molar3lc' url='\"l_molar3lc.x3d\"'/> <Inline DEF='l_molar3lr' url='\"l_molar3lr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_molar_18_37",
              "@url":["tooth_molar_18_37.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_18_37.x3d","tooth_molar_18_37.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_18_37.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='l_molar2lc' url='\"l_molar2lc.x3d\"'/> <Inline DEF='l_molar2lr' url='\"l_molar2lr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_molar_19_36",
              "@url":["tooth_molar_19_36.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_19_36.x3d","tooth_molar_19_36.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_19_36.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='l_molar1lc' url='\"l_molar1lc.x3d\"'/> <Inline DEF='l_molar1lr' url='\"l_molar1lr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_premolar_20_35",
              "@url":["tooth_premolar_20_35.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_20_35.x3d","tooth_premolar_20_35.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_20_35.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='lprem2lc' url='\"lprem2lc.x3d\"'/> <Inline DEF='lprem2lr' url='\"lprem2lr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_premolar_21_34",
              "@url":["tooth_premolar_21_34.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_21_34.x3d","tooth_premolar_21_34.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_21_34.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='lprem1lc' url='\"lprem1lc.x3d\"'/> <Inline DEF='lprem1lr' url='\"lprem1lr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_canine_22_33",
              "@url":["tooth_canine_22_33.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_canine_22_33.x3d","tooth_canine_22_33.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_canine_22_33.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='l_caninelc' url='\"l_caninelc.x3d\"'/> <Inline DEF='l_caninelr' url='\"l_caninelr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_incisor_23_32",
              "@url":["tooth_incisor_23_32.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_23_32.x3d","tooth_incisor_23_32.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_23_32.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='llatinlc' url='\"llatinlc.x3d\"'/> <Inline DEF='llatinlr' url='\"llatinlr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_incisor_24_31",
              "@url":["tooth_incisor_24_31.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_24_31.x3d","tooth_incisor_24_31.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_24_31.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='lceninlc' url='\"lceninlc.x3d\"'/> <Inline DEF='lceninlr' url='\"lceninlr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_incisor_25_41",
              "@url":["tooth_incisor_25_41.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_25_41.x3d","tooth_incisor_25_41.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_25_41.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='rceninlc' url='\"rceninlc.x3d\"'/> <Inline DEF='rceninlr' url='\"rceninlr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_incisor_26_42",
              "@url":["tooth_incisor_26_42.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_26_42.x3d","tooth_incisor_26_42.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_26_42.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='rlatinlc' url='\"rlatinlc.x3d\"'/> <Inline DEF='rlatinlr' url='\"rlatinlr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_canine_27_43",
              "@url":["tooth_canine_27_43.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_canine_27_43.x3d","tooth_canine_27_43.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_canine_27_43.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='r_caninelc' url='\"r_caninelc.x3d\"'/> <Inline DEF='r_caninelr' url='\"r_caninelr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_premolar_28_44",
              "@url":["tooth_premolar_28_44.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_28_44.x3d","tooth_premolar_28_44.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_28_44.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='\"rprem1lc' url='\"rprem1lc.x3d\"'/> <Inline DEF='rprem1lr' url='\"rprem1lr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_premolar_29_45",
              "@url":["tooth_premolar_29_45.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_29_45.x3d","tooth_premolar_29_45.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_29_45.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='rprem2lc' url='\"rprem2lc.x3d\"'/> <Inline DEF='rprem2lr' url='\"rprem2lr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_molar_30_46",
              "@url":["tooth_molar_30_46.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_30_46.x3d","tooth_molar_30_46.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_30_46.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='r_molar1lc' url='\"r_molar1lc.x3d\"'/> <Inline DEF='r_molar1lr' url='\"r_molar1lr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_molar_31_47",
              "@url":["tooth_molar_31_47.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_31_47.x3d","tooth_molar_31_47.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_31_47.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='r_molar2lc' url='\"r_molar2lc.x3d\"'/> <Inline DEF='r_molar2lr' url='\"r_molar2lr.x3d\"'/>"
          },
          { "Inline":
            {
              "@DEF":"tooth_molar_32_48",
              "@url":["tooth_molar_32_48.x3d","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_32_48.x3d","tooth_molar_32_48.wrl","https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_32_48.wrl"]
            }
          },
          {
            "#comment":"replaces <Inline DEF='r_molar3lc' url='\"r_molar3lc.x3d\"'/> <Inline DEF='r_molar3lr' url='\"r_molar3lr.x3d\"'/>"
          }
        ]
    }
  }
}