[vtkusers] Bug when using VolumePro
Lisa Sobierajski Avila
lisa.avila at kitware.com
Thu Jul 20 23:10:53 EDT 2000
Hello Damini,
The problem you are experiencing has nothing to do with the VolumePro
support in VTK. It is due to an underflow (when there is not enough
precision to represent the number anymore) exception probably occurring
somewhere in the transform code. I don't know if underflows cause
exceptions on all architectures - maybe there truly is a problem in that
test and most architectures don't report underflows?
Is that the only test that you have a problem with?
Since you say that you need to use both vtkTransformPolyDataFilter and
vtkVolumeProMapper in the same application - do you know that you cannot
intermix geometry with a volume rendered with VolumePro? You can have
geometry in the same scene as long as it doesn't intersect the volume at
all. For example, a bounding box is OK since it is outside of the volume,
but a plane cutting through the volume would not be OK.
John - you can always create query a vtkVersion:
% vtkVersion v
v
% v GetVTKSourceVersion
vtk version 3.1.2, vtk source $Revision: 1.576 $, $Date: 2000/07/18
20:09:37 $ (GMT)
Lisa
At 07:30 PM 7/20/00 -0400, John Anast-JM wrote:
>Damini,
>
>I tried your code on a Dell 610/VolPro with vtk 3.1 (I believe) and vli
>1.2 and
>did not get your error message when I uncommented the
>vtkTransformPolyDataFilter
>. Perhaps you are using an older version of vli
>
>Is there a way to tell exactly which version of vtkdll I have....someone else
>compiled it for me since I only have VC++ 5.0 (not the required VC++ 6.0
>for vli
>1.2, stupid corporate policies). I tried QuickView and Properties but
>didn't see
>the version number in either.
>
>...john
>
>
>
> Internet Mail Message
> Received from host: public.kitware.com
> [208.136.18.25]
>
>
>
>Envelope Sender: vtkusers-admin at public.kitware.com
>
>From: ddey <ddey at irus.rri.on.ca> on 07/20/2000 06:21 PM
>
>To: vtkusers at public.kitware.com
>cc: (bcc: John Anast-JM/PGI)
>Subject: [vtkusers] Bug when using VolumePro
>
>
>
>
>
>Hi,
>
> I compiled vtk 3.1.2 official release with the VolumePro option on
>SGI Visual
>PC running Windows NT 4.0. The volume pro board seems to work fine with
>the vtkVolumeProVG500Mapper. But the example
>ThinPlateTransform.tcl crashes on me with the following enlightening
>error:
>
>The exception Floating point underflow (Ox.c0000093) occurred in the
>application
>at location 0x01b0cb8b.
>
>If I take the vtkTransformPolyDataFilter step (marked with * , see
>below) out
>of the pipeline, it does not crash. I need to use both
>vtkTransformPolyDataFilter
>and VolumePro together.
>
>Has anyone seen/ know how to fix this bug ?
>
>
> Damini.
>
># ------------------------------------------------------------------
># Test the vtkThinPlateSplineTransform class
>#
>
>catch {load vtktcl}
>if { [catch {set VTK_TCL $env(VTK_TCL)}] != 0} { set VTK_TCL
>"../../examplesTcl" }
>if { [catch {set VTK_DATA $env(VTK_DATA)}] != 0} { set VTK_DATA
>"../../../vtkdata" }
>
># this is a tcl version of the Mace example
># get the interactor ui
>
>source $VTK_TCL/vtkInt.tcl
>source $VTK_TCL/colors.tcl
>
># create a sphere source and actor
>#
>vtkSphereSource original
> original SetThetaResolution 100
> original SetPhiResolution 100
>
>vtkPolyDataNormals normals
> normals SetInput [original GetOutput]
>
>vtkPoints spoints
> spoints SetNumberOfPoints 6
>vtkPoints tpoints
> tpoints SetNumberOfPoints 6
>
>spoints SetPoint 0 0 0 0
>tpoints SetPoint 0 0 0 0
>spoints SetPoint 1 1 0 0
>tpoints SetPoint 1 1 0 0
>spoints SetPoint 2 0 1 0
>tpoints SetPoint 2 0 1 0
>spoints SetPoint 3 1 1 1
>tpoints SetPoint 3 1 1 0.5
>spoints SetPoint 4 -1 1 2
>tpoints SetPoint 4 -1 1 3
>spoints SetPoint 5 0.5 0.5 2
>tpoints SetPoint 5 0.5 0.5 1
>
>vtkThinPlateSplineTransform trans
> trans SetSourceLandmarks spoints
> trans SetTargetLandmarks tpoints
>
># yeah, this is silly -- improves code coverage though
>vtkGeneralTransformConcatenation transconcat
> transconcat Concatenate trans
> transconcat Concatenate [trans GetInverse]
> transconcat Concatenate trans
>
>
> vtkTransformPolyDataFilter warp
> warp SetInput [original GetOutput]
> warp SetTransform transconcat
>
>vtkPolyDataMapper mapper
>
>#****************************
># take warp out of the pipeline
>#****************************
>#mapper SetInput [warp GetOutput]
>
> mapper SetInput [original GetOutput]
>
>vtkProperty backProp
> eval backProp SetDiffuseColor $tomato
>vtkActor actor
> actor SetMapper mapper
> eval [actor GetProperty] SetColor $peacock
> actor SetBackfaceProperty backProp
>
># Create the RenderWindow, Renderer and both Actors
>#
>vtkRenderer ren1
>vtkRenderWindow renWin
> renWin AddRenderer ren1
> renWin SetSize 100 250
>vtkRenderWindowInteractor iren
> iren SetRenderWindow renWin
>
># Add the actors to the renderer, set the background and size
>#
>ren1 AddActor actor
>ren1 SetBackground 1 1 1
>renWin SetSize 200 300
>
># render the image
>#
>iren SetUserMethod {wm deiconify .vtkInteract}
>iren Initialize
>
>set cam1 [ren1 GetActiveCamera]
>$cam1 SetClippingRange 1.87 3.9
>$cam1 SetFocalPoint 0 0 0.254605
>$cam1 SetPosition 0.571764 2.8232 0.537528
>$cam1 ComputeViewPlaneNormal
>$cam1 SetViewUp 0.5188 -0.0194195 -0.854674
>renWin Render
>
>renWin SetFileName "thinPlateTransform.tcl.ppm"
>#renWin SaveImageAsPPM
>
># prevent the tk window from showing up then start the event loop
>wm withdraw .
>
>
>
>
>
>_______________________________________________
>This is the private VTK discussion list.
>Please keep messages on-topic. Check the FAQ at: <
>http://public.kitware.com/cgi-bin/vtkfaq>
>Follow this link to subscribe/unsubscribe:
>http://public.kitware.com/mailman/listinfo/vtkusers
>
>
>
>
>
>
>
>_______________________________________________
>This is the private VTK discussion list.
>Please keep messages on-topic. Check the FAQ at:
><http://public.kitware.com/cgi-bin/vtkfaq>
>Follow this link to subscribe/unsubscribe:
>http://public.kitware.com/mailman/listinfo/vtkusers
More information about the vtkusers
mailing list