MantisBT - VTK
View Issue Details
0003225VTK(No Category)public2006-05-12 15:282016-08-12 09:54
Edson Tadeu M. Manoel 
Will Schroeder 
normalmajoralways
closedmoved 
 
 
0003225: vtkWedge EvaluatePosition and faces
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} };
No tags attached.
Issue History
2008-02-06 10:21Jeff BaumesAssigned ToMathieu Malaterre => Will Schroeder
2011-06-16 13:11Zack GalbreathCategory => (No Category)
2016-08-12 09:54Kitware RobotNote Added: 0036867
2016-08-12 09:54Kitware RobotStatusexpired => closed
2016-08-12 09:54Kitware RobotResolutionopen => moved

Notes
(0036867)
Kitware Robot   
2016-08-12 09:54   
Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current VTK Issues page linked in the banner at the top of this page.