X3D Model Documentation: upperTeeth.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=' upperTeeth.x3d '/>
  6            <meta name='descriptioncontent='upperTeeth includes all upper teeth'/>
  7            <meta name='creatorcontent='Don Brutzman'/>
  8            <meta name='createdcontent='4 April 2026'/>
  9            <meta name='modifiedcontent='23 April 2026'/>
 10            <meta name='referencecontent=' skull.x3d '/>
 11            <meta name='referencecontent='https://en.wikipedia.org/wiki/Skull#Humans'/>
 12            <meta name='referencecontent='https://en.wikipedia.org/wiki/Human_tooth'/>
 13            <meta name='referencecontent='United States, https://en.wikipedia.org/wiki/Universal_Numbering_System'/>
 14            <meta name='referencecontent='ISO 3950, https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation'/>
 15            <meta name='referencecontent=' https://en.wikipedia.org/wiki/FDI_World_Dental_Federation_notation#/media/File:Comparison_of_dental_notations.svg '/>
 16            <meta name='referencecontent='usage examples https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Medical'/>
 17            <meta name='generatorcontent='X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 18            <meta name='generatorcontent=' X3D Tidy, https://www.web3d.org/x3d/stylesheets/X3dTidy.html '/>
 19            <meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/upperTeeth.x3d '/>
 20            <meta name='licensecontent='../license.html'/>
 21       </head>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: AxesDisplay, CenterOfRotationForJoint, HiddenLight, SkullLocalOffset, tooth_canine_11_23, tooth_canine_6_13, tooth_incisor_10_22, tooth_incisor_7_12, tooth_incisor_8_11, tooth_incisor_9_21, tooth_molar_1_18, tooth_molar_14_26, tooth_molar_15_27, tooth_molar_16_28, tooth_molar_2_17, tooth_molar_3_16, tooth_premolar_12_24, tooth_premolar_13_25, tooth_premolar_4_15, tooth_premolar_5_14, UserTouchSensor, UserTouchState

Index for Viewpoint and ViewpointGroup nodes: HiddenViewpoint, ViewFromAbove, ViewFromBehind, ViewFromBelow, ViewFromFront, ViewFromLeft, ViewFromRight, ViewpointGroup_upperTeeth

