Skip to content

Releases: compas-dev/compas

COMPAS 2.0.0

31 Jan 18:28
73f9efb
Compare
Choose a tag to compare

Added

  • Added group attribute to compas_rhino.scene.RhinoSceneObject.
  • Added _guid_mesh, _guids_vertices, _guids_edges, _guids_faces, _guids_vertexlabels, _guids_edgelables, _guids_facelabels, _guids_vertexnormals, _guids_facenormals, _guids_spheres, _guids_pipes, disjoint attributes to compas_rhino.scene.MeshObject.
  • Added _guids_nodes, _guids_edges, _guids_nodelabels, _guids_edgelables, _guids_spheres, _guids_pipes attributes to compas_rhino.scene.GraphObject.
  • Added _guids_vertices, _guids_edges, _guids_faces, _guids_cells, _guids_vertexlabels, _guids_edgelables, _guids_facelabels, _guids_celllabels, disjoint attributes to compas_rhino.scene.MeshObject.
  • Added test for compas.scene.Scene serialisation.

Changed

  • Changed compas.scene.Mesh's show_vertices, show_edges, show_faces to optionally accept a sequence of keys.
  • Changed compas.scene.Graph's show_nodes, show_edges to optionally accept a sequence of keys.
  • Changed compas.scene.VolMesh's show_vertices, show_edges, show_faces, show_cells to optionally accept a sequence of keys.
  • Fixed missing implementation of Sphere.base.
  • Fixed bug in intersection_sphere_sphere.

Removed

  • Removed kwargs from compas_rhino.scene.MeshObject.draw.
  • Removed kwargs from compas_rhino.scene.GraphObject.draw.
  • Removed kwargs from compas_rhino.scene.VolMeshObject.draw.

COMPAS 2.0.0-beta.4

26 Jan 17:27
5d87114
Compare
Choose a tag to compare

Added

  • Added compas_rhino.objects.
  • Added compas_rhino.layers.
  • Added compas_rhino.install_with_pip.
  • Added before_draw pluggable to compas.scene.Scene.draw.
  • Added after_draw pluggable to compas.scene.Scene.draw.
  • Added description in tutorial about compas.scene.context.
  • Added compas_blender.data.
  • Added compas_blender.collections.
  • Added compas_blender.objects.
  • Added compas_rhino.ui.
  • Added compas_rhino.unload_modules.
  • Added compas_ghpython.unload_modules.
  • Added compas_ghpython.sets.
  • Added compas_ghpython.timer.

Changed

  • Changed compas.tolerance.Tolerance into singleton.
  • Changed compas_rhino.geometry.curves.nursb.RhinoNurbsCurve to use private data API.
  • Changed compas_rhino.geometry.surfaces.nursb.RhinoNurbsSurface to use private data API.
  • Changed compas.scene.Scene.redraw to draw.
  • Fixed register_scene_objects not called when there is a context given in kwargs of SceneObject.

Removed

  • Removed compas_blender.geometry.curves.
  • Removed compas_rhino.utilities.objects.
  • Removed compas_rhino.utilities.layers.
  • Removed compas_rhino.utilities.constructors.
  • Removed compas_rhino.utilities.document.
  • Removed compas_rhino.utilities.geometry.
  • Removed compas_rhino.utilities.misc.
  • Removed compas_blender.utilities.data.
  • Removed compas_blender.utilities.collections.
  • Removed compas_blender.utilities.objects.
  • Removed compas_ghpython.utilities.sets.
  • Removed compas_ghpython.utilities.timer.

v1.17.10

22 Jan 23:38
b7b7ed2
Compare
Choose a tag to compare

Added

Changed

  • Fixed ImportError when when scipy==1.12.0 is installed.

Removed

COMPAS 2.0.0-beta.3

20 Jan 09:15
126900a
Compare
Choose a tag to compare

Added

  • Added compas.dtastructures.Network as alias of compas.datastructures.Graph.
  • Added compas.data.Data.name and included it in serialisation in case compas.data.Data._name is not None.

