[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