17
0

2 Commits

Author SHA256 Message Date
38a64fbf0b Accepting request 1301559 from science
OBS-URL: https://build.opensuse.org/request/show/1301559
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/octave-forge-geometry?expand=0&rev=7
2025-08-27 19:35:01 +00:00
547d03e148 - Update to version 4.1.0
* Added new functions to detect intersetions and points inside
    3d polygons.
  * ispolycw that allows for two cell array inputs (px and py),
    see https://savannah.gnu.org/patch/?10297
  * Fixed compilation error with g++ v11, see
    https://savannah.gnu.org/bugs/?60884
  * Fixed failing test in joinPolygons
- Drop compile-with-g++-v11.patch
- Add octave-forge-matgeom build dependency required for tests
- Exclude tests requiring a graphical toolkit

OBS-URL: https://build.opensuse.org/package/show/science/octave-forge-geometry?expand=0&rev=12
2025-08-27 12:29:03 +00:00
5 changed files with 24 additions and 86 deletions

View File

@@ -1,75 +0,0 @@
Description: Compile with g++ v11
Author: Rafael Laboissière <rafael@debian.org>
Bug-Debian: https://bugs.debian.org/984266
Forwarded: no
Last-Update: 2021-07-06
--- octave-geometry-4.0.0.orig/src/martinez.cpp
+++ octave-geometry-4.0.0/src/martinez.cpp
@@ -26,7 +26,7 @@ void Martinez::print (SweepEvent& e)
// Compare two sweep events
// Return true means that e1 is placed at the event queue after e2, i.e,, e1 is processed by the algorithm after e2
-bool Martinez::SweepEventComp::operator() (SweepEvent* e1, SweepEvent* e2) {
+bool Martinez::SweepEventComp::operator() (SweepEvent* e1, SweepEvent* e2) const {
if (e1->p.x > e2->p.x) // Different x-coordinate
return true;
if (e2->p.x > e1->p.x) // Different x-coordinate
@@ -40,7 +40,7 @@ bool Martinez::SweepEventComp::operator(
}
// e1 and a2 are the left events of line segments (e1->p, e1->other->p) and (e2->p, e2->other->p)
-bool Martinez::SegmentComp::operator() (SweepEvent* e1, SweepEvent* e2) {
+bool Martinez::SegmentComp::operator() (SweepEvent* e1, SweepEvent* e2) const {
if (e1 == e2)
return false;
if (signedArea (e1->p, e1->other->p, e2->p) != 0 || signedArea (e1->p, e1->other->p, e2->other->p) != 0) {
--- octave-geometry-4.0.0.orig/src/martinez.h
+++ octave-geometry-4.0.0/src/martinez.h
@@ -38,7 +38,7 @@ private:
struct SweepEvent;
struct SegmentComp : public binary_function<SweepEvent*, SweepEvent*, bool> { // for sorting edges in the sweep line
- bool operator() (SweepEvent* e1, SweepEvent* e2);
+ bool operator() (SweepEvent* e1, SweepEvent* e2) const;
};
struct SweepEvent {
@@ -65,7 +65,7 @@ private:
static void print (SweepEvent& e); // This function is intended for debugging purposes
struct SweepEventComp : public binary_function<SweepEvent*, SweepEvent*, bool> { // for sortening events
- bool operator() (SweepEvent* e1, SweepEvent* e2);
+ bool operator() (SweepEvent* e1, SweepEvent* e2) const;
};
/** @brief Event Queue */
--- octave-geometry-4.0.0.orig/src/polygon.cpp
+++ octave-geometry-4.0.0/src/polygon.cpp
@@ -94,7 +94,7 @@ void Polygon::move (double x, double y)
namespace { // start of anonymous namespace
struct SweepEvent;
struct SegmentComp : public binary_function<SweepEvent*, SweepEvent*, bool> {
- bool operator() (SweepEvent* e1, SweepEvent* e2);
+ bool operator() (SweepEvent* e1, SweepEvent* e2) const;
};
struct SweepEvent {
@@ -117,7 +117,7 @@ namespace { // start of anonymous namesp
};
struct SweepEventComp : public binary_function<SweepEvent*, SweepEvent*, bool> {
- bool operator() (SweepEvent* e1, SweepEvent* e2) {
+ bool operator() (SweepEvent* e1, SweepEvent* e2) const {
if (e1->p.x < e2->p.x) // Different x coordinate
return true;
if (e2->p.x < e1->p.x) // Different x coordinate
@@ -133,7 +133,7 @@ namespace { // start of anonymous namesp
} // end of anonymous namespace
-bool SegmentComp::operator() (SweepEvent* e1, SweepEvent* e2) {
+bool SegmentComp::operator() (SweepEvent* e1, SweepEvent* e2) const {
if (e1 == e2)
return false;
if (signedArea (e1->p, e1->other->p, e2->p) != 0 || signedArea (e1->p, e1->other->p, e2->other->p) != 0) {

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1ad2403c01948ebac55d67f9048f79ae28bb99802ef65376c94e981cfb49adfe
size 110930

3
geometry-4.1.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dbc1658845c97d2d6687c1490a61b43d359913d33420e475b659f335f7a34360
size 113949

View File

@@ -1,3 +1,18 @@
-------------------------------------------------------------------
Mon Aug 25 23:40:17 UTC 2025 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Update to version 4.1.0
* Added new functions to detect intersetions and points inside
3d polygons.
* ispolycw that allows for two cell array inputs (px and py),
see https://savannah.gnu.org/patch/?10297
* Fixed compilation error with g++ v11, see
https://savannah.gnu.org/bugs/?60884
* Fixed failing test in joinPolygons
- Drop compile-with-g++-v11.patch
- Add octave-forge-matgeom build dependency required for tests
- Exclude tests requiring a graphical toolkit
-------------------------------------------------------------------
Mon Feb 26 12:42:23 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@@ -1,7 +1,7 @@
#
# spec file for package octave-forge-geometry
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,16 +18,15 @@
%define octpkg geometry
Name: octave-forge-%{octpkg}
Version: 4.0.0
Version: 4.1.0
Release: 0
Summary: Computational Geometry for Octave
License: GPL-3.0-or-later AND BSD-2-Clause
License: BSD-2-Clause AND GPL-3.0-or-later
Group: Productivity/Scientific/Math
URL: https://octave.sourceforge.io/%{octpkg}/index.html
Source0: https://downloads.sourceforge.net/octave/%{octpkg}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM
Patch0: compile-with-g++-v11.patch
BuildRequires: octave-devel >= 4.2.0
BuildRequires: octave-forge-matgeom >= 1.0.0
Requires: octave-cli >= 4.0.1
Requires: octave-forge-matgeom >= 1.0.0
@@ -39,9 +38,6 @@ This is part of Octave-Forge project.
%prep
%setup -q -c %{name}-%{version}
pushd %{octpkg}-%{version}
%patch -P 0 -p1
popd
%octave_pkg_src
%build
@@ -51,6 +47,8 @@ popd
%octave_pkg_install
%check
%global octskiptests plotShape
echo "Skip tests requiring graphical toolkit: %{octskiptests}"
%octave_pkg_test
%post