Changed

  • Merged compas.datastructures.Halfedge into compas.datastructures.Mesh.
  • Merged compas.datastructures.Network into compas.datastructures.Graph.
  • Merged compas.datastructures.Halfface into compas.datastructures.VolMesh.
  • Fixed RhinoBrep doesn't get capped after trimming.
  • Changed compas.data.Data.data to compas.data.Data.__data__.
  • Changed compas.data.Data.dtype to compas.data.Data.__dtype__.
  • Changed compas.data.Data.from_data to compas.data.Data.__from_data__.

Removed

  • Removed compas.datastructures.Network.
  • Removed compas.datastructures.Halfedge.
  • Removed compas.datastructures.Halfface.
  • Removed compas.data.Data.attributes.
  • Removed compas.data.Datastructure.attributes.
  • Removed attributes from compas.datastructures.Assembly.data.
  • Removed attributes from compas.datastructures.CellNetwork.data.
  • Removed attributes from compas.datastructures.Graph.data.
  • Removed attributes from compas.datastructures.Mesh.data.
  • Removed attributes from compas.datastructures.Tree.data.
  • Removed attributes from compas.datastructures.VolMesh.data.
  • Removed compas.data.Data.to_data.
  • Removed compas.rpc.XFunc.

COMPAS 2.0.0-beta.2

12 Jan 16:40
020c29c
Compare
Choose a tag to compare

Added

  • Added viewerinstance in compas.scene.Scene to support viewers context detection.
  • Added compas_rhino8 as starting point for Rhino8 support.
  • Added compas.scene.SceneObjectNode.
  • Added compas.scene.SceneTree.
  • Added compas.scene.SceneObject.node.
  • Added compas.scene.SceneObject.frame.
  • Added compas.scene.SceneObject.worldtransformation.
  • Added compas.scene.SceneObject.parent.
  • Added compas.scene.SceneObject.children.
  • Added compas.scene.SceneObject.add().
  • Added tutorial for compas.datastructures.Tree.
  • Added Serialisation capability to compas.scene.Scene.
  • Added show flag to compas.scene.SceneObject.
  • Added show_points flag to compas.scene.GeometryObject.
  • Added show_lines flag to compas.scene.GeometryObject.
  • Added show_surfaces flag to compas.scene.GeometryObject.
  • Added show_vertices flag to compas.scene.MeshObject.
  • Added show_edges flag to compas.scene.MeshObject.
  • Added show_faces flag to compas.scene.MeshObject.
  • Added show_nodes flag to compas.scene.NetworkObject.
  • Added show_edges flag to compas.scene.NetworkObject.
  • Added show_vertices flag to compas.scene.VolMeshObject.
  • Added show_edges flag to compas.scene.VolMeshObject.
  • Added show_faces flag to compas.scene.VolMeshObject.
  • Added show_cells flag to compas.scene.VolMeshObject.
  • Added compas.data.Data.to_jsonstring and compas.data.Data.from_jsonstring.
  • Added compas.data.Data.attributes.
  • Added optional param working_directory to compas.rpc.Proxy to be able to start services defined in random locations.
  • Added compas.datastructures.Datastructure.transform and compas.datastructures.Datastructure.transformed.
  • Added compas.datastructures.Datastructure.transform_numpy and compas.datastructures.Datastructure.transformed_numpy.
  • Added compas.datastructures.Halfedge.flip_cycles.
  • Added compas.datastructures.Halfedge.is_connected, compas.datastructures.Halfedge.connected_vertices, compas.datastructures.Halfedge.connected_faces.
  • Added compas.datastructures.Mesh.join.
  • Added compas.datastructures.Mesh.weld and compas.datastructures.Mesh.remove_duplicate_vertices.
  • Added compas.datastructures.Mesh.quads_to_triangles.
  • Added compas.datastructures.Mesh.unify_cycles.
  • Added compas.datastructures.Mesh.aabb and compas.datastructures.Mesh.obb.
  • Added compas.datastructures.Mesh.offset and compas.datastructures.Mesh.thickened.
  • Added compas.datastructures.Mesh.exploded.
  • Added compas.datastructures.Mesh.adjacency_matrix, compas.datastructures.Mesh.connectivity_matrix, compas.datastructures.Mesh.degree_matrix, compas.datastructures.Mesh.laplacian_matrix.
  • Added compas.topology.vertex_adjacency_from_edges, compas.topology.vertex_adjacency_from_faces, compas.topology.edges_from_faces, compas.topology.faces_from_edges.
  • Added compas.datastructures.Network.split_edge, compas.datastructures.Network.join_edges.
  • Added compas.datastructures.Network.smooth.
  • Added compas.datastructures.Network.is_crossed, compas.datastructures.Network.is_xy, compas.datastructures.Network.is_planar, compas.datastructures.Network.is_planar_embedding, compas.datastructures.Network.count_crossings, compas.datastructures.Network.find_crossings, compas.datastructures.Network.embed_in_plane.
  • Added compas.datastructures.Network.find_cycles.
  • Added compas.datastructures.Network.shortest_path.
  • Added compas.datastructures.Network.transform.
  • Added compas.datastructures.Graph.is_connected.
  • Added compas.datastructures.Graph.adjacency_matrix, compas.datastructures.Graph.connectivity_matrix, compas.datastructures.Graph.degree_matrix, compas.datastructures.Graph.laplacian_matrix.

