Skip to content

volmdlr v0.8.0

Choose a tag to compare

@WirajanDASILVA WirajanDASILVA released this 26 Jan 19:49
· 6958 commits to master since this release
0b525bf

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.