<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16525" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=453032321-15092007><FONT face=Arial size=2>Hi Robert -- Here's 
an interesting aspect of OSG's design I've just recently stumbled 
across.</FONT></SPAN></DIV>
<DIV><SPAN class=453032321-15092007><FONT face=Arial 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=453032321-15092007><FONT face=Arial 
size=2>osgDB::ReaderWriter::writeNode's first param is a const osg::Node&. I 
can understand that writing a file is inherently a const operation as far as the 
scene graph is concerned. However, the obvious thing to do within writeNode is 
to traverse the node with a NodeVisitor, which requires calling Node::accept(), 
which requires the node to be non-const.</FONT></SPAN></DIV>
<DIV><SPAN class=453032321-15092007><FONT face=Arial 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=453032321-15092007><FONT face=Arial size=2>So it seems like the 
nature of the design is to require writeNode to cast away 
const</FONT></SPAN><SPAN class=453032321-15092007><FONT face=Arial size=2>, but 
I wanted to check: Did you intend implementations of writeNode to do something 
other than use a NodeVisitor?</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV align=left><FONT face=Arial size=2>Paul Martz</FONT></DIV>
<DIV align=left><FONT face=Arial><STRONG>Skew Matrix Software 
LLC</STRONG></FONT></DIV>
<DIV align=left><FONT face=Arial size=2><A 
href="http://www.skew-matrix.com/">http://www.skew-matrix.com</A></FONT></DIV>
<DIV align=left><FONT face=Arial size=2>303 859 9466</FONT></DIV>
<DIV> </DIV></BODY></HTML>