Yair Kurzion (yair++at++polygon.engr.sgi.com)
Wed, 20 Jan 1999 15:35:18 -0800 (PST)
> Does anyone know the correct way to go about increasing the size of a
> pfFlux* list of coordinates in a GeoSet?
>
> Obviously pfFlux doesn't support this directly, but it seems like it
> should be possible. I assume I can't just allocate a new pfFlux and
> attach it to the GeoSet since the cull and draw might be accessing the
> same geoset.
>
> This seems like a fairly common situation. Anybody have a snippet of
> wisdom (or code) to share?
There is no direct way to change the buffer size of a Flux. However, instead
of generating Fluxed GeoSet attributes, you can generate a Fluxed GeoSet with
normal (not Fluxed) attributes.
A Fluxed GeoSet is a multibuffer version of a GeoSet. Each copy of the GeoSet
has separate pointers to attributes, so you can modify/realloc them in an
MP-safe way. Of course, you can attach Fluxed GeoSets to a Geode.
There are two examples for using fluxed GeoSets:
1. pguide/libpf/C++/fluxed_gset.C : Simple example. Changes the number of
primitives in a Fluxed GeoSet.
2. sample/apps/C/asdfly/pfuLightPoints.c in routine pfuNewGSetShadowNode.
A bit more complex. This code generates an empty Fluxed GeoSet (No
attributes). It hands this GeoSet to an ASD node for storing ASD query
results. Effectively, this GeoSet is a container for variable size geometry.
This routine also demonstrates how to use pfFluxCallDataFunc.
-yair
--
\_________ \_____ \__ \__ \_____ Yair Kurzion
\_________ \_____ \__ \__ \_____ yair++at++sgi.com
\__ \__ \____\__ \__ http://reality.sgi.com/yair
\__ \__ \__ Work: (650) 933-6502
\__ \__ \__ Home: (408) 226-9771
\__ \__ \__
This archive was generated by hypermail 2.0b2 on Wed Jan 20 1999 - 15:35:20 PST