Volmdlr

Latest version: v0.15.2

Safety actively analyzes 682387 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

0.11.0

New Features
- BSplineCurve, Edge: simplify
- Plane3D: angle_between_planes, plane_betweeen_two_planes
- Edge: intersections, crossings, validate_crossings
- Arc2D: bsplinecurve_intersections, arc_intersections, arcellipse_intersections.
- ArcEllipse2D: bsplinecurve_intersections
- get_circle_intersections added to volmdlr.utils.intersections, so it can be used to calculate intersections between two arcs 2d.
- get_bsplinecurve_intersections added to volmdlr.utils.intersections. Used to calculate intersection between a bspline and another edge.
- Wire2D: edge_intersections, wire_intersections, edge_crossings, edge_intersections, validate_edge_crossings, validate_wire_crossings
- Contour2D: split_contour_with_sorted_points, intersection_contour_with
- CylindricalSurface3D: point_projection, point_distance
- ToroidalSurface3D: point_projection
- BsplineCurve: point_distance, point_belongs
- ContourMixin: is_adjacent
- Wire2D: area
- Circle2D: bsplinecurve_intersections.
- add tolerance param to many methods from edges and wires.
- Surface3D: add contour healing into face_from_contours3d method.
- ExtrusionSurface3D: implement missing cases for linesegment2d_to_3d method.
- BSplineSurface3D: to_plane3d
- BSplineFace3D: to_planeface3d
- BSplineCurve, Arc, LineSegment: is_close
- Core: get_edge_index_in_list, edge_in_list
- mesh: TetrahedralElementQuadratic
- GmshParser: define_quadratic_tetrahedron_element_mesh
- GmshParser: to_vtk (consider quadratic tetrahedron element)
- VolumeModel: to_msh (consider both order 1 and 2)
- Assembly: define a volmdlr Assembly object.
- Edge: direction_independent_is_close
- Arcellipse2D, 3D: complementary, translation
- Arcellipse2D, 3D: complementary
- Face3D: is_linesegment_crossing, linesegment_intersections_approximation.
- Assembly: define a volmdlr Assembly object.
- Contour2D: copy
- LineSegment2D: copy
- FullArcEllipse3D: split
- ArcEllipse3D: split, point_at_abscissa
- Vector: is_perpendicular_to
- babylonjs: add nested meshes
- CylindricalFace3D, ConicalFace3D, ToroidalFace3D, BSplineFace3D: neutral_fiber
- VolumeModel: get_shells
- WireMixin: wires_from_edges
- DisplayMesh3D: triangulation_faces
- Woodpecker CI setup
- ContourMixin: primitive_section_over_contour.
- Face3D: split_by_plane

Fixed
- 2D conversion: create 2D function name in core_compiled
- LineSegment, Arc, BSplineCurve: get_shared_section()
- bSpline2D: linesegment_intersections
- BsplineCurve: from_points_interpolation
- Coverage: use coverage rc to enable cython coverage
- ClosedShel3D: cut_by_plane
- ClosedShell3D: union
- BSplineSurface3D: take into account oppened contour while using face_from_contours3d
- BsplineCurve: simplify
- Dessiaobject inheritance up-to-date
- Edge: unit_direction_vector, unit_normal_vector, split_between_two_points
- VolumeModel: get_mesh_lines (change tolerance 1e-20 to 1e-6)
- RevolutionSurface: fix some parametric operations.
- ClosedShel3D: intersection method
- Fix: plots
- add some fixes to pydocstyle errors
- ToroidalSurface3D: fix some parametric operations.
- Node2D, Node3D: is_close
- SphericalSurface3D: enhance arc3d_to_2d and bsplinecurve3d_to_2d.
- BSplineface3D: linesegment2d_to_3d, bsplinecurve2d_to_3d.
- OpenShell3D: get_geo_lines (use primitive.is_close)
- Basis3D: normalize
- Contour3D: from_step removes repeated edges from primitives list
- Face3D: add fixes to divide_face.
- ExtrusionSurface3D: linesegment2d_to_3d.
- Surface3D: repair_primitive_periodicity
- BSplineSurface3D: ban useless attr in serialization
- utils.parametric: fix contour2d_healing
- BSplineSurface3D: ban useless attr in serialization
- BSplineCurve: simplify
- SphericalSurface3D: contour3d_to_2d
- WireMixin: to_wire_with_linesegments (use new methods, for 2D and 3D)
- ArcEllipse2d: point_belongs, abscissa, init.
- Face3D: face_inside - now considers inners_contours
- BoundingBox: point_belongs now considers bounds.
- ContourMixin: delete_shared_contour_section
- PlaneFace3D: merge_faces
- Contour2D: divide
- Step: raise NotimplementedError when it's not possible to instatiate assembly object.
- STL: handle mutiple space as separator
- fix: protect gmsh import