Changed

  • Changed the __str__ of compas.geometry.Point and compas.geometry.Vector to use a limited number of decimals (determined by Tolerance.PRECISION). Note: __repr__ will instead maintain full precision.
  • Changed docs Workflow to only be triggered on review approval in pull requests.
  • Changed draw implementations of compas.scene.SceneObject to always use the worldtransformation of the SceneObject.
  • Fixed typo in name Rhino.Geometry.MeshingParameters in compas_rhino.geometry.RhinoBrep.to_meshes().
  • Fixed TypeErrorException when serializing a Mesh which has been converted from Rhino.
  • Fixed color conversions in compas_rhion.conversions.mesh_to_compas.
  • Changed compas.data.Data.name to be stored in compas.data.Data.attributes.
  • Changed compas.data.Data.__jsondump__ to include compas.data.Data.attributes if the dict is not empty.
  • Changed compas.data.Data.__jsonload__ to update compas.data.Data.attributes if the attribute dict is provided.
  • Changed compas.datastructures.Graph to take additional **kwargs, instead of only name=None specifically.
  • Changed compas.datastructures.Network to take additional **kwargs, instead of only name=None specifically.
  • Changed compas.datastructures.Halfedge to take additional **kwargs, instead of only name=None specifically.
  • Changed compas.datastructures.Mesh to take additional **kwargs, instead of only name=None specifically.
  • Moved registration of ping and remote_shutdown of the RPC server to compas.rpc.Server.__init__().
  • Moved FileWatcherService to compas.rpc.services.watcher so it can be reused.
  • Changed compas.datastructures.Mesh.subdivide to compas.datastructures.Mesh.subdivided.
  • Moved compas.numerical.pca_numpy to compas.geometry.pca_numpy.
  • Moved compas.numerical.scalafield_contours to compas.geometry.scalarfield_contours.
  • Moved compas.numerical.matrices to compas.topology.matrices.
  • Moved compas.numerical.linalg to compas.geometry.linalg.
  • Changed watchdog dependency to be only required for platforms other than emscripten.
  • Changed compas.geometry.earclip_polygon algorithm because the current one does not handle several cases.

