<div><font>Hi,</font><font><br></font></div><div><font>i am trying to probe my unstructured grid with vtkProbeFilter, but i don`t see any result.</font></div><div><font><br></font></div><div><font>// - At first step i create the unstructured grid:</font></div>
<div><font><br></font></div><div><font> VTK_CREATE(vtkPoints, points);<br> VTK_CREATE(vtkUnstructuredGrid, ngrid);<br> VTK_CREATE(vtkIdList, idList);<br> VTK_CREATE(vtkMergeCells, merger);<br>
<br> unstrGrid = vtkSmartPointer<vtkUnstructuredGrid>::New();<br><br> merger->SetTotalNumberOfCells(size_x*size_y);<br> merger->SetTotalNumberOfPoints(size_x*size_y*8);<br>merger->SetTotalNumberOfDataSets(1);</font></div>
<div><font>merger->SetUnstructuredGrid(unstrGrid);<br><br> points->Allocate(size_x*size_y*8);<br><br> int p_index = 0;<br><br> for(int iy = 0; iy < size_y; iy++ )<br> {<br> for(int ix = 0; ix < size_x; ix++ )<br>
{<br> for(int i = 0; i < 8; i++)<br> points->InsertNextPoint(Points[i].x,<br> </font>
<font>Points[i].</font><font>y,<br> </font>
<font>Points[i]</font><font>.z);<br><br> ngrid->SetPoints(points);<br><br> idList->Reset();<br> idList->InsertNextId(p_index++);<br> idList->InsertNextId(p_index++);<br> idList->InsertNextId(p_index++);<br>
idList->InsertNextId(p_index++);<br> idList->InsertNextId(p_index++);<br> idList->InsertNextId(p_index++);<br> idList->InsertNextId(p_index++);<br> idList->InsertNextId(p_index++);<br>
<br> ngrid->InsertNextCell(VTK_HEXAHEDRON , idList);<br> }<br> }<br><br> merger->MergeDataSet(ngrid);<br> merger->Finish();<br></font></div><div><font><br></font></div><div><font> //- second, set scalars to each cell:<br>
</font></div><div><font><br></font></div><div><font> VTK_CREATE(vtkFloatArray, props);<br><br>for(int iy = 0; iy < size_y; iy++ )<br> {<br> for(int ix = 0; ix < size_x; ix++ )<br> {<br> props->InsertNextValue(attributes[ix][iy]);</font></div>
<div><font> }<br></font></div><div><font>}<br></font></div><div><font><br></font></div><div><font>unstrGrid->GetCellData()->SetScalars(props);</font><font><br></font></div><div><font><br></font></div><div><font>//and show grid<br>
</font></div><div><font><br></font></div><div><font>actor = vtkSmartPointer<vtkActor>::New();</font></div><div><font><br>VTK_CREATE(vtkGeometryFilter, geometryFilter); <br>geometryFilter->SetInput(unstrGrid); <br>
<br> VTK_CREATE(vtkPolyDataMapper, mapper);<br>mapper->SetInputConnection(geometryFilter->GetOutputPort()); </font></div><div><font><br>actor->SetMapper(mapper);<br>actor ->GetProperty()->SetEdgeColor(0.0,0.0,0);<br>
actor ->GetProperty()->SetEdgeVisibility(1);<br></font></div><div><font><br></font></div><div><font>renderer->AddActor(actor)<br></font></div><div><font>.......<br></font></div><div><font>//in result i have grid like on pic1.png.<br>
</font></div><div><font><br></font></div><div><font>//after that i try to probe this grid with vtkPlaneSource<br></font></div><div><font><br></font></div><div><font>PlaneSource = vtkSmartPointer<vtkPlaneSource>::New();<br>
<br> PlaneSource->SetOrigin(p1.x, p1.y, Top);<br> PlaneSource->SetPoint1(p1.x,p1.y, Bottom);<br><br></font></div><div><font>PlaneSource->SetPoint2(p2.x, p2.y, Top);<br></font></div><div><font><br></font></div><div>
<font>PlaneSource->Update();<br><br>Plane = PlaneSource->GetOutput();<br><br>PolyDataMapper= vtkSmartPointer<vtkPolyDataMapper>::New();<br><br>PolyDataMapper->SetInput(Plane);<br><br>planeActor = vtkSmartPointer<vtkActor>::New();<br>
</font>
<font>plane</font>
<font>Actor->SetMapper(PolyDataMapper);</font></div><div><font><br></font><font>plane</font><font>Actor->GetProperty()->SetColor(0.4, 0.4, 0.3);<br></font><font>plane</font><font>Actor->GetProperty()->SetOpacity(0.8);<br>
</font>
<font>plane</font><font>Actor->SetVisibility(0);<br><br></font></div><div>
<font>renderer->AddActor(</font>
<font>plane</font><font>Actor</font>
<font>)</font>
<font></font></div><div><font><br></font></div><div><font>//this plane shown on pic2.png.<br></font></div><div><font><br></font></div><div><font>// create probeFilter<br></font></div><div><font><br></font></div><div><font> probeActor = vtkSmartPointer<vtkActor>::New();<br>
<br> VTK_CREATE(vtkProbeFilter, probeFilter);<br><br>probeFilter->SetSource(unstrGrid);<br>probeFilter->SetInput(</font>
<font>PlaneSource</font><font>->GetOutput());<br> <br> probeFilter->Update();<br><br> <br> VTK_CREATE(vtkDataSetMapper, probeMapper); <br> <br> probeMapper->SetInputConnection(probeFilter->GetOutputPort()); <br>
<br> probeMapper->SetScalarRange(probeFilter->GetOutput()->GetScalarRange());<br><br>probeActor->SetMapper(probeMapper); <br>probeActor->GetProperty()->SetEdgeVisibility(0);<br><br></font></div><div>
<font>renderer->AddActor(</font>
<font>probeActor</font>
<font>)</font>
<font></font></div><div><font><br></font></div><div><font>//after that i hide all actors except probeActor and </font><font>in result i have an empty plane on screen without anything on it. </font><font>What i am doing wr</font><font>ong? I will be grateful for any help, suggestion or code example about this theme.</font></div>