[x3d-public] Validation suggestion on animation events

Anthony Judge anthony.judge at gmail.com
Mon Aug 31 05:20:36 PDT 2015


Many thanks Leonard for your specific suggestions which I have
rewritten into a revision of the file already sent X3D_not_ok.x3d. I
have not sent you the revised file because errors may well be obvious
from the following excerpt. I have added a   Mover in the Z direction

<TimeSensor DEF='Timer' cycleInterval='5' loop='true' />
<PositionInterpolator DEF='MoverX' key='0.00 0.25 0.50 0.75 1.00'
keyValue='2 0 0, -2 0 0, -2 0 0, 2 0 0, 2 0 0' />
<PositionInterpolator DEF='MoverY' key='0.00 0.25 0.50 0.75 1.00'
keyValue='0 -2 0, 0 -2 0, 0 2 0,  0 2 0, 0 -2 0' />
<PositionInterpolator DEF='MoverZ' key='0.00 0.25 0.50 0.75 1.00'
keyValue='0 0 -2, 0 0 -2, 0 0 2,  0 0 2, 0 0 -2' />
<ROUTE fromNode='Timer' fromField='fraction_changed' toNode='MoverX'
toField='set_fraction' />
<ROUTE fromNode='Timer' fromField='fraction_changed' toNode='MoverY'
toField='set_fraction' />
<ROUTE fromNode='Timer' fromField='fraction_changed' toNode='MoverZ'
toField='set_fraction' />

The above precedes my mods to the specific transforms, of which the
following are the first few.

<!-- 2832 > 2731 #1 -->
<PositionInterpolator DEF='CYL2' key='0 1' keyValue='0.012911673
-0.0029703318 0.01656701 -0.016828164 -0.0026736213 0.012635848 '/>
<ROUTE fromNode='MoverX' fromField='fraction_changed' toNode='CYL2'
toField='set_fraction'/>
<ROUTE fromNode='CYL2' fromField='value_changed' toNode='CY2832'
toField='set_translation'/>
<!-- 2832 > 2529 #2 -->
<PositionInterpolator DEF='CYL4' key='0 1' keyValue='0.012911673
-0.0029703318 0.01656701 0.016828164 0.0026736213 -0.012635848 '/>
<ROUTE fromNode='MoverZ' fromField='fraction_changed' toNode='CYL4'
toField='set_fraction'/>
<ROUTE fromNode='CYL4' fromField='value_changed' toNode='CY2832'
toField='set_translation'/>
<!-- 2731 > 2832 #1 -->
<PositionInterpolator DEF='CYL6' key='0 1' keyValue='-0.016828164
-0.0026736213 0.012635848 0.012911673 -0.0029703318 0.01656701 '/>
<ROUTE fromNode='MoverX' fromField='fraction_changed' toNode='CYL6'
The outputs of the PositionInterpolators would need to be ROUTEd to the
appropriate Transform node.toField='set_fraction'/>
<ROUTE fromNode='CYL6' fromField='value_changed' toNode='CY2731'
toField='set_translation'/>
<!-- 2731 > 2630 #2 -->
<PositionInterpolator DEF='CYL8' key='0 1' keyValue='-0.016828164
-0.0026736213 0.012635848 -0.012911673 0.0029703318 -0.01656701 '/>
<ROUTE fromNode='MoverZ' fromField='fraction_changed' toNode='CYL8'
toField='set_fraction'/>
<ROUTE fromNode='CYL8' fromField='value_changed' toNode='CY2731'
toField='set_translation'/>


The result is all blocked. This is probably due to my failure to
interpret correctly your sentence:

"The outputs of the PositionInterpolators would need to be ROUTEd to the
appropriate Transform node"

The good thing.about the approach you are suggesting is that it
implies simultaneous movement in the X, ,Y, and Z directions. Rather
than the sequential fudge I was exploring -- which is an alternative
dynamic I may implement as an option.

Less clear from my understanding of your comment is whether
simultaneous orthogonal movement is anyway possible, despite my
experiments. As I said, I had also considered making "shadow" copies
of each cylinder with the same coords  but different DEFs and treating
them as quite independent for the movements in the 3 directions.

Thanks anyway

Tony
-- 
Anthony Judge
<anthony.judge at gmail.com>
www.laetusinpraesens.org



More information about the x3d-public mailing list