Re: How can i use the vtkStreamtracer to generate a streamline with my unstructured grid data(vtu)

Cory Quammen via vtkusers <[email protected]> Thu, 18 Apr 2019 11:59:53 -0400
Newsgroups gmane.comp.lib.vtk.user
Message-ID <CAB5Fpx5z-Yu-_0oO0VpEx+=qqtYsF-v3Ng2UkJn7Zp+ToJkVtg@mail.gmail.com>
--===============0491145297==
Content-Type: multipart/alternative; boundary="000000000000426bc40586d018e8"

--000000000000426bc40586d018e8
Content-Type: text/plain; charset="UTF-8"

Hi,

Would you mind posting your question to https://discourse.vtk.org?
Community support for VTK has transitioned to that forum, and you are more
likely to get an answer there.

Thanks,
Cory

On Thu, Apr 18, 2019 at 9:41 AM stargazerrrrr <[email protected]> wrote:

> I`m using  VTK  to visualize data coming from xflow in vtu. When I use the
> Paraview, it can generate the right streamline, but when I use the VTK to
> visualize my data, it only displays the outline and the airplane model.
> There is no streamline being generated.
> This is my code:
> //The background color
> vtkSmartPointer<vtkNamedColors> namedColors =
> vtkSmartPointer<vtkNamedColors>::New();
>
> //The AirplaneModel file
> std::string meshfilename =
> "K:/Project/VTKproject/Airplane_Process/data/Mesh.vtp";
> vtkSmartPointer<vtkXMLPolyDataReader> meshreader =
> vtkSmartPointer<vtkXMLPolyDataReader>::New();
> meshreader->SetFileName(meshfilename.c_str());
> meshreader->Update();
>
>    //The data file
> std::string datafilename
> ="K:/Project/VTKproject/Airplane_Process/data/data.vtu";
> vtkSmartPointer<vtkXMLUnstructuredGridReader> datareader =
> vtkSmartPointer<vtkXMLUnstructuredGridReader>::New();
> datareader->SetFileName(datafilename.c_str());
> datareader->Update();
>
> //The seed points
> vtkSmartPointer<vtkPointSource> seeds =
> vtkSmartPointer<vtkPointSource>::New();
> seeds->SetCenter(0,0,0);
> seeds->SetRadius(0.05);
> seeds->SetNumberOfPoints(100);
>
>
> //streamline generate
>
> vtkSmartPointer<vtkStreamTracer> streamline =
> vtkSmartPointer<vtkStreamTracer>::New();
> datareader->Update();
> streamline->SetInputConnection(datareader->GetOutputPort());
> streamline->SetSourceConnection(seeds->GetOutputPort());
> //streamline->SetIntegrationStepUnit(vtkStreamTracer::CELL_LENGTH_UNIT);
> streamline->SetMaximumPropagation(500);
> streamline->SetMaximumIntegrationStep(0.1);
> streamline->SetMinimumIntegrationStep(0.01);
> streamline->SetInitialIntegrationStep(0.05);
> //streamline->SetIntegrationStepUnit(vtkStreamTracer::CELL_LENGTH_UNIT);
> streamline->SetIntegrationDirectionToBoth();
> streamline->SetIntegratorTypeToRungeKutta45();
> streamline->Update();
>
> vtkSmartPointer<vtkPolyDataMapper> streamLineMapper =
> vtkSmartPointer<vtkPolyDataMapper>::New();
> streamLineMapper->SetInputConnection(streamline->GetOutputPort());
>
> vtkSmartPointer<vtkActor> streamLineActor =
> vtkSmartPointer<vtkActor>::New();
> streamLineActor->SetMapper(streamLineMapper);
>
> //outlinefilter
> vtkSmartPointer<vtkOutlineFilter> outline
> =vtkSmartPointer<vtkOutlineFilter>::New();
> outline->SetInputConnection(datareader->GetOutputPort());
>
> vtkSmartPointer<vtkPolyDataMapper> outlineMapper
> =vtkSmartPointer<vtkPolyDataMapper>::New();
> outlineMapper->SetInputConnection(outline->GetOutputPort());
>
> vtkSmartPointer<vtkActor> outlineActor =vtkSmartPointer<vtkActor>::New();
> outlineActor->SetMapper(outlineMapper);
> outlineActor->GetProperty()->SetColor(0,0,0);
>
> //
> vtkSmartPointer<vtkPolyDataMapper> meshmapper =
> vtkSmartPointer<vtkPolyDataMapper>::New();
> meshmapper->SetInputConnection(meshreader->GetOutputPort());
>
> vtkSmartPointer<vtkActor> meshactor = vtkSmartPointer<vtkActor>::New();
> meshactor->SetMapper(meshmapper);
>
> //rendering
> vtkSmartPointer<vtkRenderer> renderer =
> vtkSmartPointer<vtkRenderer>::New();
> renderer->AddActor(meshactor);
> renderer->AddActor(outlineActor);
> renderer->AddActor(streamLineActor);
> //renderer->AddActor(actor);
> renderer->SetBackground(namedColors->GetColor3d("Cadet").GetData());
> //window
> vtkSmartPointer<vtkRenderWindow> renderWindow =
> vtkSmartPointer<vtkRenderWindow>::New();
> renderWindow->AddRenderer(renderer);
>
> //interaction
> vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
> vtkSmartPointer<vtkRenderWindowInteractor>::New();
> renderWindowInteractor->SetRenderWindow(renderWindow);
>
> vtkSmartPointer<vtkInteractorStyleTrackballCamera> style =
>     vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();
> renderWindowInteractor->SetInteractorStyle(style);
> renderWindowInteractor->Initialize();
> renderWindow->SetSize(300, 300);
> renderWindow->Render();
> renderWindowInteractor->Start();
>
> This is the result in paraview:
> <http://vtk.1045678.n5.nabble.com/file/t342734/paraview1.png>
> This is the result of my code:
> <
> http://vtk.1045678.n5.nabble.com/file/t342734/%E6%88%91%E7%9A%84%E6%95%88%E6%9E%9C.png>
>
>
> Is there any problem in my code?
>
>
>
> --
> Sent from: http://vtk.1045678.n5.nabble.com/VTK-Users-f1224199.html
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
>
> Follow this link to subscribe/unsubscribe:
> https://vtk.org/mailman/listinfo/vtkusers
>


-- 
Cory Quammen
Staff R&D Engineer
Kitware, Inc.

--000000000000426bc40586d018e8
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div>Hi,</div><div><br></div><div>Would y=
ou mind posting your question to <a href=3D"https://discourse.vtk.org">http=
s://discourse.vtk.org</a>? Community support for VTK has transitioned to th=
at forum, and you are more likely to get an answer there.</div><div><br></d=
iv><div>Thanks,</div><div>Cory</div></div></div><br><div class=3D"gmail_quo=
te"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Apr 18, 2019 at 9:41 AM s=
targazerrrrr &lt;<a href=3D"mailto:[email protected]">t1449768199@gmail=
.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1=
ex">I`m using=C2=A0 VTK=C2=A0 to visualize data coming from xflow in vtu. W=
hen I use the<br>
Paraview, it can generate the right streamline, but when I use the VTK to<b=
r>
visualize my data, it only displays the outline and the airplane model.<br>
There is no streamline being generated.<br>
This is my code:<br>
//The background color<br>
vtkSmartPointer&lt;vtkNamedColors&gt; namedColors =3D<br>
vtkSmartPointer&lt;vtkNamedColors&gt;::New();<br>
<br>
//The AirplaneModel file<br>
std::string meshfilename =3D<br>
&quot;K:/Project/VTKproject/Airplane_Process/data/Mesh.vtp&quot;;<br>
vtkSmartPointer&lt;vtkXMLPolyDataReader&gt; meshreader =3D<br>
vtkSmartPointer&lt;vtkXMLPolyDataReader&gt;::New();<br>
meshreader-&gt;SetFileName(meshfilename.c_str());<br>
meshreader-&gt;Update();<br>
<br>
=C2=A0 =C2=A0//The data file<br>
std::string datafilename<br>
=3D&quot;K:/Project/VTKproject/Airplane_Process/data/data.vtu&quot;;<br>
vtkSmartPointer&lt;vtkXMLUnstructuredGridReader&gt; datareader =3D<br>
vtkSmartPointer&lt;vtkXMLUnstructuredGridReader&gt;::New();<br>
datareader-&gt;SetFileName(datafilename.c_str());<br>
datareader-&gt;Update();<br>
<br>
//The seed points<br>
vtkSmartPointer&lt;vtkPointSource&gt; seeds =3D<br>
vtkSmartPointer&lt;vtkPointSource&gt;::New();<br>
seeds-&gt;SetCenter(0,0,0);<br>
seeds-&gt;SetRadius(0.05);<br>
seeds-&gt;SetNumberOfPoints(100);<br>
<br>
<br>
//streamline generate<br>
<br>
vtkSmartPointer&lt;vtkStreamTracer&gt; streamline =3D<br>
vtkSmartPointer&lt;vtkStreamTracer&gt;::New();<br>
datareader-&gt;Update();<br>
streamline-&gt;SetInputConnection(datareader-&gt;GetOutputPort());<br>
streamline-&gt;SetSourceConnection(seeds-&gt;GetOutputPort());<br>
//streamline-&gt;SetIntegrationStepUnit(vtkStreamTracer::CELL_LENGTH_UNIT);=
<br>
streamline-&gt;SetMaximumPropagation(500);<br>
streamline-&gt;SetMaximumIntegrationStep(0.1);<br>
streamline-&gt;SetMinimumIntegrationStep(0.01);<br>
streamline-&gt;SetInitialIntegrationStep(0.05);<br>
//streamline-&gt;SetIntegrationStepUnit(vtkStreamTracer::CELL_LENGTH_UNIT);=
<br>
streamline-&gt;SetIntegrationDirectionToBoth();<br>
streamline-&gt;SetIntegratorTypeToRungeKutta45();<br>
streamline-&gt;Update();<br>
<br>
vtkSmartPointer&lt;vtkPolyDataMapper&gt; streamLineMapper =3D<br>
vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();<br>
streamLineMapper-&gt;SetInputConnection(streamline-&gt;GetOutputPort());<br=
>
<br>
vtkSmartPointer&lt;vtkActor&gt; streamLineActor =3D<br>
vtkSmartPointer&lt;vtkActor&gt;::New();<br>
streamLineActor-&gt;SetMapper(streamLineMapper);<br>
<br>
//outlinefilter<br>
vtkSmartPointer&lt;vtkOutlineFilter&gt; outline<br>
=3DvtkSmartPointer&lt;vtkOutlineFilter&gt;::New();<br>
outline-&gt;SetInputConnection(datareader-&gt;GetOutputPort());<br>
<br>
vtkSmartPointer&lt;vtkPolyDataMapper&gt; outlineMapper<br>
=3DvtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();<br>
outlineMapper-&gt;SetInputConnection(outline-&gt;GetOutputPort());<br>
<br>
vtkSmartPointer&lt;vtkActor&gt; outlineActor =3DvtkSmartPointer&lt;vtkActor=
&gt;::New();<br>
outlineActor-&gt;SetMapper(outlineMapper);<br>
outlineActor-&gt;GetProperty()-&gt;SetColor(0,0,0);<br>
<br>
//<br>
vtkSmartPointer&lt;vtkPolyDataMapper&gt; meshmapper =3D<br>
vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();<br>
meshmapper-&gt;SetInputConnection(meshreader-&gt;GetOutputPort());<br>
<br>
vtkSmartPointer&lt;vtkActor&gt; meshactor =3D vtkSmartPointer&lt;vtkActor&g=
t;::New();<br>
meshactor-&gt;SetMapper(meshmapper);<br>
<br>
//rendering<br>
vtkSmartPointer&lt;vtkRenderer&gt; renderer =3D vtkSmartPointer&lt;vtkRende=
rer&gt;::New();<br>
renderer-&gt;AddActor(meshactor);<br>
renderer-&gt;AddActor(outlineActor);<br>
renderer-&gt;AddActor(streamLineActor);<br>
//renderer-&gt;AddActor(actor);<br>
renderer-&gt;SetBackground(namedColors-&gt;GetColor3d(&quot;Cadet&quot;).Ge=
tData());<br>
//window<br>
vtkSmartPointer&lt;vtkRenderWindow&gt; renderWindow =3D<br>
vtkSmartPointer&lt;vtkRenderWindow&gt;::New();<br>
renderWindow-&gt;AddRenderer(renderer);<br>
<br>
//interaction<br>
vtkSmartPointer&lt;vtkRenderWindowInteractor&gt; renderWindowInteractor =3D=
<br>
vtkSmartPointer&lt;vtkRenderWindowInteractor&gt;::New();<br>
renderWindowInteractor-&gt;SetRenderWindow(renderWindow);<br>
<br>
vtkSmartPointer&lt;vtkInteractorStyleTrackballCamera&gt; style =3D<br>
=C2=A0 =C2=A0 vtkSmartPointer&lt;vtkInteractorStyleTrackballCamera&gt;::New=
();<br>
renderWindowInteractor-&gt;SetInteractorStyle(style);<br>
renderWindowInteractor-&gt;Initialize();<br>
renderWindow-&gt;SetSize(300, 300);<br>
renderWindow-&gt;Render();<br>
renderWindowInteractor-&gt;Start();<br>
<br>
This is the result in paraview:<br>
&lt;<a href=3D"http://vtk.1045678.n5.nabble.com/file/t342734/paraview1.png"=
 rel=3D"noreferrer" target=3D"_blank">http://vtk.1045678.n5.nabble.com/file=
