Compas Versions Save

Core packages of the COMPAS framework.

v2.0.0-beta.2

4 months ago

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.

v2.0.0-beta.1

5 months ago

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

6 months ago

Added

Changed

Removed

v2.0.0-alpha.2

6 months ago

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

7 months ago

Added

Changed

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

Removed

v1.17.7

8 months ago

Added

Changed

  • Fixed SyntaxError when importing COMPAS in GHPython.

Removed

v2.0.0-alpha.1

8 months ago

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.

v1.17.6

8 months ago

Added

  • Added create_id to compas_ghpython.utilities. (moved from compas_fab)

Changed

  • Fixed bug that caused a new-line at the end of the compas.HERE constant in IronPython for Mac.
  • Fixed Grasshopper draw_polylines method to return PolylineCurve instead of Polyline because the latter shows as only points.
  • Fixed uninstall post-process.
  • Fixed area_polygon that was, in some cases, returning a negative area
  • Fixed support for System.Decimal data type on json serialization.
  • Fixed AttributeError in Plotter's PolylineArtist and SegementArtist.
  • Fixed wrong key type when de-serializing Graph with integer keys leading to node not found.
  • Fixed bug in VolMeshArtist.draw_cells for Rhino, Blender and Grasshopper.
  • 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.

Removed

v1.17.5

1 year ago

Added

  • Added conversion function frame_to_rhino_plane to compas_rhino.conversions.
  • Added RhinoSurface.from_frame to compas_rhino.geometry.
  • Added representation for trims with compas.geometry.BrepTrim.
  • Added Arc to compas.geometry.
  • Added Arc conversion functions to compas_rhino.conversions.
  • Added from_sphere alternative constructor to RhinoBrep.
  • Added support for singular trims to RhinoBrep.

Changed

  • Patched CVE-2007-4559 vulnerability.
  • Updated workflows to v2.
  • Fixed attribute error in compas_rhino.conversions.ellipse_to_compas.
  • Changed deepcopy of RhinoBrep to use the native Rhino.Geometry mechanism.
  • The normal of the cutting plane is no longer flipped in compas_rhino.geometry.RhinoBrep.
  • Planar holes caused by RhinoBrep.trim are now automatically capped.
  • Fixed Polygon constructor to not modify the input list of points.
  • Fixed serialization of sphere and cylinder Breps in RhinoBrep.
  • Fixed serialization of some trimmed shapes in RhinoBrep.
  • Freeze black version to 22.12.0.
  • Fixed is_point_in_circle_xy second argument to access the origin of the plane of the circle.

Removed

v1.17.4

1 year ago

Added

  • Added option for per-vertex color specification to compas_rhino.utilities.drawing.draw_mesh.

Changed

  • Fixed strange point values in RhinoNurbsCurve caused by conversion ControlPoint to COMPAS instead of ControlPoint.Location.
  • Fixed flipped order of NURBS point count values when creating RhinoNurbsSurface from parameters.

Removed

  • Removed Python 3.6 from build workflows as it reached end-of-life at the end of 2021.