Compas

Latest version: v2.6.1

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 21

2.0.0beta.3

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__`.
* Changed `compas.geometry.triangulation_earclip` face vertex index reversion when the polygon is flipped.

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`.

2.0.0beta.2

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 `SceneObject` registration to allow for `None` context.
* 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.scene.NoSceneObjectContextError`.
* 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`.

2.0.0beta.1

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.`
* Added `compas.geometry.Brep.trimmed()`.
* Added `compas.geometry.RhinoBrep.slice()`.

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`).
* Changed signature of `compas.geometry.Brep.slice()`

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`.

2.0.0alpha.2

Added

* Added `Frame.axes`
* Added `compas.datastructures.TreeNode` and `compas.datastructures.Tree` classes.
* Added `EllipseArtist` to `compas_rhino` and `compas_ghpython`.
* Added `compas.scene.Scene`.

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`.
* Fixed `mesh_to_compas` returning an empty `Mesh` when colors and/or face normals are missing.

Removed

2.0.0alpha.1

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 `compas.geometry.Polyline.parameter_at`.
* Added `compas.geometry.Polyline.divide_at_corners`.
* 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`.
* Fixed bug in `compas.geometry.Polyline.split_at_corners` where angles were sometimes wrongly calculated.
* Changed `compas.artists.MeshArtist` default colors.
* Fixed bug in `compas.geometry.curves.Polyline` shorten and extend methods.
* 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_index`and `compas.datastructures.Graph.index_key`.
* Removed `compas.datastructures.Graph.uv_index`and `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`, replaced with `compas_robots` package.
* Removed `compas.artists.robotmodelartist`.
* Removed `compas_blender.artists.robotmodelartist`.
* Removed `compas_ghpython.artists.robotmodelartist`.
* Removed `compas_rhino.artists.robotmodelartist`.

1.17.5

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](https://github.com/advisories/GHSA-gw9q-c7gh-j9vm) 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.
* Changed `compas.datastructures.Graph.data` to contain unprocessed `node` and `edge` dicts.
* Changed `compas.datastructures.Halfedge.data` to contain unprocessed `vertex`, `face`, `facedata`, and `edgedata` dicts.
* Changed `compas.datastructures.Halfface.data` to contain unprocessed `vertex`, `cell`, `edge_data`, `face_data`, and `cell_data` dicts.
* Changed `compas.geometry.Arc.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Bezier.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Box.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Capsule.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Circle.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Cone.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Cylinder.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Ellipse.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Frame.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Line.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.NurbsCurve.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.NurbsSurface.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Plane.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Pointcloud.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Polygon.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Polyhedron.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Polyline.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Sphere.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Torus.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.
* Changed `compas.geometry.Quaternion.data` to contain unprocessed COMPAS geometry objects, instead of their data dicts.

Removed

Page 4 of 21

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.