Old, but still relevant, write-up on ref_ptr:

http://andesengineering.com/OSG_ProducerArticles/RefPointers/RefPointers.html

<http://andesengineering.com/OSG_ProducerArticles/RefPointers/RefPointers.html>
Glenn Waldron / Pelican Mapping / 703.652.4791 / @glennwaldron


2011/3/16 Sergey Polischuk <[email protected]>

> Hi, Yasser
>
> osg ref_ptr's are intrusive, and object's reference count get's incremented
> every time you create ref_ptr to this object, and it decrease every time
> this ref_ptr destroyed. Inside osg all objects that keep pointers on other
> objects use ref_ptr's for that purpose, so if you pass simple pointer to
> some osg object it'll be refcounted correctly. You can not use delete on
> objects pointer that can be wrapped in ref_ptr because they have protected
> destructor and free when there are no more references to them. If you get
> pointer and need to be sure that it will be valid over time, you should
> create ref_ptr out of this pointer (thus increasing ref count) and keep it
> instead. In general if you create osg objects that can be wrapped into
> ref_ptr's you should make ref_ptr out of object's pointer at some point
> (though this can happen inside osg code if you pass pointer to some osg
> object which keeps it with ref_ptr) or they will not be destructed.
>
> Cheers,
> Sergey.
>
> 16.03.2011, 23:59, "Yasser Asmi" <[email protected]>:
> > I am new to OSG and while I understand the general reference counting
> rules, I am having some trouble finding all the ref_ptr rules we should be
> following.  For instance most examples in OSG do not use ref_ptr on objects
> and also do not free them.  Sometime, these objects (Geometry, Vec3Array
> etc) are passed to methods.  It is not clear if the methods are refcounting
> etc.  Stepping through the source is a way to find out but I am looking for
> general guidance.  Is there a resource that talks about it?
> >
> > Thank you!
> >
> > Cheers,
> > Yasser
> >
> > ------------------
> > Read this topic online here:
> > http://forum.openscenegraph.org/viewtopic.php?p=37666#37666
> >
> > _______________________________________________
> > osg-users mailing list
> > [email protected]
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to