[vtkusers] How to show progress bar for vtkOBJReader file read ?
Bill Lorensen
bill.lorensen at gmail.com
Mon May 19 08:15:29 EDT 2014
The OBJReader does not report progress.
On Mon, May 19, 2014 at 1:02 AM, Geeta <geeta_kapse at yahoo.com> wrote:
> Hi flaviu2,
>
> Thanks 4 ur help. I sent e-mail to u. and here is my simple vtk code.
>
> Yes..I integrated VTK and MFC...
>
> But I will send u sample code simple VTK application to check if what I
> tried is correct or not.
>
> My problem is how to get "Progress Value" when obj file read in progress?
>
> once read started Progress = 0 and after finished it is 1
> I want it like 0, 0.1, 0.2 till 1.
>
> void ProgressFunction(vtkObject* caller, long unsigned int eventId, void*
> clientData, void* callData)
> {
> vtkOBJReader* filter = static_cast<vtkOBJReader*>(caller);
> std::string strProgress;
>
> std::cout << "Progress: " << filter->GetProgress() << std::endl;
> filter->SetProgressText("Progress: ");
> }
>
>
> int main(int argc, char *argv[])
> {
> std::string imagename =
> "D:\\yogo-san\\TriangleMesh_OBJ\\TriangleMesh_OBJ_0.png";
>
> // Read the image which will be the texture
>
> std::cout << "Reading image " << imagename << "..." << std::endl;
> //vtkSmartPointer<vtkJPEGReader> jPEGReader =
> vtkSmartPointer<vtkJPEGReader>::New();
> //jPEGReader->SetFileName ( imagename.c_str() );
> //jPEGReader->Update();
>
> vtkSmartPointer<vtkPNGReader> pngReader =
> vtkSmartPointer<vtkPNGReader>::New();
> pngReader->SetFileName ( imagename.c_str() );
> pngReader->Update();
>
> std::cout << "Done" << std::endl;
>
> // Creating the texture
>
> std::cout << "Making a texture out of the image... " << std::endl;
>
> vtkSmartPointer<vtkTexture> texture = vtkSmartPointer<vtkTexture>::New();
>
> // texture->SetInputConnection(jPEGReader->GetOutputPort());
>
> texture->SetInputConnection(pngReader->GetOutputPort());
>
> std::cout << "Done" << std::endl;
>
> // Import geometry from an OBJ file
> std::string iname = "D:\\yogo-san\\TriangleMesh_OBJ\\TriangleMesh_OBJ.obj";
>
> std::cout << "Reading OBJ file " << iname << "..." << std::endl;
>
> vtkOBJReader* reader = vtkOBJReader::New();
>
> vtkSmartPointer<vtkCallbackCommand> progressCallback =
> vtkSmartPointer<vtkCallbackCommand>::New();
> progressCallback->SetCallback(ProgressFunction);
>
> reader->SetFileName(iname.c_str());
>
> reader->AddObserver(vtkCommand::ProgressEvent, progressCallback);
>
> reader->Update();
>
> vtkPolyData *polyData2 = reader->GetOutput();
>
> std::cout << "Obj reader = " << polyData2->GetNumberOfPoints() <<
> std::endl;
>
> std::cout << "Obj point data = " <<
> polyData2->GetPointData()->GetNumberOfArrays() << std::endl;
>
> std::cout << "Obj point data tuples = " <<
> polyData2->GetPointData()->GetArray(0)->GetNumberOfTuples() << std::endl;
>
> std::cout << "Obj point data compon = " <<
> polyData2->GetPointData()->GetArray(0)->GetNumberOfComponents() <<
> std::endl;
>
> vtkSmartPointer<CommandSubclass2> timerCallback =
> vtkSmartPointer<CommandSubclass2>::New();
>
> // Renderer
>
> vtkSmartPointer<vtkPolyDataMapper> mapper =
> vtkSmartPointer<vtkPolyDataMapper>::New();
>
> mapper->SetInput(polyData2);
>
> vtkSmartPointer<vtkActor> texturedQuad = vtkSmartPointer<vtkActor>::New();
>
> texturedQuad->SetMapper(mapper);
>
> texturedQuad->SetTexture(texture);
>
> // Visualize the textured plane
> vtkSmartPointer<vtkRenderer> renderer =
> vtkSmartPointer<vtkRenderer>::New();
>
> renderer->AddActor(texturedQuad);
>
> renderer->SetBackground(0.2,0.5,0.6); // Background color white
>
> renderer->ResetCamera();
>
> vtkSmartPointer<vtkRenderWindow> renderWindow =
> vtkSmartPointer<vtkRenderWindow>::New();
>
> renderWindow->AddRenderer(renderer);
>
> vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
> vtkSmartPointer<vtkRenderWindowInteractor>::New();
>
> renderWindowInteractor->SetRenderWindow(renderWindow);
>
> renderWindow->Render();
>
> renderWindowInteractor->Start();
>
> return EXIT_SUCCESS;
> }
>
>
>
>
> --
> View this message in context: http://vtk.1045678.n5.nabble.com/How-to-show-progress-bar-for-vtkOBJReader-file-read-tp5727117p5727155.html
> Sent from the VTK - Users mailing list archive at Nabble.com.
> _______________________________________________
> 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
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
--
Unpaid intern in BillsBasement at noware dot com
More information about the vtkusers
mailing list