Robert,
Let's graph this out:
object*
/\
/ \
/ \
Drawable::CullCallback NodeCallback*
\_ _/
\/
ClusterCullingCallback
* releaseGLObject() is implemented in this class.
I agree that the implemenation should be removed from NodeCallback since
it is trivial and it'll probably cause ambiguous inheritance problems in
the future (e.g. inheriting from Drawable::DrawCallback). For example
implementing any kind of DrawingCallback that follows this pattern would
fail as ambiguous.
It seems like introducing a Drawable::CallbackBase class might be a good
idea to encapsulate this method, unless you think that it's appropriate
for osg::Object to have a (conceptual) dependency on OpenGL. It looks
like that as long as it's in osg:Object there is going to be the
possibility of dominance warnings and ambiguous errors when people try
to implement callback objects.
ps: I guess I can answer my own question about Drawable, since the
callbacks are not derived from it it's not a potential base for the
release method.
Regards,
Marcus
On Tue, 2006-10-03 at 21:44 +0100, Robert Osfield wrote:
> On 10/3/06, Robert Osfield <[EMAIL PROTECTED]> wrote:
> So it should be safe to strip it from the other callbacks.
> I'll have a tinker.
>
> I have just done this and everything is compiling ok on my linux box,
> and got past any of the likely flash points so I've checked these
> changes in.
>
> Fingers crossed VS2005 will compile with these warnings.
>
> Robert.
> _______________________________________________
> 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/