Skip to content

COMPAS 2.0.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Sep 20:24
· 1506 commits to main since this release
8c0cd7b

Added

  • Added create_id to compas_ghpython.utilities. (moved from compas_fab)
  • Added representation for features in compas.datastructures.Part.
  • Added split and split_by_length to compas.geometry.Polyline.
  • Added compas.rpc.XFunc.
  • Added attribute compas.color.Color.DATASCHEMA.
  • Added attribute compas.data.Data.DATASCHEMA.
  • Added attribute compas.datastructures.Graph.DATASCHEMA.
  • Added attribute compas.datastructures.Halfedge.DATASCHEMA.
  • Added attribute compas.datastructures.Halfface.DATASCHEMA.
  • Added attribute compas.geometry.Arc.DATASCHEMA.
  • Added attribute compas.geometry.Bezier.DATASCHEMA.
  • Added attribute compas.geometry.Box.DATASCHEMA.
  • Added attribute compas.geometry.Capsule.DATASCHEMA.
  • Added attribute compas.geometry.Circle.DATASCHEMA.
  • Added attribute compas.geometry.Cone.DATASCHEMA.
  • Added attribute compas.geometry.Cylinder.DATASCHEMA.
  • Added attribute compas.geometry.Ellipse.DATASCHEMA.
  • Added attribute compas.geometry.Frame.DATASCHEMA.
  • Added attribute compas.geometry.Line.DATASCHEMA.
  • Added attribute compas.geometry.NurbsCurve.DATASCHEMA.
  • Added attribute compas.geometry.NurbsSurface.DATASCHEMA.
  • Added attribute compas.geometry.Plane.DATASCHEMA.
  • Added attribute compas.geometry.Point.DATASCHEMA.
  • Added attribute compas.geometry.Pointcloud.DATASCHEMA.
  • Added attribute compas.geometry.Polygon.DATASCHEMA.
  • Added attribute compas.geometry.Polyhedron.DATASCHEMA.
  • Added attribute compas.geometry.Polyline.DATASCHEMA.
  • Added attribute compas.geometry.Sphere.DATASCHEMA.
  • Added attribute compas.geometry.Torus.DATASCHEMA.
  • Added attribute compas.geometry.Quaternion.DATASCHEMA.
  • Added attribute compas.geometry.Vector.DATASCHEMA.
  • Added implementation of property compas.color.Color.data.
  • Added compas.data.Data.validate_data.
  • Added compas.data.Data.__jsondump__.
  • Added compas.data.Data.__jsonload__.
  • Added compas.data.schema.dataclass_dataschema.
  • Added compas.data.schema.dataclass_typeschema.
  • Added compas.data.schema.dataclass_jsonschema.
  • Added compas.data.schema.compas_jsonschema.
  • Added compas.data.schema.compas_dataclasses.
  • Added compas.datastructures.Graph.to_jsondata.
  • Added compas.datastructures.Graph.from_jsondata.
  • Added compas.datastructures.Halfedge.halfedge_loop_vertices.
  • Added compas.datastructures.Halfedge.halfedge_strip_faces.
  • Added compas.datastructures.Mesh.vertex_point.
  • Added compas.datastructures.Mesh.vertices_points.
  • Added compas.datastructures.Mesh.set_vertex_point.
  • Added compas.datastructures.Mesh.edge_start.
  • Added compas.datastructures.Mesh.edge_end.
  • Added compas.datastructures.Mesh.edge_line.
  • Added compas.datastructures.Mesh.face_points.
  • Added compas.datastructures.Mesh.face_polygon.
  • Added compas.datastructures.Mesh.face_circle.
  • Added compas.datastructures.Mesh.face_frame.
  • Added compas.datastructures.Graph.node_index and compas.datastructures.Graph.index_node.
  • Added compas.datastructures.Graph.edge_index and compas.datastructures.Graph.index_edge.
  • Added compas.datastructures.Halfedge.vertex_index and compas.datastructures.Halfedge.index_vertex.
  • Added compas.geometry.Hyperbola.
  • Added compas.geometry.Parabola.
  • Added compas.geometry.PlanarSurface.
  • Added compas.geometry.CylindricalSurface.
  • Added compas.geometry.SphericalSurface.
  • Added compas.geometry.ConicalSurface.
  • Added compas.geometry.ToroidalSurface.
  • Added compas.geometry.trimesh_descent_numpy.
  • Added compas.geometry.trimesh_gradient_numpy.
  • Added compas.geometry.boolean_union_polygon_polygon pluggable.
  • Added compas.geometry.boolean_intersection_polygon_polygon pluggable.
  • Added compas.geometry.boolean_difference_polygon_polygon pluggable.
  • Added compas.geometry.boolean_symmetric_difference_polygon_polygon pluggable.
  • Added compas.geometry.boolean_union_polygon_polygon Shapely-based plugin.
  • Added compas.geometry.boolean_intersection_polygon_polygon Shapely-based plugin.
  • Added compas.geometry.boolean_difference_polygon_polygon Shapely-based plugin.
  • Added compas.geometry.boolean_symmetric_difference_polygon_polygon Shapely-based plugin.
  • Added compas.geometry.Pointcloud.from_ply.
  • Added compas.geometry.Curve.to_points.
  • Added compas.geometry.Curve.to_polyline.
  • Added compas.geometry.Curve.to_polygon.
  • Added compas.geometry.Surface.to_vertices_and_faces.
  • Added compas.geometry.Surface.to_triangles.
  • Added compas.geometry.Surface.to_quads.
  • Added compas.geometry.Surface.to_mesh.
  • Added compas.geometry.Curve.point_at.
  • Added compas.geometry.Curve.tangent_at.
  • Added compas.geometry.Curve.normal_at.
  • Added compas.geometry.Surface.point_at.
  • Added compas.geometry.Surface.normal_at.
  • Added compas.geometry.Surface.frame_at.
  • Added mesh_to_rhino to compas_rhino.conversions.
  • Added vertices_and_faces_to_rhino to compas_rhino.conversions.
  • Added polyhedron_to_rhino to compas_rhino.conversions.
  • Added from_mesh plugin to compas_rhino.geometry.RhinoBrep.
  • Added compas.geometry.Plane.worldYZ and compas.geometry.Plane.worldZX.
  • Added compas.datastructures.CellNetwork.
  • Added compas_rhino.conversions.brep_to_compas_box.
  • Added compas_rhino.conversions.brep_to_compas_cone.
  • Added compas_rhino.conversions.brep_to_compas_cylinder.
  • Added compas_rhino.conversions.brep_to_compas_sphere.
  • Added compas_rhino.conversions.brep_to_rhino.
  • Added compas_rhino.conversions.capsule_to_rhino_brep.
  • Added compas_rhino.conversions.cone_to_rhino_brep.
  • Added compas_rhino.conversions.curve_to_rhino.
  • Added compas_rhino.conversions.cylinder_to_rhino_brep.
  • Added compas_rhino.conversions.extrusion_to_compas_box.
  • Added compas_rhino.conversions.extrusion_to_rhino_cylinder.
  • Added compas_rhino.conversions.extrusion_to_rhino_torus.
  • Added compas_rhino.conversions.polyline_to_rhino_curve.
  • Added compas_rhino.conversions.surface_to_compas.
  • Added compas_rhino.conversions.surface_to_compas_mesh.
  • Added compas_rhino.conversions.surface_to_compas_quadmesh.
  • Added compas_rhino.conversions.surface_to_rhino.
  • Added compas_rhino.conversions.torus_to_rhino_brep.
  • Added compas_rhino.artists._helpers.attributes.
  • Added compas_rhino.artists._helpers.ngon.
  • Added compas.geometry.find_span.
  • Added compas.geometry.construct_knotvector.
  • Added compas.geometry.knotvector_to_knots_and_mults.
  • Added compas.geometry.knots_and_mults_to_knotvector.
  • Added compas.geometry.compute_basisfuncs.
  • Added compas.geometry.compute_basisfuncsderivs.
  • Added compas.geometry.DefaultNurbsCurve as try-last, Python-only plugin for compas.geometry.NurbsCurve.
  • Added compas.geometry.DefaultNurbsSurface as try-last, Python-only plugin for compas.geometry.NurbsSurface.
  • Added color count to constructor functions of compas.colors.ColorMap.

