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 <<a href=3D"mailto:[email protected]">t1449768199@gmail= .com</a>> 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<vtkNamedColors> namedColors =3D<br> vtkSmartPointer<vtkNamedColors>::New();<br> <br> //The AirplaneModel file<br> std::string meshfilename =3D<br> "K:/Project/VTKproject/Airplane_Process/data/Mesh.vtp";<br> vtkSmartPointer<vtkXMLPolyDataReader> meshreader =3D<br> vtkSmartPointer<vtkXMLPolyDataReader>::New();<br> meshreader->SetFileName(meshfilename.c_str());<br> meshreader->Update();<br> <br> =C2=A0 =C2=A0//The data file<br> std::string datafilename<br> =3D"K:/Project/VTKproject/Airplane_Process/data/data.vtu";<br> vtkSmartPointer<vtkXMLUnstructuredGridReader> datareader =3D<br> vtkSmartPointer<vtkXMLUnstructuredGridReader>::New();<br> datareader->SetFileName(datafilename.c_str());<br> datareader->Update();<br> <br> //The seed points<br> vtkSmartPointer<vtkPointSource> seeds =3D<br> vtkSmartPointer<vtkPointSource>::New();<br> seeds->SetCenter(0,0,0);<br> seeds->SetRadius(0.05);<br> seeds->SetNumberOfPoints(100);<br> <br> <br> //streamline generate<br> <br> vtkSmartPointer<vtkStreamTracer> streamline =3D<br> vtkSmartPointer<vtkStreamTracer>::New();<br> datareader->Update();<br> streamline->SetInputConnection(datareader->GetOutputPort());<br> streamline->SetSourceConnection(seeds->GetOutputPort());<br> //streamline->SetIntegrationStepUnit(vtkStreamTracer::CELL_LENGTH_UNIT);= <br> streamline->SetMaximumPropagation(500);<br> streamline->SetMaximumIntegrationStep(0.1);<br> streamline->SetMinimumIntegrationStep(0.01);<br> streamline->SetInitialIntegrationStep(0.05);<br> //streamline->SetIntegrationStepUnit(vtkStreamTracer::CELL_LENGTH_UNIT);= <br> streamline->SetIntegrationDirectionToBoth();<br> streamline->SetIntegratorTypeToRungeKutta45();<br> streamline->Update();<br> <br> vtkSmartPointer<vtkPolyDataMapper> streamLineMapper =3D<br> vtkSmartPointer<vtkPolyDataMapper>::New();<br> streamLineMapper->SetInputConnection(streamline->GetOutputPort());<br= > <br> vtkSmartPointer<vtkActor> streamLineActor =3D<br> vtkSmartPointer<vtkActor>::New();<br> streamLineActor->SetMapper(streamLineMapper);<br> <br> //outlinefilter<br> vtkSmartPointer<vtkOutlineFilter> outline<br> =3DvtkSmartPointer<vtkOutlineFilter>::New();<br> outline->SetInputConnection(datareader->GetOutputPort());<br> <br> vtkSmartPointer<vtkPolyDataMapper> outlineMapper<br> =3DvtkSmartPointer<vtkPolyDataMapper>::New();<br> outlineMapper->SetInputConnection(outline->GetOutputPort());<br> <br> vtkSmartPointer<vtkActor> outlineActor =3DvtkSmartPointer<vtkActor= >::New();<br> outlineActor->SetMapper(outlineMapper);<br> outlineActor->GetProperty()->SetColor(0,0,0);<br> <br> //<br> vtkSmartPointer<vtkPolyDataMapper> meshmapper =3D<br> vtkSmartPointer<vtkPolyDataMapper>::New();<br> meshmapper->SetInputConnection(meshreader->GetOutputPort());<br> <br> vtkSmartPointer<vtkActor> meshactor =3D vtkSmartPointer<vtkActor&g= t;::New();<br> meshactor->SetMapper(meshmapper);<br> <br> //rendering<br> vtkSmartPointer<vtkRenderer> renderer =3D vtkSmartPointer<vtkRende= rer>::New();<br> renderer->AddActor(meshactor);<br> renderer->AddActor(outlineActor);<br> renderer->AddActor(streamLineActor);<br> //renderer->AddActor(actor);<br> renderer->SetBackground(namedColors->GetColor3d("Cadet").Ge= tData());<br> //window<br> vtkSmartPointer<vtkRenderWindow> renderWindow =3D<br> vtkSmartPointer<vtkRenderWindow>::New();<br> renderWindow->AddRenderer(renderer);<br> <br> //interaction<br> vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =3D= <br> vtkSmartPointer<vtkRenderWindowInteractor>::New();<br> renderWindowInteractor->SetRenderWindow(renderWindow);<br> <br> vtkSmartPointer<vtkInteractorStyleTrackballCamera> style =3D<br> =C2=A0 =C2=A0 vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New= ();<br> renderWindowInteractor->SetInteractorStyle(style);<br> renderWindowInteractor->Initialize();<br> renderWindow->SetSize(300, 300);<br> renderWindow->Render();<br> renderWindowInteractor->Start();<br> <br> This is the result in paraview:<br> <<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>> <br> This is the result of my code:<br> <<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>> <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&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==--