[vtk6] 06/10: Add autopkgtest.

Anton Gladky gladk at moszumanska.debian.org
Sun May 18 12:24:13 UTC 2014


This is an automated email from the git hooks/post-receive script.

gladk pushed a commit to branch master
in repository vtk6.

commit cccbbecfac304a628a0042c1ad83945add0b7354
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