<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>RE: [vtkusers] ANNOUNCE VTK version 4.0</TITLE>
</HEAD>
<BODY>
<P><FONT SIZE=2>Hi all,</FONT>
</P>
<P><FONT SIZE=2>I have just upgrade from VTK3.2 to the new release VTK 4.0. </FONT>
<BR><FONT SIZE=2>Trying to run my vtk-tcl files I got the following error message:</FONT>
</P>
<P><FONT SIZE=2>"invalid command name "vtkRenderer while executing "vtkRenderer renderizador" ...</FONT>
</P>
<P><FONT SIZE=2>I am using Windows 98. Before installing this new VTK release I removed completely all VTK 3.2 files. I am running ActiveStateActiveTcl 8.3.4.2 without any trouble for other Tcl/Tk applications.</FONT></P>
<P><FONT SIZE=2>What can I do to get VTK4.0 running?</FONT>
</P>
<P><FONT SIZE=2>Thanks, Marcio.</FONT>
</P>
<P><FONT SIZE=2>-----Original Message-----</FONT>
<BR><FONT SIZE=2>From: Ken Martin</FONT>
<BR><FONT SIZE=2>To: Vtkusers@Public. Kitware. Com</FONT>
<BR><FONT SIZE=2>Sent: 3/27/02 11:13 AM</FONT>
<BR><FONT SIZE=2>Subject: [vtkusers] ANNOUNCE VTK version 4.0</FONT>
</P>
<P><FONT SIZE=2>We are happy to announce the availability of VTK version 4.0. VTK 4.0</FONT>
<BR><FONT SIZE=2>can be obtained source code or precompiled windows binaries from</FONT>
<BR><FONT SIZE=2><A HREF="http://public.kitware.com/VTK/files/release/4.0" TARGET="_blank">http://public.kitware.com/VTK/files/release/4.0</A> Version 4.0 is a major</FONT>
<BR><FONT SIZE=2>release and contains a number of new features. A brief summary of the</FONT>
<BR><FONT SIZE=2>changes are included below:</FONT>
</P>
<BR>
<P><FONT SIZE=2>* Changes to vtkDataSetAttributes, vtkFieldData and vtkDataArray: All</FONT>
<BR><FONT SIZE=2>attributes (scalars, vectors...) are now stored in the field data as</FONT>
<BR><FONT SIZE=2>vtkDataArray's. vtkDataSetAttributes became a sub-class of</FONT>
<BR><FONT SIZE=2>vtkFieldData. For backwards compatibility, the interface which allows</FONT>
<BR><FONT SIZE=2>setting/getting the attributes the old way (by passing in a sub-class</FONT>
<BR><FONT SIZE=2>of vtkAttributeData such as vtkScalars) is still supported but it will</FONT>
<BR><FONT SIZE=2>be removed in the future. Therefore, the developers should use the new</FONT>
<BR><FONT SIZE=2>interface which requires passing in a vtkDataArray to set an</FONT>
<BR><FONT SIZE=2>attribute. vtkAttributeData and it's sub-classes (vtkScalars,</FONT>
<BR><FONT SIZE=2>vtkVectors...) will be deprectated in the near future; developers</FONT>
<BR><FONT SIZE=2>should use vtkDataArray and it's sub-classes instead. We are in the</FONT>
<BR><FONT SIZE=2>process of removing the use of these classes from vtk filters.</FONT>
</P>
<P><FONT SIZE=2>* Subclasses of vtkAttributeData (vtkScalars, vtkVectors, vtkNormals,</FONT>
<BR><FONT SIZE=2>vtkTCoords, vtkTensors) were removed. As of VTK 4.0, vtkDataArray and</FONT>
<BR><FONT SIZE=2>it's sub-classes should be used to represent attributes and fields.</FONT>
<BR><FONT SIZE=2>Detailed description of the changes and utilities for upgrading from</FONT>
<BR><FONT SIZE=2>3.2 to 4.0 can be found in the package</FONT>
<BR><FONT SIZE=2><A HREF="http://public.kitware.com/VTK/files/misc/Upgrading.zip" TARGET="_blank">http://public.kitware.com/VTK/files/misc/Upgrading.zip</A></FONT>
</P>
<BR>
<P><FONT SIZE=2>* Added special methods to data arrays to replace methods like</FONT>
</P>
<P><FONT SIZE=2>tc SetTCoord i x y 0</FONT>
<BR><FONT SIZE=2>and</FONT>
<BR><FONT SIZE=2>vc SetVector i vx vy vz</FONT>
<BR><FONT SIZE=2>in interpreted languages (Tcl, Python, Java). Use:</FONT>
<BR><FONT SIZE=2>tc SetTuple2 i x y</FONT>
<BR><FONT SIZE=2>or</FONT>
<BR><FONT SIZE=2>vc SetTuple3 i vx vy vz</FONT>
<BR><FONT SIZE=2>(examples in Tcl)</FONT>
</P>
<P><FONT SIZE=2>* Improved support for parallel visualization:</FONT>
<BR><FONT SIZE=2>vtkMultiProcessController and it's sub-classes have been restructured</FONT>
<BR><FONT SIZE=2>and mostly re-written. The functionality of vtkMultiProcessController</FONT>
<BR><FONT SIZE=2>have been re-distributed between vtkMultiProcessController and</FONT>
<BR><FONT SIZE=2>vtkCommunicator. vtkCommunicator is responsible of sending/receiving</FONT>
<BR><FONT SIZE=2>messages whereas vtkMultiProcessController (and it's subclasses) is</FONT>
<BR><FONT SIZE=2>responsible of program flow/control (for example processing rmi's).</FONT>
<BR><FONT SIZE=2>New classes have been added to the Parallel directory. These include</FONT>
<BR><FONT SIZE=2>vtkCommunicator, vtkMPIGroup, vtkMPICommunicator,</FONT>
<BR><FONT SIZE=2>vtkSharedMemoryCommunicator, vtkMPIEventLog... There is now a tcl</FONT>
<BR><FONT SIZE=2>interpreter which supports parallel scripts. It is called pvtk and can</FONT>
<BR><FONT SIZE=2>be build on Windows and Unix. Examples for both Tcl and C++ can be</FONT>
<BR><FONT SIZE=2>found in the examples directories.</FONT>
</P>
<P><FONT SIZE=2>* vtkSocketCommunicator and vtkSocketController have been added. These</FONT>
<BR><FONT SIZE=2>support message passing via BSD sockets. Best used together with</FONT>
<BR><FONT SIZE=2>input-output ports.</FONT>
</P>
<P><FONT SIZE=2>* Since it was causing very long compile times (it essentially</FONT>
<BR><FONT SIZE=2>includes every vtk header file) and it was hard to maintain (you had</FONT>
<BR><FONT SIZE=2>to add a line whenever you added a class to VTK) vtk.h was removed.</FONT>
<BR><FONT SIZE=2>You will have to identify the header files needed by your application</FONT>
<BR><FONT SIZE=2>and include them one by one.</FONT>
</P>
<P><FONT SIZE=2>* vtkIterativeClosestPointTransform has been added. This class is an</FONT>
<BR><FONT SIZE=2>implementation of the ICP algorithm. It matches two surfaces using the</FONT>
<BR><FONT SIZE=2>iterative closest point (ICP) algorithm. The core of the algorithm is</FONT>
<BR><FONT SIZE=2>to match each vertex in one surface with the closest surface point on</FONT>
<BR><FONT SIZE=2>the other, then apply the transformation that modify one surface to</FONT>
<BR><FONT SIZE=2>best match the other (in a least square sense).</FONT>
</P>
<P><FONT SIZE=2>* The SetFileName, SaveImageAsPPM and related methods in</FONT>
<BR><FONT SIZE=2>vtkRenderWindow have been removed. vtkWindowToImageFilter combined</FONT>
<BR><FONT SIZE=2>with any of the image writers provides greater functionality.</FONT>
</P>
<P><FONT SIZE=2>* Support for reading and writing PGM and JPEG images has been</FONT>
<BR><FONT SIZE=2>included.</FONT>
</P>
<P><FONT SIZE=2>* Methods with parameters of the form "type param[n]" are wrapped.</FONT>
<BR><FONT SIZE=2>Previously, these methods were only wrapped if the array was declared</FONT>
<BR><FONT SIZE=2>'const'. The python wrappers will allow values to be returned in the</FONT>
<BR><FONT SIZE=2>array.</FONT>
</P>
<P><FONT SIZE=2>* The directory structure was completely reorganized. There are now</FONT>
<BR><FONT SIZE=2>subdirectories for Common (core common classes) Filtering</FONT>
<BR><FONT SIZE=2>(superclasses for filtering operations) Imaging (filters and sources</FONT>
<BR><FONT SIZE=2>that produce images or structured points) Graphics (filters or sources</FONT>
<BR><FONT SIZE=2>that produce data types other than ImageData and StructuredPoints) IO</FONT>
<BR><FONT SIZE=2>(file IO classes that do not require Rendering support) Rendering (all</FONT>
<BR><FONT SIZE=2>actors mappers annotation and rendering classes) Hybrid (typically</FONT>
<BR><FONT SIZE=2>filters and sources that require support from Rendering or both</FONT>
<BR><FONT SIZE=2>Imagign and Graphics) Parallel (parallel visualization support</FONT>
<BR><FONT SIZE=2>classes) Patented (patented classes) Examples (documented examples)</FONT>
<BR><FONT SIZE=2>Wrapping (support for the language wrappers). In many directories you</FONT>
<BR><FONT SIZE=2>will see a Testing subdirectory. The Testing subdirectories contain</FONT>
<BR><FONT SIZE=2>tests used to validate VTKs operation. Some tests may be useful as</FONT>
<BR><FONT SIZE=2>examples but they are not well documented.</FONT>
</P>
<P><FONT SIZE=2>* The Build process for VTK now uses CMake (found at www.cmake.org)</FONT>
<BR><FONT SIZE=2>This replaces pcmaker on windows and configure on UNIX. This resolves</FONT>
<BR><FONT SIZE=2>some longstanding problems and limitation we were having with pcmaker</FONT>
<BR><FONT SIZE=2>and configure, and unifies the build process into one place.</FONT>
</P>
<BR>
<P><FONT SIZE=2>--------------------------</FONT>
<BR><FONT SIZE=2>Ken Martin, PhD</FONT>
<BR><FONT SIZE=2>Kitware Inc.</FONT>
<BR><FONT SIZE=2>518 371-3971 x101</FONT>
<BR><FONT SIZE=2>469 Clifton Corporate Pkwy.</FONT>
<BR><FONT SIZE=2>Clifton Park, NY 12065</FONT>
</P>
<P><FONT SIZE=2>_______________________________________________</FONT>
<BR><FONT SIZE=2>This is the private VTK discussion list. </FONT>
<BR><FONT SIZE=2>Please keep messages on-topic. Check the FAQ at:</FONT>
<BR><FONT SIZE=2><<A HREF="http://public.kitware.com/cgi-bin/vtkfaq" TARGET="_blank">http://public.kitware.com/cgi-bin/vtkfaq</A>></FONT>
<BR><FONT SIZE=2>Follow this link to subscribe/unsubscribe:</FONT>
<BR><FONT SIZE=2><A HREF="http://public.kitware.com/mailman/listinfo/vtkusers" TARGET="_blank">http://public.kitware.com/mailman/listinfo/vtkusers</A></FONT>
</P>
</BODY>
</HTML>