Re: pfFlux question

New Message Reply Date view Thread view Subject view Author view

Yair Kurzion (yair++at++polygon.engr.sgi.com)
Wed, 20 Jan 1999 15:35:18 -0800 (PST)


Hi There !

> 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
       \__          \__    \__             

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Wed Jan 20 1999 - 15:35:20 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.