[x3d-public] Having a bit of difficult ROUTEing to node outside the ProtoDeclare in Sunrize
John Carlson
yottzumm at gmail.com
Fri Jan 31 14:29:23 PST 2025
I'm having a bit of difficult ROUTEing to node outside the ProtoDeclare in
Sunrize
I get this error:
Sunrize reports:
XML Parser: Unknown named or imported node 'clock'.
CGE model viewer reports:
X3D: Route destination node name "clock" not found
I don't really see what I am doing wrong yet.
<TimeSensor DEF="JinBlink_Clock" cycleInterval="0.99" enabled="false"
loop="true" />
<ProtoDeclare name="MenuItem">
<ProtoInterface>
<field name="translation" accessType="inputOutput" type="SFVec3f"/>
<field name="textTranslation" accessType="inputOutput"
type="SFVec3f"/>
<field name="description" accessType="inputOutput" type="SFString"/>
<field name="menuItemString" accessType="inputOutput"
type="MFString"/>
<field name="adapters" accessType="inputOutput" type="MFNode"/>
<field name="clock" accessType="inputOutput" type="SFNode"/>
<field name="size" accessType="initializeOnly" type="SFVec2f"
value="40.0 3.0"/>
<field name="fontSize" accessType="inputOutput" type="SFFloat"
value="2.4"/>
<field name="spacing" accessType="initializeOnly" type="SFFloat"
value="1.2"/>
</ProtoInterface>
<ProtoBody>
<Group>
<!--
<TimeSensor DEF="Main_Clock" cycleInterval="0.99" loop="true"
enabled="true"/>
-->
<Transform>
<IS>
<connect nodeField="translation" protoField="translation"/>
</IS>
<TouchSensor DEF="StartStopAnimationUnit_Sensor">
<IS>
<connect nodeField="description" protoField="description"/>
</IS>
</TouchSensor>
<Transform translation="0 0 0">
<IS>
<connect nodeField="translation"
protoField="textTranslation"/>
</IS>
<Shape>
<Appearance>
<Material diffuseColor="1 1 1"/>
</Appearance>
<Text>
<IS>
<connect nodeField="string"
protoField="menuItemString"/>
</IS>
<FontStyle justify='"MIDDLE" "MIDDLE"'>
<IS>
<connect nodeField="size" protoField="fontSize"/>
<connect nodeField="spacing" protoField="spacing"/>
</IS>
</FontStyle>
</Text>
</Shape>
</Transform>
<Transform translation="0 0 -0.01">
<Shape>
<Appearance>
<Material DEF="MenuBackground_Material" diffuseColor="0 0
1"/>
</Appearance>
<Rectangle2D size="40.0 3.0">
<IS>
<connect nodeField="size" protoField="size"/>
</IS>
</Rectangle2D>
</Shape>
</Transform>
</Transform>
<Script DEF="ScriptToggle">
<field name="inTime" type="SFTime" accessType="inputOnly"/>
<field name="fraction" type="SFFloat" accessType="inputOutput"
value="0"/>
<field name="diffuseColor" type="SFColor" accessType="inputOutput"
value="0 0 1"/>
<field name="checked" type="SFBool" accessType="inputOutput"
value="false"/>
<field name="adapters" type="MFNode" accessType="inputOutput"/>
<![CDATA[ecmascript:
function inTime(value) {
if (value) {
checked = !checked;
}
scene = Browser.currentScene;
var num_adapters = adapters.length;
Browser.print("in", checked, num_adapters, diffuseColor.g,
diffuseColor.b);
for (var adapter = 0; adapter < num_adapters; adapter++) {
Browser.print("adapter", adapter,
adapters[adapter].metadata)
}
if (checked) {
for (var adapter = 0; adapter < num_adapters; adapter++) {
adapters[adapter].set_fraction = 0;
}
diffuseColor.g = 1;
diffuseColor.b = 0;
} else {
for (var adapter = 0; adapter < num_adapters; adapter++) {
adapters[adapter].set_fraction = 0;
}
diffuseColor.g = 0;
diffuseColor.b = 1;
}
}
]]>
<IS>
<connect nodeField="adapters" protoField="adapters"/>
</IS>
</Script>
<ROUTE fromNode="StartStopAnimationUnit_Sensor" fromField="touchTime"
toNode="ScriptToggle" toField="inTime"/>
<ROUTE fromNode="MenuBackground_Material" fromField="diffuseColor"
toNode="ScriptToggle" toField="diffuseColor"/>
<ROUTE fromNode="ScriptToggle" fromField="diffuseColor"
toNode="MenuBackground_Material" toField="diffuseColor" />
<ROUTE fromNode="StartStopAnimationUnit_Sensor" fromField="touchTime"
toNode="clock" toField="startTime"/>
'
</Group>
</ProtoBody>
</ProtoDeclare>
<ProtoInstance name="MenuItem">
<fieldValue name="translation" value="24 63.4 0"/>
<fieldValue name="textTranslation" value="0 0 0"/>
<fieldValue name="description" value="Jin Blink"/>
<fieldValue name="menuItemString" value='"JinBlink"'/>
<fieldValue name="size" value="40.0 3.0"/>
<fieldValue name="fontSize" value="2.4"/>
<fieldValue name="spacing" value="1.2"/>
<fieldValue name="clock">
<TimeSensor USE="JinBlink_Clock"/>
</fieldValue>
<fieldValue name="adapters">
<ScalarInterpolator USE="AnimationAdapter_JinBlink"/>
</fieldValue>
</ProtoInstance>
<ROUTE fromNode="JinBlink_Clock" fromField="fraction_changed"
toNode="AnimationAdapter_JinBlink" toField="set_fraction"/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250131/184b738b/attachment-0001.html>
More information about the x3d-public
mailing list