-->
 22       <Scene>
 23            <WorldInfo title='upperTeeth.x3d'/>
 24            <Background skyColor='0.858824 1 0.94902'/>
 25            <!-- user hover lights bone and reveals description, user selection/deselection temporarily binds/unbinds close-up hidden viewpoint -->
 26 
          <!-- ROUTE information for UserTouchSensor node:  [from isActive to UserTouchState.set_boolean ] -->
          <TouchSensor DEF='UserTouchSensordescription='upper teeth'/>
 27            <Transform DEF='SkullLocalOffsettranslation='0 1.6 0.1'>
 28                 <ViewpointGroup DEF='ViewpointGroup_upperTeethdescription='upper teeth modelretainUserOffsets='truecontainerField='children'>
 29                      <Viewpoint DEF='ViewFromFrontdescription='upperTeeth facenearDistance='0.001position='0 0 0.2retainUserOffsets='true'/>
 30                      <Viewpoint DEF='ViewFromBehinddescription='upperTeeth from left sidenearDistance='0.001orientation='0 1 0 1.5708position='0.2 0 0retainUserOffsets='true'/>
 31                      <Viewpoint DEF='ViewFromLeftdescription='upperTeeth from behindnearDistance='0.001orientation='0 1 0 3.1416position='0 0 -0.2retainUserOffsets='true'/>
 32                      <Viewpoint DEF='ViewFromRightdescription='upperTeeth from right sidenearDistance='0.001orientation='0 1 0 -1.5708position='-0.2 0 0retainUserOffsets='true'/>
 33                      <Viewpoint DEF='ViewFromAbovedescription='upperTeeth from abovenearDistance='0.001orientation='1 0 0 -1.5708position='0 0.2 0retainUserOffsets='true'/>
 34                      <Viewpoint DEF='ViewFromBelowdescription='upperTeeth from belownearDistance='0.001orientation='1 0 0 1.5708position='0 -0.2 0retainUserOffsets='true'/>
 35                 </ViewpointGroup>
 36                 <!-- nevertheless, TouchSensor interfaces from each of the Inline models are closer, taking priority and overriding this interface -->
 37 
               <!-- ROUTE information for UserTouchState node:  [from UserTouchSensor.isActive to set_boolean ] [from toggle to HiddenViewpoint.set_bind ] [from toggle to HiddenLight.on ] [from toggle to CenterOfRotationForJoint.visible ] -->
               <BooleanToggle DEF='UserTouchStatecontainerField='children'/>
 38                 < ROUTE  fromNode='UserTouchSensor' fromField='isActive' toNode='UserTouchState' toField='set_boolean'/>
 39 
               <!-- ROUTE information for HiddenViewpoint node:  [from UserTouchState.toggle to set_bind ] -->
               <Viewpoint DEF='HiddenViewpointnearDistance='0.001position='0 0 0.3retainUserOffsets='true'>
 40                      <NavigationInfo containerField='navigationInfotransitionType='"ANIMATE"type='"EXAMINE"'/>
 41                 </Viewpoint>
 42                 < ROUTE  fromNode='UserTouchState' fromField='toggle' toNode='HiddenViewpoint' toField='set_bind'/>
 43 
               <!-- ROUTE information for HiddenLight node:  [from UserTouchState.toggle to on ] -->
               <DirectionalLight DEF='HiddenLightambientIntensity='1color='0.1 0.1 1on='false'/>
 44                 < ROUTE  fromNode='UserTouchState' fromField='toggle' toNode='HiddenLight' toField='on'/>
 45 
               <!-- ROUTE information for CenterOfRotationForJoint node:  [from UserTouchState.toggle to visible ] -->
               <Transform DEF='CenterOfRotationForJointvisible='false'>
 46                      <!-- insert computations for joint center of rotation here -->
 47                      <Inline DEF='AxesDisplaydescription='RGB display axes showing XYZ direction in local coordinate systemvisible='false'   url=' "AxesDisplay.x3d"'/>
 48                 </Transform>
 49                 < ROUTE  fromNode='UserTouchState' fromField='toggle' toNode='CenterOfRotationForJoint' toField='visible'/>
 50            </Transform>
 51            <Inline DEF='tooth_molar_1_18'   url=' "tooth_molar_1_18.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_1_18.x3d" "tooth_molar_1_18.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_1_18.wrl" '/>
 52            <!-- r_molar3c.x3d r_molar3r.x3d -->
 53            <Inline DEF='tooth_molar_2_17'   url=' "tooth_molar_2_17.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_2_17.x3d" "tooth_molar_2_17.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_2_17.wrl" '/>
 54            <!-- r_molar2c.3xd r_molar2r.3xd -->
 55            <Inline DEF='tooth_molar_3_16'   url=' "tooth_molar_3_16.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_3_16.x3d" "tooth_molar_3_16.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_3_16.wrl" '/>
 56            <!-- r_molar1c.3xd r_molar1r.3xd -->
 57            <Inline DEF='tooth_premolar_4_15'   url=' "tooth_premolar_4_15.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_4_15.x3d" "tooth_premolar_4_15.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_4_15.wrl" '/>
 58            <!-- rpreol2c.x3d rpreol2r.x3d -->
 59            <Inline DEF='tooth_premolar_5_14'   url=' "tooth_premolar_5_14.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_5_14.x3d" "tooth_premolar_5_14.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_5_14.wrl" '/>
 60            <!-- rpreol1c.x3d rpreol1r.x3d -->
 61            <Inline DEF='tooth_canine_6_13'   url=' "tooth_canine_6_13.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_canine_6_13.x3d" "tooth_canine_6_13.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_canine_6_13.wrl" '/>
 62            <!-- r_caninec.x3d r_caniner.x3d -->
 63            <Inline DEF='tooth_incisor_7_12'   url=' "tooth_incisor_7_12.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_7_12.x3d" "tooth_incisor_7_12.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_7_12.wrl" '/>
 64            <!-- rlatincc.x3d rlatincr.x3d -->
 65            <Inline DEF='tooth_incisor_8_11'   url=' "tooth_incisor_8_11.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_8_11.x3d" "tooth_incisor_8_11.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_8_11.wrl" '/>
 66            <!-- rcenincc.x3d rcenincr.x3d -->
 67            <Inline DEF='tooth_incisor_9_21'   url=' "tooth_incisor_9_21.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_9_21.x3d" "tooth_incisor_9_21.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_9_21.wrl" '/>
 68            <!-- lcenincc.x3d lcenincr.x3d -->
 69            <Inline DEF='tooth_incisor_10_22'   url=' "tooth_incisor_10_22.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_10_22.x3d" "tooth_incisor_10_22.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_incisor_10_22.wrl" '/>
 70            <!-- llatincc.x3d llatincr.x3d -->
 71            <Inline DEF='tooth_canine_11_23'   url=' "tooth_canine_11_23.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_canine_11_23.x3d" "tooth_canine_11_23.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_canine_11_23.wrl" '/>
 72            <!-- l_caninec.x3d l_caniner.x3d -->
 73            <Inline DEF='tooth_premolar_12_24'   url=' "tooth_premolar_12_24.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_12_24.x3d" "tooth_premolar_12_24.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_12_24.wrl" '/>
 74            <!-- lpreol1c.x3d lpreol1r.x3d -->
 75            <Inline DEF='tooth_premolar_13_25'   url=' "tooth_premolar_13_25.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_13_25.x3d" "tooth_premolar_13_25.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_premolar_13_25.wrl" '/>
 76            <!-- lpreol2c.x3d lpreol2r.x3d -->
 77            <Inline DEF='tooth_molar_14_26'   url=' "tooth_molar_14_26.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_14_26.x3d" "tooth_molar_14_26.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_14_26.wrl" '/>
 78            <!-- l_molar1c.3xd l_molar1r.3xd -->
 79            <Inline DEF='tooth_molar_15_27'   url=' "tooth_molar_15_27.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_15_27.x3d" "tooth_molar_15_27.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_15_27.wrl" '/>
 80            <!-- l_molar2c.3xd l_molar2r.3xd -->
 81            <Inline DEF='tooth_molar_16_28'   url=' "tooth_molar_16_28.x3d" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_16_28.x3d" "tooth_molar_16_28.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/tooth_molar_16_28.wrl" '/>
 82            <!-- l_molar3c.x3d l_molar3r.x3d -->
 83       </Scene>
 84  </X3D>