Removed

  • Removed compas_rhino.forms. Forms will be moved to compas_ui.
  • Removed compas.datastructures.Datastructure.attributes and compas.datastructures.Datastructure.name (moved to compas.data.Data).
  • Removed attributes from compas.datastructures.Graph.data.
  • Removed attributes from compas.datastructures.Network.data.
  • Removed attributes from compas.datastructures.Halfedge.data.
  • Removed attributes from compas.datastructures.Mesh.data.
  • Removed compas.datastructures.mesh_bounding_box and compas.datastructures.mesh_bounding_box_xy.
  • Removed compas.datastructures.mesh_oriented_bounding_box_numpy and compas.datastructures.mesh_oriented_bounding_box_xy_numpy.
  • Removed compas.datastructures.mesh_delete_duplicate_vertices.
  • Removed compas.datastructures.mesh_is_connected and compas.datastructures.mesh_connected_components.
  • Removed compas.datastructures.mesh_isolines_numpy and compas.datastructures.mesh_contours_numpy.
  • Removed compas.datastructures.trimesh_gaussian_curvature.
  • Removed compas.datastructures.trimesh_descent.
  • Removed compas.datastructures.mesh_disconnected_vertices, compas.datastructures.mesh_disconnected_faces and compas.datastructures.mesh_explode.
  • Removed compas.datastructures.mesh_geodesic_distances_numpy.
  • Removed compas.datastructures.trimesh_face_circle.
  • Removed compas.datastructures.mesh_weld, compas.datastructures.meshes_join, compas.datastructures.meshes_join_and_weld.
  • Removed compas.datastructures.mesh_offset and compas.datastructures.mesh_thicken.
  • Removed compas.datastructures.mesh_face_adjacency and compas.datastructures.mesh_unify_cycles.
  • Removed compas.datastructures.mesh_transform, compas.datastructures.mesh_transformed, compas.datastructures.mesh_transform_numpy, compas.datastructures.mesh_transformed_numpy.
  • Removed compas.datastructures.mesh_quads_to_triangles.
  • Removed compas.datastructures.volmesh_bounding_box.
  • Removed compas.datastructures.volmesh_transform and compas.datastructures.volmesh_transformed.
  • Removed compas.topology.unify_cycles_numpy and compas.topology.face_adjacency_numpy.
  • Removed compas.topology.unify_cycles_rhino and compas.topology.face_adjacency_rhino.
  • Removed compas.datastructures.network_is_connected.
  • Removed compas.datastructures.network_complement.
  • Removed compas.datastructures.network_disconnected_nodes, compas.datastructures.network_disconnected_edges, compas.datastructures.network_explode.
  • Removed compas.datastructures.network_adjacency_matrix, compas.datastructures.network_connectivity_matrix, compas.datastructures.network_degree_matrix, compas.datastructures.network_laplacian_matrix.
  • Removed compas.datastructures.network_transform, compas.datastructures.network_transformed.
  • Removed compas.datastructures.network_shortest_path.
  • Removed compas.numerical.

COMPAS 2.0.0-beta.1

20 Dec 20:29
Compare
Choose a tag to compare

