View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0012154VTK(No Category)public2011-05-04 17:102016-08-12 09:55
ReporterRaine 
Assigned ToDave DeMarle 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionmoved 
PlatformOSUbuntuOS Version11.04
Product Version 
Target VersionFixed in Version 
Summary0012154: vtkStreamer::Integrate() does not return for some points
DescriptionI 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 InformationThis only happens for a certain points, and when MaximumPropagationTime is long enough.
TagsNo tags attached.
Project
Type
Attached Fileszip file icon VTK streamline bug.zip [^] (1,779 bytes) 2011-05-04 17:10

 Relationships

  Notes
(0031196)
Dave DeMarle (administrator)
2013-07-22 18:20

If the bug is still present in 6.0.0, please reopen this report.
(0037233)
Kitware Robot (administrator)
2016-08-12 09:55

Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current VTK Issues page linked in the banner at the top of this page.

 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


Copyright © 2000 - 2018 MantisBT Team