New Features
* Unit coversion factor parameter added to the end of the from_step arguments parameter (So we can convert the units correctly)
* SphericalSurface3D: rotation, translation, frame_mapping
* read steps: Identify assemblies in a step file.
* ClosedTriangleShell3D: to_trimesh method
* PointCloud3D: add method shell_distances to compute distances from triangular mesh in PointCloud3D
* BSplineSurface3D: Now the plot method uses u and v curves
* Create .geo and .msh files (Mesh geometries with GMSH)
* RevolutionSurface3D: point3d_to_2d, point2d_to_3d, plot, rectangular_cut, from_step
* RevolutionFace3D
* WiriMixin: from points: general method for Wire3D and 2D and for Contour2D and 3D.
* Added package.xml metadata in order to be listed in the FreeCAD Addon Manager
* Edge: local_discretization
* ArcEllipse2d: point_at_abscissa, translation, split, point_distance.
Fixed
* WireMixin: abscissa (add tolerance as parameter)
* OpenRoundedLineSegment2D: deleted discretization_points() so it uses the one from WireMixin.
* Contour2D: moved bounding_rectangle and get_bounding_rectangle to Wire2D.
* BSplineCurve: from_points_interpolation, uses centripedal method for better fitting.
* Conical, Cylindrical and Toroidal Surfaces 3D: fix face_from_contours - bug when step file doesnot follow a standard.
* BSplineSurface3D: debug linesegment2d_to_3d method.
* Parametric operations with BSpline curves.
* OpenTriangleShell3D: fix from_mesh_data method.
* PeriodicalSurface: fix face from contours.
* LineSegment2D.line_intersections: verify if colinear first.
* Cylinder: to_dict, min_distance_to_other_cylinder.
* Step_assemblies: consider when no transformation is needed.
* fix some pydocstyle errors
* Script/step/workflow: Update Workflow, use last version of dessia_common
* LineSegment3D: Rotation method update due to points attribute deletion
* ConicalSurface3D: fix from_step class method by adding the angle convertion factor
* fix f string usage
* Add some typings
* Step: Step translator now handles some EDGE_LOOP inconsistencies coming from step files
* Arc2d: point_belongs, abscissa.
Removed
- edges: remove attributes points from lines & linesegments for performance purpose
Performance improvements
- wires.py's 2D objects: chache bounding_rectangle results
- faces.py's Triangle3D objects: subdescription points and triangles
- EdgeCollection3D: new object for displaying series of edges
- BSplineSurface3D: compile BSplineSurface3D.derivatives
- Contour2D.area(): save area in a cache variable.
- Contour2D.__eq__(): verify contour length first, when verify if two contours are the same.
- Contour2D.is_inside(): verify first if the area of the contour2 is not smaller that contour 1.
- Disabling pointer in to_dict for most primitives
- Better hash for shells, contours & wires
Refactorings
- Remove usage of deprecated method old_coordinates and new_coordinates
- Indicate 'inplace' methods as deprecated
* Wire: extract_with_points
Documentation
- BoundingBox docstrings
Unittests
- ConicalSurface3D: face_from_contours, bsplinecurve3d_to_2d.
- CompositePrimitive2D: rotation, translation, frame_mapping
- core.py: delete_double_point, step_ids_to_str
- CompositePrimitive3D: plot
- BoundingRectangle: bounds, plot, area, center, b_rectangle_intersection, is_inside_b_rectangle, point_belongs,
intersection_area, distance_to_b_rectangle, distance_to_point
- BoundingBox: center, add, to_dict, points, from_bounding_boxes, from_points, to_frame, volume, bbox_intersection,
is_inside_bbox, intersection_volume, distance_to_bbox, point_belongs, distance_to_point, plot
* VolumeModel: eq, volume, rotation, translation, frame_mapping, bounding_box, plot
* Wire: extract_with_points, split_with_two_points
* Arc2d: point_belongs, abscissa.
* ArcEllipse2d: point_belongs, abscissa, init, translation, split, point_at_abscissa, point_distance.
CI
- add spell check to pylint with pyenchant
- make code_pydocstyle more explicit
- upload html coverage to cdn.dessia.tech
- limit time effect on master & testing