Refactor
- Contour2D: cut_by_wire
- Contour2D: extract_with_points displaced to WireMixin
- Contour2D: extract_contour displaced to WireMixin and renamed to extract
- Contour2D: split_contour_with_sorted_points displaced to WireMixin and renamed to split_with_sorted_points
- Contour2D: get_divided_contours
- FullArc2D, FullArc3D: create FullArc Abstract class.
- Contour2D: ordering_contour
- WireMixin: order_wire
- Contour2D: delete cut_by_linesegments
- split faces.py into surfaces.py, faces.py and shells.py
- ContourMixin: from_points
- ClosedShell3D: improve performance for boolean operations
- Face3D: reduce the triangulation discretization resolution of Toroidal and Cylindrical to improve redering performance.
- Cylinder: inheritance directly from ClosedShell3D
- Edges: cache middle_points and unit_direction_vector
- Arc: add optional parameter center
- unittests: find dynamicly the folder for the json
- Arc: point_distance
- BSplineCurve: is_close
- CompositePrimitive3D: babylon_points
- WireMixin: split_with_sorted_points -> if a wire, and given points are start and end, return self directly.
- ContourMixin: contours_from_edges
- ExtrusionSurface3D: simplify bsplinecurve3d_to_2d method

Changed
- better surface3d plots
- sphere methods renamed in_points & to_point_skin to inner points & skin_points
- Improve CylincricalFace3D and ToroidalFace3D rendering mesh.
- remove useless attribute in Bspline serialization
- Change python suport version from >=3.7 to >= 3.9
- LICENSE changed from GPL to Lesser GPL
- Readme logo updated
- CI: do not check quality on tag

Unittests
- Arc2D: test_arc_intersections
- TestEdge2DIntersections: test intersections for all edges.
- Circle2D: test_circle_intersections
- Contour2D: test_crossings, test_intersection_contour_with
- BSplineCurve: get_intersection_sections
- BSplineCurve2D: edge_intersections, arc_intersections, bsplinecurve_intersections
- CylindricalFace3D: test_triangulation_quality
- CylindricalSurface3D: test_point_projection
- BSplineCurve: point_projection
- ClosedShel3D: cut_by_plane
- Arc3D.minimum_distance_points_line
- New unittests for plane3d.
- ClosedShel3D: intersection
- Arcellipse2D: complementary
- Contour2D: contours_from_edges.
- PlaneFace3D: merge_faces
- Contour2D: divide.
- BSplineFace3D: test_linesegment_intersections_approximation.
- CylindricalFace3D: split_by_plane.

0.10.0

New Features
* Write .msh file (with stream)
* Arc: reverse
* BSplineCurve2D: offset
* Circle2D: bsplinecurve_intersections, point_distance
* ConicalSurface3D, CylindricalSurface3D: plot method
* BSplineCurve3D: minimum distance
* volmdlr.edge: FullArcEllipse
* BSplineCurve: evaluate_single
* Wire2: hash
* Contour3D: hash
* LineSegment3D, LineSegment2D, Arc3D, Arc2D, BSpline3D, BSpline2D: get_shared_section(), delete_shared_section()
* Contour2D: closest_point_to_point2, get_furthest_point_to_point2
* Block: octree, quadtree, subdivide_block

