[vtk6] 06/07: Add autopkgtest.
Anton Gladky
gladk at moszumanska.debian.org
Sun May 18 12:27:05 UTC 2014
This is an automated email from the git hooks/post-receive script.
gladk pushed a commit to annotated tag debian/6.1.0+dfsg-1
in repository vtk6.
commit b79b4ae73c0b82084a11b8bb98f7d401050f4ba3
Author: Anton Gladky <gladk at debian.org>
Date: Sat May 17 21:55:12 2014 +0200
Add autopkgtest.
---
debian/control | 1 +
debian/tests/build_Boolean | 176 +++++++++++++++++++++++++++++++++++++++++
debian/tests/build_Distance | 59 ++++++++++++++
debian/tests/build_GenericClip | 156 ++++++++++++++++++++++++++++++++++++
debian/tests/build_PNG | 84 ++++++++++++++++++++
debian/tests/build_Point | 59 ++++++++++++++
debian/tests/build_VTP | 73 +++++++++++++++++
debian/tests/build_VTU | 129 ++++++++++++++++++++++++++++++
debian/tests/control | 2 +
9 files changed, 739 insertions(+)
diff --git a/debian/control b/debian/control
index 3c9f0a8..877027b 100644
--- a/debian/control
+++ b/debian/control
@@ -72,6 +72,7 @@ Standards-Version: 3.9.5
Homepage: http://www.vtk.org/
Vcs-Git: git://anonscm.debian.org/debian-science/packages/vtk6.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/vtk6.git
+XS-Testsuite: autopkgtest
Package: libvtk6
Architecture: any
diff --git a/debian/tests/build_Boolean b/debian/tests/build_Boolean
new file mode 100755
index 0000000..31c3c14
--- /dev/null
+++ b/debian/tests/build_Boolean
@@ -0,0 +1,176 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkVersion.h>
+#include <vtkBooleanOperationPolyDataFilter.h>
+
+#include <vtkActor.h>
+#include <vtkPolyDataReader.h>
+#include <vtkPolyDataMapper.h>
+#include <vtkProperty.h>
+#include <vtkRenderer.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkSmartPointer.h>
+#include <vtkSphereSource.h>
+
+int main(int argc, char *argv[])
+{
+ vtkSmartPointer<vtkPolyData> input1;
+ vtkSmartPointer<vtkPolyData> input2;
+
+ std::string operation("intersection");
+
+ if (argc == 4)
+ {
+ vtkSmartPointer<vtkPolyDataReader> reader1 =
+ vtkSmartPointer<vtkPolyDataReader>::New();
+ reader1->SetFileName(argv[1]);
+ reader1->Update();
+ input1 = reader1->GetOutput();
+
+ vtkSmartPointer<vtkPolyDataReader> reader2 =
+ vtkSmartPointer<vtkPolyDataReader>::New();
+ reader2->SetFileName(argv[3]);
+ reader2->Update();
+ input2 = reader2->GetOutput();
+
+ operation = argv[2];
+ }
+ else
+ {
+ vtkSmartPointer<vtkSphereSource> sphereSource1 =
+ vtkSmartPointer<vtkSphereSource>::New();
+ sphereSource1->SetCenter(.25, 0, 0);
+ sphereSource1->Update();
+ input1 = sphereSource1->GetOutput();
+
+ vtkSmartPointer<vtkSphereSource> sphereSource2 =
+ vtkSmartPointer<vtkSphereSource>::New();
+ sphereSource2->Update();
+ input2 = sphereSource2->GetOutput();
+
+ if (argc == 2)
+ {
+ operation = argv[1];
+ }
+ }
+
+ vtkSmartPointer<vtkPolyDataMapper> input1Mapper =
+ vtkSmartPointer<vtkPolyDataMapper>::New();
+#if VTK_MAJOR_VERSION <= 5
+ input1Mapper->SetInputConnection( input1->GetProducerPort() );
+#else
+ input1Mapper->SetInputData( input1 );
+#endif
+ input1Mapper->ScalarVisibilityOff();
+ vtkSmartPointer<vtkActor> input1Actor =
+ vtkSmartPointer<vtkActor>::New();
+ input1Actor->SetMapper( input1Mapper );
+ input1Actor->GetProperty()->SetColor(1,0,0);
+ input1Actor->SetPosition(
+ input1->GetBounds()[1]-input1->GetBounds()[0],
+ 0, 0);
+ vtkSmartPointer<vtkPolyDataMapper> input2Mapper =
+ vtkSmartPointer<vtkPolyDataMapper>::New();
+#if VTK_MAJOR_VERSION <= 5
+ input2Mapper->SetInputConnection( input2->GetProducerPort() );
+#else
+ input2Mapper->SetInputData( input2 );
+#endif
+ input2Mapper->ScalarVisibilityOff();
+ vtkSmartPointer<vtkActor> input2Actor =
+ vtkSmartPointer<vtkActor>::New();
+ input2Actor->SetMapper( input2Mapper );
+ input2Actor->GetProperty()->SetColor(0,1,0);
+ input2Actor->SetPosition(
+ -(input2->GetBounds()[1]-input2->GetBounds()[0]),
+ 0, 0);
+ vtkSmartPointer<vtkBooleanOperationPolyDataFilter> booleanOperation =
+ vtkSmartPointer<vtkBooleanOperationPolyDataFilter>::New();
+ if (operation == "union")
+ {
+ booleanOperation->SetOperationToUnion();
+ }
+ else if (operation == "intersection")
+ {
+ booleanOperation->SetOperationToIntersection();
+ }
+ else if (operation == "difference")
+ {
+ booleanOperation->SetOperationToDifference();
+ }
+ else
+ {
+ std::cout << "Unknown operation: " << operation << std::endl;
+ return EXIT_FAILURE;
+ }
+#if VTK_MAJOR_VERSION <= 5
+ booleanOperation->SetInputConnection( 0, input1->GetProducerPort() );
+ booleanOperation->SetInputConnection( 1, input2->GetProducerPort() );
+#else
+ booleanOperation->SetInputData( 0, input1 );
+ booleanOperation->SetInputData( 1, input2 );
+#endif
+ vtkSmartPointer<vtkPolyDataMapper> booleanOperationMapper =
+ vtkSmartPointer<vtkPolyDataMapper>::New();
+ booleanOperationMapper->SetInputConnection( booleanOperation->GetOutputPort() );
+ booleanOperationMapper->ScalarVisibilityOff();
+
+ vtkSmartPointer<vtkActor> booleanOperationActor =
+ vtkSmartPointer<vtkActor>::New();
+ booleanOperationActor->SetMapper( booleanOperationMapper );
+
+ vtkSmartPointer<vtkRenderer> renderer =
+ vtkSmartPointer<vtkRenderer>::New();
+ renderer->AddViewProp(input1Actor);
+ renderer->AddViewProp(input2Actor);
+ renderer->AddViewProp(booleanOperationActor);
+ renderer->SetBackground(.1, .2, .3);
+ vtkSmartPointer<vtkRenderWindow> renderWindow =
+ vtkSmartPointer<vtkRenderWindow>::New();
+ renderWindow->AddRenderer( renderer );
+
+ vtkSmartPointer<vtkRenderWindowInteractor> renWinInteractor =
+ vtkSmartPointer<vtkRenderWindowInteractor>::New();
+ renWinInteractor->SetRenderWindow( renderWindow );
+
+ return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/build_Distance b/debian/tests/build_Distance
new file mode 100755
index 0000000..125f9e5
--- /dev/null
+++ b/debian/tests/build_Distance
@@ -0,0 +1,59 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkMath.h>
+
+int main(int, char *[])
+{
+ // Create two points.
+ double p0[3] = {0.0, 0.0, 0.0};
+ double p1[3] = {1.0, 1.0, 1.0};
+
+ // Find the squared distance between the points.
+ double squaredDistance = vtkMath::Distance2BetweenPoints(p0, p1);
+
+ // Take the square root to get the Euclidean distance between the points.
+ double distance = sqrt(squaredDistance);
+
+ // Output the results.
+ std::cout << "SquaredDistance = " << squaredDistance << std::endl;
+ std::cout << "Distance = " << distance << std::endl;
+
+ return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/build_GenericClip b/debian/tests/build_GenericClip
new file mode 100755
index 0000000..fade37a
--- /dev/null
+++ b/debian/tests/build_GenericClip
@@ -0,0 +1,156 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkActor.h>
+#include <vtkBridgeDataSet.h>
+#include <vtkCellData.h>
+#include <vtkContourFilter.h>
+#include <vtkDataSetMapper.h>
+#include <vtkDelaunay3D.h>
+#include <vtkElevationFilter.h>
+#include <vtkGenericClip.h>
+#include <vtkImageData.h>
+#include <vtkImplicitDataSet.h>
+#include <vtkIdFilter.h>
+#include <vtkIdTypeArray.h>
+#include <vtkSphereSource.h>
+#include <vtkPolyDataMapper.h>
+#include <vtkProperty.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderer.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkSampleFunction.h>
+#include <vtkSmartPointer.h>
+#include <vtkPlane.h>
+#include <vtkUnstructuredGrid.h>
+
+int main(int, char**)
+{
+
+ vtkSmartPointer<vtkSphereSource> sphereSource =
+ vtkSmartPointer<vtkSphereSource>::New();
+ sphereSource->SetRadius(5);
+ sphereSource->SetThetaResolution(10);
+ sphereSource->SetPhiResolution(10);
+ sphereSource->Update();
+
+ // Add ids to the points and cells of the sphere
+ vtkSmartPointer<vtkIdFilter> idFilter =
+ vtkSmartPointer<vtkIdFilter>::New();
+ idFilter->SetInputConnection(sphereSource->GetOutputPort());
+ idFilter->Update();
+
+ // Create a plane to clip with
+ vtkSmartPointer<vtkPlane> plane = vtkSmartPointer<vtkPlane>::New();
+ plane->SetOrigin(0, 0, 0);
+ plane->SetNormal(1, 1, 1);
+
+ // Convert the DataSet to a GenericDataSet
+ vtkSmartPointer<vtkBridgeDataSet> bridgeDataSet = vtkSmartPointer<vtkBridgeDataSet>::New();
+ bridgeDataSet->SetDataSet(idFilter->GetOutput());
+
+ vtkSmartPointer<vtkGenericClip> clipper =
+ vtkSmartPointer<vtkGenericClip>::New();
+ clipper->SetClipFunction(plane);
+ clipper->SetInputData(bridgeDataSet);
+ clipper->Update();
+
+ // Get the clipped cell ids
+ vtkUnstructuredGrid* clipped = clipper->GetOutput();
+ vtkIdTypeArray* originalIds = vtkIdTypeArray::SafeDownCast(clipped->GetCellData()->GetArray("vtkIdFilter_Ids"));
+ for(vtkIdType i = 0; i < originalIds->GetNumberOfTuples(); i++)
+ {
+ std::cout << "new id " << i << ", original id " << originalIds->GetValue(i) << std::endl;
+ }
+
+ // Create a mapper and actor for clipped points
+ vtkSmartPointer<vtkDataSetMapper> mapper =
+ vtkSmartPointer<vtkDataSetMapper>::New();
+ mapper->SetInputConnection(clipper->GetOutputPort());
+ vtkSmartPointer<vtkActor> actor =
+ vtkSmartPointer<vtkActor>::New();
+ actor->SetMapper(mapper);
+
+ // Create a mapper and actor for clipping function
+ vtkSmartPointer<vtkSampleFunction> sample =
+ vtkSmartPointer<vtkSampleFunction>::New();
+ sample->SetSampleDimensions(20,20,20);
+ sample->SetImplicitFunction(plane);
+ double value = 10.0;
+ double xmin = -value, xmax = value, ymin = -value, ymax = value, zmin = -value, zmax = value;
+ sample->SetModelBounds(xmin, xmax, ymin, ymax, zmin, zmax);
+
+ // Create the 0 isosurface
+ vtkSmartPointer<vtkContourFilter> contours =
+ vtkSmartPointer<vtkContourFilter>::New();
+ contours->SetInputConnection(sample->GetOutputPort());
+ contours->GenerateValues(1, 1, 1);
+
+ // Map the contours to graphical primitives
+ vtkSmartPointer<vtkPolyDataMapper> contourMapper =
+ vtkSmartPointer<vtkPolyDataMapper>::New();
+ contourMapper->SetInputConnection(contours->GetOutputPort());
+ contourMapper->SetScalarRange(0.0, 1.2);
+
+ // Create an actor for the sphere
+ vtkSmartPointer<vtkActor> sphereActor =
+ vtkSmartPointer<vtkActor>::New();
+ sphereActor->SetMapper(contourMapper);
+
+ // Create a renderer, render window, and interactor
+ vtkSmartPointer<vtkRenderer> renderer =
+ vtkSmartPointer<vtkRenderer>::New();
+ vtkSmartPointer<vtkRenderWindow> renderWindow =
+ vtkSmartPointer<vtkRenderWindow>::New();
+ renderWindow->AddRenderer(renderer);
+ vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
+ vtkSmartPointer<vtkRenderWindowInteractor>::New();
+ renderWindowInteractor->SetRenderWindow(renderWindow);
+
+ // Add the actor to the scene
+ renderer->AddActor(actor);
+ renderer->AddActor(sphereActor);
+ renderer->SetBackground(1,1,1); // Background color white
+
+ // Render and interact
+ // renderWindow->Render();
+ // renderWindowInteractor->Start();
+
+ return 0;
+}
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/build_PNG b/debian/tests/build_PNG
new file mode 100755
index 0000000..08a74cf
--- /dev/null
+++ b/debian/tests/build_PNG
@@ -0,0 +1,84 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkImageData.h>
+#include <vtkPNGWriter.h>
+#include <vtkSmartPointer.h>
+#include <vtkImageCanvasSource2D.h>
+#include <vtkImageCast.h>
+
+int main(int argc, char *argv[])
+{
+ std::string outputFilename;
+ if( argc > 1)
+ {
+ outputFilename = argv[1];
+ }
+ else
+ {
+ outputFilename = "output.png";
+ }
+
+ int extent[6] = {0, 99, 0, 99, 0, 0};
+ vtkSmartPointer<vtkImageCanvasSource2D> imageSource =
+ vtkSmartPointer<vtkImageCanvasSource2D>::New();
+ imageSource->SetExtent(extent);
+ imageSource->SetScalarTypeToUnsignedChar();
+ imageSource->SetNumberOfScalarComponents(3);
+ imageSource->SetDrawColor(127, 45, 255);
+ imageSource->FillBox(0, 99, 0, 99);
+ imageSource->SetDrawColor(255,255,255);
+ imageSource->FillBox(40, 70, 20, 50);
+ imageSource->Update();
+
+ vtkSmartPointer<vtkImageCast> castFilter =
+ vtkSmartPointer<vtkImageCast>::New();
+ castFilter->SetOutputScalarTypeToUnsignedChar ();
+ castFilter->SetInputConnection(imageSource->GetOutputPort());
+ castFilter->Update();
+
+ vtkSmartPointer<vtkPNGWriter> writer =
+ vtkSmartPointer<vtkPNGWriter>::New();
+ writer->SetFileName(outputFilename.c_str());
+ writer->SetInputConnection(castFilter->GetOutputPort());
+ writer->Write();
+
+ return EXIT_SUCCESS;
+}
+
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/build_Point b/debian/tests/build_Point
new file mode 100755
index 0000000..df4ab53
--- /dev/null
+++ b/debian/tests/build_Point
@@ -0,0 +1,59 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkPolyData.h>
+#include <vtkSimplePointsWriter.h>
+#include <vtkSphereSource.h>
+#include <vtkSmartPointer.h>
+
+int main(int argc, char *argv[])
+{
+ vtkSmartPointer<vtkSphereSource> sphereSource =
+ vtkSmartPointer<vtkSphereSource>::New();
+ sphereSource->Update();
+
+ vtkSmartPointer<vtkSimplePointsWriter> writer =
+ vtkSmartPointer<vtkSimplePointsWriter>::New();
+ writer->SetFileName("test.xyz");
+ writer->SetInputConnection(sphereSource->GetOutputPort());
+ writer->Write();
+
+ return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+cat test.xyz
+echo "run: OK"
diff --git a/debian/tests/build_VTP b/debian/tests/build_VTP
new file mode 100755
index 0000000..79dd55a
--- /dev/null
+++ b/debian/tests/build_VTP
@@ -0,0 +1,73 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkVersion.h>
+#include <vtkCellArray.h>
+#include <vtkPoints.h>
+#include <vtkXMLPolyDataWriter.h>
+#include <vtkPolyData.h>
+#include <vtkSmartPointer.h>
+
+int main ( int, char *[] )
+{
+ vtkSmartPointer<vtkPoints> points =
+ vtkSmartPointer<vtkPoints>::New();
+
+ for ( unsigned int i = 0; i < 10; ++i )
+ {
+ points->InsertNextPoint ( i, i, i );
+ }
+
+ vtkSmartPointer<vtkPolyData> polydata =
+ vtkSmartPointer<vtkPolyData>::New();
+ polydata->SetPoints(points);
+
+ vtkSmartPointer<vtkXMLPolyDataWriter> writer =
+ vtkSmartPointer<vtkXMLPolyDataWriter>::New();
+ writer->SetFileName("test.vtp");
+#if VTK_MAJOR_VERSION <= 5
+ writer->SetInput(polydata);
+#else
+ writer->SetInputData(polydata);
+#endif
+ writer->Write();
+
+ return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+cat test.vtp
+echo "run: OK"
diff --git a/debian/tests/build_VTU b/debian/tests/build_VTU
new file mode 100755
index 0000000..0015d93
--- /dev/null
+++ b/debian/tests/build_VTU
@@ -0,0 +1,129 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkVersion.h>
+#include <vtkSmartPointer.h>
+#include <vtkTetra.h>
+#include <vtkCellArray.h>
+#include <vtkXMLUnstructuredGridReader.h>
+#include <vtkDataSetMapper.h>
+#include <vtkActor.h>
+#include <vtkRenderer.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkXMLUnstructuredGridWriter.h>
+#include <vtkUnstructuredGrid.h>
+#include <vtkPointData.h>
+#include <vtkVertexGlyphFilter.h>
+
+int main(int argc, char *argv[])
+{
+ if(argc != 2)
+ {
+ std::cout << "Required arguments: OutputFilename" << std::endl;
+ return EXIT_FAILURE;
+ }
+
+ std::string filename = argv[1];
+
+ vtkSmartPointer<vtkPoints> points =
+ vtkSmartPointer<vtkPoints>::New();
+ points->InsertNextPoint(0, 0, 0);
+ points->InsertNextPoint(1, 0, 0);
+ points->InsertNextPoint(1, 1, 0);
+ points->InsertNextPoint(0, 1, 1);
+
+ vtkSmartPointer<vtkTetra> tetra =
+ vtkSmartPointer<vtkTetra>::New();
+
+ tetra->GetPointIds()->SetId(0, 0);
+ tetra->GetPointIds()->SetId(1, 1);
+ tetra->GetPointIds()->SetId(2, 2);
+ tetra->GetPointIds()->SetId(3, 3);
+
+ vtkSmartPointer<vtkCellArray> cellArray =
+ vtkSmartPointer<vtkCellArray>::New();
+ cellArray->InsertNextCell(tetra);
+
+
+ vtkSmartPointer<vtkUnstructuredGrid> unstructuredGrid =
+ vtkSmartPointer<vtkUnstructuredGrid>::New();
+ unstructuredGrid->SetPoints(points);
+ unstructuredGrid->SetCells(VTK_TETRA, cellArray);
+
+ // Write file
+ vtkSmartPointer<vtkXMLUnstructuredGridWriter> writer =
+ vtkSmartPointer<vtkXMLUnstructuredGridWriter>::New();
+ writer->SetFileName(filename.c_str());
+#if VTK_MAJOR_VERSION <= 5
+ writer->SetInput(unstructuredGrid);
+#else
+ writer->SetInputData(unstructuredGrid);
+#endif
+ writer->Write();
+
+ vtkSmartPointer<vtkXMLUnstructuredGridReader> reader =
+ vtkSmartPointer<vtkXMLUnstructuredGridReader>::New();
+ reader->SetFileName(filename.c_str());
+ reader->Update();
+
+ vtkSmartPointer<vtkDataSetMapper> mapper =
+ vtkSmartPointer<vtkDataSetMapper>::New();
+ mapper->SetInputConnection(reader->GetOutputPort());
+
+ vtkSmartPointer<vtkActor> actor =
+ vtkSmartPointer<vtkActor>::New();
+ actor->SetMapper(mapper);
+
+ vtkSmartPointer<vtkRenderer> renderer =
+ vtkSmartPointer<vtkRenderer>::New();
+ vtkSmartPointer<vtkRenderWindow> renderWindow =
+ vtkSmartPointer<vtkRenderWindow>::New();
+ renderWindow->AddRenderer(renderer);
+ vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
+ vtkSmartPointer<vtkRenderWindowInteractor>::New();
+ renderWindowInteractor->SetRenderWindow(renderWindow);
+
+ renderer->AddActor(actor);
+ renderer->SetBackground(.3, .6, .3);
+
+ return EXIT_SUCCESS;
+}
+
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo a.vtu
+cat a.vtu
+echo "run: OK"
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..d805dbe
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,2 @@
+Tests: build_Boolean build_GenericClip build_Point build_VTU build_Distance build_PNG build_VTP
+Depends: libvtk6-dev, build-essential, cmake
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/vtk6.git
More information about the debian-science-commits
mailing list