X3D Model Documentation: jaw.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
  3  <X3D profile='Interactive' version='4.0 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-4.0.xsd'>
  4       <head>
  5            <meta name='titlecontent=' jaw.x3d '/>
  6            <meta name='descriptioncontent='jaw includes mandible (lower jaw or jawbone) and lower teeth'/>
  7            <meta name='creatorcontent='Don Brutzman'/>
  8            <meta name='createdcontent='12 March 2026'/>
  9            <meta name='modifiedcontent='22 March 2026'/>
 10            <meta name='referencecontent='https://en.wikipedia.org/wiki/Mandible'/>
 11            <meta name='referencecontent='https://en.wikipedia.org/wiki/Human_tooth'/>
 12            <meta name='referencecontent='United States, https://en.wikipedia.org/wiki/Universal_Numbering_System'/>
 13            <meta name='referencecontent='ISO 3950, https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation'/>
 14            <meta name='referencecontent=' https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation#/media/File:Comparison_of_dental_notations.svg '/>
 15            <meta name='referencecontent='usage examples https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Medical'/>
 16            <meta name='generatorcontent='X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 17            <meta name='generatorcontent=' X3D Tidy, https://www.web3d.org/x3d/stylesheets/X3dTidy.html '/>
 18            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/jaw.x3d '/>
 19            <meta name='licensecontent='../license.html'/>
 20       </head>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: HiddenLight, jaw, mandible, tooth_canine_22_33, tooth_canine_27_43, tooth_incisor_23_32, tooth_incisor_24_31, tooth_incisor_25_41, tooth_incisor_26_42, tooth_molar_17_38, tooth_molar_18_37, tooth_molar_19_36, tooth_molar_30_46, tooth_molar_31_47, tooth_molar_32_48, tooth_premolar_20_35, tooth_premolar_21_34, tooth_premolar_28_44, tooth_premolar_29_45, UserTouchSensor

Index for Viewpoint and ViewpointGroup nodes: HiddenViewpoint, ViewFromAbove, ViewFromBehind, ViewFromBelow, ViewFromFront, ViewFromLeft, ViewFromRight, ViewpointGroup_jaw
-->
 21       <Scene>
 22            <WorldInfo title='jaw.x3d'/>
 23            <!-- user hover lights bone and reveals description, user selection/deselection temporarily binds/unbinds close-up hidden viewpoint -->
 24 
          <!-- ROUTE information for UserTouchSensor node:  [from isActive to HiddenViewpoint.set_bind ] [from isOver to HiddenLight.on ] -->
          <TouchSensor DEF='UserTouchSensordescription='jaw, mandible and lower teeth'/>
 25            <Transform DEF='jawtranslation='0 1.5954 0'>
 26                 <ViewpointGroup DEF='ViewpointGroup_jawdescription='jaw modelretainUserOffsets='truecontainerField='children'>
 27                      <Viewpoint DEF='ViewFromFrontdescription='jaw facenearDistance='0.001position='0 0 0.4retainUserOffsets='true'/>
 28                      <Viewpoint DEF='ViewFromBehinddescription='jaw from left sidenearDistance='0.001orientation='0 1 0 1.5708position='0.4 0 0retainUserOffsets='true'/>
 29                      <Viewpoint DEF='ViewFromLeftdescription='jaw from behindnearDistance='0.001orientation='0 1 0 3.1416position='0 0 -0.4retainUserOffsets='true'/>
 30                      <Viewpoint DEF='ViewFromRightdescription='jaw from right sidenearDistance='0.001orientation='0 1 0 -1.5708position='-0.4 0 0retainUserOffsets='true'/>
 31                      <Viewpoint DEF='ViewFromAbovedescription='jaw from abovenearDistance='0.001orientation='1 0 0 -1.5708position='0 0.4 0retainUserOffsets='true'/>
 32                      <Viewpoint DEF='ViewFromBelowdescription='jaw from belownearDistance='0.001orientation='1 0 0 1.5708position='0 -0.4 0retainUserOffsets='true'/>
 33                 </ViewpointGroup>
 34                 <!-- nevertheless, TouchSensor interfaces from each of the Inline models are closer, taking priority and overriding this interface -->
 35 
               <!-- ROUTE information for HiddenViewpoint node:  [from UserTouchSensor.isActive to set_bind ] -->
               <Viewpoint DEF='HiddenViewpointnearDistance='0.001position='0 0 0.3retainUserOffsets='true'>
 36                      <NavigationInfo containerField='navigationInfotransitionType='"ANIMATE"type='"EXAMINE"'/>
 37                 </Viewpoint>
 38                 < ROUTE  fromNode='UserTouchSensor' fromField='isActive' toNode='HiddenViewpoint' toField='set_bind'/>
 39 
               <!-- ROUTE information for HiddenLight node:  [from UserTouchSensor.isOver to on ] -->
               <DirectionalLight DEF='HiddenLightambientIntensity='1color='0.1 0.1 1on='false'/>
 40                 < ROUTE  fromNode='UserTouchSensor' fromField='isOver' toNode='HiddenLight' toField='on'/>
 41            </Transform>
 42            <!-- mandible and teeth, TODO combine and rename -->
 43            <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" '/>
 44            <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" '/>
 45            <!-- replaces <Inline DEF='l_molar3lc' url='"l_molar3lc.x3d"'/> <Inline DEF='l_molar3lr' url='"l_molar3lr.x3d"'/> -->
 46            <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" '/>
 47            <!-- replaces <Inline DEF='l_molar2lc' url='"l_molar2lc.x3d"'/> <Inline DEF='l_molar2lr' url='"l_molar2lr.x3d"'/> -->
 48            <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" '/>
 49            <!-- replaces <Inline DEF='l_molar1lc' url='"l_molar1lc.x3d"'/> <Inline DEF='l_molar1lr' url='"l_molar1lr.x3d"'/> -->
 50            <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" '/>
 51            <!-- replaces <Inline DEF='lprem2lc' url='"lprem2lc.x3d"'/> <Inline DEF='lprem2lr' url='"lprem2lr.x3d"'/> -->
 52            <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" '/>
 53            <!-- replaces <Inline DEF='lprem1lc' url='"lprem1lc.x3d"'/> <Inline DEF='lprem1lr' url='"lprem1lr.x3d"'/> -->
 54            <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" '/>
 55            <!-- replaces <Inline DEF='l_caninelc' url='"l_caninelc.x3d"'/> <Inline DEF='l_caninelr' url='"l_caninelr.x3d"'/> -->
 56            <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" '/>
 57            <!-- replaces <Inline DEF='llatinlc' url='"llatinlc.x3d"'/> <Inline DEF='llatinlr' url='"llatinlr.x3d"'/> -->
 58            <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" '/>
 59            <!-- replaces <Inline DEF='lceninlc' url='"lceninlc.x3d"'/> <Inline DEF='lceninlr' url='"lceninlr.x3d"'/> -->
 60            <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" '/>
 61            <!-- replaces <Inline DEF='rceninlc' url='"rceninlc.x3d"'/> <Inline DEF='rceninlr' url='"rceninlr.x3d"'/> -->
 62            <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" '/>
 63            <!-- replaces <Inline DEF='rlatinlc' url='"rlatinlc.x3d"'/> <Inline DEF='rlatinlr' url='"rlatinlr.x3d"'/> -->
 64            <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" '/>
 65            <!-- replaces <Inline DEF='r_caninelc' url='"r_caninelc.x3d"'/> <Inline DEF='r_caninelr' url='"r_caninelr.x3d"'/> -->
 66            <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" '/>
 67            <!-- replaces <Inline DEF='"rprem1lc' url='"rprem1lc.x3d"'/> <Inline DEF='rprem1lr' url='"rprem1lr.x3d"'/> -->
 68            <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" '/>
 69            <!-- replaces <Inline DEF='rprem2lc' url='"rprem2lc.x3d"'/> <Inline DEF='rprem2lr' url='"rprem2lr.x3d"'/> -->
 70            <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" '/>
 71            <!-- replaces <Inline DEF='r_molar1lc' url='"r_molar1lc.x3d"'/> <Inline DEF='r_molar1lr' url='"r_molar1lr.x3d"'/> -->
 72            <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" '/>
 73            <!-- replaces <Inline DEF='r_molar2lc' url='"r_molar2lc.x3d"'/> <Inline DEF='r_molar2lr' url='"r_molar2lr.x3d"'/> -->
 74            <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" '/>
 75            <!-- replaces <Inline DEF='r_molar3lc' url='"r_molar3lc.x3d"'/> <Inline DEF='r_molar3lr' url='"r_molar3lr.x3d"'/> -->
 76       </Scene>
 77  </X3D>
