You can write/compile/run simple examples yourself by creating a simple class which inherits from osg::Referenced, then play with ref pointers and see what happens.
-don
On 9/1/06, Bill Prendergast <[EMAIL PROTECTED]> wrote:
> Just use ref_ptr<> for all your reference to scene graph objects, be it nodes, geometry or state
> and you'll be fine, no memory leaks no dangling pointers. The only thing to watch for is circular
> references, which can be solved used osg::observer_ptr<>.
Understood, and this is what I do.
However, what I was wondering about would still hold true (I think) even if ref_ptr was
used. If the code holding the ref_ptr to the VertexArray didn't know that some other
code had removed the parent object, the VertexArray would still remain referenced
while the Geometry / Geode around it was removed.
What I was wondering is if unreferencing down the children would continue right
past the (still referenced) VertexArray in the Geometry (removing everything except
the VertexArray), or if hitting a Geometry with a still-referenced VertexArray would
perhaps cause the parent Geode to remain.
If just the VertexArray remained, then eventually the ref_ptr holding it referenced
would allow the VertexArray to be removed.
But, if there are ramifications to a Geometry not being able to free its VertexArray
(due to someone holding a still-referenced pointer or ref_ptr), then eventually freeing
up the VertexArray might leave other "stuff" orphaned.
In any case, the inter-relatedness was the issue I was curious about.
Thanks,
Bill Prendergast
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
_______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