<!--

Event Graph ROUTE Table shows event connections.

--> <!-- to top DEF nodes index: AxesDisplay, CenterOfRotationForJoint, HiddenLight, SkullLocalOffset, tooth_canine_11_23, tooth_canine_6_13, tooth_incisor_10_22, tooth_incisor_7_12, tooth_incisor_8_11, tooth_incisor_9_21, tooth_molar_1_18, tooth_molar_14_26, tooth_molar_15_27, tooth_molar_16_28, tooth_molar_2_17, tooth_molar_3_16, tooth_premolar_12_24, tooth_premolar_13_25, tooth_premolar_4_15, tooth_premolar_5_14, UserTouchSensor, UserTouchState

Index for Viewpoint and ViewpointGroup nodes: HiddenViewpoint, ViewFromAbove, ViewFromBehind, ViewFromBelow, ViewFromFront, ViewFromLeft, ViewFromRight, ViewpointGroup_upperTeeth

-->
X3D Tooltips element index: Background, BooleanToggle, 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 4 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)
UserTouchState
BooleanToggle
set_boolean
SFBool
then
 
 
 
UserTouchState
BooleanToggle
toggle
SFBool

ROUTE
event to
(2)
HiddenViewpoint
Viewpoint
set_bind
SFBool
  then
 
 
 
UserTouchState
BooleanToggle
toggle
SFBool

ROUTE
event to
(2)
HiddenLight
DirectionalLight
on
SFBool
  then
 
 
 
UserTouchState
BooleanToggle
toggle
SFBool

ROUTE
event to
(2)
CenterOfRotationForJoint
Transform
visible
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/upperTeethIndex.html -->
<!-- SourceForge version control Version control at    
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/HumanoidAnimation/Bones/upperTeeth.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. -->