Changed

  • Temporarily skip testing for python 3.7 due to a bug related to MacOS 13.
  • Fixed bug that caused a new-line at the end of the compas.HERE constant in IronPython for Mac.
  • Fixed unbound method usage of .cross() on Plane, Vector and Frame.
  • Fixed Grasshopper draw_polylines method to return PolylineCurve instead of Polyline because the latter shows as only points.
  • Fixed bug in the is_polygon_in_polygon_xy that was not correctly generating all the edges of the second polygon before checking for intersections.
  • Fixed area_polygon that was, in some cases, returning a negative area.
  • Fixed uninstall post-process.
  • Fixed support for System.Decimal data type on json serialization.
  • Fixed offset_polygon raising a TypeError when inputing a Polygon instead of a list of Points.
  • Simplified compas.datastructures.Part for more generic usage.
  • Changed GLTFMesh.from_mesh to read texture coordinates, vertex normals and colors if available and add to GLTFMesh
  • Fixed bug in VolMeshArtist.draw_cells for Rhino, Blender and Grasshopper.
  • Changed edge parameter of compas.datastructures.Halfedge.edge_faces to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Halfedge.halfedge_face to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Halfedge.is_edge_on_boundary to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Halfedge.halfedge_after to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Halfedge.halfedge_before to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.trimesh_edge_cotangent to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.trimesh_edge_cotangents to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Mesh.edge_coordinates to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Mesh.edge_length to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Mesh.edge_vector to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Mesh.edge_point to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Mesh.edge_midpoint to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Mesh.edge_direction to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.is_collapse_legal to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.mesh_collapse_edge to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.trimesh_collapse_edge to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.mesh_insert_vertex_on_edge to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.mesh_split_edge to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.trimesh_split_edge to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.trimesh_swap_edge to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed compas.datastructures.Mesh.vertex_laplacian to return compas.geometry.Vector.
  • Changed compas.datastructures.Mesh.neighborhood_centroid to return compas.geometry.Point.
  • Changed compas.datastructures.Mesh.vertex_normal to return compas.geometry.Vector.
  • Changed compas.datastructures.Mesh.edge_vector to return compas.geometry.Vector.
  • Changed compas.datastructures.Mesh.edge_direction to return compas.geometry.Vector.
  • Changed compas.datastructures.Mesh.edge_point to return compas.geometry.Point.
  • Changed compas.datastructures.Mesh.edge_midpoint to return compas.geometry.Point.
  • Changed compas.datastructures.Mesh.face_normal to return compas.geometry.Vector.
  • Changed compas.datastructures.Mesh.face_centroid to return compas.geometry.Point.
  • Changed compas.datastructures.Mesh.face_center to return compas.geometry.Point.
  • Changed compas.datastructures.Mesh.face_plane to return compas.geometry.Plane.
  • Changed JSON validation to Draft202012.
  • Changed compas.data.Data.to_json to include compact=False parameter.
  • Changed compas.data.Data.to_jsonstring to include compact=False parameter.
  • Changed compas.data.json_dump to include compact=False parameter.
  • Changed compas.data.json_dumps to include compact=False parameter.
  • Changed compas.data.DataEncoder and compas.data.DataDecoder to support to_jsondata and from_jsondata.
  • Moved all API level docstrings from the __init__.py to the correspoding .rst file in the docs.
  • Fixed AttributeError in Plotter's PolylineArtist and SegementArtist.
  • Fixed wrong key type when de-serializing Graph with integer keys leading to node not found.
  • Changed base class for compas.geometry.Transformation to compas.data.Data.
  • Moved all core transformation functions to compas.geometry._core.
  • Changed base class of compas.geometry.Arc to compas.geometry.Curve.
  • Changed base class of compas.geometry.Bezier to compas.geometry.Curve.
  • Changed base class of compas.geometry.Circle to compas.geometry.Curve.
  • Changed base class of compas.geometry.Ellipse to compas.geometry.Curve.
  • Changed base class of compas.geometry.Line to compas.geometry.Curve.
  • Changed base class of compas.geometry.Polyline to compas.geometry.Curve.
  • Changed compas.geometry.oriented_bounding_box_numpy to minimize volume.
  • Fixed data interface compas.datastructures.Assembly and compas.datastructures.Part.
  • Changed data property of compas.datastructures.Graph to contain only JSON compatible data.
  • Changed data property of compas.datastructures.Halfedge to contain only JSON compatible data.
  • Changed data property of compas.datastructures.Halfface to contain only JSON compatible data.
  • Changed __repr__ of compas.geometry.Point and compas.geometry.Vector to not use limited precision (compas.PRECISION) to ensure proper object reconstruction through eval(repr(point)).
  • Changed compas.datastructures.Graph.delete_edge to delete invalid (u, u) edges and not delete edges in opposite directions (v, u)
  • Fixed bug in compas.datastructures.Mesh.insert_vertex.
  • Fixed bug in compas.geometry.angle_vectors_signed.
  • Changed compas.artists.MeshArtist default colors.
  • Changed internal _plane storage of the compas.datastructures.Halfface from _plane[u][v][w] to _plane[u][v][fkey]
  • Fixed SyntaxError when importing COMPAS in GHPython.

