From: Yair Kurzion (yair++at++polygon.engr.sgi.com)
Date: 09/27/2001 15:06:51
Hi Dirk !
> Each time I change a geoset:
>
> 1st: I get it with getWritable().
> 2nd: I change it.
> 3rd: I recompute the bounding box.
> 4th: I release it with writeComplete().
What process does this happen in ? Where do you call pfDCS::isect ?
You should run the above in the APP process. Running in the CULL process won't
work.
Also, recomputing the bounding box of a pfGeoSet DOES NOT trigger a recompute
for the bounding box of its parent pfGeode.
Following stage 4 above, try calling:
geode -> setBound (0, PFBOUND_DYNAMIC);
This should propagate up to the bounding box of the DCS when you call `isect'.
For a sanity check, please verify that the bounding box of your DCS changes
after you call `geode -> setBound'. Try something like:
pfSphere sphere;
dcs -> getBound(&sphere);
pfNotify (PFNFY_WARN, PFNFY_PRINT, "dcs sphere: C=(%f, %f, %f), R=%f",
sphere.center[0], sphere.center[1], sphere.center[2], sphere.radius);
-yair
--
\_________ \_____ \__ \__ \_____
\_________ \_____ \__ \__ \_____ Yair Kurzion
\__ \__ \____\__ \__ yair++at++sgi.com
\__ \__ \__ (650) 933-6502
\__ \__ \__
\__ \__ \__
This archive was generated by hypermail 2b29 : Thu Sep 27 2001 - 15:06:53 PDT