volmdlr v0.8.0
·
6958 commits
to master
since this release
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
- 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
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(), .line_intersections(), linesegment_intersections(), discretization_points(), abscissa(), point_angle_with_major_dir(), area(), rotation(), translation(), 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
Upgrade Instructions
To upgrade to volmdlr v0.8.0, simply run pip install --upgrade volmdlr.