I dont see a SetPolys() or some variation of it which suggests that you have cells in your StructuredGrid . Also If you do have then is thee number of points equal to number of cells ? because the for loop where you input your vectors suggest that you have a vector at each point and not at each cell .<br>
<br><div class="gmail_quote">On Wed, Apr 14, 2010 at 11:09 AM, Gomez, Alberto <span dir="ltr"><<a href="mailto:alberto.gomez@kcl.ac.uk">alberto.gomez@kcl.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Thanks for the quick answer,<br>
<br>
Unfortunately, it doesn't work for me: the vtkCellToPointData filter crashes. Would you have a sample code that I can compare to mine? That would be very useful :-).<br>
<br>
Anyway, I found out a tournaround that, I think, gets me closer to the visualisation of streamlines (but does not work yet):<br>
...<br>
...<br>
vtkSmartPointer<vtkPolyData> sGrid = vtkSmartPointer<vtkPolyData>::New();<br>
sGrid->GetPointData()->SetVectors(vecArr);<br>
sGrid->SetPoints(pts);<div class="im"><br>
vtkSmartPointer<vtkStreamLine> streamer = vtkSmartPointer<vtkStreamLine>::New();<br>
streamer->SetInput(sGrid);<br>
<br></div>
Then I still see black but I get<div class="im"><br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Filtering/vtkAlgorithm.h, line 150<br></div>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): setting AbortExecute to 0<div class="im"><br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.cxx, line 475<br></div>
vtkStreamLine (0x22fd980): Generating streamers<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 174<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning Integrator address 0x2300f50<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 174<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning Integrator address 0x2300f50<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 174<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning Integrator address 0x2300f50<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 174<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning Integrator address 0x2300f50<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 149<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning TerminalSpeed of 0<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 107<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning MaximumPropagationTime of 200<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 165<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning SavePointInterval of 0.1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 290<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning NumberOfStreamers of 1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 290<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning NumberOfStreamers of 1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 174<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning Integrator address 0x2300f50<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 174<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning Integrator address 0x2300f50<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 149<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning TerminalSpeed of 0<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 107<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning MaximumPropagationTime of 200<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 165<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning SavePointInterval of 0.1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 290<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning NumberOfStreamers of 1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 290<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning NumberOfStreamers of 1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 174<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning Integrator address 0x2300f50<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 174<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning Integrator address 0x2300f50<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 149<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning TerminalSpeed of 0<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 107<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning MaximumPropagationTime of 200<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 165<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning SavePointInterval of 0.1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 290<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning NumberOfStreamers of 1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 290<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning NumberOfStreamers of 1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 149<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning TerminalSpeed of 0<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 107<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning MaximumPropagationTime of 200<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 165<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning SavePointInterval of 0.1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 290<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning NumberOfStreamers of 1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.h, line 290<br>
vtkStreamLine (0x22fd980): vtkStreamLine (0x22fd980): returning NumberOfStreamers of 1<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamLine.cxx, line 178<br>
vtkStreamLine (0x22fd980): Created 0 points, 0 lines<br>
<br>
<br>
Any clue?<br>
<br>
Thanks<br>
Sebastian Gatzka wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">
I had the same problem.<br>
<br>
You will have to use the vtkCellDataToPointData filter first!<br>
Input to the filter should be your structured grid.<br>
<br>
And then you can use the output from this filter as input to the stream<br>
line.<br>
<br>
-----Ursprüngliche Nachricht-----<br>
Von: <a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a> [mailto:<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a>] Im Auftrag<br>
von Gomez, Alberto<br>
Gesendet: Mittwoch, 14. April 2010 16:05<br>
Cc: vtkusers<br>
Betreff: [vtkusers] Stream lines from custom data<br>
<br></div><div><div></div><div class="h5">
Hi all,<br>
<br>
I have been looking for a way to represent a vector field with stream lines, but I have not found a solution so far. My case differs from the example in <a href="http://www.itk.org/Wiki/VTK/Examples/StreamLines" target="_blank">http://www.itk.org/Wiki/VTK/Examples/StreamLines</a> in two things:<br>
<br>
I would like to use vtkStreamTracer as vtkStreamLine may be deprecated soon.<br>
I am using custom data and not reading from a file.<br>
<br>
So I have my points in the variable positions[][] ( size n x 3) and my vectors in the variable directions[][] (size n x 3 also).<br>
<br>
I have tried both StreamTracer and StreamLines but all I see is a black background. When using vtkStreamLines I get the error :<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Filtering/vtkAlgorithm.h, line 150<br>
vtkStreamLine (0x22a0880): vtkStreamLine (0x22a0880): setting AbortExecute to 0<br>
<br>
Debug: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.cxx, line 475<br>
vtkStreamLine (0x22a0880): Generating streamers<br>
<br>
ERROR: In /data/workspace/vtk-5.4.2/src/Graphics/vtkStreamer.cxx, line 488<br>
vtkStreamLine (0x22a0880): No vector data defined!<br>
<br>
But I actually define the vectors, so I do not know what I am doing wrong.<br>
<br>
This is my source code (an extract of it)<br>
<br>
<br>
vtkSmartPointer<vtkPoints> pts = vtkSmartPointer<vtkPoints>::New();<br>
<br>
vtkSmartPointer<vtkDoubleArray> vecArr = vtkSmartPointer<vtkDoubleArray>::New();<br>
vecArr->SetNumberOfComponents(3);<br>
<br>
for (int i = 0; i < n; i++) {<br>
pts->InsertNextPoint(positions[i][0], positions[i][1], positions[i][2]);<br>
vecArr->InsertNextTuple3(directions[i][0] , directions[i][1] , directions[i][2] );<br>
}<br>
<br>
// Generate the vector field<br>
vtkSmartPointer<vtkStructuredGrid> sGrid = vtkSmartPointer<vtkStructuredGrid>::New();<br>
sGrid->GetCellData()->SetVectors(vecArr);<br>
sGrid->SetPoints(pts);<br>
//Generate start points<br>
vtkSmartPointer<vtkPointSource> seeds = vtkSmartPointer<vtkPointSource>::New();<br>
seeds->SetRadius(20.0);<br>
seeds->SetCenter(positions[0][0], positions[0][1], positions[0][2]);<br>
seeds->SetNumberOfPoints(100);<br>
<br>
//vtkSmartPointer<vtkStreamTracer> streamer = vtkSmartPointer<vtkStreamTracer>::New();<br>
vtkSmartPointer<vtkStreamLine> streamer = vtkSmartPointer<vtkStreamLine>::New();<br>
<br>
streamer->SetInput(sGrid);<br>
streamer->SetSource(seeds->GetOutput());<br>
streamer->SetIntegrationDirection(0);<br>
streamer->DebugOn();<br>
streamer->Update();<br>
vtkSmartPointer<vtkPolyDataMapper> gMapper = vtkSmartPointer<<br>
vtkPolyDataMapper>::New();<br>
gMapper->SetInputConnection(streamer->GetOutputPort());<br>
...<br>
<br>
<br>
Many thanks!!!!<br>
<br>
<br>
</div></div></blockquote><div><div></div><div class="h5">
<br>
<br>
-- <br>
<br>
Alberto Gómez<br>
<br>
/Division of Imaging Sciences<br>
The Rayne Institute<br>
4th Floor, Lambeth Wing<br>
St Thomas' Hospital<br>
London SE1 7EH /<br>
<br>
phone: +44 (0) 20 718 88364<br>
email: <a href="mailto:alberto.gomez@kcl.ac.uk" target="_blank">alberto.gomez@kcl.ac.uk</a> <mailto:<a href="mailto:alberto.gomez@kcl.ac.uk" target="_blank">alberto.gomez@kcl.ac.uk</a>><br>
<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
</div></div></blockquote></div><br>