Skip to content

v0.5.0

Compare
Choose a tag to compare
@github-actions github-actions released this 18 Nov 15:45
· 20 commits to master since this release
2407d53

GeometryBasics v0.5.0

Diff since v0.4.11

Merged pull requests:

Closed issues:

  • heterogeneous feature collection (#49)
  • heterogeneous geometry collection (#50)
  • Rename Tesselation -> Tessellation (#224)

Changelog / Update Notes

Changes that could break things

  • Tesselation -> Tessellation
  • meta() removed: Mesh(meta(kwargs...), faces) -> Mesh(faces; kwargs...)
  • metafree() removed: no replacement needed
  • mesh.normals -> mesh.normal
  • mesh(..., normals = ...) -> mesh(..., normal = ...)
  • Mesh type name/structure has been simplified. See basic_types.jl or just check by hand
  • Rect2 now generates coordinates in counter-clockwise order
  • Cylinder , Rect3, Pyramid now generate FaceView's. You can remove these with expand_faceviews(mesh). Some consequences:
    • coordinates(::Rect3) are no longer duplicated
    • normals(::Rect3) and texturecoordinates(::Rect3) are FaceViews to avoid duplication. If you need them synchronized with coordinates use normals(expand_faceviews(uv_normal_mesh(Rect3(...))))
  • MeshIO.jl may output a MetaMesh for obj files now. This includes additional non-vertex data (e.g. materials). The "raw" mesh is in metamesh.mesh.
  • MeshIO.jl may generate a Mesh with FaceViews

Other changes

  • Cylinder no longer renders with rounded caps (due to no longer sharing normals between mantle and caps)
  • merge(meshes) now also sets mesh.views which acts as a collection of index ranges into mesh.faces corresponding to the input meshes. split_mesh() can now revert a merge.
  • mesh(input_mesh; pointtype, facetype, vertex_attributes...) can be used to change the pointtype or facetype, or add additional vertex attributes to a given mesh. (This will create a new mesh)
  • added face_normals(positions, faces) for generating per-face normals (uses FaceView)