[vtkusers] Edges and Solids

Sean McInerney seanm at nmr.mgh.harvard.edu
Wed Jul 28 17:15:48 EDT 2004


>>> are there safe, comfortable ways to implement control over different 
>>> actors (rotation etc) by one action of the picker?
>>
>> Yes ... Try vtkAssembly.
> 
> ieh.... it is dramatically slow if number of objects is over 10-20 (eats 
> 35% of CPU).
> I have 180-200 objects...
> 

As long as you do not need to select and drag the actors around as a 
unit, you can try vtkPropAssembly. This should function similarly for 
picking, but without the shared matrix stack evaluation done by 
vtkAssembly. Note that vtkAbstractPicker subclasses implement a number 
of methods that will be of use: GetProp(), GetAssemblyPath(), and 
GetPropAssembly().

I am assuming that you want to maintain a separate vtkProperty and/or 
vtkTexture for each Actor. If this is not important, consider using 
vtkAppendPolyData to combine all or similar PolyData sources for use 
with a single Mapper and Actor.

Also consider the memory size of all those Actors that you have 
displayed. The number of points, normals, and cells may be exceeding the 
capacity of your video card ... once system memory is required, you will 
certainly see a dramatic slowdown compared to using only the GPU and its 
dedicated resources.

-Sean



More information about the vtkusers mailing list