Added

  • Added compas.geometry.Box.to_brep().
  • Added compas.geometry.Cone.to_brep().
  • Added compas.geometry.Cylinder.to_brep().
  • Added compas.geometry.Sphere.to_brep().
  • Added compas.geometry.Torus.to_brep().
  • Added compas.brep.Brep.from_iges().
  • Added compas.brep.Brep.to_iges().
  • Added compas.tolerance.
  • Added compas.tolerance.Tolerance.
  • Added compas.tolerance.Tolerance.ABSOLUTE and compas.tolerance.Tolerance.absolute.
  • Added compas.tolerance.Tolerance.RELATIVE and compas.tolerance.Tolerance.relative.
  • Added compas.tolerance.Tolerance.ANGULAR and compas.tolerance.Tolerance.angular.
  • Added compas.tolerance.Tolerance.APPROXIMATION and compas.tolerance.Tolerance.approximation.
  • Added compas.tolerance.Tolerance.PRECISION and compas.tolerance.Tolerance.precision.
  • Added compas.tolerance.Tolerance.LINEARDEFLECTION and compas.tolerance.Tolerance.lineardeflection.
  • Added compas.tolerance.Tolerance.is_zero.
  • Added compas.tolerance.Tolerance.is_positive.
  • Added compas.tolerance.Tolerance.is_negative.
  • Added compas.tolerance.Tolerance.is_between.
  • Added compas.tolerance.Tolerance.is_angle_zero.
  • Added compas.tolerance.Tolerance.is_close.
  • Added compas.tolerance.Tolerance.is_allclose.
  • Added compas.tolerance.Tolerance.is_angles_close.
  • Added compas.tolerance.Tolerance.geometric_key.
  • Added compas.tolerance.Tolerance.format_number.
  • Added compas.tolerance.Tolerance.precision_from_tolerance.
  • Added compas.scene.Scene.
  • Added compas.json_loadz() and compas.json_dumpz() to support ZIP compressed JSON files.
  • Added compas.datastructures.assembly.delete_part().
  • Added compas.datastructures.assembly.delete_connection().
  • Added compas.geometry.Brep.from_breps().
  • Added compas.geometry.Brep.from_planes().
  • Added compas.geometry.Brep.to_iges().
  • Added compas.geometry.Brep.to_meshes().
  • Added compas.geometry.Brep.to_polygons().
  • Added compas.geometry.Brep.to_stl().
  • Added compas.geometry.Brep.heal().
  • Added compas.geometry.Brep.edge_faces().
  • Added compas.geometry.Brep.edge_loop().
  • Added compas.geometry.Brep.fillet().
  • Added compas.geometry.Brep.filleted().
  • Added compas.geometry.BrepFilletError.
  • Added compas.geometry.Brep.is_shell.
  • Added compas.geometry.Brep.contains().
  • Added compas.geometry.BrepFace.adjacent_faces().
  • Added compas_rhino.geometry.RhinoBrep.is_manifold.
  • Added compas_rhino.geometry.RhinoBrep.contains().
  • Added compas_rhino.geometry.RhinoBrepFace.adjacent_faces().
  • Added compas_rhino.geometry.RhinoBrepFace.as_brep().
  • Added compas.geometry.BrepEdge.orientation.
  • Added compas.geometry.BrepEdge.type.
  • Added compas.geometry.BrepEdge.length.
  • Added compas.geometry.BrepFace.type.
  • Added compas.geometry.BrepFace.add_loop().
  • Added compas.geometry.BrepFace.add_loops().
  • Added compas.geometry.BrepFace.to_polygon() with generic implementation.
  • Added compas.geometry.BrepFace.try_get_nurbssurface().
  • Added compas_rhino.geometry.RhinoBrepFace.area.
  • Added compas_rhino.geometry.RhinoBrepFace.centroid.
  • Added compas_rhino.geometry.RhinoBrepFace.edges.
  • Added compas_rhino.geometry.RhinoBrepFace.is_cone.
  • Added compas_rhino.geometry.RhinoBrepFace.is_cylinder.
  • Added compas_rhino.geometry.RhinoBrepFace.is_torus.
  • Added compas_rhino.geometry.RhinoBrepFace.is_sphere.
  • Added compas_rhino.geometry.RhinoBrepFace.nurbssurface.
  • Added compas_rhino.geometry.RhinoBrepFace.vertices.
  • Added compas_rhino.geometry.RhinoBrepLoop.trims.
  • Added compas_rhino.geometry.RhinoBrepEdge.length.
  • Added compas_rhino.geometry.RhinoBrepEdge.centroid.
  • Added compas.geometry.BrepFace.native_face.
  • Added compas.geometry.BrepEdge.native_edge.
  • Added compas.geometry.BrepLoop.native_loop.
  • Added compas.geometry.BrepTrim.native_trim.
  • Added compas.geometry.BrepVertex.native_vertex.
  • Added compas_rhino.geometry.RhinoBrepFace.native_face.
  • Added compas_rhino.geometry.RhinoBrepEdge.native_edge.
  • Added compas_rhino.geometry.RhinoBrepLoop.native_loop.
  • Added compas_rhino.geometry.RhinoBrepTrim.native_trim.
  • Added compas_rhino.geometry.RhinoBrepVertex.native_vertex.
  • Added color, opacity attributes to compas.scene.SceneObject.
  • Added pointcolor, linecolor, surfacecolor, pointsize, linewidth attributes to compas.scene.GeometryObject.
  • Added compas_rhino.geometry.brep.RhinoBrep.to_meshes().
  • Added compas_blender.

