[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