[vtkusers] problem compiling my application

Lucas Lorenzo lucas at cvrti.utah.edu
Tue Aug 17 20:37:00 EDT 2004


Great !
Thanks Sean,

Lucas


On Aug 17, 2004, at 6:19 PM, Sean McInerney wrote:

> Hi Lucas,
>
> You are missing:
>
> #include "vtkStructuredPoints.h"
>
> See <http://www.vtk.org/Wiki/VTK_FAQ#Forward_declaration_in_VTK_4.x>
>
> -Sean
>
> Lucas Lorenzo wrote:
>> Hi all,
>> I'm trying to compile a simple program that reads a volume in the  
>> form  of vtkStructuredPoints and extracts a particular slice (using   
>> vtkImageReslice) in order to display it:
>> #include "vtkStructuredPointsReader.h"
>> #include "vtkLookupTable.h"
>> #include "vtkImageReslice.h"
>> #include "vtkRenderWindow.h"
>> #include "vtkCamera.h"
>> #include "vtkActor.h"
>> #include "vtkRenderer.h"
>> #include "vtkDataSetMapper.h"
>> #include "vtkRenderWindowInteractor.h"
>> int main( int argc, char *argv[] )
>> {
>>   vtkStructuredPointsReader *image_reader =   
>> vtkStructuredPointsReader::New();
>>   image_reader->SetFileName("myfile.vtk");
>>   unsigned short lowval = 0;
>>   unsigned short highval = 306;
>>   vtkLookupTable *lut = vtkLookupTable::New();
>>   lut->SetNumberOfTableValues(1024);
>>   lut->SetTableRange(lowval,highval);
>>   lut->SetHueRange(1,1);
>>   lut->SetSaturationRange(0,0);
>>   lut->SetValueRange(0,1);
>>   lut->Build();
>>   vtkImageReslice *get_slice = vtkImageReslice::New();
>>   get_slice->SetInput(image_reader->GetOutput());
>>   get_slice->SetOutputDimensionality(2);
>>   get_slice->SetResliceAxesOrigin(0,0,33);
>>   vtkDataSetMapper *im_mapper = vtkDataSetMapper::New();
>>   im_mapper->SetInput(get_slice->GetOutput());
>>   im_mapper->SetScalarRange(lowval,highval);
>>   im_mapper->SetColorModeToMapScalars();
>>   im_mapper->SetLookupTable(lut);
>>   vtkActor *imActor = vtkActor::New();
>>   imActor->SetMapper(im_mapper);
>>   // Create the RenderWindow, Renderer and both Actors
>>   vtkRenderer *ren1 = vtkRenderer::New();
>>   vtkRenderWindow *renWin = vtkRenderWindow::New();
>>   renWin->AddRenderer(ren1);
>>   vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
>>   iren->SetRenderWindow(renWin);
>>   // Add the actors to the renderer, set the background and size
>>   ren1->AddActor(imActor);
>>   renWin->SetSize(640,640);
>>   // render the image
>>   vtkCamera *cam1 = ren1->GetActiveCamera();
>>   cam1->Zoom(2.5);
>>   renWin->Render();
>>   // deallocate memory:
>>   image_reader->Delete();
>>   lut->Delete();
>>   get_slice->Delete();
>>   im_mapper->Delete();
>>   imActor->Delete();
>>   ren1->Delete();
>>   renWin->Delete();
>>   iren->Delete();
>>   return 0;
>> }
>> When compiling I have the following error:
>> Building dependencies. cmake.depends...
>> -- Loading VTK CMake commands
>> -- Loading VTK CMake commands - done
>> Building object file ThresholdVTK.o...
>> /private/var/automount/mom/u/lucas/Borrar/ThresholdVTK.cxx: In  
>> function  `int
>>    main(int, char**)':
>> /private/var/automount/mom/u/lucas/Borrar/ThresholdVTK.cxx:30: error:  
>> no
>>    matching function for call to `vtkImageReslice::SetInput(
>>    vtkStructuredPoints*)'
>> /scratch/lucas/bin/VTK-4.4/VTK-binary/include/vtk/  
>> vtkImageToImageFilter.h:40: error: candidates
>>    are: virtual void vtkImageToImageFilter::SetInput(vtkImageData*)
>> /private/var/automount/mom/u/lucas/Borrar/ThresholdVTK.cxx:36: error:  
>> no
>>    matching function for call to   
>> `vtkDataSetMapper::SetInput(vtkImageData*)'
>> /scratch/lucas/bin/VTK-4.4/VTK-binary/include/vtk/vtkDataSetMapper.h:  
>> 56: error: candidates
>>    are: void vtkDataSetMapper::SetInput(vtkDataSet*)
>> make[1]: *** [ThresholdVTK.o] Error 1
>> make: *** [default_target] Error 2
>> It is my understanding that  vtkStructuredPoints inherits  
>> vtkImageData.  But I must be missing something here.
>> If you guys have any clue about this, please let me know.
>> Thanks,
>> Lucas Lorenzo
>> PS: the CMakeList.txt file is only this:
>> PROJECT (ThresholdVTK)
>> INCLUDE (${CMAKE_ROOT}/Modules/FindVTK.cmake)
>> IF (USE_VTK_FILE)
>>   INCLUDE(${USE_VTK_FILE})
>> ENDIF (USE_VTK_FILE)
>> ADD_EXECUTABLE(ThresholdVTK ThresholdVTK.cxx)
>> TARGET_LINK_LIBRARIES(ThresholdVTK vtkRendering vtkImaging vtkIO)
>> University of Utah
>> Nora Eccles Harrison CardioVascular Research and Training Institute
>> Fellows Room
>> 95 South 2000 East
>> Salt Lake City, UT 84112-5000
>> e-mail:  lucas at cvrti.utah.edu
>> telephone: 801-587-9536
>> ---------------------------------------------------------------------- 
>> --
>> _______________________________________________
>> This is the private VTK discussion list. Please keep messages  
>> on-topic. Check the FAQ at:  
>> <http://public.kitware.com/cgi-bin/vtkfaq>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
Lucas Lorenzo

University of Utah
Nora Eccles Harrison CardioVascular Research and Training Institute
Fellows Room
95 South 2000 East
Salt Lake City, UT 84112-5000

e-mail:  lucas at cvrti.utah.edu
telephone: 801-587-9536




More information about the vtkusers mailing list