MantisBT - VTK | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0012154 | VTK | (No Category) | public | 2011-05-04 17:10 | 2016-08-12 09:55 |
| Reporter | Raine | ||||
| Assigned To | Dave DeMarle | ||||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | moved | ||
| Platform | OS | Ubuntu | OS Version | 11.04 | |
| Product Version | |||||
| Target Version | Fixed in Version | ||||
| Project | |||||
| Type | |||||
| Summary | 0012154: vtkStreamer::Integrate() does not return for some points | ||||
| Description | I was trying to generate dense streamline for the "combq.bin" and "combxyz.bin" from VTK Data, and the program get stuck at vtkStreamer::Integrate() and never returns. | ||||
| Steps To Reproduce | //Run this program to reproduce the bug. //This program is a modified version from VTK example for streamline. //A copy of this plus the necessary cmake file is attached. #include <vtkSmartPointer.h> #include <vtkActor.h> #include <vtkPLOT3DReader.h> #include <vtkPlaneSource.h> #include <vtkPolyDataMapper.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h> #include <vtkRenderer.h> #include <vtkStreamLine.h> #include <vtkTestUtilities.h> #include <vtkInteractorStyleTrackballCamera.h> #include <vtkStructuredGridOutlineFilter.h> #include <vtkProperty.h> #include <vtkTesting.h> // The environment variable VTK_DATA_ROOT will be used. // Make sure it is set accordingly! int main(int argc, char *argv[]) { // Locate VTK_DATA_ROOT vtkSmartPointer<vtkTesting> testHelper = vtkSmartPointer<vtkTesting>::New(); std::string dataRoot = testHelper->GetDataRoot(); // Start by loading some data. std::string xyzFile = dataRoot + "/Data/" + "combxyz.bin"; std::string qFile = dataRoot + "/Data/" + "combq.bin"; vtkSmartPointer<vtkPLOT3DReader> pl3d = vtkSmartPointer<vtkPLOT3DReader>::New(); pl3d->SetXYZFileName(xyzFile.c_str()); pl3d->SetQFileName(qFile.c_str()); pl3d->SetScalarFunctionNumber(100); pl3d->SetVectorFunctionNumber(202); pl3d->Update(); // Streamline itself vtkSmartPointer<vtkStreamLine> streamLine = vtkSmartPointer<vtkStreamLine>::New(); streamLine->SetInputConnection(pl3d->GetOutputPort()); streamLine->SetStartPosition(6.21832, -3.01398, 29.3924); streamLine->SetMaximumPropagationTime(10); streamLine->SetIntegrationStepLength(.2); streamLine->SetStepLength(.001); streamLine->SetNumberOfThreads(1); streamLine->SetIntegrationDirectionToIntegrateBothDirections(); streamLine->VorticityOn(); vtkSmartPointer<vtkPolyDataMapper> streamLineMapper = vtkSmartPointer<vtkPolyDataMapper>::New(); streamLineMapper->SetInputConnection(streamLine->GetOutputPort()); vtkSmartPointer<vtkActor> streamLineActor = vtkSmartPointer<vtkActor>::New(); streamLineActor->SetMapper(streamLineMapper); streamLineActor->VisibilityOn(); // Outline-Filter for the grid vtkSmartPointer<vtkStructuredGridOutlineFilter> outline = vtkSmartPointer<vtkStructuredGridOutlineFilter>::New(); outline->SetInputConnection(pl3d->GetOutputPort()); vtkSmartPointer<vtkPolyDataMapper> outlineMapper = vtkSmartPointer<vtkPolyDataMapper>::New(); outlineMapper->SetInputConnection(outline->GetOutputPort()); vtkSmartPointer<vtkActor> outlineActor = vtkSmartPointer<vtkActor>::New(); outlineActor->SetMapper(outlineMapper); outlineActor->GetProperty()->SetColor(1, 1, 1); // Create the RenderWindow, Renderer and Actors vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New(); vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New(); renderWindow->AddRenderer(renderer); vtkSmartPointer<vtkRenderWindowInteractor> interactor = vtkSmartPointer<vtkRenderWindowInteractor>::New(); interactor->SetRenderWindow(renderWindow); vtkSmartPointer<vtkInteractorStyleTrackballCamera> style = vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New(); interactor->SetInteractorStyle(style); renderer->AddActor(streamLineActor); renderer->AddActor(outlineActor); // Add the actors to the renderer, set the background and size renderer->SetBackground(0.1, 0.2, 0.4); renderWindow->SetSize(600, 600); interactor->Initialize(); renderWindow->Render(); interactor->Start(); return EXIT_SUCCESS; } | ||||
| Additional Information | This only happens for a certain points, and when MaximumPropagationTime is long enough. | ||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | https://www.vtk.org/Bug/file/8851/VTK%20streamline%20bug.zip | ||||
| Issue History | |||||
| Date Modified | Username | Field | Change | ||
| 2011-05-04 17:10 | Raine | New Issue | |||
| 2011-05-04 17:10 | Raine | File Added: VTK streamline bug.zip | |||
| 2011-06-16 13:12 | Zack Galbreath | Category | Development => (No Category) | ||
| 2013-07-22 18:20 | Dave DeMarle | Note Added: 0031196 | |||
| 2013-07-22 18:20 | Dave DeMarle | Status | backlog => expired | ||
| 2013-07-22 18:20 | Dave DeMarle | Assigned To | => Dave DeMarle | ||
| 2016-08-12 09:55 | Kitware Robot | Note Added: 0037233 | |||
| 2016-08-12 09:55 | Kitware Robot | Status | expired => closed | ||
| 2016-08-12 09:55 | Kitware Robot | Resolution | open => moved | ||
| Notes | |||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||