<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>1) Since I intend on using the<b> 'vtkInteractorStyleTrackballActor' </b>to interact with actors individually, I know that I will need to manually do the mathematics to allow the user to interact with the actor. I intend on using matrices, however I am not sure how to incorporate it into my class structure. At the moment, I have an <b>Actor</b> class, which basically stores a <b>vtkActor's</b> properties such as opacity, lighting and scale. The thing is, I am not sure if I should store the functions that the <b>vtkTransform</b> and <b>vtkMatrix4x4</b> offer in the <b>Actor </b>class. Should they be part of my <b>Actor</b> class, or should they be somewhere else? Because, ideally I want to apply transformations on each actor, but I am not sure if I should store each transformation in the <b>Actor </b>class.</div></div></blockquote><div><br></div><div>It is not clear why you are trying to duplicate the VTK class structure/functionality? It sounds like all you need is to have a contain of these objects and use their functions (and NOT manually do the mathematics).<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>2) In terms of data structure for handling multiple <b>vtkActors</b> and <b>vtkAssembly's</b>, I am not sure if I should opt for the <b>std::vector </b> data structure or use a <b>linked list</b>. Ideally, I want the user to load a few stl/obj files and then my software to store each stl/obj file into memory. I can't really use an array, because it is unknown how many <b>vtkActors</b>, the user wants on the screen. What is the best sort of way of storing each <b>vtkActor</b> into memory? As for <b>vtkAssemblys</b>, some actors can be grouped into parts, so there will definitely be more than one <b>vtkAssembly</b> but again, I am not sure which data structure to go for. Should I go for a <b>std::vector </b>or a <b>linked list?</b></div></div></blockquote><div><br></div><div>The container you choose should only matter for the speed of insertions and removals.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><b></b></div><div>3) If I understand <b>vtkPolyDatas </b>correctly, they are basically the geometry and mesh behind a physical <b>vtkActor</b>? Should I have a separate class to handle <b>vtkPolyData</b>, because at the moment I have the <b>vtkPolyDataMapper</b> in my Actor class.</div></div></blockquote><div><br></div><div>Again, it's still not clear why you are duplicating the hierarchy.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>4) What is the difference between <b>vtkActorCollection</b> and <b>vtkAssembly</b>? Ideally, I want to 'group' some <b>vtkActors</b>, so that they can be interacted with and rotated in unison, but again I am not too sure which one to go for. After, you recommended the <b>vtkAssembly</b>, I did some research into it and it seems to be the more appropriate one, but now the <b>vtkActorCollection</b> is confusing me.</div></div></blockquote><div><br></div><div>I'm not too sure, but after a quick look it looks like vtkAssembly allows hierarchy to be encoded, whereas vtkActorCollection is more like your #2 above where it is simply a flat container to store a collection of actors.<br><br></div><div>David<br></div></div><br></div></div>