Fixed
* Bspline in sweep
* Plane3D: plane_intersections
* fixes to step assemblies
* LineSegment3D: matrix_distance
* fixes to wire
* Arc: split. Case when spliting point is the start or end point.
* BplineCurve2D: tangent, vector_direction, normal_vector
* BSplineCurve: abscissa, line_intersections
* Add some important fixes to unittests: missing two __init__py files.
* Contour2D, Contour3D: merge_with()
* Edge: change unit_direction_vector and unit_normal_vector to concrete methods
* stl: add _standalone_in_db to Stl class
* BSplineSurface3D: merge_with
* Documentation: Add introduction to volmdlr technology
* BSplineSurface3D: refactor bsplinecurve3d_to_2d to take into account periodic behavior
* OpenedRoundedLineSegments2D/ClosedRoundedLineSegments2D: fix radius type
* Surface3D: debug some special cases while using face_from_contours3d.
* Step: debug some special cases while reading step file.
* BSplineSurface3D: fix simplify_surface method.
* Improve pylint code quality.
* PeriodicalSurface: enhance some parametric transformations.

Removed
- stl: remove default value in from_stream method

Changed

- argument convexe in volmdlr.cloud has been renamed to convex
- Add some missing docstrings in volmdlr.faces
- Using full arcs for Circles primitives

Performance improvements
- BSplineCurve: compilation of some functions used by from_points_interpolation classmethod.
- BSplineSurface3D: compilation of some functions used in the evaluation of a parametric point.
- eq & hash: Some eq and hash methods have been fixed. starting from clases Point and Vector.
- BSplinecurve2D: point_belongs
- lighten some dicts with optional name
- Step reader: refactor to_volume_model. Remove the dependency of the method of creating a graph.

Refactorings
- ContourMixin: to_polygon (for both 2D and 3D)
- BSplineCurve2D.point_distance
- new dataclass EdgeStyle: to be used in several plot methods. simplifying its structure.


Unittests
* BSplineCurve2D: offset, point_distance, point_belongs
* Circle2D: bspline_intersections, point_distance
* Unittests for Vector2D
* Unittests for Point2D
* Unittests for Vector3D
* Unittests for Point3D
* LineSegment3D: test_matrix_distance
* LineSegment3D, LineSegment2D, Arc3D, Arc2D, BSpline3D, BSpline2D: get_shared_section(), delete_shared_section()
* Contour3D: merge_with()
* Contour2D: closest_point_to_point2, get_furthest_point_to_point2

0.9.3

- build: bump dessia common to 0.10.0
- build: remove useless jsonschema dep
- build: update package.xml for freecad

0.9.1

Fixed
- build: manifest was not shipping bspline_compiled
- fixed many pylint errors: 13/03/2023
- fix contour2d: divide

Documentation
- typo in CONTRIBUTING.md
- typo in README.md

0.9.0

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

0.8.0

New Features

- PlaneFace3D: project_faces
- OpenShell3D: project_coincident_faces_of
- GmshParser: to_vtk
- BSplineCurve: derivatives
- ClosedPolygon2D: point_belongs, now the user can choose whether points on the edge of the polygon
should be considered inside or not.
- ArcEllipse2D: line_intersections, frame_mapping, linesegment_intersections
- Line2D: point_belongs, frame_mapping()
- New Class wires.Ellipse2D
- Ellipse2D: point_over_ellipse(), line_intersections(), linesegment_intersections(), discretization_points(),
abscissa(), point_angle_with_major_dir(), area(), rotation(), tranlation(), frame_mapping()
- Plane3D: is_parallel, fullarc_intersections
- Arc2D: cut_betweeen_two_points
- Contour3D: linesegment_intersections, line_intersections
- Circle3D: primitives: [Arc3D, Arc3D], get_primitives, abscissa, linesegment_intersections
- Arc3D: line_intersections, linesegment_intersections
- new module utils: intersections -> circle_3d_linesegment_intersections
- hash for Frame2D
- Ellipse3D: point_belongs, abscissa, length, to_2d
- CylindricalSurface3D: point_on_surface, is_coincident, arcellipse3d_to_2d
- BSplineSurface3D: derivatives

