Skip to content

Releases: compas-dev/compas

COMPAS 2.6.1

09 Nov 11:40
Compare
Choose a tag to compare

Added

Changed

  • Fixed bug in compas_rhino.scene.RhinoMeshObject.clear().

Removed

COMPAS 2.6.0

08 Nov 15:29
Compare
Choose a tag to compare

Added

  • Added key conversion map to compas.colors.ColorDict to avoid serialisation problems with tuple keys when used in combination with edges.
  • Added Scene.find_all_by_itemtype.

Changed

  • Fixed bug in VolMesh.delete_cell.
  • Fixed NoneType error when calling compas.geometry.Sphere.edges.
  • Fixed bug in VolMesh.vertex_halffaces.
  • Fixed bug in VolMesh.vertex_cells.
  • Fixed bug in VolMesh.is_halfface_on_boundary.

Removed

  • Removed VolMesh.halfface_adjacent_halfface because of general nonsensicalness, and because it is (and probably always has been) completely broken.

COMPAS 2.5.0

25 Oct 15:16
ef3996d
Compare
Choose a tag to compare

Added

  • Added instructions for creating new data types to the dev guide.
  • Added compact=False, minimal=False to compas.data.Data.to_json() to compas.data.Data.to_jsonstring().
  • Added copy_guid=False to compas.data.Data.copy(). If true, the copy has the same guid as the original.
  • Added implementation of Brep.from_loft() to compas_rhino.