Changed

  • Changed compas.geometry.NurbsSurface.u_space to space_u.
  • Changed compas.geometry.NurbsSurface.v_space to space_v.
  • Changed compas.geometry.NurbsSurface.u_isocurve to isocurve_u.
  • Changed compas.geometry.NurbsSurface.v_isocurve to isocurve_v.
  • Changed compas.brep.Brep.from_step_file to from_step.
  • Moved compas.brep to compas.geometry.brep.
  • Updated compas-actions.docs workflow to v3.
  • Artists classes are renamed to SceneObject classes and now under compas.scene, compas_rhino.scene, compas_ghpython.scene, compas_blender.scene.
  • Context related functions like register, build, redraw and clear are moved to compas.scene.context from compas.scene.SceneObject.
  • Changed plugin selection to fall back to a default implementation if possible.
  • Fixed AttributeError _edges in compas_rhino.geometry.RhinoBrepLoop.edges.
  • Fixed compas_rhino.geometry.RhinoBrep serialization.
  • Naming convention for ColorDictAttributes in compas.scene.MeshObject, compas.scene.NetworkObject and compas.scene.VolmeshObject is changed e.g. from vertex_color to vertexcolor.
  • The building of correct type of SceneObject is moved backed to __new__ of SceneObject itself.
  • Changed compas_blender.install to use symlinks.
  • Moved URDF parsing from compas.files to the compas_robots extension (compas_robots.files.URDF).

Removed

  • Removed compas_rhino.geometry.RhinoBrepFace.data.setter.
  • Removed compas_rhino.geometry.RhinoBrepEdge.data.setter.
  • Removed compas_rhino.geometry.RhinoBrepLoop.data.setter.
  • Removed compas_rhino.geometry.RhinoBrepTrim.data.setter.
  • Removed compas_rhino.geometry.RhinoBrepVertex.data.setter.
  • Removed compas.PRECISION.
  • Removed compas.set_precision.

v1.17.9

10 Nov 09:49
Compare
Choose a tag to compare

Added

Changed

Removed

COMPAS 2.0.0-alpha.2

07 Nov 15:38
4928ccb
Compare
Choose a tag to compare
COMPAS 2.0.0-alpha.2 Pre-release
Pre-release

Added

  • Added Frame.axes
  • Added compas.datastructures.TreeNode and compas.datastructures.Tree classes.
  • Added EllipseArtist to compas_rhino and compas_ghpython.

Changed

  • Changed Network.is_planar to rely on NetworkX instead planarity for planarity checking.
  • Removed planarity from requirements.
  • Fixed argument order at compas.geometry.cone.circle.
  • Pinned jsonschema version to >=4.17, <4.18 to avoid Rust toolchain
  • Fixed box_to_compas in compas_rhino.conversions to correctly take in the center of the box as the center point of the frame.
  • Removed cython from requirements.
  • Made X and Y axis optional in the constructor of Frame.
  • Moved compas.geometry.brep to compas.brep.
  • Changed networkx version to >=3.0 to ensure support for is_planar.
  • Moved compas.geometry.curves.nurbs_.py and compas.geometry.surfaces.nurbs_.py to compas_nurbs.

Removed

v1.17.8

06 Oct 08:20
0107e8a
Compare
Choose a tag to compare

Added

Changed

  • Pinned jsonschema version to >=4.17, <4.18 to avoid Rust toolchain

Removed

v1.17.7

29 Sep 14:54
ed0f25f
Compare
Choose a tag to compare

Added

Changed

  • Fixed SyntaxError when importing COMPAS in GHPython.

Removed