[vtkusers] Design Gripes

Murad Nayal murad at godel.bioc.columbia.edu
Thu Mar 28 16:08:17 EST 2002


Hello,

First I would like to say I am very appreciative of all the effort and
dedication that went into making such a powerful library as vtk possible
and widely available.

I have been studying vtk4 for a while and I must admit I am finding the
design frustrating. I understand the argument that object oriented
design principles have to yield to performance considerations when
programming visualization applications. I am also aware that the authors
have opted not to use advanced features of C++ like templates when these
features were not uniformly available in C++ compilers several years
ago. but at this point in time does it still make sense to have 5 or 6
implementations of data arrays differing by the underlying data type
rather than use templates. wouldn't be nice to use the notion of a class
Vector3D {float x,y,z; } instead of all the silly float xyz[3] arrays
used everywhere. I highly doubt that performance will degrade by using a
Vector3D class. Also, it would be really nice if call back functions
were function objects that can maintain state. programming with function
pointers like void (*)(void*) and associated argument delete functions
seems clunky at best. I know there are constraints related to the
underlying graphics libraries. but this still could be implemented with
no more than an additional indirect function call overhead. would that
be so bad for performance? etc..

I found the book helpful in getting to know the mindset of the
designers. any plans to provide an updated edition for vtk4? Are there
any other design documents that cover vtk4?

best,


-- 
Murad Nayal M.D. Ph.D.
Department of Biochemistry and Molecular Biophysics
College of Physicians and Surgeons of Columbia University
630 West 168th Street. New York, NY 10032
Tel: 212-305-6884	Fax: 212-305-6926



More information about the vtkusers mailing list