Carsten Neumann wrote:
>       Hello Antonio,
> 
> Antonio Bleile wrote:
>>  > You can override an Action's callbacks on a per instance basis
>>  > (registerEnterFunction, registerLeaveFunction), so you can create a
>>  > regular RenderAction and register a different callback for geometry.
>>  > That callback would basically do the same as the regular one, but only
>>  > after testing that the node has no children.
>>
>> OK, and here's the problem:
>>
>> Action::ResultE myTraverse(CNodePtr &  Cnode, Action *action)
>> {
>>      OSG::NodePtr node = action->getActNode();
>>
>>      if( node->getNChildren() )
>>          return Action::Skip;
>>      else
>>          return Action::Continue;
>> }
> 
> ah, well it is a bit more work than that ;)
> You need to duplicate and modify the callback for Geometry, which is 
> MaterialDrawable::renderActionHandler (see below). In there you check 
> the node for children and if it has any you just return Action::Continue 
>   otherwise do the usual thing:

Mh... Not sure if I got it. That means I have to hardcode that into
a custom OpenSG version? Don't see how I could register such a
callback at run-time. Or derive a custom Geometry node...Mh... Ok, if
it's not possible in a more elegant/dynamic way I'll have to do the
whole thing a bit different.

Thank you,

   Toni

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to