<!--

<!--
Event Graph ROUTE Table shows event connections.
-->
<!-- to top DEF nodes index: HiddenLight, jaw, mandible, tooth_canine_22_33, tooth_canine_27_43, tooth_incisor_23_32, tooth_incisor_24_31, tooth_incisor_25_41, tooth_incisor_26_42, tooth_molar_17_38, tooth_molar_18_37, tooth_molar_19_36, tooth_molar_30_46, tooth_molar_31_47, tooth_molar_32_48, tooth_premolar_20_35, tooth_premolar_21_34, tooth_premolar_28_44, tooth_premolar_29_45, UserTouchSensor

Index for Viewpoint and ViewpointGroup nodes: HiddenViewpoint, ViewFromAbove, ViewFromBehind, ViewFromBelow, ViewFromFront, ViewFromLeft, ViewFromRight, ViewpointGroup_jaw
-->
X3D Tooltips element index: DirectionalLight, head, Inline, meta, NavigationInfo, ROUTE, Scene, TouchSensor, Transform, Viewpoint, ViewpointGroup, WorldInfo, X3D,
plus documentation for accessType definitions, type definitions, XML data types, and field types

Event Graph ROUTE Table entries with 2 ROUTE connections total, showing X3D event-model relationships for this scene.

Each row shows an event cascade that may occur during a single timestamp interval between frame renderings, as part of the X3D execution model.

UserTouchSensor
TouchSensor
isActive
SFBool

ROUTE
event to
(1)
HiddenViewpoint
Viewpoint
set_bind
SFBool
UserTouchSensor
TouchSensor
isOver
SFBool

ROUTE
event to
(1)
HiddenLight
DirectionalLight
on
SFBool

Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets. Have fun with X3D! 😀

-->
<!-- Online at
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/jawIndex.html -->
<!-- SourceForge version control Version control at    
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/jaw.x3d -->

<!-- Color-coding legend: X3D terminology <X3dNode DEF='idNamefield='value'/> matches XML terminology <XmlElement DEF='idNameattribute='value'/>
(Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
-->

to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->