[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