[vtk-developers] Bugs in vtkWedge

Mathieu Malaterre mathieu.malaterre at kitware.com
Fri May 12 15:10:10 EDT 2006


Tadeu,

	Thanks for the bug report, could you add it to the bug tracker at:

	http://vtk.org/Bug

Thanks
Mathieu

Tadeu Manoel wrote:
> There is a bug in vtkWedge::EvaluatePosition, it can tell a point is 
> inside when in reality it is outside.
> 
> E.g, try to create a vtkWedge with the following points:
> (8,0,0), (16,0,0), (16,8,0), (8,0,8), (16,0,8), (16,8,8)
> 
> And try to EvaluatePosition for point (17,6,4). It will return 1, 
> telling it is inside.
> 
> A solution is to change the following code:
> 
>   if ( pcoords[0] >= -0.001 && pcoords[0] <= 1.001 &&
>   pcoords[1] >= -0.001 && pcoords[1] <= 1.001 &&
>   pcoords[2] >= -0.001 && pcoords[2] <= 1.001 )
> 
> To:
> 
>    if ( pcoords[0] >= -0.001 && pcoords[1] >= -0.001 &&
>        (pcoords[0] + pcoords[1]) <= 1.001 &&
>         pcoords[2] >= -0.001 && pcoords[2] <= 1.001 )
> 
> 
> 
> There is another bug in its faces array (and with GetFace and GetFaceArray):
> The faces normals are pointing inside, instead of outside (as of all 
> other 3D cells).
> Instead of:
> 
> static int faces[5][4] = { {0,1,2,-1}, {3,5,4,-1},
>                            {0,3,4,1}, {1,4,5,2}, {2,5,3,0} };
> 
> It should be:
> 
> static int faces[5][4] = { {0,2,1,-1}, {3,4,5,-1},
>                            {0,1,4,3}, {1,2,5,4}, {2,0,3,5} };
> 
> 
> 
> --
> Edson Tadeu M. Manoel
> ESSS - Engineering Simulation and Scientific Software
> http://www.esss.com.br
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> vtk-developers mailing list
> vtk-developers at vtk.org
> http://www.vtk.org/mailman/listinfo/vtk-developers




More information about the vtk-developers mailing list