[ovito] 01/05: Remove patch applied by upstream.

Anton Gladky gladk at moszumanska.debian.org
Sun Jan 8 15:00:33 UTC 2017


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

gladk pushed a commit to branch master
in repository ovito.

commit 2aa0adf5344e323468ffc0c6edf7133b540052b8
Author: Anton Gladky <gladk at debian.org>
Date:   Sun Jan 8 15:37:34 2017 +0100

    Remove patch applied by upstream.
---
 debian/patches/20_use_system_qwt.patch | 950 ---------------------------------
 debian/patches/series                  |   1 -
 2 files changed, 951 deletions(-)

diff --git a/debian/patches/20_use_system_qwt.patch b/debian/patches/20_use_system_qwt.patch
deleted file mode 100644
index d17dcfc..0000000
--- a/debian/patches/20_use_system_qwt.patch
+++ /dev/null
@@ -1,950 +0,0 @@
-From: Alexander Stukowski <stukowski at mm.tu-darmstadt.de>
-Date: Sat, 10 Dec 2016 10:33:46 +0100
-Subject: [PATCH] Use system copy of Qwt library if present instead of building internal copy.
-
----
- cmake/FindQwt.cmake                                                                           |  15 +++++++++++++++
- doc/develop/feature_requests.txt                                                              |   3 +--
- doc/manual/development/build_linux.docbook                                                    |   4 ++--
- src/3rdparty/qwt/CMakeLists.txt                                                               | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------
- src/core/dataset/importexport/FileExporter.h                                                  |   2 +-
- src/plugins/netcdf/CMakeLists.txt                                                             |   3 +++
- src/plugins/netcdf/NetCDFExporter.cpp                                                         | 278 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
- src/plugins/netcdf/NetCDFExporter.h                                                           |  49 +++++++++++++++++++++++++++++++++++++++++++++++++
- src/plugins/netcdf/NetCDFImporter.cpp                                                         |  49 +++++++++++++------------------------------------
- src/plugins/particles/export/ParticleExporter.cpp                                             |   4 ++--
- src/plugins/particles/export/ParticleExporter.h                                               |   4 ++--
- src/plugins/particles/gui/modifier/analysis/binandreduce/BinAndReduceModifierEditor.cpp       |  18 +++++++++---------
- src/plugins/particles/gui/modifier/analysis/coordination/CoordinationNumberModifierEditor.cpp |   6 +++---
- src/plugins/particles/gui/modifier/analysis/histogram/HistogramModifierEditor.cpp             |   8 ++++----
- src/plugins/particles/gui/modifier/analysis/ptm/PolyhedralTemplateMatchingModifierEditor.cpp  |   8 ++++----
- src/plugins/particles/gui/modifier/analysis/scatterplot/ScatterPlotModifierEditor.cpp         |  10 +++++-----
- tests/scripts/test_suite/global_namespace.py                                                  |   6 +++---
- 17 files changed, 502 insertions(+), 171 deletions(-)
- create mode 100644 cmake/FindQwt.cmake
-
-Index: ovito/cmake/FindQwt.cmake
-===================================================================
---- /dev/null
-+++ ovito/cmake/FindQwt.cmake
-@@ -0,0 +1,15 @@
-+# Try to find the Qwt library
-+#  QWT_FOUND - system has Qwt lib
-+#  Qwt_INCLUDE_DIRS - the include directories needed
-+#  Qwt_LIBRARIES - libraries needed
-+
-+FIND_PATH(QWT_INCLUDE_DIR NAMES qwt/qwt.h)
-+FIND_LIBRARY(QWT_LIBRARY NAMES qwt-qt5 qwt)
-+
-+SET(Qwt_INCLUDE_DIRS ${QWT_INCLUDE_DIR})
-+SET(Qwt_LIBRARIES ${QWT_LIBRARY})
-+
-+INCLUDE(FindPackageHandleStandardArgs)
-+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Qwt DEFAULT_MSG QWT_LIBRARY QWT_INCLUDE_DIR)
-+
-+MARK_AS_ADVANCED(QWT_INCLUDE_DIR QWT_LIBRARY)
-Index: ovito/src/3rdparty/qwt/CMakeLists.txt
-===================================================================
---- ovito.orig/src/3rdparty/qwt/CMakeLists.txt
-+++ ovito/src/3rdparty/qwt/CMakeLists.txt
-@@ -19,106 +19,120 @@
- #
- ###############################################################################
- 
--# Build the library.
--SET(QWT_SOURCE_FILES
--    qwt_abstract_scale_draw.cpp
--    qwt_clipper.cpp
--    qwt_color_map.cpp
--    qwt_column_symbol.cpp
--    qwt_date.cpp
--    qwt_date_scale_draw.cpp
--    qwt_date_scale_engine.cpp
--    qwt_dyngrid_layout.cpp
--    qwt_event_pattern.cpp
--    qwt_graphic.cpp
--    qwt_interval.cpp
--    qwt_interval_symbol.cpp
--    qwt_math.cpp
--    qwt_magnifier.cpp
--    qwt_null_paintdevice.cpp
--    qwt_painter.cpp
--    qwt_painter_command.cpp
--    qwt_panner.cpp
--    qwt_picker.cpp
--    qwt_picker_machine.cpp
--    qwt_pixel_matrix.cpp
--    qwt_point_3d.cpp
--    qwt_point_polar.cpp
--    qwt_round_scale_draw.cpp
--    qwt_scale_div.cpp
--    qwt_scale_draw.cpp
--    qwt_scale_map.cpp
--    qwt_spline.cpp
--    qwt_scale_engine.cpp
--    qwt_symbol.cpp
--    qwt_system_clock.cpp
--    qwt_text_engine.cpp
--    qwt_text_label.cpp
--    qwt_text.cpp
--    qwt_transform.cpp
--    qwt_widget_overlay.cpp
--
--	# QwtPlot files:
--	qwt_curve_fitter.cpp
--	qwt_abstract_legend.cpp
--	qwt_legend.cpp
--	qwt_legend_data.cpp
--	qwt_legend_label.cpp
--	qwt_plot.cpp
--	qwt_plot_renderer.cpp
--	qwt_plot_xml.cpp
--	qwt_plot_axis.cpp
--	qwt_plot_curve.cpp
--	qwt_plot_dict.cpp
--	qwt_plot_directpainter.cpp
--	qwt_plot_grid.cpp
--	qwt_plot_histogram.cpp
--	qwt_plot_item.cpp
--	qwt_plot_abstract_barchart.cpp
--	qwt_plot_barchart.cpp
--	qwt_plot_multi_barchart.cpp
--	qwt_plot_intervalcurve.cpp
--	qwt_plot_zoneitem.cpp
--	qwt_plot_tradingcurve.cpp
--	qwt_plot_spectrogram.cpp
--	qwt_plot_spectrocurve.cpp
--	qwt_plot_scaleitem.cpp
--	qwt_plot_legenditem.cpp
--	qwt_plot_seriesitem.cpp
--	qwt_plot_shapeitem.cpp
--	qwt_plot_marker.cpp
--	qwt_plot_textlabel.cpp
--	qwt_plot_layout.cpp
--	qwt_plot_canvas.cpp
--	qwt_plot_panner.cpp
--	qwt_plot_rasteritem.cpp
--	qwt_plot_picker.cpp
--	qwt_plot_zoomer.cpp
--	qwt_plot_magnifier.cpp
--	qwt_plot_rescaler.cpp
--	qwt_point_mapper.cpp
--	qwt_raster_data.cpp
--	qwt_matrix_raster_data.cpp
--	qwt_sampling_thread.cpp
--	qwt_series_data.cpp
--	qwt_point_data.cpp
--	qwt_scale_widget.cpp
--)
--
--# Build the library.
--ADD_LIBRARY(Qwt SHARED ${QWT_SOURCE_FILES}) 
--
--# Link to Qt5.
--TARGET_LINK_LIBRARIES(Qwt PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport Qt5::Concurrent)
--
--# Some compile time flags for Qwt.
--TARGET_COMPILE_DEFINITIONS(Qwt PRIVATE QWT_NO_SVG QWT_NO_OPENGL QWT_MAKEDLL)
--TARGET_COMPILE_DEFINITIONS(Qwt PUBLIC QWT_DLL)
--
--SET_TARGET_PROPERTIES(Qwt PROPERTIES MACOSX_RPATH TRUE)
--
--# Export this target.
--INSTALL(TARGETS Qwt EXPORT OVITO 
--	RUNTIME DESTINATION "${OVITO_RELATIVE_LIBRARY_DIRECTORY}"
--	LIBRARY DESTINATION "${OVITO_RELATIVE_LIBRARY_DIRECTORY}")
-+# Find Qwt library.
-+FIND_PACKAGE(Qwt QUIET)
- 
-+IF(QWT_FOUND)
-+
-+	# Create imported target for the existing Qwt library.
-+	ADD_LIBRARY(Qwt SHARED IMPORTED GLOBAL)
-+	SET_PROPERTY(TARGET Qwt PROPERTY IMPORTED_LOCATION "${Qwt_LIBRARIES}")
-+	SET_PROPERTY(TARGET Qwt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${Qwt_INCLUDE_DIRS}")
-+
-+ELSE()
-+
-+	# Build the library.
-+	SET(QWT_SOURCE_FILES
-+		qwt_abstract_scale_draw.cpp
-+		qwt_clipper.cpp
-+		qwt_color_map.cpp
-+		qwt_column_symbol.cpp
-+		qwt_date.cpp
-+		qwt_date_scale_draw.cpp
-+		qwt_date_scale_engine.cpp
-+		qwt_dyngrid_layout.cpp
-+		qwt_event_pattern.cpp
-+		qwt_graphic.cpp
-+		qwt_interval.cpp
-+		qwt_interval_symbol.cpp
-+		qwt_math.cpp
-+		qwt_magnifier.cpp
-+		qwt_null_paintdevice.cpp
-+		qwt_painter.cpp
-+		qwt_painter_command.cpp
-+		qwt_panner.cpp
-+		qwt_picker.cpp
-+		qwt_picker_machine.cpp
-+		qwt_pixel_matrix.cpp
-+		qwt_point_3d.cpp
-+		qwt_point_polar.cpp
-+		qwt_round_scale_draw.cpp
-+		qwt_scale_div.cpp
-+		qwt_scale_draw.cpp
-+		qwt_scale_map.cpp
-+		qwt_spline.cpp
-+		qwt_scale_engine.cpp
-+		qwt_symbol.cpp
-+		qwt_system_clock.cpp
-+		qwt_text_engine.cpp
-+		qwt_text_label.cpp
-+		qwt_text.cpp
-+		qwt_transform.cpp
-+		qwt_widget_overlay.cpp
-+
-+		# QwtPlot files:
-+		qwt_curve_fitter.cpp
-+		qwt_abstract_legend.cpp
-+		qwt_legend.cpp
-+		qwt_legend_data.cpp
-+		qwt_legend_label.cpp
-+		qwt_plot.cpp
-+		qwt_plot_renderer.cpp
-+		qwt_plot_xml.cpp
-+		qwt_plot_axis.cpp
-+		qwt_plot_curve.cpp
-+		qwt_plot_dict.cpp
-+		qwt_plot_directpainter.cpp
-+		qwt_plot_grid.cpp
-+		qwt_plot_histogram.cpp
-+		qwt_plot_item.cpp
-+		qwt_plot_abstract_barchart.cpp
-+		qwt_plot_barchart.cpp
-+		qwt_plot_multi_barchart.cpp
-+		qwt_plot_intervalcurve.cpp
-+		qwt_plot_zoneitem.cpp
-+		qwt_plot_tradingcurve.cpp
-+		qwt_plot_spectrogram.cpp
-+		qwt_plot_spectrocurve.cpp
-+		qwt_plot_scaleitem.cpp
-+		qwt_plot_legenditem.cpp
-+		qwt_plot_seriesitem.cpp
-+		qwt_plot_shapeitem.cpp
-+		qwt_plot_marker.cpp
-+		qwt_plot_textlabel.cpp
-+		qwt_plot_layout.cpp
-+		qwt_plot_canvas.cpp
-+		qwt_plot_panner.cpp
-+		qwt_plot_rasteritem.cpp
-+		qwt_plot_picker.cpp
-+		qwt_plot_zoomer.cpp
-+		qwt_plot_magnifier.cpp
-+		qwt_plot_rescaler.cpp
-+		qwt_point_mapper.cpp
-+		qwt_raster_data.cpp
-+		qwt_matrix_raster_data.cpp
-+		qwt_sampling_thread.cpp
-+		qwt_series_data.cpp
-+		qwt_point_data.cpp
-+		qwt_scale_widget.cpp
-+	)
-+
-+	# Build the library.
-+	ADD_LIBRARY(Qwt SHARED ${QWT_SOURCE_FILES}) 
-+
-+	# Link to Qt5.
-+	TARGET_LINK_LIBRARIES(Qwt PUBLIC Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport Qt5::Concurrent)
-+
-+	# Some compile time flags for Qwt.
-+	TARGET_COMPILE_DEFINITIONS(Qwt PRIVATE QWT_NO_SVG QWT_NO_OPENGL QWT_MAKEDLL)
-+	TARGET_COMPILE_DEFINITIONS(Qwt PUBLIC QWT_DLL)
-+
-+	SET_PROPERTY(TARGET Qwt APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/src/3rdparty")
-+	SET_TARGET_PROPERTIES(Qwt PROPERTIES MACOSX_RPATH TRUE)
-+
-+	# Export this target.
-+	INSTALL(TARGETS Qwt EXPORT OVITO 
-+		RUNTIME DESTINATION "${OVITO_RELATIVE_LIBRARY_DIRECTORY}"
-+		LIBRARY DESTINATION "${OVITO_RELATIVE_LIBRARY_DIRECTORY}")
-+
-+ENDIF()
-\ No newline at end of file
-Index: ovito/src/core/dataset/importexport/FileExporter.h
-===================================================================
---- ovito.orig/src/core/dataset/importexport/FileExporter.h
-+++ ovito/src/core/dataset/importexport/FileExporter.h
-@@ -126,7 +126,7 @@ protected:
- 	/// \brief This is called once for every output file to be written and before exportFrame() is called.
- 	virtual bool openOutputFile(const QString& filePath, int numberOfFrames) = 0;
- 
--	/// \brief This is called once for every output file written after exportFrame() has been called.s
-+	/// \brief This is called once for every output file written after exportFrame() has been called.
- 	virtual void closeOutputFile(bool exportCompleted) = 0;
- 
- 	/// \brief Exports a single animation frame to the current output file.
-Index: ovito/src/plugins/netcdf/CMakeLists.txt
-===================================================================
---- ovito.orig/src/plugins/netcdf/CMakeLists.txt
-+++ ovito/src/plugins/netcdf/CMakeLists.txt
-@@ -45,6 +45,9 @@ OVITO_STANDARD_PLUGIN(
- )
- 
- TARGET_INCLUDE_DIRECTORIES(NetCDFPlugin PRIVATE "${netcdf_INCLUDE_DIRS}")
-+IF(WIN32)
-+	TARGET_COMPILE_DEFINITIONS(NetCDFPlugin PRIVATE DLL_NETCDF)
-+ENDIF()
- 
- IF(WIN32)
- 
-Index: ovito/src/plugins/netcdf/NetCDFExporter.cpp
-===================================================================
---- ovito.orig/src/plugins/netcdf/NetCDFExporter.cpp
-+++ ovito/src/plugins/netcdf/NetCDFExporter.cpp
-@@ -25,11 +25,145 @@
- #include <core/utilities/concurrent/ProgressDisplay.h>
- #include "NetCDFExporter.h"
- 
-+#include <netcdf.h>
-+
-+#define NCERR(x) ncerr(x, __FILE__, __LINE__)
-+#define NCERRI(x, info) ncerr_with_info(x, __FILE__, __LINE__, info)
-+
- namespace Ovito { namespace Particles { OVITO_BEGIN_INLINE_NAMESPACE(Export) OVITO_BEGIN_INLINE_NAMESPACE(Formats)
- 
-+const char NC_FRAME_STR[]         = "frame";
-+const char NC_SPATIAL_STR[]       = "spatial";
-+const char NC_VOIGT_STR[]         = "Voigt";
-+const char NC_ATOM_STR[]          = "atom";
-+const char NC_CELL_SPATIAL_STR[]  = "cell_spatial";
-+const char NC_CELL_ANGULAR_STR[]  = "cell_angular";
-+const char NC_LABEL_STR[]         = "label";
-+
-+const char NC_TIME_STR[]          = "time";
-+const char NC_CELL_ORIGIN_STR[]   = "cell_origin";
-+const char NC_CELL_LENGTHS_STR[]  = "cell_lengths";
-+const char NC_CELL_ANGLES_STR[]   = "cell_angles";
-+
-+const char NC_UNITS_STR[]         = "units";
-+const char NC_SCALE_FACTOR_STR[]  = "scale_factor";
-+
-+#ifdef FLOATTYPE_FLOAT 
-+	#define NC_OVITO_FLOATTYPE NC_FLOAT
-+#else
-+	#define NC_OVITO_FLOATTYPE NC_DOUBLE
-+#endif
-+
- IMPLEMENT_SERIALIZABLE_OVITO_OBJECT(NetCDFPlugin, NetCDFExporter, FileColumnParticleExporter);
- 
- /******************************************************************************
-+* Check for NetCDF error and throw exception
-+******************************************************************************/
-+void NetCDFExporter::ncerr(int err, const char* file, int line)
-+{
-+	if(err != NC_NOERR)
-+		throwException(tr("NetCDF I/O error: %1 (line %2 of %3)").arg(QString(nc_strerror(err))).arg(line).arg(file));
-+}
-+
-+/******************************************************************************
-+* Check for NetCDF error and throw exception (and attach additional information
-+* to exception string)
-+******************************************************************************/
-+void NetCDFExporter::ncerr_with_info(int err, const char* file, int line, const QString& info)
-+{
-+	if(err != NC_NOERR)
-+		throwException(tr("NetCDF I/O error: %1 %2 (line %3 of %4)").arg(QString(nc_strerror(err))).arg(info).arg(line).arg(file));
-+}
-+
-+/******************************************************************************
-+ * This is called once for every output file to be written and before
-+ * exportFrame() is called.
-+ *****************************************************************************/
-+bool NetCDFExporter::openOutputFile(const QString& filePath, int numberOfFrames)
-+{
-+	OVITO_ASSERT(!outputFile().isOpen());
-+	outputFile().setFileName(filePath);
-+
-+	// Open the input file for writing.
-+	NCERR(nc_create(filePath.toLocal8Bit().constData(), NC_64BIT_OFFSET, &_ncid));
-+
-+	// Define dimensions.
-+	NCERR(nc_def_dim(_ncid, NC_FRAME_STR, NC_UNLIMITED, &_frame_dim));
-+	NCERR(nc_def_dim(_ncid, NC_SPATIAL_STR, 3, &_spatial_dim));
-+	NCERR(nc_def_dim(_ncid, NC_VOIGT_STR, 6, &_Voigt_dim));
-+	NCERR(nc_def_dim(_ncid, NC_CELL_SPATIAL_STR, 3, &_cell_spatial_dim));
-+	NCERR(nc_def_dim(_ncid, NC_CELL_ANGULAR_STR, 3, &_cell_angular_dim));
-+	NCERR(nc_def_dim(_ncid, NC_LABEL_STR, 10, &_label_dim));
-+
-+	// Default variables.
-+	int dims[NC_MAX_VAR_DIMS];
-+	dims[0] = _spatial_dim;
-+	NCERR(nc_def_var(_ncid, NC_SPATIAL_STR, NC_CHAR, 1, dims, &_spatial_var));
-+	NCERR(nc_def_var(_ncid, NC_CELL_SPATIAL_STR, NC_CHAR, 1, dims, &_cell_spatial_var));
-+	dims[0] = _spatial_dim;
-+	dims[1] = _label_dim;
-+	NCERR(nc_def_var(_ncid, NC_CELL_ANGULAR_STR, NC_CHAR, 2, dims, &_cell_angular_var));
-+	dims[0] = _frame_dim;
-+	NCERR(nc_def_var(_ncid, NC_TIME_STR, NC_DOUBLE, 1, dims, &_time_var));
-+	dims[0] = _frame_dim;
-+	dims[1] = _cell_spatial_dim;
-+	NCERR(nc_def_var(_ncid, NC_CELL_ORIGIN_STR, NC_DOUBLE, 2, dims, &_cell_origin_var));
-+	NCERR(nc_def_var(_ncid, NC_CELL_LENGTHS_STR, NC_DOUBLE, 2, dims, &_cell_lengths_var));
-+	dims[0] = _frame_dim;
-+	dims[1] = _cell_angular_dim;
-+	NCERR(nc_def_var(_ncid, NC_CELL_ANGLES_STR, NC_DOUBLE, 2, dims, &_cell_angles_var));
-+
-+	// Global attributes.
-+	NCERR(nc_put_att_text(_ncid, NC_GLOBAL, "Conventions", 5, "AMBER"));
-+	NCERR(nc_put_att_text(_ncid, NC_GLOBAL, "ConventionVersion", 3, "1.0"));
-+	NCERR(nc_put_att_text(_ncid, NC_GLOBAL, "program", 5, "OVITO"));
-+	QByteArray programVersion = QCoreApplication::applicationVersion().toLocal8Bit();
-+	NCERR(nc_put_att_text(_ncid, NC_GLOBAL, "programVersion", programVersion.length(), programVersion.constData()));
-+
-+	NCERR(nc_put_att_text(_ncid, _cell_angles_var, NC_UNITS_STR, 6, "degree"));
-+
-+	// Done with definitions.
-+	NCERR(nc_enddef(_ncid));
-+
-+	// Write label variables.
-+	size_t index[NC_MAX_VAR_DIMS], count[NC_MAX_VAR_DIMS];
-+	NCERR(nc_put_var_text(_ncid, _spatial_var, "xyz"));
-+	NCERR(nc_put_var_text(_ncid, _cell_spatial_var, "abc"));
-+	index[0] = 0;
-+	index[1] = 0;
-+	count[0] = 1;
-+	count[1] = 5;
-+	NCERR(nc_put_vara_text(_ncid, _cell_angular_var, index, count, "alpha"));
-+	index[0] = 1;	
-+	count[1] = 4;
-+	NCERR(nc_put_vara_text(_ncid, _cell_angular_var, index, count, "beta"));
-+	index[0] = 2;
-+	count[1] = 5;
-+	NCERR(nc_put_vara_text(_ncid, _cell_angular_var, index, count, "gamma"));
-+
-+	_frameCounter = 0;
-+
-+	return true;
-+}
-+
-+/******************************************************************************
-+ * This is called once for every output file written after exportFrame()
-+ * has been called.
-+ *****************************************************************************/
-+void NetCDFExporter::closeOutputFile(bool exportCompleted)
-+{
-+	OVITO_ASSERT(!outputFile().isOpen());
-+
-+	if(_ncid != -1) {
-+		NCERR(nc_close(_ncid));
-+		_ncid = -1;
-+	}
-+
-+	if(!exportCompleted)
-+		outputFile().remove();
-+}
-+
-+/******************************************************************************
- * Writes the particles of one animation frame to the current output file.
- ******************************************************************************/
- bool NetCDFExporter::exportObject(SceneNode* sceneNode, int frameNumber, TimePoint time, const QString& filePath, AbstractProgressDisplay* progress)
-@@ -40,10 +174,150 @@ bool NetCDFExporter::exportObject(SceneN
- 
- 	// Get simulation cell info.
- 	SimulationCellObject* simulationCell = state.findObject<SimulationCellObject>();
--
--	AffineTransformation simCell = simulationCell->cellMatrix();
-+	const AffineTransformation simCell = simulationCell->cellMatrix();
- 	size_t atomsCount = posProperty->size();
-+	
-+	if(_atom_dim == -1) {
-+		// Define "atom" dimension when first frame is written and the number of atoms is known.
-+		NCERR(nc_redef(_ncid));
-+		NCERR(nc_def_dim(_ncid, NC_ATOM_STR, atomsCount, &_atom_dim));
-+
-+		// Define NetCDF variables for global attributes.
-+		const QVariantMap& attributes = state.attributes();
-+		for(auto entry = attributes.constBegin(); entry != attributes.constEnd(); ++entry) {
-+			int var;
-+			if(entry.key() == NC_TIME_STR || entry.key() == QStringLiteral("SourceFrame"))
-+				continue;
-+			else if((QMetaType::Type)entry.value().type() == QMetaType::Double || (QMetaType::Type)entry.value().type() == QMetaType::Float)
-+				NCERR(nc_def_var(_ncid, entry.key().toUtf8().constData(), NC_DOUBLE, 1, &_frame_dim, &var));
-+			else if(entry.value().canConvert<int>())
-+				NCERR(nc_def_var(_ncid, entry.key().toUtf8().constData(), NC_INT, 1, &_frame_dim, &var));
-+			else
-+				continue;
-+			_attributes_vars.insert(entry.key(), var);
-+		}
-+
-+		// Define NetCDF variable for atomci positions.
-+		int dims[3] = { _frame_dim, _atom_dim, _spatial_dim };
-+		NCERR(nc_def_var(_ncid, "coordinates", NC_OVITO_FLOATTYPE, 3, dims, &_coords_var));
-+
-+		// Define NetCDF variables for per-particle properties.
-+		for(auto c = columnMapping().begin(); c != columnMapping().end(); ++c) {
-+			if(c->type() == ParticleProperty::PositionProperty)
-+				continue;
-+			
-+			// Can export particle properties only as a whole, not individual components.
-+			if(std::find_if(columnMapping().begin(), c, [c](const ParticlePropertyReference& pr) { return pr.type() == c->type(); }))
-+				continue;
-+
-+			ParticlePropertyObject* prop = c->findInState(state);
-+			if(!prop)
-+				throwException(tr("Invalid set of particle properties to be exported. The property '%1' does not exist.").arg(c->name()));
-+			if((int)prop->componentCount() <= std::max(0, c->vectorComponent()))
-+				throwException(tr("The output vector component selected for column %1 is out of range. The particle property '%2' has only %3 component(s).").arg(c-columnMapping().begin()+1).arg(c->name()).arg(prop->componentCount()));
-+
-+			if(prop->type() != ParticleProperty::UserProperty) {
-+				const char* mangledNamed = nullptr;
-+				if(prop->type() == ParticleProperty::ForceProperty)
-+					mangledName = "forces";
-+				else if(prop->type() == ParticleProperty::VelocityProperty)
-+					mangledName = "velocities";
-+				else if(prop->type() == ParticleProperty::ParticleTypesProperty)
-+					mangledName = "atom_types";
-+
-+				if(mangledName) {
-+					if(std::find_if(columnMapping().begin(), c, [c](const ParticlePropertyReference& pr) { return pr.type() == c->type(); }))
-+						continue;
-+					if(prop->dataType() == qMetaTypeId<int>()) {
-+						int ncvar;
-+						NCERR(nc_def_var(_ncid, mangledName, NC_INT, 2, dims, &ncvar));
-+						_columns.emplace_back({ *c, qMetaTypeId<int>(), 1, ncvar });
-+					}
-+				}
-+			}
-+
-+			if(prop->dataType() == qMetaTypeId<int>()) {
-+				int ncvar;
-+				NCERR(nc_def_var(_ncid, c->nameWithComponent().toUtf8().constData(), NC_INT, 2, dims, &ncvar));
-+				_columns.emplace_back({ *c, qMetaTypeId<int>(), 1, ncvar });
-+			}
-+			else if(prop->dataType() == qMetaTypeId<FloatType>()) {
-+				int ncvar;
-+				NCERR(nc_def_var(_ncid, c->nameWithComponent().toUtf8().constData(), NC_OVITO_FLOATTYPE, 2, dims, &ncvar));
-+				_columns.emplace_back({ *c, qMetaTypeId<FloatType>(), 1, ncvar });
-+			}
-+		}
-+		
-+		NCERR(nc_enddef(_ncid));
-+	}
-+	else {
-+		size_t na;
-+		NCERR(nc_inq_dimlen(_ncid, _atom_dim, &na));
-+		if(na != atomsCount)
-+			throwException(tr("Writing a NetCDF file with varying number of atoms is not supported."));
-+	}
-+
-+	// Write global attributes.
-+	const QVariantMap& attributes = state.attributes();
-+	for(auto entry = _attributes_vars.constBegin(); entry != _attributes_vars.constEnd(); ++entry) {		
-+		QVariant val = attributes.value(entry.key());
-+		if((QMetaType::Type)val.type() == QMetaType::Double || (QMetaType::Type)val.type() == QMetaType::Float) {
-+			double d = val.toDouble();
-+			NCERR(nc_put_var1_double(_ncid, entry.value(), &_frameCounter, &d));
-+		}
-+		else if(val.canConvert<int>()) {
-+			int i = val.toInt();
-+			NCERR(nc_put_var1_int(_ncid, entry.value(), &_frameCounter, &i));
-+		}
-+	}
-+
-+	// Write "time" variable.
-+	double t = _frameCounter;
-+	if(attributes.contains(NC_TIME_STR)) t = attributes.value(NC_TIME_STR).toDouble();
-+	else if(attributes.contains(QStringLiteral("SourceFrame"))) t = attributes.value(QStringLiteral("SourceFrame")).toDouble();
-+    NCERR(nc_put_var1_double(_ncid, _time_var, &_frameCounter, &t));
-+
-+	// Write simulation cell.
-+	double cell_origin[3], cell_lengths[3], cell_angles[3];
-+
-+	cell_origin[0] = simCell.translation().x();
-+	cell_origin[1] = simCell.translation().y();
-+	cell_origin[2] = simCell.translation().z();
-+
-+	cell_lengths[0] = simCell.column(0).length();
-+	cell_lengths[1] = simCell.column(1).length();
-+	cell_lengths[2] = simCell.column(2).length();
-+
-+	double h[6] = { simCell(0,0), simCell(1,1), simCell(2,2), simCell(0,1), simCell(0,2), simCell(1,2) };
-+	double cosalpha = (h[5]*h[4]+h[1]*h[3])/sqrt((h[1]*h[1]+h[5]*h[5])*(h[2]*h[2]+h[3]*h[3]+h[4]*h[4]));
-+	double cosbeta = h[4]/sqrt(h[2]*h[2]+h[3]*h[3]+h[4]*h[4]);
-+	double cosgamma = h[5]/sqrt(h[1]*h[1]+h[5]*h[5]);
-+
-+	cell_angles[0] = acos(cosalpha) * 180.0/M_PI;
-+	cell_angles[1] = acos(cosbeta)  * 180.0/M_PI;
-+	cell_angles[2] = acos(cosgamma) * 180.0/M_PI;
-+
-+	// AMBER convention says that nonperiodic boundaries should have 'cell_lengths' set to zero.
-+	if(!simulationCell->pbcX()) cell_lengths[0] = 0;
-+	if(!simulationCell->pbcY()) cell_lengths[1] = 0;
-+	if(!simulationCell->pbcZ()) cell_lengths[2] = 0;
-+
-+	size_t start[3] = { _frameCounter, 0, 0 };
-+    size_t count[3] = { 1, 3, 0 };
-+    NCERR(nc_put_vara_double(_ncid, _cell_origin_var, start, count, cell_origin));
-+    NCERR(nc_put_vara_double(_ncid, _cell_lengths_var, start, count, cell_lengths));
-+    NCERR(nc_put_vara_double(_ncid, _cell_angles_var, start, count, cell_angles));
-+
-+	// Write atomic coordinates.
-+	count[1] = atomsCount;
-+	count[2] = 3;
-+#ifdef FLOATTYPE_FLOAT 
-+	NCERR(nc_put_vara_float(_ncid, _coords_var, start, count, posProperty->constDataFloat()));
-+#else
-+	NCERR(nc_put_vara_double(_ncid, _coords_var, start, count, posProperty->constDataFloat()));	
-+#endif
- 
-+	_frameCounter++;
- 	return true;
- }
- 
-Index: ovito/src/plugins/netcdf/NetCDFExporter.h
-===================================================================
---- ovito.orig/src/plugins/netcdf/NetCDFExporter.h
-+++ ovito/src/plugins/netcdf/NetCDFExporter.h
-@@ -51,11 +51,60 @@ public:
- 
- protected:
- 
-+	/// \brief This is called once for every output file to be written and before exportFrame() is called.
-+	virtual bool openOutputFile(const QString& filePath, int numberOfFrames) override;
-+
-+	/// \brief This is called once for every output file written after exportFrame() has been called.
-+	virtual void closeOutputFile(bool exportCompleted) override;
-+
- 	/// \brief Writes the particles of one animation frame to the current output file.
- 	virtual bool exportObject(SceneNode* sceneNode, int frameNumber, TimePoint time, const QString& filePath, AbstractProgressDisplay* progressDisplay) override;
- 
- private:
- 
-+	/// Checks for NetCDF error and throws exception.
-+	void ncerr(int err, const char* file, int line);
-+
-+	/// Checks for NetCDF error and throws exception (and attach additional information to exception string.
-+	void ncerr_with_info(int err, const char* file, int line, const QString& info);
-+
-+	/// The NetCDF file handle.
-+	int _ncid = -1;
-+
-+	// NetCDF file dimensions:
-+	int _frame_dim;
-+	int _spatial_dim;
-+	int _Voigt_dim;
-+	int _atom_dim = -1;
-+	int _cell_spatial_dim;
-+	int _cell_angular_dim;
-+	int _label_dim;
-+
-+	// NetCDF file variables:
-+	int _spatial_var;
-+	int _cell_spatial_var;
-+	int _cell_angular_var;
-+	int _time_var;
-+	int _cell_origin_var;
-+	int _cell_lengths_var;
-+	int _cell_angles_var;
-+	int _coords_var;
-+
-+	/// NetCDF file variables for global attributes.
-+	QMap<QString, int> _attributes_vars;
-+
-+	struct NCOutputColumn {
-+		ParticlePropertyReference property;
-+		int dataType;
-+		size_t componentCount;
-+		int ncvar;
-+	};
-+
-+	std::vector<NCOutputColumn> _columns;
-+
-+	/// The number of frames written.
-+	size_t _frameCounter;
-+
- 	Q_OBJECT
- 	OVITO_OBJECT
- };
-Index: ovito/src/plugins/netcdf/NetCDFImporter.cpp
-===================================================================
---- ovito.orig/src/plugins/netcdf/NetCDFImporter.cpp
-+++ ovito/src/plugins/netcdf/NetCDFImporter.cpp
-@@ -38,7 +38,7 @@
- //
- ///////////////////////////////////////////////////////////////////////////////
- 
--#include <core/Core.h>
-+#include <plugins/particles/Particles.h>
- #include <core/utilities/io/FileManager.h>
- #include <core/utilities/concurrent/Future.h>
- #include <core/dataset/DataSetContainer.h>
-@@ -46,10 +46,6 @@
- #include "NetCDFImporter.h"
- 
- #include <QtMath>
--
--#ifdef WIN32
--	#define DLL_NETCDF
--#endif
- #include <netcdf.h>
- 
- #define NCERR(x)  _ncerr(x, __FILE__, __LINE__)
-@@ -77,20 +73,20 @@ void fullToVoigt(size_t particleCount, T
- /******************************************************************************
- * Check for NetCDF error and throw exception
- ******************************************************************************/
--static void _ncerr(int err, const char *file, int line)
-+static void _ncerr(int err, const char* file, int line)
- {
--	if (err != NC_NOERR)
--		throw Exception(NetCDFImporter::tr("NetCDF error in line %1 of source file %2: %3").arg(line).arg(file).arg(QString(nc_strerror(err))));
-+	if(err != NC_NOERR)
-+		throw Exception(NetCDFImporter::tr("NetCDF I/O error: %1 (line %2 of %3)").arg(QString(nc_strerror(err))).arg(line).arg(file));
- }
- 
- /******************************************************************************
- * Check for NetCDF error and throw exception (and attach additional information
- * to exception string)
- ******************************************************************************/
--static void _ncerr_with_info(int err, const char *file, int line, const QString &info)
-+static void _ncerr_with_info(int err, const char* file, int line, const QString& info)
- {
--	if (err != NC_NOERR)
--		throw Exception(NetCDFImporter::tr("NetCDF error in line %1 of source file %2: %3 %4").arg(line).arg(file).arg(QString(nc_strerror(err))).arg(info));
-+	if(err != NC_NOERR)
-+		throw Exception(NetCDFImporter::tr("NetCDF I/O error: %1 %2 (line %3 of %4)").arg(QString(nc_strerror(err))).arg(info).arg(line).arg(file));
- }
- 
- /******************************************************************************
-@@ -199,25 +195,6 @@ void NetCDFImporter::NetCDFImportTask::o
- 	if (strcmp(conventions_str.get(), "AMBER"))
- 		throw Exception(tr("NetCDF file %1 follows '%2' conventions, expected 'AMBER'.").arg(filename, conventions_str.get()));
- 
--#if 0
--	// Read creator information
--	NCERR( nc_inq_attlen(_ncid, NC_GLOBAL, "program", &len) );
--	char *program_str = new char[len+1];
--	NCERR( nc_get_att_text(_ncid, NC_GLOBAL, "program", program_str) );
--	program_str[len] = 0;
--
--	NCERR( nc_inq_attlen(_ncid, NC_GLOBAL, "programVersion", &len) );
--	char *program_version_str = new char[len+1];
--	NCERR( nc_get_att_text(_ncid, NC_GLOBAL, "programVersion", program_version_str) );
--	program_version_str[len] = 0;
--
--	// Log this
--	VerboseLogger() << "Opened AMBER-style NetCDF file " << filename << ". File written by " << program_str << ", " << program_version_str << "." << endl;
--
--	delete [] program_str;
--	delete [] program_version_str;
--#endif
--
- 	// Read optional file title.
- 	if(nc_inq_attlen(_ncid, NC_GLOBAL, "title", &len) == NC_NOERR) {
- 		std::unique_ptr<char[]> title_str(new char[len+1]);
-@@ -371,7 +348,7 @@ void NetCDFImporter::NetCDFImportTask::p
- 		// Now iterate over all variables and see whether they start with either atom or frame dimensions.
- 		int nVars;
- 		NCERR( nc_inq_nvars(_ncid, &nVars) );
--		for (int varId = 0; varId < nVars; varId++) {
-+		for(int varId = 0; varId < nVars; varId++) {
- 			char name[NC_MAX_NAME+1];
- 			nc_type type;
- 
-@@ -381,13 +358,13 @@ void NetCDFImporter::NetCDFImportTask::p
- 			OVITO_ASSERT(nDims >= 1);
- 
- 			// Check if dimensions make sense and we can understand them.
--			if ((dimIds[0] == _atom_dim || dimIds[0] == _sph_dim || dimIds[0] == _dem_dim) ||
-+			if((dimIds[0] == _atom_dim || dimIds[0] == _sph_dim || dimIds[0] == _dem_dim) ||
- 					( nDims > 1 && dimIds[0] == _frame_dim && (dimIds[1] == _atom_dim || dimIds[1] == _sph_dim || dimIds[1] == _dem_dim))) {
- 				// Do we support this data type?
--				if (type == NC_BYTE || type == NC_SHORT || type == NC_INT || type == NC_LONG || type == NC_CHAR) {
-+				if(type == NC_BYTE || type == NC_SHORT || type == NC_INT || type == NC_LONG || type == NC_CHAR) {
- 					columnMapping.push_back(mapVariableToColumn(name, qMetaTypeId<int>()));
- 				}
--				else if (type == NC_FLOAT || type == NC_DOUBLE) {
-+				else if(type == NC_FLOAT || type == NC_DOUBLE) {
- 					columnMapping.push_back(mapVariableToColumn(name, qMetaTypeId<FloatType>()));
- 				}
- 				else {
-@@ -396,7 +373,7 @@ void NetCDFImporter::NetCDFImportTask::p
- 			}
- 
- 			// Read in scalar values as attributes.
--			if (nDims == 1 && dimIds[0] == _frame_dim) {
-+			if(nDims == 1 && dimIds[0] == _frame_dim) {
- 				if (type == NC_SHORT || type == NC_INT || type == NC_LONG) {
- 					size_t startp[2] = { movieFrame, 0 };
- 					size_t countp[2] = { 1, 1 };
-@@ -415,7 +392,7 @@ void NetCDFImporter::NetCDFImportTask::p
- 		}
- 
- 		// Check if the only thing we need to do is read column information.
--		if (_parseFileHeaderOnly) {
-+		if(_parseFileHeaderOnly) {
- 			_customColumnMapping = columnMapping;
- 			closeNetCDF();
- 			return;
-Index: ovito/src/plugins/particles/export/ParticleExporter.cpp
-===================================================================
---- ovito.orig/src/plugins/particles/export/ParticleExporter.cpp
-+++ ovito/src/plugins/particles/export/ParticleExporter.cpp
-@@ -81,7 +81,7 @@ const PipelineFlowState& ParticleExporte
- 
- /******************************************************************************
-  * This is called once for every output file to be written and before
-- * exportData() is called.
-+ * exportFrame() is called.
-  *****************************************************************************/
- bool ParticleExporter::openOutputFile(const QString& filePath, int numberOfFrames)
- {
-@@ -95,7 +95,7 @@ bool ParticleExporter::openOutputFile(co
- }
- 
- /******************************************************************************
-- * This is called once for every output file written after exportData()
-+ * This is called once for every output file written after exportFrame()
-  * has been called.
-  *****************************************************************************/
- void ParticleExporter::closeOutputFile(bool exportCompleted)
-Index: ovito/src/plugins/particles/export/ParticleExporter.h
-===================================================================
---- ovito.orig/src/plugins/particles/export/ParticleExporter.h
-+++ ovito/src/plugins/particles/export/ParticleExporter.h
-@@ -49,10 +49,10 @@ protected:
- 	/// \brief Constructs a new instance of this class.
- 	ParticleExporter(DataSet* dataset);
- 
--	/// \brief This is called once for every output file to be written and before exportData() is called.
-+	/// \brief This is called once for every output file to be written and before exportFrame() is called.
- 	virtual bool openOutputFile(const QString& filePath, int numberOfFrames) override;
- 
--	/// \brief This is called once for every output file written after exportData() has been called.
-+	/// \brief This is called once for every output file written after exportFrame() has been called.
- 	virtual void closeOutputFile(bool exportCompleted) override;
- 
- 	/// Returns the current file this exporter is writing to.
-Index: ovito/src/plugins/particles/gui/modifier/analysis/binandreduce/BinAndReduceModifierEditor.cpp
-===================================================================
---- ovito.orig/src/plugins/particles/gui/modifier/analysis/binandreduce/BinAndReduceModifierEditor.cpp
-+++ ovito/src/plugins/particles/gui/modifier/analysis/binandreduce/BinAndReduceModifierEditor.cpp
-@@ -30,15 +30,15 @@
- #include <plugins/particles/gui/util/ParticlePropertyParameterUI.h>
- #include "BinAndReduceModifierEditor.h"
- 
--#include <3rdparty/qwt/qwt_plot.h>
--#include <3rdparty/qwt/qwt_plot_curve.h>
--#include <3rdparty/qwt/qwt_plot_spectrogram.h>
--#include <3rdparty/qwt/qwt_plot_grid.h>
--#include <3rdparty/qwt/qwt_scale_engine.h>
--#include <3rdparty/qwt/qwt_matrix_raster_data.h>
--#include <3rdparty/qwt/qwt_color_map.h>
--#include <3rdparty/qwt/qwt_scale_widget.h>
--#include <3rdparty/qwt/qwt_plot_layout.h>
-+#include <qwt/qwt_plot.h>
-+#include <qwt/qwt_plot_curve.h>
-+#include <qwt/qwt_plot_spectrogram.h>
-+#include <qwt/qwt_plot_grid.h>
-+#include <qwt/qwt_scale_engine.h>
-+#include <qwt/qwt_matrix_raster_data.h>
-+#include <qwt/qwt_color_map.h>
-+#include <qwt/qwt_scale_widget.h>
-+#include <qwt/qwt_plot_layout.h>
- 
- namespace Ovito { namespace Particles { OVITO_BEGIN_INLINE_NAMESPACE(Modifiers) OVITO_BEGIN_INLINE_NAMESPACE(Analysis) OVITO_BEGIN_INLINE_NAMESPACE(Internal)
- 
-Index: ovito/src/plugins/particles/gui/modifier/analysis/coordination/CoordinationNumberModifierEditor.cpp
-===================================================================
---- ovito.orig/src/plugins/particles/gui/modifier/analysis/coordination/CoordinationNumberModifierEditor.cpp
-+++ ovito/src/plugins/particles/gui/modifier/analysis/coordination/CoordinationNumberModifierEditor.cpp
-@@ -26,9 +26,9 @@
- #include <gui/properties/FloatParameterUI.h>
- #include "CoordinationNumberModifierEditor.h"
- 
--#include <3rdparty/qwt/qwt_plot.h>
--#include <3rdparty/qwt/qwt_plot_curve.h>
--#include <3rdparty/qwt/qwt_plot_grid.h>
-+#include <qwt/qwt_plot.h>
-+#include <qwt/qwt_plot_curve.h>
-+#include <qwt/qwt_plot_grid.h>
- 
- namespace Ovito { namespace Particles { OVITO_BEGIN_INLINE_NAMESPACE(Modifiers) OVITO_BEGIN_INLINE_NAMESPACE(Analysis) OVITO_BEGIN_INLINE_NAMESPACE(Internal)
- 
-Index: ovito/src/plugins/particles/gui/modifier/analysis/histogram/HistogramModifierEditor.cpp
-===================================================================
---- ovito.orig/src/plugins/particles/gui/modifier/analysis/histogram/HistogramModifierEditor.cpp
-+++ ovito/src/plugins/particles/gui/modifier/analysis/histogram/HistogramModifierEditor.cpp
-@@ -28,10 +28,10 @@
- #include <gui/mainwin/MainWindow.h>
- #include "HistogramModifierEditor.h"
- 
--#include <3rdparty/qwt/qwt_plot.h>
--#include <3rdparty/qwt/qwt_plot_curve.h>
--#include <3rdparty/qwt/qwt_plot_zoneitem.h>
--#include <3rdparty/qwt/qwt_plot_grid.h>
-+#include <qwt/qwt_plot.h>
-+#include <qwt/qwt_plot_curve.h>
-+#include <qwt/qwt_plot_zoneitem.h>
-+#include <qwt/qwt_plot_grid.h>
- 
- namespace Ovito { namespace Particles { OVITO_BEGIN_INLINE_NAMESPACE(Modifiers) OVITO_BEGIN_INLINE_NAMESPACE(Analysis) OVITO_BEGIN_INLINE_NAMESPACE(Internal)
- 
-Index: ovito/src/plugins/particles/gui/modifier/analysis/ptm/PolyhedralTemplateMatchingModifierEditor.cpp
-===================================================================
---- ovito.orig/src/plugins/particles/gui/modifier/analysis/ptm/PolyhedralTemplateMatchingModifierEditor.cpp
-+++ ovito/src/plugins/particles/gui/modifier/analysis/ptm/PolyhedralTemplateMatchingModifierEditor.cpp
-@@ -26,10 +26,10 @@
- #include <gui/properties/FloatParameterUI.h>
- #include "PolyhedralTemplateMatchingModifierEditor.h"
- 
--#include <3rdparty/qwt/qwt_plot.h>
--#include <3rdparty/qwt/qwt_plot_curve.h>
--#include <3rdparty/qwt/qwt_plot_zoneitem.h>
--#include <3rdparty/qwt/qwt_plot_grid.h>
-+#include <qwt/qwt_plot.h>
-+#include <qwt/qwt_plot_curve.h>
-+#include <qwt/qwt_plot_zoneitem.h>
-+#include <qwt/qwt_plot_grid.h>
- 
- namespace Ovito { namespace Particles { OVITO_BEGIN_INLINE_NAMESPACE(Modifiers) OVITO_BEGIN_INLINE_NAMESPACE(Analysis) OVITO_BEGIN_INLINE_NAMESPACE(Internal)
- 
-Index: ovito/src/plugins/particles/gui/modifier/analysis/scatterplot/ScatterPlotModifierEditor.cpp
-===================================================================
---- ovito.orig/src/plugins/particles/gui/modifier/analysis/scatterplot/ScatterPlotModifierEditor.cpp
-+++ ovito/src/plugins/particles/gui/modifier/analysis/scatterplot/ScatterPlotModifierEditor.cpp
-@@ -29,11 +29,11 @@
- #include <gui/mainwin/MainWindow.h>
- #include "ScatterPlotModifierEditor.h"
- 
--#include <3rdparty/qwt/qwt_plot.h>
--#include <3rdparty/qwt/qwt_plot_spectrocurve.h>
--#include <3rdparty/qwt/qwt_plot_zoneitem.h>
--#include <3rdparty/qwt/qwt_plot_grid.h>
--#include <3rdparty/qwt/qwt_color_map.h>
-+#include <qwt/qwt_plot.h>
-+#include <qwt/qwt_plot_spectrocurve.h>
-+#include <qwt/qwt_plot_zoneitem.h>
-+#include <qwt/qwt_plot_grid.h>
-+#include <qwt/qwt_color_map.h>
- 
- namespace Ovito { namespace Particles { OVITO_BEGIN_INLINE_NAMESPACE(Modifiers) OVITO_BEGIN_INLINE_NAMESPACE(Analysis) OVITO_BEGIN_INLINE_NAMESPACE(Internal)
- 
-Index: ovito/tests/scripts/test_suite/global_namespace.py
-===================================================================
---- ovito.orig/tests/scripts/test_suite/global_namespace.py
-+++ ovito/tests/scripts/test_suite/global_namespace.py
-@@ -1,9 +1,9 @@
- from ovito import *
- 
- assert(len(ovito.version) == 3)
--print(ovito.version_string)
--print(ovito.gui_mode)
--print(ovito.headless_mode)
-+print("version_string=", ovito.version_string)
-+print("gui_mode=", ovito.gui_mode)
-+print("headless_mode=", ovito.headless_mode)
- 
- # Progress display
- progress = ovito.get_progress_display()
diff --git a/debian/patches/series b/debian/patches/series
index 70ecbe6..b3bdb4a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
 10_disable_povray.patch
-20_use_system_qwt.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ovito.git



More information about the debian-science-commits mailing list