Skip to content

Commit

Permalink
Merge pull request #1071 from Dessia-tech/dev
Browse files Browse the repository at this point in the history
freeze: dev to testing V0.14.0
  • Loading branch information
WirajanDASILVA authored Oct 9, 2023
2 parents f4128c2 + 3a711eb commit 6659edc
Show file tree
Hide file tree
Showing 211 changed files with 16,910 additions and 3,647 deletions.
6 changes: 3 additions & 3 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ steps:
image: python:3.9
commands:
- git fetch --tags
- pip install Cython sphinx sphinx_rtd_theme coverage nbformat nbconvert
- pip install .[doc,test]
- python setup.py build_ext --inplace
- python setup.py install
- cd doc
Expand All @@ -126,8 +126,8 @@ steps:
image: python:3.9
commands:
- git fetch --tags
- pip install 'numpy<1.24.0'
- pip install Cython
- pip install numpy
- pip install Cython>3
- python setup.py sdist

volumes:
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/install.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
name: Test install

# Build on every branch push, tag push, and pull request change:
on: [push]
on:
push:
branches:
- master
- testing




jobs:
build_wheels:
name: Build wheels on ubuntu
name: Test install on ubuntu
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand All @@ -20,4 +27,3 @@ jobs:
- name: Install
run: |
pip install .
1 change: 0 additions & 1 deletion .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,3 @@ jobs:
- uses: actions/upload-artifact@v2
with:
path: ./wheelhouse/*.whl

24 changes: 14 additions & 10 deletions .pyenchant_dessia.dict
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Aabb
arcellipse
argmax
args
args
asarray
babylon
babylonjs
Expand All @@ -22,8 +22,11 @@ bsplines
BSpline's
bsplinesurface
cartesian
classmethod
cosinus
ctrlpts
ctrlptsw
cylindricalface
cython
Cython
dataset
Expand All @@ -34,15 +37,12 @@ dessia
dessia's
dimensioned
discretization
discretize
discretize
discretized
discretizing
discretize
discretizing
distutils
dof
EdgeStyle
EdgeStyle
euler
facecolor
filepath
Expand All @@ -60,6 +60,7 @@ idx
init
inplace
isinstance
isocurve
isort
iterable
Iterable
Expand All @@ -86,18 +87,19 @@ networkx.DiGraph
np
num
numpy
numpy
nurbs
Nurbs
nx
octree
octree
Ottmann
OXY
params
Piegl
pixelization
pixelizations
planeface
plt
posmax
pre
Rapshon
RGB
Expand All @@ -115,11 +117,13 @@ todo
tol
Tore's
toroidal
trigo
triangleface
Trimesh
txt
undirected
umax
vectorextru
umin
utils
uv
vmc
vme
vme.EdgeStyle
Expand Down
2 changes: 1 addition & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ function-naming-style=snake_case
# Good variable names which should always be accepted, separated by a comma.
good-names=a,b,c,d,a1,b1,c1,d1,a2,b2,c2,d2,i,j,k,n,i1,i2,i3,x,y,z,dx,dy,dz,lx,ly,lz,x0,y0,z0,x1,y1,z1,x2,y2,
z2,x3,y3,z3,x4,y4,z4,xi,yi,xj,yj,p1,p2,p3,p4,pi,pj,u1,u2,u3,u4,v1,v2,v3,v4,Ix,Iy,Ixy,ax,u,v,w,c1,c2,r1,r2,r3,
_,du,dv,u0,v0,m
_,du,dv,u0,v0,m,id

# Good variable names regexes, separated by a comma. If names match any regex,
# they will always be accepted
Expand Down
10 changes: 5 additions & 5 deletions .woodpecker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ pipeline:
image: dessia/python-ci:3.9
commands:
- git fetch --tags
- pip install Cython
- pip install 'numpy<1.24.0'
- pip install Cython>3
- pip install numpy
- python setup.py build_ext --inplace
- python setup.py install
- pip install pylint==2.17.3 pydocstyle==6.3.0 pre-commit shellcheck-py cython-lint pyenchant==3.2.2
Expand All @@ -36,7 +36,7 @@ pipeline:
install-doc-coverage:
image: python:3.9
commands:
- pip install Cython sphinx sphinx_rtd_theme coverage nbformat nbconvert 'numpy<1.24.0'
- pip install Cython>3 sphinx pydata_sphinx_theme nbsphinx sphinx_copybutton sphinx_design coverage nbformat nbconvert numpy
- python setup.py build_ext --inplace
- python setup.py install
- cd doc
Expand All @@ -57,6 +57,6 @@ pipeline:
image: python:3.9
commands:
- git fetch --tags
- pip install Cython
- pip install 'numpy<1.24.0'
- pip install Cython>3
- pip install numpy
- python setup.py sdist
62 changes: 60 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,70 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## v0.14.0 [future]

## v0.13.0 [future]
### New Features
- DisplayTriangleShell3D: a TriangleShell3D optimized for performance of display / saving / loading.
- BSplineSurface3D: from_points_interpolation, from_points_approximation.
- nurbs module.
- New curves classes: Hyperbola2D and Hyperbola3D.
- Line: closest_point_on_line, from_point_and_vector
- Line2D: get_slope, get_y_intersection.
- New curves classes: Parabola2D/3D.
- ConicalSurface3D: line/line_segment intersections, perpendicular_plane_intersection
- ConicalSurface3D: line/line_segment intersections, perpendicular_plane_intersection, parallel_plane_intersections, concurent_plane_intersections, plane_intersections.
- Hyperbola2D/3D and Parabola2D/3D: split
- PlaneFace3D: conicalface_intersections
- CylindricalSurface3D: conicalsurface_intersections
- CylindricalFace3D: conicalface_intersections
- Curve: general_method curve_intersections
- Parabola2d/3D / Hyperbola2D/3D: point_belongs, tangent
- BSplineCurve: point_to_parameter, abscissa_to_parameter.
- Basis3D: is_normilized, is_orthogonal, is_orthonormal.
- BSplineSurface3D: fullarcellipse3d_to_2d

### Fixed
- add missing name attributes to classmethods.
- fixed circular imports
- BSplineSurface3D: from_points_interpolation, from_points_approximation.
- ConicalFace3D: point_belongs
- nurbs.core: find_multiplicity, evaluate_curve.
- LineSegment3d: line_intersections.
- Circle2D: line_intersections
- Step.read_lines: handles name with # character in name.
- ExtrusionSurface3D: enhance 3D to parametric operations.
- BSplineCurve: direction_vector, point_at_abscissa, abscissa, trim
- ConicalSurface3D and RevolutionSurface3D: bsplinecurve3d_to_2d when start or and points are at surface singularity
- ClosedCurves: discretization_points
- ArcEllipse3D: is_close
- LineSegment3D: revolution
- FullArcEllipse3D, FullArcEllipse2D: discretization_points
- ConicalSurface3D: linesegment2d_to_3d
- BSplineSurface3D: bsplinecurve3d_to_2d, prevents code execution from stopping when point3d_to_2d does not converge

### Refactor
- TriangleShell3D: various improvement such as get_bounding_box, to_mesh_data, from_mesh_data, to_dict, dict_to_object

### Changed
- Cache BSplineCurve points into a numpy array to reduce memory usage.
- Vector2D, Vector3D: __repr__
- core_compiled: cdef functions' names.
- Vector2D, Vector3D, Point2D, Point3D: transformed into extension types for memory performance
- limit warning on step reading

### Unittests
- Hyperbola2D/3D: line_intersections
- Parabola2D/3D: line_intersections
- ConicalSurface3D: test_line_intersections, test_plane_intersections.

## v0.13.0

### New Features
- Line: reverse.
- BSplineCurve: Remove dependencies from the geomdl library.
- perf: to_dict/dict_to_obj of OpenTriangleShell3D
- Cylinder / Cone / HollowCylinder: from_center_point_and_axis
- Cone: remove inheritance from RevolvedProfile
- BSplineSurface3D: partial removal of dependencies on geomdl objects
- Ellipse2D: point_distance, bounding rectangle, ellipse_intersections
- Curve: local_discretization
- Ellipse3D: line_intersections, linesegment_intersections, ellipse_intersections
Expand All @@ -25,6 +79,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Wire3D/Contour3D: edge_intersections, wire_intersections
- BSpline3D: arc_intersections
- New module: discrete_representation for voxelization of 3D geometries and pixelization of 2D geometries
- BSplineSurface3D: partial removal of dependencies on geomdl objects

### Fixed
- Sweep with non smoth path
Expand All @@ -49,6 +104,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Line3D: fix Line3D plot()
- Vector2D: plot()
- fix RevolutionFace3D init parameter wire to edge.
- Update documentation
- fix Sweep: bug when first primitive is an arc.
- fix closedshell3d volume
- Step.py: enhance step import/export
Expand All @@ -64,6 +120,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- edges.Edge._generic_minimum_distance
- LineSegment3D: distance_linesegment
- BSpline3D: linesegment_intersections

### Refactor
- refator some classes' init in primitives3D.
- Shells: refactor.
Expand Down Expand Up @@ -97,6 +154,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Arc3D: arc_intersections, arcellipse_intersections, test_minimum_distance_bspline
- BSplineCurve3D: test_bspline_linesegment_minimum_distance, test_bspline_linesegment_intersections
- Contour3D: test_edge_intersections

## v0.12.0


Expand Down
2 changes: 1 addition & 1 deletion code_pydocstyle.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
# If the error code is not in this dict, then there is no tolerance on the error.
# http://www.pydocstyle.org/en/stable/error_codes.html
"D101": 53,
"D102": 402,
"D102": 380,

"D205": 77,

Expand Down
30 changes: 16 additions & 14 deletions code_pylint.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,38 +16,38 @@
WEEKLY_DECREASE = 0.03

MAX_ERROR_BY_TYPE = {
"wrong-spelling-in-comment": 190,
"wrong-spelling-in-docstring": 143,
'invalid-name': 167,
"wrong-spelling-in-comment": 13,
"wrong-spelling-in-docstring": 0,
'invalid-name': 1,
'no-member': 1,
'inconsistent-return-statements': 4,
'unused-variable': 22,
'arguments-differ': 62,
'too-many-locals': 84,
'arguments-differ': 64,
'too-many-locals': 91,
'unused-argument': 8,
'too-many-arguments': 20,
'too-many-arguments': 26,
'line-too-long': 12,
'too-many-branches': 26,
'too-many-statements': 13,
'super-init-not-called': 5,
'no-name-in-module': 2,
'abstract-method': 32,
'no-name-in-module': 14,
'abstract-method': 41,
'duplicate-code': 10,
'arguments-renamed': 52,
'arguments-renamed': 56,
'too-many-ancestors': 25,
'too-few-public-methods': 2,
'too-many-public-methods': 13,
'too-many-public-methods': 14,
'too-many-instance-attributes': 15,
'protected-access': 4,
'undefined-loop-variable': 2,
'unspecified-encoding': 1,
'too-many-function-args': 4,
'too-many-nested-blocks': 7,
'too-many-return-statements': 3,
'too-many-return-statements': 4,
'cyclic-import': 1,
'undefined-variable': 8, # 2 when gmsh is fixed
'broad-except': 1,
"broad-exception-caught": 2,
"broad-exception-caught": 1,
'too-many-boolean-expressions': 2,
'too-many-lines': 4,
'consider-using-with': 1,
Expand All @@ -61,14 +61,16 @@
'unbalanced-tuple-unpacking': 1,
}

ERRORS_WITHOUT_TIME_DECREASE = ["too-many-locals", "too-many-branches", "too-many-arguments", "too-many-statements",
ERRORS_WITHOUT_TIME_DECREASE = ["signature-differs", "broad-exception-caught", 'invalid-name', "too-many-locals",
"too-many-branches", "too-many-arguments", "too-many-statements",
"too-many-nested-blocks", "too-many-instance-attributes", "abstract-method",
"no-name-in-module", "too-many-public-methods", "too-many-ancestors",
"protected-access", "cyclic-import", "line-too-long", "too-many-lines", "no-member",
"too-few-public-methods", "duplicate-code", "too-many-return-statements",
"import-outside-toplevel", "arguments-differ", "arguments-renamed",
"too-many-boolean-expressions", "super-init-not-called", "unused-argument",
'consider-using-enumerate', 'unbalanced-tuple-unpacking', 'undefined-variable']
'consider-using-enumerate', 'unbalanced-tuple-unpacking', 'undefined-variable',
'wrong-spelling-in-comment', 'invalid-name']

limit_time_effect = False
if os.environ.get('DRONE_BRANCH', '') in ['master', 'testing']:
Expand Down
Binary file added doc/source/_static/index-images/block.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/_static/index-images/bsplineface3d.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/_static/index-images/cone.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/_static/index-images/conicalface3d.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions doc/source/_static/index-images/contributor.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/source/_static/index-images/cylinder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions doc/source/_static/index-images/distance.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 6659edc

Please sign in to comment.