Package: mayavi
Version: 1.5-4
Severity: normal

Hi!

I'm unable to read any block, except the first, in multiblock
PLOT3D files.
I can reproduce this bug with any multiblock PLOT3D file having more
than one block.  For instance we can consider the test case I prepared
for bug #400406 (see [1] and [2]).

[1] http://bugs.debian.org/400406
[2] 
http://bugs.debian.org/cgi-bin/bugreport.cgi/vtk-multiblockPLOT3D-bug-test.tar.gz?bug=400406;msg=5;att=1

Just to recap: that test case is based on a little PLOT3D grid ('tiny.xyz')
and solution ('tiny.q'), generated by a simple Fortran program
('gen_tinyplot3d.f') on a little-endian machine.
The PLOT3D grid is composed of 5 blocks, each one of which consists
of a single cubic cell.

Steps to reproduce the bug:

  $ tar xvzf vtk-multiblockPLOT3D-bug-test.tar.gz
  $ ls
  gen_tinyplot3d.f  tiny.q    vtk-multiblockPLOT3D-bug-test.tar.gz
  list_plot3d.py    tiny.xyz
  $ mayavi

  The main window shows up.

  * from menus, select File -> Open -> PLOT3D file -> Multi-block file
  * as XYZ Co-ordinate file, select `tiny.xyz'
  * as Q Solution file, select `tiny.q'
  * in the configuration dialog window, select, say, density and momentum,
    and then click on the More Options button
  * in the detailed dialog window, check BinaryFileOn, DebugOn,
    DoNotReduceNumberOfOutputsOn, HasByteCountOn, MultiGridOn; *un*check
    the other checkboxes (that is to say: AbortExecuteOn, ForceReadOn,
    IBlankingOn, ReleaseDataFlagOn, TwoDimensionalGeometryOn)
  * select SetByteOrderToLittleEndian and click on the Ok button
  * back in the configuration dialog window, click on the Re-read data
    file button
  
  Everything seems to work so far. Debug messages on stderr seem fine
  and correctly show that there are 5 blocks.

  * click on the Set Block Number slider and try to select a block
    other than the first

  The expected behavior is a slider that actually moves and allows the
  user to select block 1 through 5.
  Instead, the slider does not move and no block but the first can be
  selected.

Now the good news: I prepared a patch (against MayaVi version 1.5)
that slightly changes the GUI in order to fix this bug.
Please consider applying the attached patch to the Debian package
and forwarding it to upstream.


Finally the legal details.
I hereby release my patch under the same license as the rest of
MayaVi.
In other words, the attached patch can be distributed and modified
under the following terms:

| Copyright (c) 2001-2002, Prabhu Ramachandran.
| Copyright (c) 2006, Francesco Poli.
| All rights reserved.
| 
| Redistribution and use in source and binary forms, with or without
| modification, are permitted provided that the following conditions
| are met:
| 
| 1. Redistributions of source code must retain the above copyright
|    notice, this list of conditions and the following disclaimer.
| 2. Redistributions in binary form must reproduce the above copyright
|    notice, this list of conditions and the following disclaimer in the
|    documentation and/or other materials provided with the distribution.
| 3. Neither the name of the author nor the names of any contributors
|    may be used to endorse or promote products derived from this software
|    without specific prior written permission.
| 
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
| ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
| A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR
| CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
| EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
| PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
| PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
| LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
| NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Thanks for your attention!



-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.4.33.4
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages mayavi depends on:
ii  libvtk5-dev                5.0.2-4~frx.2 VTK header files for building C++ 
ii  python                     2.3.5-2       An interactive high-level object-o
ii  python-tk                  2.3.5-2       Tkinter - Writing Tk applications 
ii  python-vtk                 5.0.2-4~frx.2 Python bindings for VTK
ii  python2.3                  2.3.5-3sarge2 An interactive high-level object-o

-- no debconf information

Attachment: MayaVi_version_1.5_PLOT3Dmultiblockbugfix.diff.gz
Description: Binary data

Reply via email to