Hello community, here is the log from the commit of package python-geomdl for openSUSE:Factory checked in at 2020-11-13 18:59:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-geomdl (Old) and /work/SRC/openSUSE:Factory/.python-geomdl.new.24930 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-geomdl" Fri Nov 13 18:59:35 2020 rev:2 rq:848214 version:5.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-geomdl/python-geomdl.changes 2020-09-22 21:05:43.787643194 +0200 +++ /work/SRC/openSUSE:Factory/.python-geomdl.new.24930/python-geomdl.changes 2020-11-13 18:59:55.238170663 +0100 @@ -1,0 +2,8 @@ +Thu Nov 12 12:46:49 UTC 2020 - Marketa Machova <mmach...@suse.com> + +- Update to 5.3.0 + * Deprecated some methods that produce incorrect results + * Fixed sample_size computation + * Minor fixes and documnetation updates + +------------------------------------------------------------------- Old: ---- NURBS-Python-5.2.10.tar.gz New: ---- NURBS-Python-5.3.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-geomdl.spec ++++++ --- /var/tmp/diff_new_pack.UFn84J/_old 2020-11-13 18:59:55.910171400 +0100 +++ /var/tmp/diff_new_pack.UFn84J/_new 2020-11-13 18:59:55.914171404 +0100 @@ -20,7 +20,7 @@ %define packagename geomdl %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-geomdl -Version: 5.2.10 +Version: 5.3.0 Release: 0 Summary: Object-oriented B-Spline and NURBS evaluation library License: MIT ++++++ NURBS-Python-5.2.10.tar.gz -> NURBS-Python-5.3.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/.coveragerc new/NURBS-Python-5.3.0/.coveragerc --- old/NURBS-Python-5.2.10/.coveragerc 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/.coveragerc 2020-08-06 08:05:59.000000000 +0200 @@ -14,5 +14,4 @@ docs/* setup.py geomdl/__init__.py - geomdl/shapes/* geomdl/visualization/* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/.github/CONTRIBUTING.md new/NURBS-Python-5.3.0/.github/CONTRIBUTING.md --- old/NURBS-Python-5.2.10/.github/CONTRIBUTING.md 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/.github/CONTRIBUTING.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,146 +0,0 @@ -# Contribution Guidelines - -NURBS-Python (geomdl) is a free and open-source project released under [MIT License](../LICENSE). -You are always welcome to contribute! - -The development started with the intentions of providing an object-oriented NURBS library in pure Python for -scientific and research purposes. The author and all the contributors volunteered their free time to develop and -improve this project, and I appreciate your time in using, developing and testing NURBS-Python (geomdl). - -## Before you post, please read! - -We have a nice [Code of Conduct](CODE_OF_CONDUCT.md) document and it describes pretty much everything you need to know -in the most appropriate way. - -* Please be kind, respectful and reasonable in your posts -* Long posts are always appreciated and will be carefully read as long as they are related to the topic -* Horrible grammar, bad English, etc. are all okay, you will not be judged for those - -It would be a nice gesture to open a new issue and discuss what you are planning to add/change before starting to code. - -## What happens when you found a bug - -* Read __Before You Post__ rules (right above) -* Make sure that you are using the latest version on the `master` (or `devmaster` if exists) branch -* Include all details and steps to reproduce the problem - -## Coding Standards - -The following is the list of cpdong standards you are expected to follow when developing for the -[Core Library](http://nurbs-python.readthedocs.io/en/latest/modules.html). - -* Implement using pure python code, i.e. no compilable code, including C/C++ code using Python's C API, Cython, etc. -* For the core library (e.g. algorithms, geometrical operations), only use the modules that come with Python's standard library. Please note that NumPy, SciPy, etc. **are not** included in the standard library. -* The code should be compatible with Python versions 2.7.x, 3.4+ and higher. -* It is acceptable to use very well-known backporting and helper modules like [functools32](https://pypi.org/project/functools32/) only if critically necessary. These modules must be installable via `pip` on all platforms without any issues or additional requirements. -* Soft dependencies are acceptable; e.g. if some module is installed, then use the functionality. Otherwise, use a custom or simplified implementation of it. -* Please don't mix the data types (lists, tuples, arrays, etc.) -* All new code should come with the proper tests and they should be executable with `pytest`. If you are implementing alternative evaluation algorithms, then you should also include tests which compare the new algorithm(s) with the existing ones. - -For new [Visualization](http://nurbs-python.readthedocs.io/en/latest/modules_visualization.html) modules or improvements -to the existing ones, the above list is still valid _with one exception_: You are free to use external libraries, -including NumPy. - -It would be nice to create new modules, i.e. new Python files, for the new features you are going to implement. -You can use the following as a template for your new module: - -```python -""" -.. module:: file name without the extension - :platform: Unix, Windows - :synopsis: Very brief description of the module - -.. moduleauthor:: Your name <y...@email.com> - -""" - -import abc -from . import abstract -from .exceptions import GeomdlException -from ._utilities import export, add_metaclass - - -@export -def exported_function(arg1, **kwargs): - """ Brief explanation of the function's purpose - - Detailed explanation - - Keyword Arguments: - * - * - - :param arg1: description of the parameter - :type arg1: type of the parameter (int, float, etc.) - """ - # Code here - pass - - -def not_exported_function(): - """ Function description """ - pass - - -@add_metaclass(abc.ABCMeta) -class NewAbstractClass(abstract.Geometry): - """ Abstract class""" - def __init__(self, **kwargs): - super(NewAbstractClass, self).__init__(**kwargs) - - @abc.abstractmethod - def my_method(self, *args, **kwargs): - """ Docstrings """ - pass - - -@export -class ImpClass(NewAbstractClass): - """ Extended from the abstract class """ - def __init__(self, **kwargs): - super(ImpClass, self).__init__(**kwargs) - - def my_method(self, *args, **kwargs): - # Implementation of the abstract method - pass -``` - -## Pull requests - -It is suggested to [create pull requests](https://help.github.com/articles/creating-a-pull-request/) -against relevant branch as described on the [wiki page](https://github.com/orbingol/NURBS-Python/wiki). - -CI tools are set to test every pull request. The test results will become accessible in a short while under the -pull request page. If your code does not follow the standards as described under **Coding Standards** section, your PR -will not be considered for review at all. - -I would appreciate if you could run a Python linter utility, e.g. `prospector`, and clean the warnings in the code -before opening the pull request. - -All your changes will be reviewed and if they are accepted, they will be merged to the `master` branch in the next -subsequent release of NURBS-Python and your name will be added to the [CONTRIBUTORS](../CONTRIBUTORS.rst) file. - -Feel free to open a ticket on the project issue tracker, if you have any questions. - -## Tests - -The `tests/` directory includes all automated tests. Implementing more tests that could validate the algorithms and -increase the code coverage are appreciated. All included tests are designed to run with -[pytest](https://pypi.org/project/pytest/). - -## Documentation - -Any contribution would be great, including the ones for the [NURBS-Python documentation](http://nurbs-python.readthedocs.io/en/latest/). -The latest development version of the documentation can be found [here](https://nurbs-python.readthedocs.io/en/devmaster/). -The documentation can be compiled using [Sphinx](https://pypi.org/project/Sphinx/). Please refer to the Sphinx -documentation for more details. - -The repository is connected to [Read the Docs](https://readthedocs.org/) service. -Please refer to the [configuration file](https://github.com/orbingol/NURBS-Python/blob/master/.readthedocs.yml) -in the project repository and [Read the Docs documentation](https://docs.readthedocs.io/en/latest/) for details. - ------ - -As always, all contributions, including constructive comments, ideas, code improvements and tests are much appreciated. - -Thanks in advance! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/.github/ISSUE_TEMPLATE/feature_request.md new/NURBS-Python-5.3.0/.github/ISSUE_TEMPLATE/feature_request.md --- old/NURBS-Python-5.2.10/.github/ISSUE_TEMPLATE/feature_request.md 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/.github/ISSUE_TEMPLATE/feature_request.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for geomdl project -title: '' -labels: feature request -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/.gitignore new/NURBS-Python-5.3.0/.gitignore --- old/NURBS-Python-5.2.10/.gitignore 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/.gitignore 2020-08-06 08:05:59.000000000 +0200 @@ -25,3 +25,4 @@ *.pyd *.whl *.tar.gz +.coverage diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/CHANGELOG.md new/NURBS-Python-5.3.0/CHANGELOG.md --- old/NURBS-Python-5.2.10/CHANGELOG.md 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/CHANGELOG.md 2020-08-06 08:05:59.000000000 +0200 @@ -1,5 +1,11 @@ # geomdl Changelog +## v5.3.0 released on 2020-08-05 + +* Deprecated some methods that produce incorrect results +* Fixed sample_size computation +* Minor fixes and documnetation updates + ## v5.2.10 released on 2020-07-07 * Fixed a bug causing double matplotlib figures when run on a Jupyter notebook diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/CONTRIBUTING.md new/NURBS-Python-5.3.0/CONTRIBUTING.md --- old/NURBS-Python-5.2.10/CONTRIBUTING.md 1970-01-01 01:00:00.000000000 +0100 +++ new/NURBS-Python-5.3.0/CONTRIBUTING.md 2020-08-06 08:05:59.000000000 +0200 @@ -0,0 +1 @@ +Please refer to the documentation for more details. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/LICENSE new/NURBS-Python-5.3.0/LICENSE --- old/NURBS-Python-5.2.10/LICENSE 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/LICENSE 2020-08-06 08:05:59.000000000 +0200 @@ -1,4 +1,4 @@ -Copyright (c) 2016-2019 Onur Rauf Bingol +Copyright (c) 2016-2020 Onur Rauf Bingol Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/README.rst new/NURBS-Python-5.3.0/README.rst --- old/NURBS-Python-5.2.10/README.rst 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/README.rst 2020-08-06 08:05:59.000000000 +0200 @@ -98,17 +98,17 @@ .. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.815010.svg .. _DOI: https://doi.org/10.5281/zenodo.815010 -.. |RTD| image:: https://readthedocs.org/projects/nurbs-python/badge/?version=latest -.. _RTD: https://nurbs-python.readthedocs.io/en/latest/?badge=latest +.. |RTD| image:: https://readthedocs.org/projects/nurbs-python/badge/?version=5.x +.. _RTD: https://nurbs-python.readthedocs.io/en/5.x/?badge=5.x -.. |TRAVISCI| image:: https://travis-ci.org/orbingol/NURBS-Python.svg?branch=master +.. |TRAVISCI| image:: https://travis-ci.org/orbingol/NURBS-Python.svg?branch=5.x .. _TRAVISCI: https://travis-ci.org/orbingol/NURBS-Python -.. |APPVEYOR| image:: https://ci.appveyor.com/api/projects/status/github/orbingol/nurbs-python?branch=master&svg=true +.. |APPVEYOR| image:: https://ci.appveyor.com/api/projects/status/github/orbingol/nurbs-python?branch=5.x&svg=true .. _APPVEYOR: https://ci.appveyor.com/project/orbingol/nurbs-python -.. |CIRCLECI| image:: https://circleci.com/gh/orbingol/NURBS-Python/tree/master.svg?style=shield -.. _CIRCLECI: https://circleci.com/gh/orbingol/NURBS-Python/tree/master +.. |CIRCLECI| image:: https://circleci.com/gh/orbingol/NURBS-Python/tree/5.x.svg?style=shield +.. _CIRCLECI: https://circleci.com/gh/orbingol/NURBS-Python/tree/5.x .. |PYPI| image:: https://img.shields.io/pypi/v/geomdl.svg .. _PYPI: https://pypi.org/project/geomdl/ @@ -119,5 +119,5 @@ .. |ANACONDA| image:: https://anaconda.org/orbingol/geomdl/badges/version.svg .. _ANACONDA: https://anaconda.org/orbingol/geomdl -.. |CODECOV| image:: https://codecov.io/gh/orbingol/NURBS-Python/branch/master/graph/badge.svg +.. |CODECOV| image:: https://codecov.io/gh/orbingol/NURBS-Python/branch/5.x/graph/badge.svg .. _CODECOV: https://codecov.io/gh/orbingol/NURBS-Python diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/docs/contributing.rst new/NURBS-Python-5.3.0/docs/contributing.rst --- old/NURBS-Python-5.2.10/docs/contributing.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/NURBS-Python-5.3.0/docs/contributing.rst 2020-08-06 08:05:59.000000000 +0200 @@ -0,0 +1,28 @@ + +Contributing +============ + +Bugs reports +------------ + +You are encouraged to use the **Bug Reporting Template** on the `issue tracker <https://github.com/orbingol/NURBS-Python/issues>`_ for reporting bugs. +Please fill all required fields and be clear as much as possible. You may attach scripts and sample data to the ticket. + +All bug reports must be reproducable. Tickets with missing or unclear information may be ignored. + +Please email the author if you have any questions about bug reporting. + +Pull requests +------------- + +Before working on a pull request, please contact the author or open a ticket on the `issue tracker <https://github.com/orbingol/NURBS-Python/issues>`_ to discuss the details. Otherwise, your pull requests may be ignored. + +Feature requests +---------------- + +Please email the author for feature requests with the details of your feature request. + +Questions and comments +---------------------- + +Using ``nurbs-pyt...@googlegroups.com`` is strongly encouraged for questions and comments. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/docs/examples_repo.rst new/NURBS-Python-5.3.0/docs/examples_repo.rst --- old/NURBS-Python-5.2.10/docs/examples_repo.rst 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/docs/examples_repo.rst 2020-08-06 08:05:59.000000000 +0200 @@ -28,4 +28,4 @@ for more details on using NURBS-Python Matplotlib and Plotly visualization modules with Jupyter notebooks. -.. _Examples: https://github.com/orbingol/NURBS-Python_Examples +.. _Examples: https://github.com/orbingol/geomdl-examples diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/docs/index.rst new/NURBS-Python-5.3.0/docs/index.rst --- old/NURBS-Python-5.2.10/docs/index.rst 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/docs/index.rst 2020-08-06 08:05:59.000000000 +0200 @@ -29,6 +29,7 @@ introduction citing q_a + contributing .. _using: @@ -72,11 +73,11 @@ .. |ANACONDA| image:: https://anaconda.org/orbingol/geomdl/badges/version.svg .. _ANACONDA: https://anaconda.org/orbingol/geomdl -.. |TRAVISCI| image:: https://travis-ci.org/orbingol/NURBS-Python.svg?branch=master +.. |TRAVISCI| image:: https://travis-ci.org/orbingol/NURBS-Python.svg?branch=5.x .. _TRAVISCI: https://travis-ci.org/orbingol/NURBS-Python -.. |APPVEYOR| image:: https://ci.appveyor.com/api/projects/status/github/orbingol/nurbs-python?branch=master&svg=true +.. |APPVEYOR| image:: https://ci.appveyor.com/api/projects/status/github/orbingol/nurbs-python?branch=5.x&svg=true .. _APPVEYOR: https://ci.appveyor.com/project/orbingol/nurbs-python -.. |CIRCLECI| image:: https://circleci.com/gh/orbingol/NURBS-Python/tree/master.svg?style=shield -.. _CIRCLECI: https://circleci.com/gh/orbingol/NURBS-Python/tree/master +.. |CIRCLECI| image:: https://circleci.com/gh/orbingol/NURBS-Python/tree/5.x.svg?style=shield +.. _CIRCLECI: https://circleci.com/gh/orbingol/NURBS-Python/tree/5.x diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/docs/q_a.rst new/NURBS-Python-5.3.0/docs/q_a.rst --- old/NURBS-Python-5.2.10/docs/q_a.rst 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/docs/q_a.rst 2020-08-06 08:05:59.000000000 +0200 @@ -70,26 +70,6 @@ Alternatively, you may send an email to ``nurbs-pyt...@googlegroups.com``. -Issues and Reporting -==================== - -Bugs and Feature Requests -------------------------- - -NURBS-Python project uses the `issue tracker on GitHub <https://github.com/orbingol/NURBS-Python/issues>`_ for -reporting bugs and requesting for a new feature. Please use the provided templates on GitHub. - -Contributions -------------- - -All contributions to NURBS-Python are welcomed and I appreciate your time and efforts in advance. I have posted -some `guidelines for contributing <https://github.com/orbingol/NURBS-Python/blob/master/.github/CONTRIBUTING.md>`_ -and I would be really happy if you could follow these guidelines if you would like to contribute to NURBS-Python. - -It is suggested to open `a new ticket <https://github.com/orbingol/NURBS-Python/issues/new>`_ GitHub to discuss what -you would like to fix or add as a new feature, as it may already been fixed/implemented in some of the development -branches. - How can I add a new feature? ============================ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/geomdl/BSpline.py new/NURBS-Python-5.3.0/geomdl/BSpline.py --- old/NURBS-Python-5.2.10/geomdl/BSpline.py 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/geomdl/BSpline.py 2020-08-06 08:05:59.000000000 +0200 @@ -284,65 +284,40 @@ def tangent(self, parpos, **kwargs): """ Evaluates the tangent vector of the curve at the given parametric position(s). - The ``parpos`` argument can be + .. deprecated: 5.3.0 - * a float value for evaluation at a single parametric position - * a list of float values for evaluation at the multiple parametric positions - - The return value will be in the order of the input parametric position list. - - This method accepts the following keyword arguments: - - * ``normalize``: normalizes the output vector. Default value is *True*. + Please use :func:`operations.tangent` instead. :param parpos: parametric position(s) where the evaluation will be executed :type parpos: float, list or tuple :return: tangent vector as a tuple of the origin point and the vector components :rtype: tuple """ - return operations.tangent(self, parpos, **kwargs) + return tuple() def normal(self, parpos, **kwargs): """ Evaluates the normal to the tangent vector of the curve at the given parametric position(s). - The ``parpos`` argument can be - - * a float value for evaluation at a single parametric position - * a list of float values for evaluation at the multiple parametric positions - - The return value will be in the order of the input parametric position list. - - This method accepts the following keyword arguments: - - * ``normalize``: normalizes the output vector. Default value is *True*. + .. deprecated: 5.3.0 :param parpos: parametric position(s) where the evaluation will be executed :type parpos: float, list or tuple :return: normal vector as a tuple of the origin point and the vector components :rtype: tuple """ - return operations.normal(self, parpos, **kwargs) + return tuple() def binormal(self, parpos, **kwargs): """ Evaluates the binormal vector of the curve at the given parametric position(s). - The ``parpos`` argument can be - - * a float value for evaluation at a single parametric position - * a list of float values for evaluation at the multiple parametric positions - - The return value will be in the order of the input parametric position list. - - This method accepts the following keyword arguments: - - * ``normalize``: normalizes the output vector. Default value is *True*. + .. deprecated: 5.3.0 :param parpos: parametric position(s) where the evaluation will be executed :type parpos: float, list or tuple :return: binormal vector as a tuple of the origin point and the vector components :rtype: tuple """ - return operations.binormal(self, parpos, **kwargs) + return tuple() @utl.export @@ -777,46 +752,30 @@ def tangent(self, parpos, **kwargs): """ Evaluates the tangent vectors of the surface at the given parametric position(s). - The ``param`` argument can be - - * a float value for evaluation at a single parametric position - * a list of float values for evaluation at the multiple parametric positions - - The parametric positions should be a pair of (u,v) values. The return value will be in the order of the input - parametric position list. + .. deprecated: 5.3.0 - This method accepts the following keyword arguments: - - * ``normalize``: normalizes the output vector. Default value is *True*. + Please use :func:`operations.tangent` instead. :param parpos: parametric position(s) where the evaluation will be executed :type parpos: list or tuple :return: an array containing "point" and "vector"s on u- and v-directions, respectively :rtype: tuple """ - return operations.tangent(self, parpos, **kwargs) + return tuple() def normal(self, parpos, **kwargs): """ Evaluates the normal vector of the surface at the given parametric position(s). - The ``param`` argument can be - - * a float value for evaluation at a single parametric position - * a list of float values for evaluation at the multiple parametric positions - - The parametric positions should be a pair of (u,v) values. The return value will be in the order of the input - parametric position list. - - This method accepts the following keyword arguments: + .. deprecated: 5.3.0 - * ``normalize``: normalizes the output vector. Default value is *True*. + Please use :func:`operations.normal` instead. :param parpos: parametric position(s) where the evaluation will be executed :type parpos: list or tuple :return: an array containing "point" and "vector" pairs :rtype: tuple """ - return operations.normal(self, parpos, **kwargs) + return tuple() @utl.export diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/geomdl/__init__.py new/NURBS-Python-5.3.0/geomdl/__init__.py --- old/NURBS-Python-5.2.10/geomdl/__init__.py 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/geomdl/__init__.py 2020-08-06 08:05:59.000000000 +0200 @@ -5,7 +5,7 @@ """ # Library version -__version__ = "5.2.10" +__version__ = "5.3.0" # Author and license __author__ = "Onur Rauf Bingol" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/geomdl/_operations.py new/NURBS-Python-5.3.0/geomdl/_operations.py --- old/NURBS-Python-5.2.10/geomdl/_operations.py 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/geomdl/_operations.py 2020-08-06 08:05:59.000000000 +0200 @@ -57,99 +57,6 @@ return tuple(ret_vector) -def normal_curve_single(obj, u, normalize): - """ Evaluates the vector normal to the tangent vector at the input parameter, u. - - The output returns a list containing the starting point (i.e. origin) of the vector and the vector itself. - - :param obj: input curve - :type obj: abstract.Curve - :param u: parameter - :type u: float - :param normalize: if True, the returned vector is converted to a unit vector - :type normalize: bool - :return: a list containing "point" and "vector" pairs - :rtype: tuple - """ - # Find 1st derivative - ders = obj.derivatives(u, 1) - - # Apply fix on https://github.com/orbingol/NURBS-Python/pull/50#issuecomment-499354073 - t = ders[1] - tn = [0.0, 0.0, 1.0] - n = linalg.vector_cross(t, tn) - - # Normalize the vector component - vector = linalg.vector_normalize(n) if normalize else n - point = ders[0] - - return tuple(point), tuple(vector) - - -def normal_curve_single_list(obj, param_list, normalize): - """ Evaluates the curve normal vectors at the given list of parameter values. - - :param obj: input curve - :type obj: abstract.Curve - :param param_list: parameter list - :type param_list: list or tuple - :param normalize: if True, the returned vector is converted to a unit vector - :type normalize: bool - :return: a list containing "point" and "vector" pairs - :rtype: tuple - """ - ret_vector = [] - for param in param_list: - temp = normal_curve_single(obj, param, normalize) - ret_vector.append(temp) - return tuple(ret_vector) - - -def binormal_curve_single(obj, u, normalize): - """ Evaluates the curve binormal vector at the given u parameter. - - Curve binormal is the cross product of the normal and the tangent vectors. - The output returns a list containing the starting point (i.e. origin) of the vector and the vector itself. - - :param obj: input curve - :type obj: abstract.Curve - :param u: parameter - :type u: float - :param normalize: if True, the returned vector is converted to a unit vector - :type normalize: bool - :return: a list containing "point" and "vector" pairs - :rtype: tuple - """ - # Cross product of tangent and normal vectors gives binormal vector - tan_vector = tangent_curve_single(obj, u, normalize) - norm_vector = normal_curve_single(obj, u, normalize) - - point = tan_vector[0] - vector = linalg.vector_cross(tan_vector[1], norm_vector[1]) - vector = linalg.vector_normalize(vector) if normalize else vector - - return tuple(point), tuple(vector) - - -def binormal_curve_single_list(obj, param_list, normalize): - """ Evaluates the curve binormal vectors at the given list of parameter values. - - :param obj: input curve - :type obj: abstract.Curve - :param param_list: parameter list - :type param_list: list or tuple - :param normalize: if True, the returned vector is converted to a unit vector - :type normalize: bool - :return: a list containing "point" and "vector" pairs - :rtype: tuple - """ - ret_vector = [] - for param in param_list: - temp = binormal_curve_single(obj, param, normalize) - ret_vector.append(temp) - return tuple(ret_vector) - - def tangent_surface_single(obj, uv, normalize): """ Evaluates the surface tangent vector at the given (u,v) parameter pair. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/geomdl/abstract.py new/NURBS-Python-5.3.0/geomdl/abstract.py --- old/NURBS-Python-5.2.10/geomdl/abstract.py 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/geomdl/abstract.py 2020-08-06 08:05:59.000000000 +0200 @@ -10,6 +10,7 @@ import copy import abc import warnings +import math from . import vis, helpers, knotvector, voxelize, utilities from . import tessellate from .evaluators import AbstractEvaluator @@ -850,7 +851,8 @@ :setter: Sets sample size :type: int """ - return int(1.0 / self.delta) + 1 + ss = math.floor((1.0 / self.delta) + 0.5) + return int(ss) @sample_size.setter def sample_size(self, value): @@ -866,7 +868,7 @@ stop = self.knotvector[-(self.degree+1)] # Set delta value - self.delta = (stop - start) / float(value - 1) + self.delta = (stop - start) / float(value) @property def delta(self): @@ -1490,7 +1492,8 @@ :setter: Sets sample size for the u-direction :type: int """ - return int(1.0 / self.delta_u) + 1 + ss = math.floor((1.0 / self.delta_u) + 0.5) + return int(ss) @sample_size_u.setter def sample_size_u(self, value): @@ -1506,7 +1509,7 @@ stop_u = self.knotvector_u[-(self.degree_u+1)] # Set delta values - self.delta_u = (stop_u - start_u) / float(value - 1) + self.delta_u = (stop_u - start_u) / float(value) @property def sample_size_v(self): @@ -1521,7 +1524,8 @@ :setter: Sets sample size for the v-direction :type: int """ - return int(1.0 / self.delta_v) + 1 + ss = math.floor((1.0 / self.delta_v) + 0.5) + return int(ss) @sample_size_v.setter def sample_size_v(self, value): @@ -1537,7 +1541,7 @@ stop_v = self.knotvector_v[-(self.degree_v+1)] # Set delta values - self.delta_v = (stop_v - start_v) / float(value - 1) + self.delta_v = (stop_v - start_v) / float(value) @property def sample_size(self): @@ -1558,9 +1562,9 @@ :setter: Sets sample size for both u- and v-directions :type: int """ - sample_size_u = int(1.0 / self.delta_u) + 1 - sample_size_v = int(1.0 / self.delta_v) + 1 - return sample_size_u, sample_size_v + sample_size_u = math.floor((1.0 / self.delta_u) + 0.5) + sample_size_v = math.floor((1.0 / self.delta_v) + 0.5) + return int(sample_size_u), int(sample_size_v) @sample_size.setter def sample_size(self, value): @@ -1576,8 +1580,8 @@ stop_v = self.knotvector_v[-(self.degree_v+1)] # Set delta values - self.delta_u = (stop_u - start_u) / float(value - 1) - self.delta_v = (stop_v - start_v) / float(value - 1) + self.delta_u = (stop_u - start_u) / float(value) + self.delta_v = (stop_v - start_v) / float(value) @property def delta_u(self): @@ -2538,7 +2542,8 @@ :setter: Sets sample size for the u-direction :type: int """ - return int(1.0 / self.delta_u) + 1 + ss = math.floor((1.0 / self.delta_u) + 0.5) + return int(ss) @sample_size_u.setter def sample_size_u(self, value): @@ -2554,7 +2559,7 @@ stop_u = self.knotvector_u[-(self.degree_u + 1)] # Set delta values - self.delta_u = (stop_u - start_u) / float(value - 1) + self.delta_u = (stop_u - start_u) / float(value) @property def sample_size_v(self): @@ -2569,7 +2574,8 @@ :setter: Sets sample size for the v-direction :type: int """ - return int(1.0 / self.delta_v) + 1 + ss = math.floor((1.0 / self.delta_v) + 0.5) + return int(ss) @sample_size_v.setter def sample_size_v(self, value): @@ -2585,7 +2591,7 @@ stop_v = self.knotvector_v[-(self.degree_v + 1)] # Set delta values - self.delta_v = (stop_v - start_v) / float(value - 1) + self.delta_v = (stop_v - start_v) / float(value) @property def sample_size_w(self): @@ -2600,7 +2606,8 @@ :setter: Sets sample size for the w-direction :type: int """ - return int(1.0 / self.delta_w) + 1 + ss = math.floor((1.0 / self.delta_w) + 0.5) + return int(ss) @sample_size_w.setter def sample_size_w(self, value): @@ -2616,7 +2623,7 @@ stop_w = self.knotvector_w[-(self.degree_w + 1)] # Set delta values - self.delta_w = (stop_w - start_w) / float(value - 1) + self.delta_w = (stop_w - start_w) / float(value) @property def sample_size(self): @@ -2637,10 +2644,10 @@ :setter: Sets sample size value for both u-, v- and w-directions :type: int """ - sample_size_u = int(1.0 / self.delta_u) + 1 - sample_size_v = int(1.0 / self.delta_v) + 1 - sample_size_w = int(1.0 / self.delta_w) + 1 - return sample_size_u, sample_size_v, sample_size_w + sample_size_u = math.floor((1.0 / self.delta_u) + 0.5) + sample_size_v = math.floor((1.0 / self.delta_v) + 0.5) + sample_size_w = math.floor((1.0 / self.delta_w) + 0.5) + return int(sample_size_u), int(sample_size_v), int(sample_size_w) @sample_size.setter def sample_size(self, value): @@ -2659,9 +2666,9 @@ stop_w = self.knotvector_w[-(self.degree_w + 1)] # Set delta values - self.delta_u = (stop_u - start_u) / float(value - 1) - self.delta_v = (stop_v - start_v) / float(value - 1) - self.delta_w = (stop_w - start_w) / float(value - 1) + self.delta_u = (stop_u - start_u) / float(value) + self.delta_v = (stop_v - start_v) / float(value) + self.delta_w = (stop_w - start_w) / float(value) @property def delta_u(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/geomdl/operations.py new/NURBS-Python-5.3.0/geomdl/operations.py --- old/NURBS-Python-5.2.10/geomdl/operations.py 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/geomdl/operations.py 2020-08-06 08:05:59.000000000 +0200 @@ -1421,10 +1421,7 @@ """ normalize = kwargs.get('normalize', True) if isinstance(obj, abstract.Curve): - if isinstance(params, (list, tuple)): - return ops.normal_curve_single_list(obj, params, normalize) - else: - return ops.normal_curve_single(obj, params, normalize) + raise GeomdlException("Not implemented for curves") if isinstance(obj, abstract.Surface): if isinstance(params[0], float): return ops.normal_surface_single(obj, params, normalize) @@ -1433,30 +1430,6 @@ @export -def binormal(obj, params, **kwargs): - """ Evaluates the binormal vector of the curves or surfaces at the input parameter values. - - This function is designed to evaluate binormal vectors of the B-Spline and NURBS shapes at single or - multiple parameter positions. - - :param obj: input shape - :type obj: abstract.Curve or abstract.Surface - :param params: parameters - :type params: float, list or tuple - :return: a list containing "point" and "vector" pairs - :rtype: tuple - """ - normalize = kwargs.get('normalize', True) - if isinstance(obj, abstract.Curve): - if isinstance(params, (list, tuple)): - return ops.binormal_curve_single_list(obj, params, normalize) - else: - return ops.binormal_curve_single(obj, params, normalize) - if isinstance(obj, abstract.Surface): - raise GeomdlException("Binormal vector evaluation for the surfaces is not implemented!") - - -@export def translate(obj, vec, **kwargs): """ Translates curves, surface or volumes by the input vector. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NURBS-Python-5.2.10/tests/test_curve.py new/NURBS-Python-5.3.0/tests/test_curve.py --- old/NURBS-Python-5.2.10/tests/test_curve.py 2020-07-08 02:17:17.000000000 +0200 +++ new/NURBS-Python-5.3.0/tests/test_curve.py 2020-08-06 08:05:59.000000000 +0200 @@ -169,30 +169,6 @@ assert spline_curve.ctrlpts_size == ctrlpts_size_new -def test_bspline_curve2d_tn_vector(spline_curve): - angle = 90.0 - t = spline_curve.tangent(0.5) - n = spline_curve.normal(0.5) - res = linalg.vector_angle_between(t[1], n[1]) - assert angle == res - - -def test_bspline_curve2d_tb_vector(spline_curve): - angle = 90.0 - t = spline_curve.tangent(0.5) - b = spline_curve.binormal(0.5) - res = linalg.vector_angle_between(t[1], b[1]) - assert angle == res - - -def test_bspline_curve2d_nb_vector(spline_curve): - angle = 90.0 - b = spline_curve.binormal(0.5) - n = spline_curve.normal(0.5) - res = linalg.vector_angle_between(b[1], n[1]) - assert angle == res - - @fixture def spline_curve3d(spline_curve): curve3d = operations.add_dimension(spline_curve, offset=1.0) @@ -204,30 +180,6 @@ assert spline_curve3d.dimension == 3 -def test_bspline_curve3d_tn_vector(spline_curve3d): - angle = 90.0 - t = spline_curve3d.tangent(0.5) - n = spline_curve3d.normal(0.5) - res = linalg.vector_angle_between(t[1], n[1]) - assert angle == res - - -def test_bspline_curve3d_tb_vector(spline_curve3d): - angle = 90.0 - t = spline_curve3d.tangent(0.5) - b = spline_curve3d.binormal(0.5) - res = linalg.vector_angle_between(t[1], b[1]) - assert angle == res - - -def test_bspline_curve3d_nb_vector(spline_curve3d): - angle = 90.0 - b = spline_curve3d.binormal(0.5) - n = spline_curve3d.normal(0.5) - res = linalg.vector_angle_between(b[1], n[1]) - assert angle == res - - @fixture def nurbs_curve(spline_curve): curve = convert.bspline_to_nurbs(spline_curve) _______________________________________________ openSUSE Commits mailing list -- commit@lists.opensuse.org To unsubscribe, email commit-le...@lists.opensuse.org List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/commit@lists.opensuse.org