[vtkusers] some problems upgraded to VTK 5.2 plus QT 4.4.

Eric E. Monson emonson at cs.duke.edu
Fri Nov 14 18:11:59 EST 2008


Hey Dongqing,

I'm not sure if this is the problem, but it sounds quite similar to a  
recent thread:

http://www.vtk.org/pipermail/vtkusers/2008-November/098266.html

In her reply, Amy Squillacote pointed the user to:

http://www.vtk.org/Wiki/VTK_FAQ#The_C.2B.2B_compiler_cannot_convert_some_pointer_type_to_another_pointer_type_in_my_little_program

See if putting in #include "vtkImageData.h" helps.

-Eric


On Nov 14, 2008, at 8:41 PM, Dongqing Chen wrote:

> Dear All:
>
>    During the past two days, I got really nice from this group list  
> and finally installed the VTK 5.2 (upgraded from VTK 5.0) and QT 4.4.
>
>   Since it is my first time to use QT to design GUI, I tried two  
> simple examples recommended by Dr. Eric E Monson at Duke University,  
> and both run very well.
>
>  Now, I copy and paste some simple codes from my previous program,,  
> which worked very well under VTK 5.0.
>
>   But I do not know why those two problems appeared. Any hint or  
> clue should be highly appreciated.
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------
> SimpleView4.cxx
> E:\QT_Practice\QT_SimpleView\src\SimpleView4.cxx(93) : error C2664:  
> 'void __thiscall vtkPolyDataAlgorithm::SetInput(class vtkDataObject  
> *)' : cannot convert parameter 1 from 'class vtkImageData *' to  
> 'class vtkDataObject *'
>         Types pointed to are unrelated; conversion requires  
> reinterpret_cast, C-style cast or function-style cast
> E:\QT_Practice\QT_SimpleView\src\SimpleView4.cxx(136) : error C2664:  
> 'void __thiscall vtkAlgorithm::SetInputConnection(class  
> vtkAlgorithmOutput *)' : cannot convert parameter 1 from 'class  
> vtkPolyData *' to 'class vtkAlgorithmOutput *'
>         Types pointed to are unrelated; conversion requires  
> reinterpret_cast, C-style cast or function-style cast
> Error executing cl.exe.
>
> The first error refers to  isoSurface->SetInput(readerSegmented- 
> >GetOutput());
> while the second error refers to mapper->SetInputConnection(normals- 
> >GetOutput());
> ------------------------------------------Directly modify the  
> SimpleView  
> code-------------------------------------------------------------
> void SimpleView::fileOpen()
> {
>   // Geometry
>   //source = vtkCylinderSource::New();
>
>   //starting from here, modified by Dongqing Chen,
>  //load in pgm firstly, then dicom
>
>  // Load  Segmented Volume
>     int N1, N2, m_Slices, m_X, m_Y, m_Z;
>  char SourcePath[256];
>
>  vtkPNMReader *readerSegmented = vtkPNMReader::New();
>     readerSegmented->SetDataExtent(0, N1-1, 0, N2-1, 1, m_Slices);
>  readerSegmented->SetDataSpacing(m_X, m_Y, m_Z);
>     readerSegmented->SetFilePrefix (SourcePath);
>     readerSegmented->SetFilePattern("%s.%03d.pgm");  // %s is  
> prefix, '.', then number taken from DataExtent (1, Slices).
>
>     // Create IsoSurface
>     vtkMarchingCubes *isoSurface = vtkMarchingCubes::New();
>  isoSurface->SetInput(readerSegmented->GetOutput());
>  isoSurface->SetValue(0, 200); //you need to change this value to  
> get the good result
>
>    //Clean the Data
>     vtkCleanPolyData *cleaner = vtkCleanPolyData::New();
>     cleaner->SetInput(isoSurface->GetOutput());
>
>     //Decimate the volume
>     vtkDecimatePro *deci = vtkDecimatePro::New();
>     deci->SetInput(cleaner->GetOutput());
>     deci->SetTargetReduction(0.25);
>  deci->PreserveTopologyOn();
>
>  //Linear SubdivisionFilter to make the mesh surface more denser
>     vtkLinearSubdivisionFilter *linear =  
> vtkLinearSubdivisionFilter::New();
>     linear->SetInput(cleaner->GetOutput());
>  int times=0; //iteration times,
>               //Each subdivision iteration create
>               //4 new triangles for each triangle in the polydata.
>     linear->SetNumberOfSubdivisions(times);
>
>    //Smooth the volume
>  int m_SmoothIterations=20;
>
>  vtkWindowedSincPolyDataFilter *smooth =  
> vtkWindowedSincPolyDataFilter::New();
>     smooth->SetInput(linear->GetOutput());
>     smooth->SetNumberOfIterations(m_SmoothIterations);
>     smooth->BoundarySmoothingOn();
>     smooth->SetFeatureAngle(120);
>     smooth->SetEdgeAngle(90);
>     smooth->SetPassBand(0.01);
>
>   //Create Normal Vectors to enhance smoothness & illumination
>     vtkPolyDataNormals *normals = vtkPolyDataNormals::New();
>     normals->SetInput(smooth->GetOutput());
>  normals->SetFeatureAngle(60.0);
>     normals->FlipNormalsOff();
>     normals->ComputePointNormalsOn();
>
>   // Mapper
>   mapper = vtkPolyDataMapper::New();
>   mapper->ImmediateModeRenderingOn();
>   //mapper->SetInputConnection(source->GetOutputPort());
>   mapper->SetInputConnection(normals->GetOutput());
>   mapper->ScalarVisibilityOff();
>
>   // Actor in scene
>   actor = vtkActor::New();
>   actor->SetMapper(mapper);
>
>   // Add Actor to renderer
>   ren->AddActor(actor);
>
>   // Reset camera
>   ren->ResetCamera();
>
>   ren->GetRenderWindow()->Render();
> }
>
> void SimpleView::fileExit() {
>   qApp->exit();
> }
> ------------------------------------------------------------------------------------------------------------------------------------
>
>
>
>
> Best Wishes,
> -----------------------------------------------------------------------------
> Dongqing Chen, Ph.D.
> Computer Vision & Image Processing (CVIP) Lab
> Department of Electrical & Computer Engineering
> Speed School of Engineering
> University of Louisville
> Louisville, KY, 40292
> U.S.A
> email: dqchen at cvip.louisville.edu
> phone: 1-502-852-2789 (Lab)
>              1-502-852-6130 (Office)
> ----------------------------------------------------------------------------
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20081114/44ddae73/attachment.htm>


More information about the vtkusers mailing list