[vtkusers] How to make CMakeLists.txt

sudhanshu gupta sudhanshugupta2511 at gmail.com
Fri May 20 04:25:20 EDT 2011


HI


CMakeLists.txt:

cmake_minimum_required(VERSION 2.6)

PROJECT(pipeline)

FIND_PACKAGE(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})

ADD_EXECUTABLE(pipeline pipeline.cxx)
TARGET_LINK_LIBRARIES(pipeline vtkIO)




Code:


#include< vtkImageReader.h >
#include< vtkJPEGReader.h >
#include< vtkImageDataGeometryFilter.h >
#include< vtkWarpScalar.h >
#include< vtkInteractorStyleTrackballCamera.h >
#include< vtkRenderWindowInteractor.h >
#include< vtkRenderWindow.h >
#include< vtkRenderer.h >
#include< vtkLODActor.h >
#include< vtkPolyDataMapper.h >
#include< vtkDataSetMapper.h >
#include< vtkGeometryFilter.h >
#include< vtkMergeFilter.h >
#include< vtkTexture.h >

    vtkImageReader *elevReader = vtkImageReader::New();
    elevReader->SetFileName( "canyon_elev.raw" );
    elevReader->SetDataExtent( 0, 1023, 0, 511, 0, 0 );
    elevReader->SetDataScalarTypeToUnsignedChar( );
    elevReader->Update( ); // Needed to generate contour scale !

    vtkJPEGReader *textureReader = vtkJPEGReader::New( );
    textureReader->SetFileName( "canyon_rgb.jpg" );


    vtkImageDataGeometryFilter *geometry = vtkImageDataGeometryFilter::New(
);
    geometry->SetInput( elevReader->GetOutput( ) );

    vtkWarpScalar *warper = vtkWarpScalar::New( );
    warper->SetInput( ( vtkPointSet * ) ( geometry->GetOutput( ) ) );
    warper->SetScaleFactor( scalingFactor );

    vtkGeometryFilter *geomFilter = vtkGeometryFilter::New( );
    geomFilter->SetInput( ( vtkDataSet * ) ( warper->GetOutput( ) ) );

    vtkTexture *texture = vtkTexture::New( );
    texture->SetInput( textureReader->GetOutput( ) );
    texture->RepeatOff( );

    vtkMergeFilter *merger = vtkMergeFilter::New( );
    merger->SetGeometry( ( vtkDataSet * ) ( geomFilter->GetOutput( ) ) );
    merger->SetScalars( ( vtkDataSet * ) ( textureReader->GetOutput( ) ) );

    vtkGeometryFilter *geomFilter2 = vtkGeometryFilter::New( );
    geomFilter2->SetInput( merger->GetOutput( ) );
    float data[ 2 ], delta8;
    elevReader->GetOutput( )->GetScalarRange( data );
    dataMin = data[ 0 ];
    dataMax = data[ 1 ];
    delta8 = ( data[ 1 ] - data[ 0 ] ) / 8;
    cout << "Data Min, Max, delta8 = " << dataMin << ", " << dataMax << ", "

        << delta8 << endl;
    for( i = 0; i < 4; i++ ) {
        contours[ i ] = vtkContourFilter::New( );
        contours[ i ]->SetInput( ( vtkDataSet * ) ( elevReader->GetOutput( )
) );
        contourHeights[ i ] = data[ 0 ] + delta8 * ( 2 * i + 1 );
        contours[ i ]->SetValue( 0, contourHeights[ i ] );
    }
    vtkDataSetMapper *surfaceMapper = vtkDataSetMapper::New();
    surfaceMapper->SetInput( ( vtkDataSet * ) ( geomFilter2->GetOutput()
));
    surfaceMapper->SetScalarRange( 0, 255 );

    vtkPolyDataMapper *contourMappers[ 4 ];
    for( i = 0; i < 4; i++ ) {
        contourMappers[ i ] = vtkPolyDataMapper::New();
        contourMappers[ i ]->SetInput( contours[ i ]->GetOutput() );
        contourMappers[ i ]->SetScalarModeToUsePointFieldData( );
    }

    vtkLODActor *surfaceActor = vtkLODActor::New();
    surfaceActor->SetMapper( surfaceMapper );
    surfaceActor->SetTexture( texture );
    float colors[ 4 ] [ 3 ] = { { 1.0, 0.0, 0.0 }, { 0.0, 1.0, 0.0 },
        { 0.0, 0.0, 1.0 }, { 1.0, 1.0, 0.0 } };
    for( i = 0; i < 4; i++ ) {
        contourActors[ i ] = vtkActor::New( );
        contourActors[ i ]->SetMapper( contourMappers[ i ] );
        contourActors[ i ]->GetProperty( )->SetColor( colors[ i ] );
    }


    vtkRenderer *ren1= vtkRenderer::New();
    ren1->AddActor( surfaceActor );
    ren1->SetBackground( 0.1, 0.2, 0.4 );
    ren1->SetViewport(0.0, 0.0, 1.0, 1.0);
    for( i = 0; i < 4; i++ ) {
        ren1->AddActor( contourActors[ i ] );
        contourActors[ i ]->AddPosition( 0.0, 0.0, 2.0 - contourHeights[ i ]
);
    }


    vtkRenderWindow *renWin = vtkRenderWindow::New();
    renWin->AddRenderer( ren1 );
    renWin->SetSize( 600, 600 );

    vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
    iren->SetRenderWindow(renWin);

    vtkInteractorStyleTrackballCamera *style =
vtkInteractorStyleTrackballCamera::New();
    iren->SetInteractorStyle(style);

    iren->Initialize();
    iren->Start();

    elevReader->Delete();
    ren1->Delete();
    renWin->Delete();
    iren->Delete();
    style->Delete();

    return 0;
}



Error:

Scanning dependencies of target pipeline
[100%] Building CXX object CMakeFiles/pipeline.dir/pipeline.cxx.o
/home/sudhanshu/pipeline/pipeline.cxx:1: fatal error:  vtkImageReader.h : No
such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/pipeline.dir/pipeline.cxx.o] Error 1
make[1]: *** [CMakeFiles/pipeline.dir/all] Error 2
make: *** [all] Error 2


Please see whats the problem I am not able to configure it.
Thank you..
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20110520/69b45c50/attachment.htm>


More information about the vtkusers mailing list