Changed

  • Fixed RuntimeError when using compas_rhino.unload_modules in CPython`.
  • Fixed bug in Box.scaled causing a TypeError due to incorrect parameter forwarding.
  • Changed argument names of Box.scale() to x, y, z, instead of factor and made y and z optional to keep positional arguments backwards compatible.
  • Fixed import errors in compas_rhino.conduits for Rhino 8.
  • Fixed doctest failures.
  • Fixed bug in serialization when compas.datastructures.attributes.AttributeView is used.
  • Fixed bug in the serialisation of empty scenes.
  • Fixed bug in serialisation process due to name attribute appearing in json representation after copy even if not present before copy.

Removed

COMPAS 2.4.3

04 Oct 08:33
007077a
Compare
Choose a tag to compare

Added

Changed

  • Fixed support for compas_gpython in Rhino 8 Grasshopper CPython components.
  • Fixed Graph.from_edges always returning None.

Removed

  • Removed deprecated module compas_ghpython.utilities. For drawing functions, use compas_ghpython.drawing directly.

COMPAS 2.4.2

17 Sep 04:17
8dd40a6
Compare
Choose a tag to compare

Added

  • Added compas.scene.Scene.find_by_name to find the first scene object with the given name.
  • Added compas.scene.Scene.find_by_itemtype to find the first scene object with a data item of the given type.

Changed

  • Fixed args for SceneObject on Grasshopper Draw component.
  • Replaced use of Rhino.Geometry.VertexColors.SetColors with a for loop and SetColor in compas_ghpyton since the former requires a System.Array.
  • Fixed Mesh.face_circle.

Removed

COMPAS 2.4.1

24 Aug 23:44
Compare
Choose a tag to compare

Added

Changed

  • Changed supported Blender versions to latest LTS versions (3.3, 3.6, 4.2).
  • Fixed bug in compas_rhino.conversions.cone_to_compas.
  • Fixed bug in compas_rhino.conversions.cylinder_to_compas.
  • Fixed bug in compas_rhino.scene.RhinoMeshObject.draw_vertexnormals (scale not used).
  • Fixed bug in compas_rhino.scene.RhinoMeshObject.draw_facenormals (scale not used).
  • Changed scene object registration to stop printing messages.

Removed

COMPAS 2.4.0

22 Aug 13:25
Compare
Choose a tag to compare

Added

  • Added compas.scene.Scene.redraw.
  • Added compas.scene.Scene.context_objects representing all objects drawn in the visualisation context by the scene.
  • Added compas.scene.Scene.clear_context with optional guids to clear some or all objects from the visualisation context.
  • Added clear_scene and clear_context parameters to compas.scene.Scene.clear to differentiate between removing objects from the scene internally or removing corresponding objects from the viz context, or both (default).
  • Added compas_rhino.conversions.extrusion_to_compas_box as direct conversion of extrusion breps.

Changed

  • Changed the __str__ of compas.geometry.Frame, compas.geometry.Plane, compas.geometry.Polygon, compas.geometry.Polyhedron, compas.geometry.Quaternion to use a limited number of decimals (determined by Tolerance.PRECISION). Note: __repr__ will instead maintain full precision.
  • Changed the __str__ of compas.geometry.Pointcloud to print total number of points instead of the long list of points. Note: __repr__ will still print all the points with full precision.
  • Fixed bug in Pointcloud.from_box().
  • Changed compas.scene.MeshObject to not use vertex coordinate caching because it is too fragile.
  • Changed compas_rhino.scene.RhinoMeshObject to keep track of element-guid pairs in dicts.
  • Changed compas.scene.Scene._guids to a default value of [].
  • Fixed bug due to missing import in compas_rhino.scene.graphobject.
  • Changed compas_rhino.scene.RhinoMeshObject.draw_vertexnormals to use the same selection of vertices as draw_vertices.
  • Changed compas_rhino.scene.RhinoMeshObject.draw_vertexnormals to use the corresponding vertex color if no color is specified.
  • Changed compas_rhino.scene.RhinoMeshObject.draw_facenormals to use the same selection of vertices as draw_faces.
  • Changed compas_rhino.scene.RhinoMeshObject.draw_facenormals to use the corresponding face color if no color is specified.

Removed

COMPAS 2.3.0

06 Jul 11:28
Compare
Choose a tag to compare

Added

  • Added code coverage report uploads to codecov.io.
  • Added compas.geometry.surfaces.surface.Surface.from_native.
  • Added compas.geometry.surfaces.nurbs.NurbsSurface.from_plane.
  • Added compas.geometry.surfaces.nurbs.NurbsSurface.from_cylinder.
  • Added compas.geometry.surfaces.nurbs.NurbsSurface.from_extrusion.
  • Added compas.geometry.surfaces.nurbs.NurbsSurface.from_frame.
  • Added compas.geometry.surfaces.nurbs.NurbsSurface.from_interpolation.
  • Added compas.geometry.surfaces.nurbs.NurbsSurface.from_revolution.
  • Added compas.geometry.surfaces.nurbs.NurbsSurface.from_sphere.
  • Added compas.geometry.surfaces.nurbs.NurbsSurface.from_torus.
  • Added compas_rhino.geometry.surfaces.surface_from_native.
  • Added compas_rhino.geometry.surfaces.nurbssurface_from_native.
  • Added compas_rhino.geometry.surfaces.nurbssurface_from_cylinder.
  • Added compas_rhino.geometry.surfaces.nurbssurface_from_fill.
  • Added compas_rhino.geometry.surfaces.nurbssurface_from_torus.
  • Added compas_rhino.geometry.surfaces.nurbs.NurbsSurface.from_corners.
  • Added compas_rhino.geometry.surfaces.nurbs.NurbsSurface.from_cylinder.
  • Added compas_rhino.geometry.surfaces.nurbs.NurbsSurface.from_frame.
  • Added compas_rhino.geometry.surfaces.nurbs.NurbsSurface.from_sphere.
  • Added compas_rhino.geometry.surfaces.nurbs.NurbsSurface.from_torus.
  • Added compas.geometry.curves.curve.Curve.from_native.
  • Added compas_rhino.geometry.curves.curve.Curve.from_native.
  • Added compas_rhino.geometry.curves.nurbs.NurbsCurve.from_native.
  • Added compas_rhino.conversions.breps.brep_to_compas_mesh.
  • Added compas_rhino.conversions.docobjects.brepobject_to_compas.
  • Added compas_rhino.conversions.docobjects.curveobject_to_compas.
  • Added compas_rhino.conversions.docobjects.meshobject_to_compas.
  • Added compas_rhino.conversions.docobjects.pointobject_to_compas.
  • Added compas.datastructures.HashTree and compas.datastructures.HashNode.

Changed

  • Fixed bug in compas.geometry.curves.curve.Curve.reversed by adding missing parenthesis.
  • Fixed all doctests so we can run invoke test --doctest.
  • Changed compas.geometry.surfaces.surface.Surface.__new__ to prevent instantiation of Surface directly.
  • Changed compas.geometry.surfaces.nurbs.NurbsSurface.__new__ to prevent instantiation of NurbsSurface directly.
  • Fixed bug in compas.geometry.surfaces.nurbs.NurbsSurface.__data__.
  • Changed compas.geometry.surfaces.nurbs.new_nurbssurface_from_... to nurbssurface_from_....
  • Changed compas.geometry.curves.curve.Curve.__new__ to prevent instantiation of Curve directly.
  • Changed compas.geometry.curves.nurbs.new_nurbscurve_from_... to nurbscurve_from_....
  • Changed compas.geometry.curves.nurbs.NurbsCurve.__new__ to prevent instantiation of NurbsCurve directly.
  • Changed compas_rhino.geometry.curves.new_nurbscurve_from_... to nurbscurve_from_....
  • Fixed compas_ghpython Grasshopper components not included in published pakcage.
  • Changed compas.colors.Color.coerce to take color as is, if it is already an instance of compas.colors.Color.
  • Changed compas_rhino.conversions.surfaces.surface_to_compas to work only with surface geometry.
  • Changed compas_rhino.conversions.curves.curve_to_compas_line to work only with geometry.
  • Changed compas_rhino.conversions.curves.curve_to_compas_circle to work only with geometry.
  • Changed compas_rhino.conversions.curves.curve_to_compas_ellipse to work only with geometry.
  • Changed compas_rhino.conversions.curves.curve_to_compas_polyline to work only with geometry.
  • Changed compas_rhino.objects.get_point_coordinates to deprecated (removed in v2.3).
  • Changed compas_rhino.objects.get_line_coordinates to deprecated (removed in v2.3).
  • Changed compas_rhino.objects.get_polyline_coordinates to deprecated (removed in v2.3).
  • Changed compas_rhino.objects.get_polygon_coordinates to deprecated (removed in v2.3).
  • Fixed a bug in worldtransformation of compas.scene.SceneObject to include the object's own frame.

Removed

  • Removed pluggable compas.geometry.surfaces.surface.new_surface.
  • Removed pluggable compas.geometry.surfaces.surface.new_surface_from_plane.
  • Removed compas.geometry.surfaces.surface.Surface.from_plane.
  • Removed compas.geometry.surfaces.surface.ConicalSurface.__new__.
  • Removed compas.geometry.surfaces.surface.CylindricalSurface.__new__.
  • Removed compas.geometry.surfaces.surface.PlanarSurface.__new__.
  • Removed compas.geometry.surfaces.surface.SphericalSurface.__new__.
  • Removed compas.geometry.surfaces.surface.ToroidalSurface.__new__.
  • Removed compas.geometry.surfaces.nurbs.NurbsSurface.__init__.
  • Removed compas_rhino.geometry.surfaces.new_surface.
  • Removed compas_rhino.geometry.surfaces.new_nurbssurface.
  • Removed compas_rhino.geometry.surfaces.nurbs.NurbsSurface.__from_data__.
  • Removed compas_rhino.geometry.surfaces.surface.Surface.from_corners.
  • Removed compas_rhino.geometry.surfaces.surface.Surface.from_cylinder.
  • Removed compas_rhino.geometry.surfaces.surface.Surface.from_frame.
  • Removed compas_rhino.geometry.surfaces.surface.Surface.from_sphere.
  • Removed compas_rhino.geometry.surfaces.surface.Surface.from_torus.
  • Removed compas.geometry.curves.arc.Arc.__new__.
  • Removed compas.geometry.curves.bezier.Bezier.__new__.
  • Removed compas.geometry.curves.conic.Conic.__new__.
  • Removed compas.geometry.curves.polyline.Polyline.__new__.
  • Removed compas.geometry.curves.curve.new_curve.
  • Removed compas.geometry.curves.curve.new_nurbscurve.
  • Removed compas_rhino.geometry.curves.new_curve.
  • Removed compas_rhino.geometry.curves.new_nurbscurve.
  • Removed compas_rhino.conversions.surfaces.data_to_rhino_surface.
  • Removed compas_rhino.conversions.surfaces.surface_to_compas_data.
  • Removed compas_rhino.conversions.surfaces.surface_to_compas_quadmesh.
  • Removed compas_rhino.conversions.curves.curve_to_compas_data.

COMPAS 2.2.1

25 Jun 05:54
Compare
Choose a tag to compare

Added

Changed

  • Fixed error in compas_ghpython causing Scene to fail in Grasshopper.

Removed

COMPAS 2.2.0

24 Jun 17:39
Compare
Choose a tag to compare

Added

  • Added maxiter parameter to compas.geometry.icp_numpy.
  • Added resolution_u and resolution_v to compas.geometry.Shape to control discretisation resolution.
  • Added vertices, edges, faces, triangles to compas.geometry.Shape.
  • Added points, lines, polygons to compas.geometry.Shape.
  • Added abstract compute_vertices, compute_edges, compute_faces, compute_triangles to compas.geometry.Shape.
  • Added implementation of compute_vertices, compute_edges, compute_faces to compas.geometry.Box.
  • Added implementation of compute_vertices, compute_edges, compute_faces to compas.geometry.Capsule.
  • Added implementation of compute_vertices, compute_edges, compute_faces to compas.geometry.Cone.
  • Added implementation of compute_vertices, compute_edges, compute_faces to compas.geometry.Cylinder.
  • Added implementation of compute_vertices, compute_edges, compute_faces to compas.geometry.Sphere.
  • Added implementation of compute_vertices, compute_edges, compute_faces to compas.geometry.Torus.
  • Added compas_blender.scene.ShapeObject.
  • Added compas.geometry.vector.__radd__.
  • Added compas.geometry.vector.__rsub__.
  • Added compas.geometry.vector.__rmul__.
  • Added compas.geometry.vector.__rtruediv__.
  • Added VolMesh.cell_lines, VolMesh.cell_polygons.
  • Added VolMesh.vertex_edges.
  • Added VolMesh.from_meshes.
  • Added VolMesh.from_polyhedrons.

Changed

  • Changed compas_ghpython/utilities/drawing.py to remove System dependency.
  • Fixed bug in compas.geometry.ic_numpy, which was caused by returning only the last transformation of the iteration process.
  • Changed compas.geometry.Geometry.scaled to use compas.geometry.Geometry.scale on a copy.
  • Changed compas.geometry.Geometry.translated to use compas.geometry.Geometry.translate on a copy.
  • Changed compas.geometry.Geometry.rotated to use compas.geometry.Geometry.rotate on a copy.
  • Changed VolMesh._plane back to point to a cell for every triplet of vertices.
  • Fixed VolMesh.add_halfface, VolMesh.add_cell, VolMesh.vertex_halffaces, VolMesh.vertex_cells, VolMesh.edge_halffaces, VolMesh.halfface_cell, VolMesh.halfface_opposite_cell, VolMesh.halfface_opposite_halfface, VolMesh.cell_neighbors.
  • Changed ordering of Volmesh.edges() to be deterministic.
  • Changed ordering and direction of Volmesh.vertex_edges() to be deterministic.
  • Changed check for empty vertices and faces to use is None to add support for numpy arrays.
  • Changed order of u and v of compas.geometry.SphericalSurface to the match the excpected parametrisation.
  • Changed compas.geometry.Shape.to_vertices_and_faces to use Shape.vertices and Shape.faces or Shape.triangles.
  • Changed default of compas.scene.descriptors.color.ColorAttribute to None to support native coloring in CAD contexts.
  • Changed compas.colors.ColorDict.__data__ and compas.colors.ColorDict.__from_data__ to properly support serialisation.
  • Moved compas_blender.utilities.drawing to compas_blender.drawing with backward compatible imports and deprecation warning.
  • Moved compas_ghpython.utilities.drawing to compas_ghpython.drawing with backward compatible imports and deprecation warning.
  • Moved compas_rhino.utilities.drawing to compas_rhino.drawing with backward compatible imports and deprecation warning.
  • Changed draw_nodes and draw_edges of compas_blender.scene.GraphObject, compas_ghpython.scene.GraphObject, and compas_rhino.scene.GraphObject to use only attributes instead of parameters.
  • Changed draw_vertices, draw_edges and draw_faces of compas_blender.scene.MeshObject, compas_ghpython.scene.MeshObject, and compas_rhino.scene.MeshObject to use only attributes instead of parameters.
  • Changed draw_vertices, draw_edges and draw_faces of compas_blender.scene.VolMeshObject, compas_ghpython.scene.VolMeshObject, and compas_rhino.scene.VolMeshObject to use only attributes instead of parameters.
  • Changed registration of Capsule, Cone, Cylinder, Sphere, Torus to ShapeObject in compas_blender.scene.
  • Updated compas.geometry.vector.__mul__ to allow element-wise multiplication with another vector.
  • Updated compas.geometry.vector.__truediv__ to allow element-wise division with another vector.
  • Fixed bug in registration shapely boolean plugins.
  • Temporarily restrict numpy to versions lower than 2.x.

Removed

  • Removed System dependency in compas_ghpython/utilities/drawing.py.
  • Removed GH plugin for compas.scene.clear since it clashed with the Rhino version.