Hello community, here is the log from the commit of package step for openSUSE:Factory checked in at 2015-02-11 16:42:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/step (Old) and /work/SRC/openSUSE:Factory/.step.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "step" Changes: -------- --- /work/SRC/openSUSE:Factory/step/step.changes 2015-01-21 22:13:48.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.step.new/step.changes 2015-02-11 16:42:32.000000000 +0100 @@ -1,0 +2,7 @@ +Sun Feb 1 11:24:50 UTC 2015 - tittiatc...@gmail.com + +- Update to KDE Applications 14.12.2 + * KDE Applications 14.12.2 + * See https://www.kde.org/announcements/announce-applications-14.12.2.php + +------------------------------------------------------------------- Old: ---- step-14.12.1.tar.xz New: ---- step-14.12.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ step.spec ++++++ --- /var/tmp/diff_new_pack.QQ9CwC/_old 2015-02-11 16:42:33.000000000 +0100 +++ /var/tmp/diff_new_pack.QQ9CwC/_new 2015-02-11 16:42:33.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package step # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: step -Version: 14.12.1 +Version: 14.12.2 Release: 0 Summary: An interactive physics simulator License: GPL-2.0+ ++++++ step-14.12.1.tar.xz -> step-14.12.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/CMakeLists.txt new/step-14.12.2/CMakeLists.txt --- old/step-14.12.1/CMakeLists.txt 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/CMakeLists.txt 2015-01-26 06:26:30.000000000 +0100 @@ -31,7 +31,7 @@ # Note: Disabled temporarily because WorldCopyTestSolver inherits both Body # and Force. And both of these are now inheriting Item, which # creates an error. This needs to be sorted out. - # add_subdirectory(stepcore_tests) + add_subdirectory(stepcore_tests) endif (EIGEN2_FOUND) install(FILES step.appdata.xml DESTINATION ${SHARE_INSTALL_PREFIX}/appdata/) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/TODO new/step-14.12.2/TODO --- old/step-14.12.1/TODO 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/TODO 2015-01-26 06:26:30.000000000 +0100 @@ -1,22 +1,25 @@ 0. Urgent / Important -* Go through all the STEPCORE_META_OBJECT calls and see how they need to be - changed after the big refactor. - - This means actually understanding STEPCORE_META_OBJECT, which seems to be +* Go through all the STEPCORE_META_OBJECT calls and see how they need + to be changed after the big refactor. + + This means actually understanding STEPCORE_META_OBJECT, which seems to be undocumented... 1. Bugs / Issues -* Soft bodies lose their structure if they get crushed by something heavy. + * Crashes + * Crash when adding weightforce in tutorial 4 [arkro] + https://bugs.kde.org/show_bug.cgi?id=331473 + * Soft bodies lose their internal structure if they get crushed. ---- 2. StepCore. * implement compile flags: - - STEPCORE_WITH_QT - - STEPCORE_WITH_ERRORS - - STEPCORE_WITH_NAMEPROP - - STEPCORE_WITH_GUIPROPS + + STEPCORE_WITH_QT + + STEPCORE_WITH_ERRORS + + STEPCORE_WITH_NAMEPROP + + STEPCORE_WITH_GUIPROPS * unit tests * movement restrictions (IN PROGRESS) * collision detection with friction (IN PROGRESS) @@ -24,7 +27,6 @@ * correctly handle stiff ODE * separate position and coordinate (PARTLY DONE) (for independent tolerance settings, symplectic solvers) -* global error estimation (requires jacobian ?) (DONE) * multistep solvers * symplectic and other nice solvers * implicit solvers (!) @@ -39,17 +41,11 @@ 3. Step. * SVG theming -* do calculations in separate thread (DONE) -* use statusbar or small graphicsitem to notify - user when creating items (DONE) * saving animation (navigation through time) -* units for all quantitis, units conversion (DONE) * custom scene background (PARTLY DONE) -* nice-looking descriptions for all bodies and parameters - (with references to wikipedia or wikibooks ?) (DONE) -* configurable simulation-time controllers (DONE) -* configurable plots and summaries (DONE) -* KHotNewStuff for sharing experiments (Downloading: DONE) +* KHotNewStuff for sharing experiments + + Downloading DONE + + Upload ---- * Tutorials (series of experiments with explanations) * define multiple coordinate system and provide an ability to translate vector coordinates between them @@ -93,7 +89,7 @@ For details, see the list above. * Add missing object types - + half plane (ground) + + half plane (ground) [rahulch] + rope(?) * Add missing physics concepts + coefficient of restitution @@ -102,3 +98,10 @@ + Add timeline + Improve selection, moving and resizing of objects. + + * New concepts + + Add materials [ingwa] + + * Step file format version 2.0 + + refactor + - Item::Color --> Material + + Materials diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/step/polygongraphics.cc new/step-14.12.2/step/polygongraphics.cc --- old/step-14.12.1/step/polygongraphics.cc 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/step/polygongraphics.cc 2015-01-26 06:26:30.000000000 +0100 @@ -32,7 +32,7 @@ #include <QKeyEvent> #include <QPainter> #include <KLocale> -#include <KDebug> +#include <QDebug> RigidBodyGraphicsItem::RigidBodyGraphicsItem(StepCore::Item* item, WorldModel* worldModel) : StepGraphicsItem(item, worldModel) @@ -65,18 +65,29 @@ return _painterPath; } -void RigidBodyGraphicsItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* /*option*/, QWidget* /*widget*/) +void RigidBodyGraphicsItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* /*option*/, + QWidget* /*widget*/) { //int renderHints = painter->renderHints(); painter->setRenderHint(QPainter::Antialiasing, true); QColor color = QColor::fromRgba(rigidBody()->color()); - if(isItemHighlighted()) color = highlightColor(color); + if (isItemHighlighted()) { + color = highlightColor(color); + } painter->setPen(Qt::NoPen); painter->setBrush(QBrush(color)); painter->drawPath(_painterPath); + if (!_markPath.isEmpty()) { + QPen pen(color); + pen.setWidth(0); + painter->setPen(pen); + painter->setBrush(QColor(Qt::white)); + painter->drawPath(_markPath); + } + if(_isSelected) { double s = currentViewScale(); QRectF rect = _painterPath.boundingRect(); @@ -235,15 +246,24 @@ _painterPath = QPainterPath(); _painterPath.setFillRule(Qt::WindingFill); + _markPath = QPainterPath(); + _painterPath.setFillRule(Qt::WindingFill); + double s = currentViewScale(); double radius = disk()->radius(); - if(radius > 1/s) { + if (radius > 1/s) { _painterPath.addEllipse(-radius, -radius, 2*radius, 2*radius); - //_painterPath = QMatrix().rotate(disk()->angle() * 180 / StepCore::Constants::Pi).map(_painterPath); + + _markPath.moveTo(0, 0); + _markPath.arcTo(QRectF(-radius, -radius, 2 * radius, 2 * radius), + -15.0, 30.0); + _markPath.closeSubpath(); } else { _painterPath.addEllipse(-1/s, -1/s, 2/s, 2/s); + // Don't need a marker when the disk is too small to see in detail. } + _markPath = QMatrix().rotate(disk()->angle() * 180 / StepCore::Constants::Pi).map(_markPath); RigidBodyGraphicsItem::viewScaleChanged(); } @@ -467,7 +487,7 @@ showMessage(MessageFrame::Information, i18n("Click on the scene to add new vertex or press Enter to finish")); } - + //fixCenterOfMass(); //fixInertia(); return true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/step/polygongraphics.h new/step-14.12.2/step/polygongraphics.h --- old/step-14.12.1/step/polygongraphics.h 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/step/polygongraphics.h 2015-01-26 06:26:30.000000000 +0100 @@ -54,6 +54,7 @@ protected: StepCore::RigidBody* rigidBody() const; QPainterPath _painterPath; + QPainterPath _markPath; ArrowHandlerGraphicsItem* _velocityHandler; CircularArrowHandlerGraphicsItem* _angularVelocityHandler; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/step.appdata.xml new/step-14.12.2/step.appdata.xml --- old/step-14.12.1/step.appdata.xml 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/step.appdata.xml 2015-01-26 06:26:30.000000000 +0100 @@ -120,6 +120,7 @@ <li xml:lang="es">Partículas, muelles con amortiguación, fuerzas gravitatorias y de Coulomb</li> <li xml:lang="et">Osakesed, vedrud, mis arvestavad sumbuvusega, gravitatsiooni- ja Coulomb'i jõuga</li> <li xml:lang="fi">Hiukkaset, jouset vaimennuksella, painovoima ja Coulombin voima</li> + <li xml:lang="fr">Particules, ressorts avec amortissement, forces gravitationnelle et coulombienne</li> <li xml:lang="it">Particelle, molle smorzate, forze gravitazionali e coulombiane</li> <li xml:lang="nds">Deeltjes, Feddern mit Dämpen, Swoor- un Coulomb-Kräft</li> <li xml:lang="nl">Deeltjes, veren met demping, zwaarte- en elektrische krachten</li> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/stepcore/CLASSES new/step-14.12.2/stepcore/CLASSES --- old/step-14.12.1/stepcore/CLASSES 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/stepcore/CLASSES 2015-01-26 06:26:30.000000000 +0100 @@ -45,7 +45,7 @@ [time, timeScale, bodies, forces, joints, solvers...] * Body{body.h} Anything that has dynamic variables that - require ODE integration + [material, =0] require ODE integration * Particle * ChargedParticle * GasParticle @@ -94,6 +94,8 @@ Used by ConstraintSolver [...] +* Material stores material properties + * Factory Creates new objects from name * MetaProperty Meta information about a property diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/stepcore/CMakeLists.txt new/step-14.12.2/stepcore/CMakeLists.txt --- old/step-14.12.1/stepcore/CMakeLists.txt 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/stepcore/CMakeLists.txt 2015-01-26 06:26:30.000000000 +0100 @@ -2,6 +2,8 @@ set(stepcore_SRCS constants.cc + material.cc + # Base objects object.cc item.cc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/stepcore/body.h new/step-14.12.2/stepcore/body.h --- old/step-14.12.1/stepcore/body.h 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/stepcore/body.h 2015-01-26 06:26:30.000000000 +0100 @@ -28,6 +28,7 @@ #include <vector> // XXX: Replace if Qt is enabled. #include "types.h" +#include "material.h" #include "item.h" @@ -35,6 +36,7 @@ { +class Material; /** \ingroup bodies * \brief Interface for bodies * @@ -47,10 +49,17 @@ public: Body(const QString& name = QString()) : Item(name) + , _material(&GenericMaterial) , _variablesOffset(0) {} virtual ~Body() {} + /** Get the material of the body. */ + Material *material() const { return _material; } + + /** Set material of the body (FIXME: Must be enhanced with META_PROPERTY later) */ + void setMaterial(Material *mtrl) { _material = mtrl; } + /** Get count of dynamic variables (not including velocities) */ virtual int variablesCount() = 0; @@ -91,6 +100,8 @@ private: friend class World; + Material *_material; + /** \internal Set offset of body's variables in global arrays */ void setVariablesOffset(int variablesOffset) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/stepcore/collisionsolver.cc new/step-14.12.2/stepcore/collisionsolver.cc --- old/step-14.12.1/stepcore/collisionsolver.cc 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/stepcore/collisionsolver.cc 2015-01-26 06:26:30.000000000 +0100 @@ -1044,7 +1044,7 @@ double vrel = contact->vrel[0]; STEPCORE_ASSERT_NOABORT( vrel < 0 ); - + Vector2d r0 = contact->points[0] - body0->position(); double r0n = r0[0]*contact->normal[1] - r0[1]*contact->normal[0]; double term0 = contact->normal.dot( @@ -1160,7 +1160,7 @@ double b = 1; // coefficient of bounceness double vrel = contact->vrel[0]; STEPCORE_ASSERT_NOABORT( vrel < 0 ); - + Vector2d j = contact->normal * ( -(1+b)*vrel / (1/disk0->mass() + 1/particle1->mass()) ); disk0->setVelocity(disk0->velocity() - j / disk0->mass()); particle1->setVelocity(particle1->velocity() + j / particle1->mass()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/stepcore/item.h new/step-14.12.2/stepcore/item.h --- old/step-14.12.1/stepcore/item.h 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/stepcore/item.h 2015-01-26 06:26:30.000000000 +0100 @@ -49,8 +49,11 @@ public: /** Constructs Item */ Item(const QString& name = QString()) - : Object(name), _world(NULL), _group(NULL), - _objectErrors(NULL), _color(0xff000000) {} + : Object(name) + , _world(NULL) + , _group(NULL) + , _objectErrors(NULL) + , _color(0xff000000) {} /** Constructs a copy of item */ Item(const Item& item) : Object() { *this = item; } /** Destroys Item */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/stepcore/material.cc new/step-14.12.2/stepcore/material.cc --- old/step-14.12.1/stepcore/material.cc 1970-01-01 01:00:00.000000000 +0100 +++ new/step-14.12.2/stepcore/material.cc 2015-01-26 06:26:30.000000000 +0100 @@ -0,0 +1,43 @@ +/* This file is part of StepCore library. + Copyright (C) 2007 Vladimir Kuznetsov <ks.vladi...@gmail.com> + Copyright (C) 2014 Inge Wallin <i...@lysator.liu.se> + + StepCore library is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + StepCore library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with StepCore; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "material.h" + + +namespace StepCore +{ + +//STEPCORE_META_OBJECT(Body, QT_TRANSLATE_NOOP("ObjectClass", "Body"), QT_TR_NOOP("Body"), +// MetaObject::ABSTRACT,,) + + +Material& Material::operator=(const Material& mtrl) +{ + _name = mtrl._name; + _color = mtrl._color; + _density = mtrl._density; + + return *this; +} + + +Material GenericMaterial("Bloontonium"); + + +} // namespace StepCore diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/stepcore/material.h new/step-14.12.2/stepcore/material.h --- old/step-14.12.1/stepcore/material.h 1970-01-01 01:00:00.000000000 +0100 +++ new/step-14.12.2/stepcore/material.h 2015-01-26 06:26:30.000000000 +0100 @@ -0,0 +1,91 @@ +/* This file is part of StepCore library. + Copyright (C) 2014 Inge Wallin <i...@lysator.liu.se> + + StepCore library is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + StepCore library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with StepCore; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +/** \file material.h + * \brief Material is what an object is made from. It has a color, density and some other physical properties. + */ + +#ifndef STEPCORE_MATERIAL_H +#define STEPCORE_MATERIAL_H + + +#include <vector> // XXX: Replace if Qt is enabled. + +#include <QString> + +#include "types.h" + + +namespace StepCore +{ + + +/** \ingroup materials + * \brief Interface for bodies + * + * Material is anything that has dynamic variables that require ODE integration + */ +class Material +{ + //STEPCORE_OBJECT(Material) + +public: + Material(const QString& name = QString()) + : _name(name) + , _color(0xff000000) + , _density(1.0) + {} + virtual ~Material() {} + + Material &operator=(const Material &mtrl); + + /** Get the name of the material. */ + QString name() const { return _name; } + /** Set the name of the material. */ + void setName(const QString &name) { _name = name; } + + /** Get the color of the material. */ + Color color() const { return _color; } + /** Set the color of the material. */ + void setColor(const Color &color) { _color = color; } + + /** Get the density of the material. */ + double density() const { return _density; } + /** Set the density of the material. */ + void setDensity(const double density) { _density = density; } + + +private: + QString _name; + + Color _color; + double _density; + // ...more here? Charge? other stuff? +}; + + +/** List of pointers to Material */ +typedef std::vector<Material*> MaterialList; + +extern Material GenericMaterial; + + +} // namespace StepCore + + +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/stepcore/rigidbody.h new/step-14.12.2/stepcore/rigidbody.h --- old/step-14.12.1/stepcore/rigidbody.h 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/stepcore/rigidbody.h 2015-01-26 06:26:30.000000000 +0100 @@ -370,7 +370,7 @@ /** Get first point */ const Vector2d& point1() const { return _point1; } /** Set first point */ - void setPoint2(const Vector2d& point1) { _point1 = point1; } + void setPoint1(const Vector2d& point1) { _point1 = point1; } /** Get second point */ const Vector2d& point2() const { return _point2; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/stepcore_tests/CMakeLists.txt new/step-14.12.2/stepcore_tests/CMakeLists.txt --- old/step-14.12.1/stepcore_tests/CMakeLists.txt 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/stepcore_tests/CMakeLists.txt 2015-01-26 06:26:30.000000000 +0100 @@ -1,7 +1,11 @@ set(stepcore_tests_SRCS maintest.cc metaobject.cc - worldcopy.cc + + # Note: Disabled temporarily because WorldCopyTestSolver inherits both Body + # and Force. And both of these are now inheriting Item, which + # creates an error. This needs to be sorted out. + #worldcopy.cc contacts.cc ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/step-14.12.1/stepcore_tests/maintest.h new/step-14.12.2/stepcore_tests/maintest.h --- old/step-14.12.1/stepcore_tests/maintest.h 2014-12-30 07:16:08.000000000 +0100 +++ new/step-14.12.2/stepcore_tests/maintest.h 2015-01-26 06:26:30.000000000 +0100 @@ -26,7 +26,7 @@ private slots: void testMetaObject(); - void testWorldCopy(); + //void testWorldCopy(); void testCollisionDetection(); void testCollisionDetection_data(); }; -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org