<
Viewpoint position='0 1.6 10'/>
<
NavigationInfo headlight='FALSE'
speed='3'
type='
"WALK"'
/>
<
DirectionalLight direction='-1 -1 -1'
ambientIntensity='1'/>
<
Background
skyAngle='1.57'
skyColor='
0 0.3 1
0.7 1 1'
/>
<
Transform translation='0 -0.05 0'>
<
Shape>
<
Appearance>
<
Material diffuseColor='0 0.8 0'/>
<
ImageTexture
url='
"green.jpg"'
/>
<
TextureTransform scale='50 50'/>
</
Appearance>
<
Box size='100 0.1 100'/>
</
Shape>
</
Transform>
<
Group>
<
Group DEF='
WoodWall'>
<
Transform translation='-1.5 0.25 0'
rotation='0 0 1 1.5708'>
<
Shape DEF='
Wood'>
<
Appearance>
<
Material diffuseColor='0.6 0.2 0'/>
<
ImageTexture
url='
"wood.jpg"'
/>
<
TextureTransform scale='5 2'/>
</
Appearance>
<
Cylinder radius='0.25'/>
</
Shape>
</
Transform>
<
Transform translation='1.5 0.25 0'
rotation='0 0 1 1.5708'>
<Shape USE='Wood'/>
</
Transform>
<
Transform translation='-2.25 0.25 -2'
rotation='1 0 0 1.5708'
scale='1 2 1'>
<Shape USE='Wood'/>
</
Transform>
<
Transform translation='2.25 0.25 -2'
rotation='1 0 0 1.5708'
scale='1 2 1'>
<Shape USE='Wood'/>
</
Transform>
<
Transform translation='0 0.25 -4'
rotation='0 0 1 1.5708'
scale='1 2.5 1'>
<Shape USE='Wood'/>
</
Transform>
</
Group>
<
Transform translation='0 0.5 0'>
<Group USE='WoodWall'/>
</
Transform>
<
Transform translation='0 1 0'>
<Group USE='WoodWall'/>
</
Transform>
<
Transform translation='0 1.5 0'>
<Group USE='WoodWall'/>
</
Transform>
<
Transform translation='0 2 0'>
<
Group USE='
WoodWall'/>
<
Transform translation='0 0.25 0'
rotation='0 0 1 1.5708'
scale='1 0.5 1'>
<Shape USE='Wood'/>
</
Transform>
</
Transform>
</
Group>
<
Transform DEF='
Door-Tf'
center='0.495 0 0'
translation='0 1 0'>
<
Shape>
<
Appearance DEF='
Door-Ap'>
<
Material diffuseColor='0.6 0.2 0'/>
<
ImageTexture
url='
"wood.jpg"'
/>
</
Appearance>
<
Box size='1 2 0.05'/>
</
Shape>
<
Transform translation='-0.4 0 0'
rotation='1 0 0 1.5708'>
<
Shape>
<
Appearance>
<Material diffuseColor='0.7 0.7 0.7'/>
</
Appearance>
<
Cylinder radius='0.04'
height='0.1'/>
</
Shape>
</
Transform>
<
TouchSensor DEF='
ThS'/>
</
Transform>
<
TimeSensor DEF='
Open-TiS'
cycleInterval='2'/>
<
TimeSensor DEF='
Close-TiS'
cycleInterval='2'/>
<
OrientationInterpolator DEF='
Open-OI'
key='0 1'
keyValue='
0 1 0 0
0 1 0 1.5708'
/>
<
OrientationInterpolator DEF='
Close-OI'
key='0 1'
keyValue='
0 1 0 1.5708
0 1 0 0'
/>
<
ROUTE fromNode='
Open-TiS'
fromField='fraction_changed'
toNode='
Open-OI'
toField='set_fraction'/>
<
ROUTE fromNode='
Open-OI'
fromField='value_changed'
toNode='
Door-Tf'
toField='rotation'/>
<
ROUTE fromNode='
Close-TiS'
fromField='fraction_changed'
toNode='
Close-OI'
toField='set_fraction'/>
<
ROUTE fromNode='
Close-OI'
fromField='value_changed'
toNode='
Door-Tf'
toField='rotation'/>
<
Script DEF='
Sc'>
<
field accessType='inputOnly'
type='
SFTime'
name='
touchedDoor'/>
<
field accessType='outputOnly'
type='
SFTime'
name='
startTime_Open'/>
<
field accessType='outputOnly'
type='
SFTime'
name='
startTime_Close'/>
<
field accessType='initializeOnly'
type='
SFBool'
name='
isOpen'
value='FALSE'/>
<![CDATA[ecmascript:
function touchedDoor (val,et) {
isOpen = !isOpen;
if (isOpen) startTime_Open = et;
else startTime_Close = et;
}
]]>
</
Script>
<
ROUTE fromNode='
ThS'
fromField='touchTime'
toNode='
Sc'
toField='touchedDoor'/>
<
ROUTE fromNode='
Sc'
fromField='startTime_Open'
toNode='
Open-TiS'
toField='startTime'/>
<
ROUTE fromNode='
Sc'
fromField='startTime_Close'
toNode='
Close-TiS'
toField='startTime'/>