I've added several new widget classes to VTK. These implement a new widget type that supports n-state buttons. There are also three new concrete button representation types including a 2D overlay button (simple image); a 3D polydata with texture (textures change with button state applied to any user-specified, vtkPolyData); and an arbitrary vtkProp3D button where each button state can be represented via a separate vtkProp3D (including vtkVolumes and vtkImageActors). The 3D buttons also have built in vtkFollower capability (they face the camera if requested). Tests and other stuff were added as well. (Try out Widgets/Testing/Cxx/TestButtonWidget.cxx to see them in action.)<div>
<br></div><div>vtkButtonWidget</div><div>vtkButtonRepresentation</div><div> vtkTexturedButtonRepresentation2D</div><div> vtkTexturedButtonRepresentation</div><div> vtkProp3DButtonRepresentation</div><div><br></div><div>
I also fixed the picking bug in vtkFollower. Since I found vtkFollower too limited (only supports vtkActor-stuff since it is a subclass of vtkActor) I added a more general vtkProp3DFollower class so any vtkProp3D can employ camera following behavior (just set the vtkProp3D and the vtkCamera).</div>
<div><br></div><div>Obviously there are all sorts of other things that can be done with the buttons including creating frames, etc. for multiple button arrangements. Maybe someday....</div><div><br></div><div>Comments and suggestions are welcome.</div>
<div><br></div><div>W</div><div><br>-- <br>William J. Schroeder, PhD<br>Kitware, Inc.<br>28 Corporate Drive<br>Clifton Park, NY 12065<br><a href="mailto:will.schroeder@kitware.com">will.schroeder@kitware.com</a><br><a href="http://www.kitware.com">http://www.kitware.com</a><br>
(518) 881-4902<br>
</div>