/t342734/paraview1.png</a>&gt; <br>
This is the result of my code:<br>
&lt;<a href=3D"http://vtk.1045678.n5.nabble.com/file/t342734/%E6%88%91%E7%9=
A%84%E6%95%88%E6%9E%9C.png" rel=3D"noreferrer" target=3D"_blank">http://vtk=
.1045678.n5.nabble.com/file/t342734/%E6%88%91%E7%9A%84%E6%95%88%E6%9E%9C.pn=
g</a>&gt; <br>
<br>
Is there any problem in my code?<br>
<br>
<br>
<br>
--<br>
Sent from: <a href=3D"http://vtk.1045678.n5.nabble.com/VTK-Users-f1224199.h=
tml" rel=3D"noreferrer" target=3D"_blank">http://vtk.1045678.n5.nabble.com/=
VTK-Users-f1224199.html</a><br>
_______________________________________________<br>
Powered by <a href=3D"http://www.kitware.com" rel=3D"noreferrer" target=3D"=
_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href=3D"http://www.kitware.c=
om/opensource/opensource.html" rel=3D"noreferrer" target=3D"_blank">http://=
www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href=3D"http://w=
ww.vtk.org/Wiki/VTK_FAQ" rel=3D"noreferrer" target=3D"_blank">http://www.vt=
k.org/Wiki/VTK_FAQ</a><br>
<br>
Search the list archives at: <a href=3D"http://markmail.org/search/?q=3Dvtk=
users" rel=3D"noreferrer" target=3D"_blank">http://markmail.org/search/?q=
=3Dvtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href=3D"https://vtk.org/mailman/listinfo/vtkusers" rel=3D"noreferrer" ta=
rget=3D"_blank">https://vtk.org/mailman/listinfo/vtkusers</a><br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature">Cory Quammen<br>Staff R&amp;D Engineer<br>Kitwar=
e, Inc.</div>

--000000000000426bc40586d018e8--

--===============0491145297==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
https://vtk.org/mailman/listinfo/vtkusers

--===============0491145297==--