Removed

  • Removed all __all__ beyond second level package.
  • Removed deprecated compas.utilities.coercing.
  • Removed deprecated compas.utilities.encoders.
  • Removed deprecated compas.utilities.xfunc.
  • Removed compas.datastructures.Halfedge.get_any_vertex.
  • Removed compas.datastructures.Halfedge.get_any_vertices.
  • Removed compas.datastructures.Halfedge.get_any_face.
  • Removed "schemas" folder and all contained .json files from compas.data.
  • Removed compas.data.Data.jsondefinititions.
  • Removed compas.data.Data.jsonvalidator.
  • Removed compas.data.Data.validate_json.
  • Removed compas.data.Data.validate_jsondata.
  • Removed compas.data.Data.validate_jsonstring.
  • Removed compas.data.Data.__getstate__.
  • Removed compas.data.Data.__setstate__.
  • Removed setter of property compas.data.Data.data and similar setters in all data classes.
  • Removed properties compas.data.Data.DATASCHEMA and compas.data.Data.JSONSCHEMANAME.
  • Removed properties compas.datastructures.Graph.DATASCHEMA and compas.datastructures.Graph.JSONSCHEMANAME.
  • Removed properties compas.datastructures.Halfedge.DATASCHEMA and compas.datastructures.Halfedge.JSONSCHEMANAME.
  • Removed properties compas.datastructures.Halfface.DATASCHEMA and compas.datastructures.Halfface.JSONSCHEMANAME.
  • Removed properties compas.geometry.Arc.DATASCHEMA and compas.geometry.Arc.JSONSCHEMANAME.
  • Removed properties compas.geometry.Bezier.DATASCHEMA and compas.geometry.Bezier.JSONSCHEMANAME.
  • Removed properties compas.geometry.Box.DATASCHEMA and compas.geometry.Box.JSONSCHEMANAME.
  • Removed properties compas.geometry.Capsule.DATASCHEMA and compas.geometry.Capsule.JSONSCHEMANAME.
  • Removed properties compas.geometry.Circle.DATASCHEMA and compas.geometry.Circle.JSONSCHEMANAME.
  • Removed properties compas.geometry.Cone.DATASCHEMA and compas.geometry.Cone.JSONSCHEMANAME.
  • Removed properties compas.geometry.Cylinder.DATASCHEMA and compas.geometry.Cylinder.JSONSCHEMANAME.
  • Removed properties compas.geometry.Ellipse.DATASCHEMA and compas.geometry.Ellipse.JSONSCHEMANAME.
  • Removed properties compas.geometry.Frame.DATASCHEMA and compas.geometry.Frame.JSONSCHEMANAME.
  • Removed properties compas.geometry.Line.DATASCHEMA and compas.geometry.Line.JSONSCHEMANAME.
  • Removed properties compas.geometry.NurbsCurve.DATASCHEMA and compas.geometry.NurbsCurve.JSONSCHEMANAME.
  • Removed properties compas.geometry.NurbsSurface.DATASCHEMA and compas.geometry.NurbsSurface.JSONSCHEMANAME.
  • Removed properties compas.geometry.Plane.DATASCHEMA and compas.geometry.Plane.JSONSCHEMANAME.
  • Removed properties compas.geometry.Point.DATASCHEMA and compas.geometry.Point.JSONSCHEMANAME.
  • Removed properties compas.geometry.Pointcloud.DATASCHEMA and compas.geometry.Pointcloud.JSONSCHEMANAME.
  • Removed properties compas.geometry.Polygon.DATASCHEMA and compas.geometry.Polygon.JSONSCHEMANAME.
  • Removed properties compas.geometry.Polyhedron.DATASCHEMA and compas.geometry.Polyhedron.JSONSCHEMANAME.
  • Removed properties compas.geometry.Polyline.DATASCHEMA and compas.geometry.Polyline.JSONSCHEMANAME.
  • Removed properties compas.geometry.Sphere.DATASCHEMA and compas.geometry.Sphere.JSONSCHEMANAME.
  • Removed properties compas.geometry.Torus.DATASCHEMA and compas.geometry.Torus.JSONSCHEMANAME.
  • Removed properties compas.geometry.Quaternion.DATASCHEMA and compas.geometry.Quaternion.JSONSCHEMANAME.
  • Removed properties compas.geometry.Vector.DATASCHEMA and compas.geometry.Vector.JSONSCHEMANAME.
  • Removed compas.datastructures.Graph.key_indexand compas.datastructures.Graph.index_key.
  • Removed compas.datastructures.Graph.uv_indexand compas.datastructures.Graph.index_uv.
  • Removed compas.datastructures.Halfedge.key_index and compas.datastructures.Halfedge.index_key.
  • Removed compas.numerical.dr and compas.numerical.dr_numpy (moved to separate compas_dr).
  • Removed compas.numerical.fd_numpy to (moved to separate compas_fd).
  • Removed compas.numerical.topop_numpy (moved to separate compas_topopt).
  • Removed compas.numerical.mma and compas.numerical.lma.
  • Removed compas.numerical.descent, compas.numerical.devo, and compas.numerical.ga.
  • Removed compas.numerical.utilities.
  • Removed class attribute CONTEXT from compas.artists.Artist.
  • Removed class attribute AVAILABLE_CONTEXTS form compas.artists.Artist.
  • Removed compas.geometry.Primitive.
  • Removed classmethod compas.color.Color.from_data.
  • Removed validate_data from compas.data.validators.
  • Removed json_validate from compas.data.json.
  • Removed compas_rhino.conversions.Box.
  • Removed compas_rhino.conversions.Circle.
  • Removed compas_rhino.conversions.Cone.
  • Removed compas_rhino.conversions.Curve.
  • Removed compas_rhino.conversions.Cylinder.
  • Removed compas_rhino.conversions.Ellipse.
  • Removed compas_rhino.conversions.Line.
  • Removed compas_rhino.conversions.Mesh.
  • Removed compas_rhino.conversions.Plane.
  • Removed compas_rhino.conversions.Point.
  • Removed compas_rhino.conversions.Polyline.
  • Removed compas_rhino.conversions.Vector.
  • Removed compas_rhino.artists.NetworkArtist.draw_nodelabels.
  • Removed compas_rhino.artists.NetworkArtist.draw_edgelabels.
  • Removed compas_rhino.artists.MeshArtist.draw_vertexlabels.
  • Removed compas_rhino.artists.MeshArtist.draw_edgelabels.
  • Removed compas_rhino.artists.MeshArtist.draw_facelabels.
  • Removed compas_rhino.artists.VolMeshArtist.draw_vertexlabels.
  • Removed compas_rhino.artists.VolMeshArtist.draw_edgelabels.
  • Removed compas_rhino.artists.VolMeshArtist.draw_facelabels.
  • Removed compas_rhino.artists.VolMeshArtist.draw_celllabels.
  • Removed compas.robots.
  • Removed compas.artists.robotmodelartist.
  • Removed compas_blender.artists.robotmodelartist.
  • Removed compas_ghpython.artists.robotmodelartist.
  • Removed compas_rhino.artists.robotmodelartist.