<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
I have been doing a lot of thinking about V4 and wish to document
these ideas and open them up for discussion. These are not presented
in any particular order.<br>
<br>
<br>
1) All nodes that have (potentially) large attribute values
(IndexedFaceSet's coordIndex)<br>
should (optionally) allow those fields to be expressed a children of
the node. For example<br>
<br>
<blockquote><IndexedFaceSet ... coordIndex='...'><br>
<Coordinate>...</Coordinate><br>
</IndexedFaceSet><br>
</blockquote>
<br>
would become<br>
<br>
<blockquote><IndexedFaceSet ... ><br>
<CoordIndex>...</CoordIndex><br>
<Coordinate>...</Coordinate><br>
</IndexedFaceSet><br>
</blockquote>
<br>
<br>
This allows the transfer of large data in a node rather than an
attribute. It does make it easier to deal with large quantities
(> 65K characters). There are a number of nodes, including
geometry, interpolator, Metadata, and PixelTexture that would all
benefit.<br>
<br>
<br>
<br>
2) TimeSensor should take any number of any kind of interpolators as
children. Each interpolator would automatically have the
TimeSensor's <i>fraction_changed</i> field automatically ROUTEd to
the interpolator's <i>set_fraction</i> input event field.<br>
<br>
<br>
3) Standard Practice: Put ROUTE statements as children of the
interpolator node that provides the source data. Combining (2) and
(3) gives:<br>
<br>
<blockquote><TimeSensor ...><br>
<PositionInterpolator DEF='Mover' ...><br>
<ROUTE toNode='MoverTarget' toField='translation' /><br>
</PositionInterpolator><br>
</TimeSensor><br>
</blockquote>
<br>
<br>
This would replace:<br>
<blockquote><TimeSensor DEF='Timer' ...></TimeSensor><br>
<PositionInterpolator DEF='Mover'
...></PositionInterpolator><br>
<ROUTE fromNode='Timer' fromField='fraction_changed'
toNode='Mover' toField='set_fraction' /><br>
<ROUTE fromNode='Mover' fromField='value_changed'
toNode='MoverTarget' toField='translation' /><br>
</blockquote>
<br>
<br>
To preserve the past, this would be an optional construct. This
collects the information involved in keyframe animation in one node
(TimeSensor).<br>
<br>
<br>
<div class="moz-signature">-- <br>
<font class="tahoma,arial,helvetica san serif" color="#333366">
<font size="+1"><b>Leonard Daly</b></font><br>
3D Systems & Cloud Consultant<br>
X3D Co-Chair on Sabbatical<br>
LA ACM SIGGRAPH Chair<br>
President, Daly Realism - <i>Creating the Future</i>
</font></div>
</body>
</html>