[vtkusers] Best way to store multiple vtkActors using C++

jrpani at louisville.edu jrpani at louisville.edu
Tue Jan 6 18:59:15 EST 2015


It sounds like this example may be of use to you for some of your questions (it was to me).



http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/VectorOfActors



Once your polydata  are in actors, vtkActor has lots of methods for moving them individually (mostly inherited from vtkProp3D).

http://www.vtk.org/doc/nightly/html/classvtkActor.html

Best,

John

________________________________
From: vtkusers [vtkusers-bounces at vtk.org] on behalf of Student Life [lifestudent37 at gmail.com]
Sent: Tuesday, January 06, 2015 5:51 PM
To: David Doria
Cc: vtkusers at vtk.org
Subject: Re: [vtkusers] Best way to store multiple vtkActors using C++

Dear David Doria,

Thank you for your response.

I did some research into the vtkAssembly class and found that the method, 'void AddPart (vtkProp3D *)' adds the part. However, it takes a vtkProp3D object as its parameter, but then vtkActor inherits from vtkProp3D. Would I be right in saying that this function would still work, as my objects are all declared as vtkActor and not vtkProp3D?

The only sort of difficulty/concern I am having is storing more than one vtkActor in a vtkRenderer.

So far, I intend on implementing an actor class in C++, and then another class called 'MultipleActors' which takes instances of the actor class and stores it as a linked list. However, I am not sure if this is a wise thing to do. Is there another way/data structure that I could use for storing multiple actors into memory in C++?

Also, in regards to moving the actor independently, I want to make use of matrices? How do I incorporate this into my actor class/VTK?

Finally, I am slightly confused about how the vtkPolyDataMapper works/is incorporated with vtkActors? Does every vtkActor have its own vtkPolyDataMapper? Are rotations and the mathematics behind the vtkPolyDataMapper?

Thanks

On Tue, Jan 6, 2015 at 1:57 PM, David Doria <daviddoria at gmail.com<mailto:daviddoria at gmail.com>> wrote:
On Tue, Jan 6, 2015 at 5:53 AM, Student Life <lifestudent37 at gmail.com<mailto:lifestudent37 at gmail.com>> wrote:
Hi,

I basically want to store multiple vtkActors within my render window so that the user can interact with them. I also want to group some vtkActors together

I was thinking of using a linkedlist, to store each vtkActor.

I was also thinking of grouping multiple vtkActors so that they can be interacted with and rotated in unison. I was thinking of doing this using a vtkAssembly, but I'm not too sure.

I am new to VTK and would greatly appreciate some help/advice.

Many thanks

Yes, a vtkAssembly is what you want:

http://www.vtk.org/Wiki/VTK/Examples/Cxx/Interaction/Assembly

Couple this with the vtkInteractorStyleTrackballActor:

http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/MoveActor

and you should be in business.

David

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150106/5992a95b/attachment.html>


More information about the vtkusers mailing list