[vtk-developers] vtkPolyData::ComputeBounds() problem

Will Schroeder will.schroeder at kitware.com
Tue Aug 1 07:26:43 EDT 2000


I would suggest the following fix: if a polydata has points and no topology,
use the points to compute the bounds. Otherwise, use the topology/points
as is being done by the new change.

Will


At 09:21 PM 7/31/00 -0400, Lorensen, William E (CRD) wrote:
>They all have input polydata that only contains points (I believe).
>
>-----Original Message-----
>From: Sebastien BARRE [mailto:sebastien at barre.nom.fr]
>Sent: Monday, July 31, 2000 7:27 PM
>To: Lorensen, William E (CRD)
>Cc: vtk-developers at public.kitware.com
>Subject: [vtk-developers] vtkPolyData::ComputeBounds() problem
>
>
>At 15:40 31/07/00 -0400, Lorensen, William E (CRD) a ecrit:
> >I hope you ran all of the regression tests before checking in the changes...
>
>It appears that my implementation of vtkPolyData::ComputeBounds() crashes 
>the following regression tests :
>
>DelMesh.tcl
>Delaunay2D.tcl
>Delaunay2DAlpha.tcl
>Delaunay3D.tcl
>
>capSphere.tcl
>
>financialField.tcl
>financialField2.tcl
>splatFace.tcl
>
>A)  DelMesh.tcl, Delaunay2D.tcl, Delaunay2DAlpha.tcl, Delaunay3D.tcl
>
>=> they all use either vtkDelaunay2D, or vtkDelaunay3D
>=> I do not know why it crashes. May the implementors of theses classes 
>contact me ?
>
>
>B) financialField.tcl, financialField2.tcl, splatFace.tcl
>
>=> they all use either vtkGaussianSplatter
>=> I do not know why it crashes. Same stuff, may the implementors of this 
>class contact me ?
>
>B) capSphere.tcl
>
>=> no problem. As I reported when asking for the CoumputeBounds() change in 
>my first email :
>
> >Rational : suppose that given a polygonal object A, I use a 
> >vtkClipPolyData filter to extract two other polygonal objects B, and C, 
> >which will have different topologies (and most probably different extents).
> >
> >If I query the bounds of B and C using GetBounds(), or use vtkOulineFilter 
> >to display very simple bounding boxes, I'll get ... the bounds of A. This 
> >is no surprise because both A, B and C share the *same* points 
> >(vtkPoints), and as A, B, C are vtkPolyData derived from vtkPointSet, 
> >GetBounds() use vtkPointSet::ComputeBounds(), which computes the bounds by 
> >iterating over the *points*.
>
>capSphere.tcl use vtkClipPolyData. It works correctly with the new 
>vtkPolyData::ComputeBounds(), *but* as only one half of a sphere is 
>displayed, the bounds of these resulting objects is really half of a 
>sphere, not a whole sphere (the bounds of the original object that was 
>cut). Therefore, as the camera position/FOV depends on the bounds of the 
>object, the resulting picture is mathematically different, it appears 
>larger on the screen, but the results is the same.
>
>=> I guess we must create a new valid image, am I right ? (but solve A and 
>B first).
>
>
>_______________________________________________
>vtk-developers mailing list
>vtk-developers at public.kitware.com
>http://public.kitware.com/mailman/listinfo/vtk-developers
>
>_______________________________________________
>vtk-developers mailing list
>vtk-developers at public.kitware.com
>http://public.kitware.com/mailman/listinfo/vtk-developers 





More information about the vtk-developers mailing list