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

David Doria daviddoria at gmail.com
Wed Jan 7 08:21:56 EST 2015

On Tue, Jan 6, 2015 at 5:51 PM, Student Life <lifestudent37 at gmail.com>

> 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?*

Yes, that's exactly how it is done in the example I sent.

> 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++?

Sure, you can do whatever you want with your pointers (such as store them
in a std::vector, as John pointed out).

> 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?

You can set the "transform" (vtkActor::SetTransform) of an actor like this:


and you can use vtkTransform::SetMatrix to specify a transform matrix


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?*

Yes, every actor needs a mapper. I don't believe any transforms are applied
in the mapper, but rather directly to the actor as I mentioned above.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150107/8ba3467c/attachment.html>

More information about the vtkusers mailing list