From: doug s. <hig...@ho...> - 2012-12-12 16:44:31
|
John, Thanks for your suggestion about add_parent. -Doug I checked in a change that seemed to work; all the diff is in one spot in OpenGL_Utils.c about L.3080. > > > Now there are 2 more problems I've been able to isolate: > > > > > > 1) Touchsensor-applies-to-siblings rule doesn't work when touchsensor > > > is a Proto, or more specifically when a TouchSensor is the first node > > > in a Proto (a ProtoInstance should be seen as the same type as its > > > first node) > > > > > > - the file parses, but the touchsensor doesn't work (works in Flux) > > > > > > http://dug9.users.sourceforge.net/web3d/tests/DRracer/25_TouchSensor_in_Proto.wrl > > > > > > (vs > > > http://dug9.users.sourceforge.net/web3d/tests/DRracer/25_TouchSensor.wrl > > > that works normally) > > > > > > > Q1. if a ProtoBody has a Touchsensor as its first node, should the rootnode siblings in the Protobody be > a) seen > b) sensitized? > The Cylinder is in the Toucher Proto, following the TouchSensor node and as a sibling to it. > The Box is in the main scene as a sibling to the Toucher ProtoInstance > http://dug9.users.sourceforge.net/web3d/tests/DRracer/TouchsensorProto2.wrl > Cylinder: > Baxxun - seen and sensitized * > Flux/Vivaty - seen, not sensitized * > Cortona - not seen, not sensitized > Cosmo - not seen, not sensitized > Freewrl - not seen, not sensitized > Box: they all showed the Box > freewrl did not sensitize the Box * FIXED - freewrl now sensitizes the box like the others (and cylinder still not seen or sensitized, like a few of the others, and still not sure if that's correct.) > All but freewrl do sensitize the Box which is a sibling to the Toucher {} ProtoInstance in the main scene. > Freewrl doesn't sensitize the Box likely because it doesn't have code to propagate sensor sibling association through the Proto wrapper. > Q2. if there is a touchsensor sibling to a Shape node, and the Shape node is the first node in a protobody, should the Shape be sensitized? > If the Cylinder is moved to the first node in the ProtoBody (so the type-of-proto is Shape instead of TouchSensor) > http://dug9.users.sourceforge.net/web3d/tests/DRracer/TouchsensorProto3.wrl > Cylinder: > Blaxxun - seen, not sensitized > Flux/Vivaty - seen, not sensitized > Cortona - seen, not sensitized > Cosmo - seen, not sensitized > Freewrl - seen and sensitized * STILL SEEN AND SENSITIZED (still not sure if that's correct, it's different than the others) > Box: they all showed the Box, not sensitized |