Fixed

- PlaneFace3D: cut_by_coincident_face (consider self.inner_contours inside face)
- Contour2D: bounding_rectangle (specify number_points for discretization_points), point_belongs
- Line2D: line_intersections
- BSplineCurve2D: line_intersections
- PlaneFace3D: cut_by_coincident_face (consider self.inner_contours inside face)
- BSplineCurve2D: bounding_rectangle (specify number_points for discretization_points)
- Mesh: delete_duplicated_nodes
- BSplineSurface3D: fix arc3d_to_2d method
- Frame3D : fix from_point_and_vector method ( error for the case vector=main_axis)
- BSplineCurve2D: linesegment_intersections
- Contour2D: merge_primitives_with
- BSplineCurve: fix to take into account weighted B-spline curves.
- Step: fix reading of rational BSpline curves and surfaces from step file.
- BSplineCurve2D: tangent (use position/length)
- Babylon: some scene settings for better rendering
- Arc2D: fix get_center: name referenced before assignement
- SphericalSurface3D : enhancement of primitives parametrization on surface parametric domain.
- BSplineSurface3D: debug linesegment2d_to_3d method.
- Parametric operations with BSpline curves.
- OpenTriangleShell3D: fix from_mesh_data method
- pydocstyle fixes
- bounding box: fix for cylindrical and BSplineCurve3D
- contour2d: ordering_primitives, order_primitives
- Plane3D: plane_intersections, is_coindident
- contour2d: ordering_primitives, order_primitives
- Linesegment2D: infinite_primitive
- Arc2D: point_belongs
- Arc2D: infinite_primitive
- Wire2D: infinite_intersections
- infinite primitive offset of linesegment
- Ellispe3D: discretization_points
- BSplineSurface: Improved surface periodicity calculation

Removed

- babylon script remaining functions

Performance improvements
- ClosedPolygon2D: triangulation
- Cylinder: min_distance_to_other_cylinder
- BSplineCurve: discretization_points
- Face3D: triangulation
- triangulation performance by use of Node2D instead of points (x15 on casing)
- cache variable self._polygon_point_belongs_100, to avoid recalculating each
time we have to verify if a point is inside
- Improvements in BSplineSurface3D.point3d_to_2d performance
- Triangle3D serialization speed-up
- Serialization without memo for faces
- Custom serialization for BsplineCurves

Refactorings

- Basis2D, Basis3D, Frame2D, Frame3D: old_coordinates and new_coordinates method are now deprecated.
local_to_global_coordinates and global_to_local_coordinates are the new more explicit ones.
- Line3D: intersections

Unittests

- Contour2D: point_belongs
- Basis2D, Basis3D, Frame2D, Frame3D: local_to_global_coordinates and global_to_local_coordinates
- ArcEllipse2D: linesegment_intersections
- LineSegment2D: to_wire
- Line2D: point_belongs
- BSplineCurve2D: line_intersections
- Ellipse2D.point_over_ellipse()
- Ellipse2D.line_intersections()
- Ellipse2D.linesegment_intersections()
- Ellipse2D.discretization_points()
- Ellipse2D.abscissa()
- Ellipse2D.point_angle_with_major_dir()
- Ellipse2D.area()
- Ellipse2D.rotation()
- Ellipse2D.tranlation()
- Ellipse2D.frame_mapping()
- Line2D.frame_mapping()
- Plane3D: plane_intersections, fullarc_intersections, is_parallel, is_coincident
- Contour2D: offset
- ArcEllipse3D.to_2d()
- Circle3D: point_belongs
- Circle3D: discretization_points
- Arc3D: line_intersections, linesegment_intersections
- Contour2D: ordering_contour, is_ordered, order_contour
- Ellipse3D: point_belongs, abscissa, length, to_2d, discretization_points
- CylindricalSurface3D: point_on_surface, is_coincident

CI

- Mandatory CHANGELOG.md update for PR
- pre-commit checks with cython-lint

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.