<div>Hi,<br></div><div>i have problem when i try to probe   vtkUnstructuredGrid
 with vtkProbeFilter. in result i have only blank plane without any expected result. What i am doing wrong?</div><div>code example see below..</div><div><br></div><div>#define VTK_CREATE(type, name) \<br>    vtkSmartPointer&lt;type&gt; name = vtkSmartPointer&lt;type&gt;::New()<br>
<br>#define SIZE_X 10<br>#define SIZE_Y 5<br>#define SIZE_Z 1<br><br>#define SHIFT_X 150<br>#define SHIFT_Y 150<br><br>#define CELL_SIZE 5<br><br>//create grid 10x10x1 <br>void createUnstrGrid(vtkUnstructuredGrid* grid)<br>
{<br>  VTK_CREATE(vtkPoints,     points);<br>  VTK_CREATE(vtkIdList,     idList);<br><br>  points-&gt;Allocate(SIZE_X*SIZE_Y*8); // 8 coords for each cell<br><br>  int pointIndx = 0;<br><br>  for(int y = 0; y &lt; SIZE_Y; y++)<br>
  {<br>    for(int x = 0; x &lt; SIZE_X; x++)<br>    {<br>      // bottom side<br>      points-&gt;InsertNextPoint(CELL_SIZE*x,             CELL_SIZE*y,             CELL_SIZE);   // 0<br>      points-&gt;InsertNextPoint(CELL_SIZE*x + CELL_SIZE, CELL_SIZE*y,             CELL_SIZE);   // 1<br>
      points-&gt;InsertNextPoint(CELL_SIZE*x + CELL_SIZE, CELL_SIZE*y,             CELL_SIZE*0); // 2<br>      points-&gt;InsertNextPoint(CELL_SIZE*x,             CELL_SIZE*y,             CELL_SIZE*0); // 3<br>      //top side<br>
      points-&gt;InsertNextPoint(CELL_SIZE*x,             CELL_SIZE*y + CELL_SIZE, CELL_SIZE);   // 4<br>      points-&gt;InsertNextPoint(CELL_SIZE*x + CELL_SIZE, CELL_SIZE*y + CELL_SIZE, CELL_SIZE);   // 5<br>      points-&gt;InsertNextPoint(CELL_SIZE*x + CELL_SIZE, CELL_SIZE*y + CELL_SIZE, CELL_SIZE*0); // 6<br>
      points-&gt;InsertNextPoint(CELL_SIZE*x,             CELL_SIZE*y + CELL_SIZE, CELL_SIZE*0); // 7<br><br>      grid-&gt;SetPoints(points);<br><br>      idList-&gt;Reset();<br><br>      idList-&gt;InsertNextId(pointIndx++); // 0<br>
      idList-&gt;InsertNextId(pointIndx++); // 1<br>      idList-&gt;InsertNextId(pointIndx++); // 2<br>      idList-&gt;InsertNextId(pointIndx++); // 3<br>      idList-&gt;InsertNextId(pointIndx++); // 4<br>      idList-&gt;InsertNextId(pointIndx++); // 5<br>
      idList-&gt;InsertNextId(pointIndx++); // 6<br>      idList-&gt;InsertNextId(pointIndx++); // 7<br><br>      grid-&gt;InsertNextCell(VTK_HEXAHEDRON, idList);<br>    }<br>  }<br></div><div><br></div><div>
grid-&gt;Update();
</div><div><br>  VTK_CREATE(vtkFloatArray, scalars);<br><br>  float val_x = 0.1;<br>  float val_y = 0.05;<br><br>  for(int y = 0; y &lt; SIZE_Y; y++)<br>  {<br>    for(int x = 0; x &lt; SIZE_X; x++)<br>    {<br>      scalars-&gt;InsertNextValue(y*val_y +x*val_x);<br>
    }<br>  }<br><br>grid-&gt;GetCellData()-&gt;SetScalars(scalars);<br><br>  grid-&gt;Update();<br><br>  return;<br>}<br><br></div><div><br></div><div>int main(int argc, char* argv[])<br>{<br>vtkRenderer     *renderer = vtkRenderer::New();<br>
  vtkRenderWindow *renWin   = vtkRenderWindow::New();<br><br>  renWin-&gt;AddRenderer(renderer);<br>  renderer-&gt;Delete();<br><br>  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();<br>  iren-&gt;SetRenderWindow(renWin);<br>
  renWin-&gt;Delete();</div><div><br></div><div>VTK_CREATE(vtkUnstructuredGrid, grid);<br><br>  createUnstrGrid(grid);</div><div><br>vtkIndent indent;<br>  grid-&gt;PrintSelf(cout, indent);<br><br>  // Create the probe plane<br>
  vtkPlaneSource *plane = vtkPlaneSource::New();<br>  plane-&gt;SetResolution(200, 200);<br><br>  vtkTransform *transp = vtkTransform::New();<br><br>  transp-&gt;Translate(10.0, 10.0 ,0);<br>  transp-&gt;Scale(20, 20, 20);<br>
  transp-&gt;RotateX(90);<br><br>  vtkTransformPolyDataFilter *tpd = vtkTransformPolyDataFilter::New();<br>  tpd-&gt;SetInputConnection(0, plane-&gt;GetOutputPort(0));<br><br>  tpd-&gt;SetTransform(transp);<br>  tpd-&gt;Update();<br>
<br>  vtkProbeFilter *probe= vtkProbeFilter::New();<br>  probe-&gt;SetInputConnection(0, tpd-&gt;GetOutputPort(0));<br><br>  probe-&gt;SetSource(grid);<br><br>  probe-&gt;Update();<br><br>  assert(probe-&gt;GetOutput()!=0);<br>
<br>  // This creates a blue to red lut.<br>  vtkLookupTable *lut = vtkLookupTable::New(); <br>  lut-&gt;SetHueRange (0.667, 0.0);<br>  <br>  vtkDataSetMapper *gridMapper  = vtkDataSetMapper::New();<br>  vtkDataSetMapper *planeMapper = vtkDataSetMapper::New();<br>
<br>  planeMapper-&gt;SetLookupTable(lut);<br><br>  gridMapper-&gt;SetInputConnection(grid-&gt;GetProducerPort());<br>  planeMapper-&gt;SetInputConnection(probe-&gt;GetOutputPort());<br><br>  if(probe-&gt;GetOutput()-&gt;GetPointData()!= 0)<br>
  {<br>    if(probe-&gt;GetOutput()-&gt;GetPointData()-&gt;GetScalars()!= 0) // it always == 0! why??<br>    {<br>      planeMapper-&gt;SetScalarRange( probe-&gt;GetOutput()-&gt;GetPointData()-&gt;<br>                               GetScalars()-&gt;GetRange());<br>
    }<br>  }<br><br>  vtkActor *gridActor = vtkActor::New();<br><br>  gridActor-&gt;SetMapper(gridMapper);<br>  gridActor-&gt;GetProperty()-&gt;SetEdgeColor(0.0, 0.0, 0.0);<br>  gridActor-&gt;GetProperty()-&gt;SetEdgeVisibility(1);<br>
<br>  vtkActor *planeActor = vtkActor::New();<br>  planeActor-&gt;SetMapper(planeMapper);<br><br>  renderer-&gt;AddActor(planeActor);<br>//  renderer-&gt;AddActor(gridActor);<br><br>  // Standard testing code.<br>  renderer-&gt;SetBackground(0.5,0.5,0.5);<br>
<br>  renWin-&gt;SetSize(300,300);<br>  renWin-&gt;Render();<br><br>  iren-&gt;Start();<br><br>  return 0;<br>}<br></div>