Changelog
May 15, 2026 ยท View on GitHub
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
- Added
TOL.update()method for explicit global state modification. - Added
TOL.temporary()context manager for scoped changes. - Added missing implementation of
Brep.to_polygons()incompas_rhino.geometry.RhinoBrep.
Changed
- Changed
Toleranceclass to no longer use singleton pattern.Tolerance()now creates independent instances instead of returning the globalTOL. - Renamed
Tolerance.unitstoTolerance.unitto better reflect the documented properties. Leftunitswith deprecation warning. - Fixed
NotImplementedErorrwhen callingBrepLoop.vertices. - Fixed
python -m compasto detect extensions based onimportlibrather thanpkg_resources.
Removed
[2.15.0] 2025-11-12
Added
- Added
compas_rhino.install_with_pipwith corresponding command line utilityinstall_in_rhino. - Added support for
.stpfile extension in addition to.stepforRhinoBrep.from_step()andRhinoBrep.to_step()methods. - Added
volume()method tocompas.datastructures.Meshfor computing the volume of closed meshes using signed volume of triangles. - Added functions
warning,message,errorandremarktocompas_ghpython. - Added method
RhinoBrep.closest_point(). - Added attributes
RhinoBrepEdge.domainandRhinoBrepEdge.indexand methodsRhinoBrepEdge.closest_point()andRhinoBrepEdge.point_at. - Added method
RhinoBrepFace.point_at(),RhinoBrepFace.closest_point(),RhinoBrepFace.is_point_on_face()andRhinoBrepFace.is_point_on_boundary(). - Added method
RhinoBrepLoop.to_curve(). - Added attribute
RhinoBrepTrim.edge. - Added attribute
RhinoBrepVertex.index. - Added method
RhinoCurve.to_polyline().
Changed
- Updated minimum library version to
2.14.1in Rhino8 GH components. - Changed name of YAK package from
bluejaytocompas. - Fixed broken
scaled()method inSphere,Cylinder, andCapsuleclasses by overriding to accept uniform scaling factor. - Fixed bug in
compas.geometry.PlanarSurface. - Fixed bug in
Curve.offset()incompas_rhino.
Removed
[2.14.1] 2025-09-07
Added
Changed
- Fixed bug in
compas_rhino.scene.meshobject.RhinoMeshObjectrelated to missing object name.
Removed
[2.14.0] 2025-09-06
Added
- Implemented
to_pointsmethod incompas.datastructures.Mesh, which before raised aNotImplementedError. - Implemented
compute_aabbmethod incompas.datastructures.Datastructure, which before raised aNotImplementedError. Made use of thecompas.geometry.bbox.bounding_boxfunction. - Implemented
compute_obbmethod incompas.datastructures.Datastructure, which before raised aNotImplementedError. Made use of thecompas.geometry.bbox_numpy.oriented_bounding_box_numpyfunction. - Added
vertices_to_pointsmethod incompas.datastructures.CellNetwork. - Added
to_pointsmethod incompas.datastructures.VolMesh. - Added test function
test_vertices_to_pointsintest_cell_network.py. - Added test function
test_to_pointsintest_graph.py. - Added test function
test_to_pointsintest_volmesh.py. - Added test functions
test_to_points,test_compute_aabb, andtest_compute_obbintest_mesh.py. - Added setters for
SceneObject.worldtransformationandSceneObject.frame, which automatically handles the parent transformations. - Added missing property
centroidincompas_rhino.geometry.RhinoBrep. - Added missing property
curvesincompas_rhino.geometry.RhinoBrep. - Added missing property
is_closedincompas_rhino.geometry.RhinoBrep. - Added missing property
is_orientableincompas_rhino.geometry.RhinoBrep. - Added missing property
is_surfaceincompas_rhino.geometry.RhinoBrep. - Added missing property
is_validincompas_rhino.geometry.RhinoBrep. - Added missing property
orientationincompas_rhino.geometry.RhinoBrep. - Added missing property
surfacesincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.from_sweepincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.from_coneincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.from_planeincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.from_brepfacesincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.from_brepsincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.from_torusincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.from_polygonsincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.from_pipeincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.from_igesincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.to_stepincompas_rhino.geometry.RhinoBrep. - Added implementation for
Brep.to_viewmesh()incompas_rhino.geometry.RhinoBrep.
Changed
- Fixed bug (inconsistency) in return value of
compas.geometry.triangulation_delaunay.delaunay_triangulation. Only the faces of the triangulation should be returned.
Removed
- Removed property
is_compoundfromcompas.geometry.Brepas OCC specific. - Removed property
is_compoundsolidfromcompas.geometry.Brepas OCC specific. - Removed property
solidsfromcompas.geometry.Brepas OCC specific. - Removed property
shellsfromcompas.geometry.Brepas OCC specific.
[2.13.0] 2025-06-04
Added
- Added
compas.scene.Scene.add_group()for adding group. - Added
compas.scene.Group.add_from_list()for adding a list of items to a group. - Added implementation for
compas.geometry.SphericalSurface.isocurve_u. - Added implementation for
compas.geometry.SphericalSurface.isocurve_v. - Added implementation for
compas.geometry.CylindricalSurface.isocurve_u. - Added implementation for
compas.geometry.CylindricalSurface.isocurve_v.
Changed
- Fixed error in
circle_to_compasfrom Rhino. - Fixed Rhino to Rhino brep serialization.
- Upated
compas.scene.Group.add()to pass on group kwargs as default for child items. - Fixed bug in context detection, which wrongly defaults to
Viewerinstead ofNone. - Fixed bug in calculation of
compas.geometry.Polyhedron.edgesif geometry is computed using numpy. - Fixed bug in
Grpah.from_pointcloudwhich uses degree parameter wrongly.
Removed
[2.12.0] 2025-05-28
Added
- Added
inheritancefield to__jsondump__ofcompas.datastructures.Datastructureto allow for deserialization to closest available superclass of custom datastructures.
Changed
Removed
[2.11.0] 2025-04-22
Added
- Added
Grouptocompas.scene. - Added
compas.geometry.Brep.cap_planar_holes. - Added
compas_rhino.geometry.RhinoBrep.cap_planar_holes. - Added
compas.geometry.angle_vectors_projected. - Added
compas.geometry.Brep.from_curves. - Added
compas_rhino.geometry.RhinoBrep.from_curves.
Changed
- Changed
SceneObject.frameto read-only result ofFrame.from_transformation(SceneObject.worldtransformation), representing the local coordinate system of the scene object in world coordinates. - Changed
SceneObject.worldtransformationto the multiplication of all transformations from the scene object to the root of the scene tree, there will no longer be an additional transformation in relation to the object's frame. - Fixed call to
astar_shortest_pathinGraph.shortest_path. - Fixed a bug when printing an empty
Tree. - Fixed a bug in
Groupfor IronPython where the decoding declaration was missing. - Fixed a bug where a
Groupwithout name could not be added to the scene.
Removed
[2.10.0] 2025-03-03
Added
- Added
fliptocompas.geometry.Brep. - Added implementation of
fliptocompas_rhino.geometry.RhinoBrep.
Changed
- Fixed unexpected behavior for method
Plane.is_parallelfor opposite normals.
Removed
[2.9.1] 2025-02-06
Added
- Added method
frame_attocompas.geometry.BrepFace. - Added method
frame_attocompas_rhino.geometry.RhinoBrepFace. - Added property
is_reversedtocompas.geometry.BrepFace. - Added property
is_reversedtocompas_rhino.geometry.RhinoBrepFace.
Changed
- Fixed publish to YAK via CI workflow.
- Added selector for
testandprodto CI workflow. - Fixed
AttributeErrorincompas.data.DataEncoder.defaultdue tonp.float_no longer being available innumpy>=2.
Removed
[2.9.0] 2025-02-04
Added
- Added
DevToolswith support for automatic reloading of local python modules. - Added implementation for
compas_rhino.geometry.RhinoBrep.from_step. - Added CPython implementations of GH components for Rhino8.
- Added import to new
yakerizetask fromcompas_invocations2. - Added import to new
publish_yaktask fromcompas_invocations2.
Changed
- Moved
unload_modulesto be a static method ofDevTools. Theunload_modulesfunction is an alias to this. - Fixed unexpected behavior in
compas.geometry.bbox_numpy.minimum_area_rectangle_xy. - Changed
requirements.txtto allownumpy>=2. - Fixed bug in
compas.geometry.Polygon.pointssetter by removing duplicate points if they exist. - Fixed bug in
compas.geometry.Polygon.planeby aligning the normal of the bestfit plane with the approximate normal of the polygon faces. - Changed the order of face vertices in
compas.geometry.Surface.to_vertices_and_facesto a counter clockwise cycling direction and outward facing normals for curved surfaces. - Deprecated the
-v8.0flag incompas_rhino.install. Install to Rhino8 by following: https://compas.dev/compas/latest/userguide/cad.rhino8.html. - Fixed
InfoGrasshopper component for cpython to handle non-bootstrapped environments.
Removed
[2.8.1] 2025-01-15
Added
Changed
- Fixed
NotImplementedErrorwhen callingcompas_rhino.conversions.surface_to_compason NURBS Surface. - Fixed
NotImplementedErrorwhen callingcompas_rhino.conversions.surface_to_compason Surface. - Changed point comparison (
compas.geometry.Point.__eq__) to useTOL.is_allcloseinstead of raw coordinate comparison. - Changed vector comparison (
compas.geometry.Vector.__eq__) to useTOL.is_allcloseinstead of raw coordinate comparison. - Fixed bug in frame comparison (
compas.geometry.Frame.__eq__). - Fixed bug in
compas.geometry.oriented_bounding_box_numpy. - Fixed cannot copy
Lineusingdeepcopy.
Removed
[2.8.0] 2024-12-13
Added
- Added implementation of
RhinoBrep.fillet()andRhinoBrep.filleted()tocompas_rhino. - Added
Frame.invertandFrame.inverted. - Added
Frame.flipandFrame.flippedas alias for invert and inverted. - Added
Vector.flipandVector.flippedas alias for invert and inverted.
Changed
- Fixed
native_edgeproperty ofRhinoBrepEdge. - Expose the parameters
radiusandnmaxfromcompas.topology._face_adjacencytocompas.topology.face_adjacencyand further propagate them tounify_cyclesandMesh.unify_cycles. - Modify
face_adjacencyto avoid usingcompas.topology._face_adjacencyby default when there are more than 100 faces, unless one of the parametersradius,nmaxis passed. - Changed
unify_cyclesto use the first face in the list as root if no root is provided.
Removed
[2.7.0] 2024-11-28
Added
- Added attribute
start_vertextocompas.geometry.BrepTrim. - Added attribute
end_vertextocompas.geometry.BrepTrim. - Added attribute
verticestocompas.geometry.BrepTrim. - Added attribute
start_vertextocompas_rhino.geometry.RhinoBrepTrim. - Added attribute
start_vertextocompas_rhino.geometry.RhinoBrepTrim. - Added attribute
verticestocompas_rhino.geometry.RhinoBrepTrim.
Changed
- Fixed
PluginNotInstalledErrorwhen usingBrep.from_boolean_*in Rhino. - Added support for
Polylineas input forcompas_rhino.Brep.from_extrusion.
Removed
[2.6.1] 2024-11-09
Added
Changed
- Fixed bug in
compas_rhino.scene.RhinoMeshObject.clear().
Removed
[2.6.0] 2024-11-08
Added
- Added key conversion map to
compas.colors.ColorDictto avoid serialisation problems with tuple keys when used in combination with edges. - Added
Scene.find_all_by_itemtype.
Changed
- Fixed bug in
VolMesh.delete_cell. - Fixed
NoneTypeerror when callingcompas.geometry.Sphere.edges. - Fixed bug in
VolMesh.vertex_halffaces. - Fixed bug in
VolMesh.vertex_cells. - Fixed bug in
VolMesh.is_halfface_on_boundary.
Removed
- Removed
VolMesh.halfface_adjacent_halffacebecause of general nonsensicalness, and because it is (and probably always has been) completely broken.
[2.5.0] 2024-10-25
Added
- Added instructions for creating new data types to the dev guide.
- Added
compact=False,minimal=Falsetocompas.data.Data.to_json()tocompas.data.Data.to_jsonstring(). - Added
copy_guid=Falsetocompas.data.Data.copy(). If true, the copy has the same guid as the original. - Added implementation of
Brep.from_loft()tocompas_rhino.
Changed
- Fixed
RuntimeErrorwhen usingcompas_rhino.unload_modulesin CPython`. - Fixed bug in
Box.scaledcausing aTypeErrordue to incorrect parameter forwarding. - Changed argument names of
Box.scale()tox,y,z, instead offactorand madeyandzoptional to keep positional arguments backwards compatible. - Fixed import errors in
compas_rhino.conduitsfor Rhino 8. - Fixed doctest failures.
- Fixed bug in serialization when
compas.datastructures.attributes.AttributeViewis used. - Fixed bug in the serialisation of empty scenes.
- Fixed bug in serialisation process due to
nameattribute appearing in json representation after copy even if not present before copy.
Removed
[2.4.3] 2024-10-04
Added
Changed
- Fixed support for
compas_gpythonin Rhino 8 Grasshopper CPython components. - Changed installation instructions for Rhino 8 in the user guide.
- Fixed
Graph.from_edgesalways returningNone.
Removed
- Removed deprecated module
compas_ghpython.utilities. For drawing functions, usecompas_ghpython.drawingdirectly.
[2.4.2] 2024-09-17
Added
- Added
compas.scene.Scene.find_by_nameto find the first scene object with the given name. - Added
compas.scene.Scene.find_by_itemtypeto find the first scene object with a data item of the given type.
Changed
- Fixed args for
SceneObjecton GrasshopperDrawcomponent. - Replaced use of
Rhino.Geometry.VertexColors.SetColorswith a for loop andSetColorincompas_ghpytonsince the former requires aSystem.Array. - Fixed
Mesh.face_circle.
Removed
[2.4.1] 2024-08-25
Added
Changed
- Changed supported Blender versions to latest LTS versions (3.3, 3.6, 4.2).
- Fixed bug in
compas_rhino.conversions.cone_to_compas. - Fixed bug in
compas_rhino.conversions.cylinder_to_compas. - Fixed bug in
compas_rhino.scene.RhinoMeshObject.draw_vertexnormals(scale not used). - Fixed bug in
compas_rhino.scene.RhinoMeshObject.draw_facenormals(scale not used). - Changed scene object registration to stop printing messages.
Removed
[2.4.0] 2024-08-22
Added
- Added
compas.scene.Scene.redraw. - Added
compas.scene.Scene.context_objectsrepresenting all objects drawn in the visualisation context by the scene. - Added
compas.scene.Scene.clear_contextwith optionalguidsto clear some or all objects from the visualisation context. - Added
clear_sceneandclear_contextparameters tocompas.scene.Scene.clearto differentiate between removing objects from the scene internally or removing corresponding objects from the viz context, or both (default). - Added
compas_rhino.conversions.extrusion_to_compas_boxas direct conversion of extrusion breps.
Changed
- Changed the
__str__ofcompas.geometry.Frame,compas.geometry.Plane,compas.geometry.Polygon,compas.geometry.Polyhedron,compas.geometry.Quaternionto use a limited number of decimals (determined byTolerance.PRECISION). Note:__repr__will instead maintain full precision. - Changed the
__str__ofcompas.geometry.Pointcloudto print total number of points instead of the long list of points. Note:__repr__will still print all the points with full precision. - Fixed bug in
Pointcloud.from_box(). - Changed
compas.scene.MeshObjectto not use vertex coordinate caching because it is too fragile. - Changed
compas_rhino.scene.RhinoMeshObjectto keep track of element-guid pairs in dicts. - Changed
compas.scene.Scene._guidsto a default value of[]. - Fixed bug due to missing import in
compas_rhino.scene.graphobject. - Changed
compas_rhino.scene.RhinoMeshObject.draw_vertexnormalsto use the same selection of vertices asdraw_vertices. - Changed
compas_rhino.scene.RhinoMeshObject.draw_vertexnormalsto use the corresponding vertex color if no color is specified. - Changed
compas_rhino.scene.RhinoMeshObject.draw_facenormalsto use the same selection of vertices asdraw_faces. - Changed
compas_rhino.scene.RhinoMeshObject.draw_facenormalsto use the corresponding face color if no color is specified.
Removed
[2.3.0] 2024-07-06
Added
- Added code coverage report uploads to codecov.io.
- Added
compas.geometry.surfaces.surface.Surface.from_native. - Added
compas.geometry.surfaces.nurbs.NurbsSurface.from_plane. - Added
compas.geometry.surfaces.nurbs.NurbsSurface.from_cylinder. - Added
compas.geometry.surfaces.nurbs.NurbsSurface.from_extrusion. - Added
compas.geometry.surfaces.nurbs.NurbsSurface.from_frame. - Added
compas.geometry.surfaces.nurbs.NurbsSurface.from_interpolation. - Added
compas.geometry.surfaces.nurbs.NurbsSurface.from_revolution. - Added
compas.geometry.surfaces.nurbs.NurbsSurface.from_sphere. - Added
compas.geometry.surfaces.nurbs.NurbsSurface.from_torus. - Added
compas_rhino.geometry.surfaces.surface_from_native. - Added
compas_rhino.geometry.surfaces.nurbssurface_from_native. - Added
compas_rhino.geometry.surfaces.nurbssurface_from_cylinder. - Added
compas_rhino.geometry.surfaces.nurbssurface_from_fill. - Added
compas_rhino.geometry.surfaces.nurbssurface_from_torus. - Added
compas_rhino.geometry.surfaces.nurbs.NurbsSurface.from_corners. - Added
compas_rhino.geometry.surfaces.nurbs.NurbsSurface.from_cylinder. - Added
compas_rhino.geometry.surfaces.nurbs.NurbsSurface.from_frame. - Added
compas_rhino.geometry.surfaces.nurbs.NurbsSurface.from_sphere. - Added
compas_rhino.geometry.surfaces.nurbs.NurbsSurface.from_torus. - Added
compas.geometry.curves.curve.Curve.from_native. - Added
compas_rhino.geometry.curves.curve.Curve.from_native. - Added
compas_rhino.geometry.curves.nurbs.NurbsCurve.from_native. - Added
compas_rhino.conversions.breps.brep_to_compas_mesh. - Added
compas_rhino.conversions.docobjects.brepobject_to_compas. - Added
compas_rhino.conversions.docobjects.curveobject_to_compas. - Added
compas_rhino.conversions.docobjects.meshobject_to_compas. - Added
compas_rhino.conversions.docobjects.pointobject_to_compas. - Added
compas.datastructures.HashTreeandcompas.datastructures.HashNode.
Changed
- Fixed bug in
compas.geometry.curves.curve.Curve.reversedby adding missing parenthesis. - Fixed all doctests so we can run
invoke test --doctest. - Changed
compas.geometry.surfaces.surface.Surface.__new__to prevent instantiation ofSurfacedirectly. - Changed
compas.geometry.surfaces.nurbs.NurbsSurface.__new__to prevent instantiation ofNurbsSurfacedirectly. - Fixed bug in
compas.geometry.surfaces.nurbs.NurbsSurface.__data__. - Changed
compas.geometry.surfaces.nurbs.new_nurbssurface_from_...tonurbssurface_from_.... - Changed
compas.geometry.curves.curve.Curve.__new__to prevent instantiation ofCurvedirectly. - Changed
compas.geometry.curves.nurbs.new_nurbscurve_from_...tonurbscurve_from_.... - Changed
compas.geometry.curves.nurbs.NurbsCurve.__new__to prevent instantiation ofNurbsCurvedirectly. - Changed
compas_rhino.geometry.curves.new_nurbscurve_from_...tonurbscurve_from_.... - Fixed
compas_ghpythonGrasshopper components not included in published pakcage. - Changed
compas.colors.Color.coerceto take color as is, if it is already an instance ofcompas.colors.Color. - Changed
compas_rhino.conversions.surfaces.surface_to_compasto work only with surface geometry. - Changed
compas_rhino.conversions.curves.curve_to_compas_lineto work only with geometry. - Changed
compas_rhino.conversions.curves.curve_to_compas_circleto work only with geometry. - Changed
compas_rhino.conversions.curves.curve_to_compas_ellipseto work only with geometry. - Changed
compas_rhino.conversions.curves.curve_to_compas_polylineto work only with geometry. - Changed
compas_rhino.objects.get_point_coordinatesto deprecated (removed in v2.3). - Changed
compas_rhino.objects.get_line_coordinatesto deprecated (removed in v2.3). - Changed
compas_rhino.objects.get_polyline_coordinatesto deprecated (removed in v2.3). - Changed
compas_rhino.objects.get_polygon_coordinatesto deprecated (removed in v2.3). - Fixed a bug in
worldtransformationofcompas.scene.SceneObjectto include the object's own frame.
Removed
- Removed pluggable
compas.geometry.surfaces.surface.new_surface. - Removed pluggable
compas.geometry.surfaces.surface.new_surface_from_plane. - Removed
compas.geometry.surfaces.surface.Surface.from_plane. - Removed
compas.geometry.surfaces.surface.ConicalSurface.__new__. - Removed
compas.geometry.surfaces.surface.CylindricalSurface.__new__. - Removed
compas.geometry.surfaces.surface.PlanarSurface.__new__. - Removed
compas.geometry.surfaces.surface.SphericalSurface.__new__. - Removed
compas.geometry.surfaces.surface.ToroidalSurface.__new__. - Removed
compas.geometry.surfaces.nurbs.NurbsSurface.__init__. - Removed
compas_rhino.geometry.surfaces.new_surface. - Removed
compas_rhino.geometry.surfaces.new_nurbssurface. - Removed
compas_rhino.geometry.surfaces.nurbs.NurbsSurface.__from_data__. - Removed
compas_rhino.geometry.surfaces.surface.Surface.from_corners. - Removed
compas_rhino.geometry.surfaces.surface.Surface.from_cylinder. - Removed
compas_rhino.geometry.surfaces.surface.Surface.from_frame. - Removed
compas_rhino.geometry.surfaces.surface.Surface.from_sphere. - Removed
compas_rhino.geometry.surfaces.surface.Surface.from_torus. - Removed
compas.geometry.curves.arc.Arc.__new__. - Removed
compas.geometry.curves.bezier.Bezier.__new__. - Removed
compas.geometry.curves.conic.Conic.__new__. - Removed
compas.geometry.curves.polyline.Polyline.__new__. - Removed
compas.geometry.curves.curve.new_curve. - Removed
compas.geometry.curves.curve.new_nurbscurve. - Removed
compas_rhino.geometry.curves.new_curve. - Removed
compas_rhino.geometry.curves.new_nurbscurve. - Removed
compas_rhino.conversions.surfaces.data_to_rhino_surface. - Removed
compas_rhino.conversions.surfaces.surface_to_compas_data. - Removed
compas_rhino.conversions.surfaces.surface_to_compas_quadmesh. - Removed
compas_rhino.conversions.curves.curve_to_compas_data.
[2.2.1] 2024-06-25
Added
Changed
- Fixed error in
compas_ghpythoncausingSceneto fail in Grasshopper.
Removed
[2.2.0] 2024-06-24
Added
- Added
maxiterparameter tocompas.geometry.icp_numpy. - Added
resolution_uandresolution_vtocompas.geometry.Shapeto control discretisation resolution. - Added
vertices,edges,faces,trianglestocompas.geometry.Shape. - Added
points,lines,polygonstocompas.geometry.Shape. - Added abstract
compute_vertices,compute_edges,compute_faces,compute_trianglestocompas.geometry.Shape. - Added implementation of
compute_vertices,compute_edges,compute_facestocompas.geometry.Box. - Added implementation of
compute_vertices,compute_edges,compute_facestocompas.geometry.Capsule. - Added implementation of
compute_vertices,compute_edges,compute_facestocompas.geometry.Cone. - Added implementation of
compute_vertices,compute_edges,compute_facestocompas.geometry.Cylinder. - Added implementation of
compute_vertices,compute_edges,compute_facestocompas.geometry.Sphere. - Added implementation of
compute_vertices,compute_edges,compute_facestocompas.geometry.Torus. - Added
compas_blender.scene.ShapeObject. - Added
compas.geometry.vector.__radd__. - Added
compas.geometry.vector.__rsub__. - Added
compas.geometry.vector.__rmul__. - Added
compas.geometry.vector.__rtruediv__. - Added
VolMesh.cell_lines,VolMesh.cell_polygons. - Added
VolMesh.vertex_edges. - Added
VolMesh.from_meshes. - Added
VolMesh.from_polyhedrons.
Changed
- Changed
compas_ghpython/utilities/drawing.pyto removeSystemdependency. - Fixed bug in
compas.geometry.ic_numpy, which was caused by returning only the last transformation of the iteration process. - Changed
compas.geometry.Geometry.scaledto usecompas.geometry.Geometry.scaleon a copy. - Changed
compas.geometry.Geometry.translatedto usecompas.geometry.Geometry.translateon a copy. - Changed
compas.geometry.Geometry.rotatedto usecompas.geometry.Geometry.rotateon a copy. - Changed
VolMesh._planeback to point to a cell for every triplet of vertices. - Fixed
VolMesh.add_halfface,VolMesh.add_cell,VolMesh.vertex_halffaces,VolMesh.vertex_cells,VolMesh.edge_halffaces,VolMesh.halfface_cell,VolMesh.halfface_opposite_cell,VolMesh.halfface_opposite_halfface,VolMesh.cell_neighbors. - Changed ordering of
Volmesh.edges()to be deterministic. - Changed ordering and direction of
Volmesh.vertex_edges()to be deterministic. - Changed check for empty vertices and faces to use
is Noneto add support fornumpyarrays. - Changed order of
uandvofcompas.geometry.SphericalSurfaceto the match the excpected parametrisation. - Changed
compas.geometry.Shape.to_vertices_and_facesto useShape.verticesandShape.facesorShape.triangles. - Changed default of
compas.scene.descriptors.color.ColorAttributetoNoneto support native coloring in CAD contexts. - Changed
compas.colors.ColorDict.__data__andcompas.colors.ColorDict.__from_data__to properly support serialisation. - Moved
compas_blender.utilities.drawingtocompas_blender.drawingwith backward compatible imports and deprecation warning. - Moved
compas_ghpython.utilities.drawingtocompas_ghpython.drawingwith backward compatible imports and deprecation warning. - Moved
compas_rhino.utilities.drawingtocompas_rhino.drawingwith backward compatible imports and deprecation warning. - Changed
draw_nodesanddraw_edgesofcompas_blender.scene.GraphObject,compas_ghpython.scene.GraphObject, andcompas_rhino.scene.GraphObjectto use only attributes instead of parameters. - Changed
draw_vertices,draw_edgesanddraw_facesofcompas_blender.scene.MeshObject,compas_ghpython.scene.MeshObject, andcompas_rhino.scene.MeshObjectto use only attributes instead of parameters. - Changed
draw_vertices,draw_edgesanddraw_facesofcompas_blender.scene.VolMeshObject,compas_ghpython.scene.VolMeshObject, andcompas_rhino.scene.VolMeshObjectto use only attributes instead of parameters. - Changed registration of
Capsule,Cone,Cylinder,Sphere,TorustoShapeObjectincompas_blender.scene. - Updated
compas.geometry.vector.__mul__to allow element-wise multiplication with another vector. - Updated
compas.geometry.vector.__truediv__to allow element-wise division with another vector. - Fixed bug in registration
shapelyboolean plugins. - Temporarily restrict
numpyto versions lower than2.x.
Removed
- Removed
Systemdependency incompas_ghpython/utilities/drawing.py. - Removed GH plugin for
compas.scene.clearsince it clashed with the Rhino version.
[2.1.1] 2024-05-14
Added
- Added
compas.geometry.Line.point_from_startandcompas.geometry.Line.point_from_end. - Added
compas.geometry.Line.flipandcompas.geometry.Line.flipped. - Added an
compas.geometry.Frame.interpolate_frame(s)method - Added
compas.colors.Color.contrast. - Added
compas.geometry.Brep.from_plane. - Added
compas.tolerance.Tolerance.angulardeflection. - Added
compas.tolerance.Tolerance.update_from_dict. - Added
compas.scene.SceneObject.sceneattribute. - Added
compas.datastructures.CellNetwork.is_faces_closed - Added
compas.datastructures.CellNetwork.delete_edge - Added
compas.datastructures.CellNetwork.delete_cell - Added
compas.datastructures.CellNetwork.delete_face - Added
compas.datastructures.CellNetwork.cells_to_graph - Added
compas.datastructures.CellNetwork.face_plane - Added
compas.datastructures.CellNetwork.cell_volume - Added
compas.datastructures.CellNetwork.cell_neighbors
Changed
- Changed and update the
compas_view2examples intocompas_viewer. - Changed and updated the
compas_view2examples intocompas_viewer. - Changed
compas.scene.Sceneto inherent fromcompas.datastructrues.Tree. - Changed
compas.scene.SceneObjectto inherent fromcompas.datastructrues.TreeNode. - Changed
compas.geoemetry._core.predicates_3bug fix inis_coplanarwhile loop when there are 4 points. - Changed to implementation of
Mesh.unify_cyclesto use the corresponding function ofcompas.topology.orientation. - Fixed bug in
compas.topology.orientation.unify_cycles. - Fixed bug in
Mesh.thickened. - Fixed various bugs in
compas.geometry.Quaternion. - Changed repo config to
pyproject.toml. - Fixed broken import in
copas.geometry.trimesh_smoothing_numpy. - Changed
RhinoBrep.trimmedto return single result or raiseBrepTrimmingErrorinstead of returning a list. - Changed order of imports according to
isortand changed line length to179. - Changed use of
compas.geometry.allclosetocompas.tolerance.TOL.is_allclose. - Changed use of
compas.geometry.closetocompas.tolerance.TOL.is_close. - Changed imports of itertools to
compas.itertoolsinstead ofcompas.utilities. - Changed
compas.tolerance.Toleranceto a singleton, to ensure having only library-wide tolerance values. - Updated
compas_rhino.conversions.point_to_compasto allow forRhino.Geometry.Pointas input. - Changed
compas.datastructures.Tree.print_hierarchytocompas.datastructures.Tree.__str__. - Changed
compas.scene.SceneObject.__init__to acceptitemas kwarg. - Fixed
compas.geometry.bbox_numpy.minimum_volume_boxto avoidnumpy.linalg.LinAlgError.
Removed
- Removed
compas.scene.SceneObjectNode, functionalities merged intocompas.scene.SceneObject. - Removed
compas.scene.SceneTree, functionalities merged intocompas.scene.Scene. - Removed default implementation of
compas.geometry.trimesh_geodistancesince nonexistent. - Removed
compas.utilities.geometric_keyand replaced it bycompas.tolerance.TOL.geometric_key. - Removed
compas.utilities.geometric_key_xyand replaced it bycompas.tolerance.TOL.geometric_key_xy. - Removed indexed attribute access from all geometry classes except
Point,Vector,Line,Polygon,Polyline. - Removed
compas.datastructures.Tree.print_hierarchy.
[2.1.0] 2024-03-01
Added
- Added optional argument
cap_endstoBrep.from_extrusion(). - Added implementation in
RhinoBrep.from_extrusion(). - Added
max_depthtocompas.datastructures.Tree.print_hierarchy(). - Added
compas.datastructures.Tree.to_graph().
Changed
- Changed
compas.datastructures.TreeNodeto skip serialisingattributes,nameandchildrenif being empty. - Changed
compas.datastructures.TreeNode.__repr__to omitnameifNone. - Fix bug in
compas_rhino.geometry.NurbsCurve.from_parametersandcompas_rhino.geometry.NurbsCurve.from_pointsrelated to the value of the parameterdegree. - Changed
compas.scene.descriptors.ColorDictAttributeto accept acompas.colors.ColorDictas value. - Changed
compas_rhino.scene.RhinoMeshObject.drawto preprocess vertex and face color dicts into lists. - Changed
compas_rhino.conversions.vertices_and_faces_to_rhinoto handle vertex color information correctly. - Changed
compas_rhino.conversions.average_colorreturn typecompas.colors.Colorinstead of tuple.
Removed
[2.0.4] 2024-02-12
Added
Changed
- Fixed bug in
compas_rhino.scene.
Removed
[2.0.3] 2024-02-09
Added
- Added
compas.linalg. - Added
compas.matrices. - Added
compas.itertools. - Added
compas_rhino.scene.helpers. - Added
compas.scene.SceneObject.contrastcolor.
Changed
- Fixed bug in
compas.geometry.oriented_bounding_box_numpyto support points in plane. - Changed
compas_rhino.scene.RhinoSceneObjectto pass on positional arguments. - Changed
compas_rhino.scene.RhinoBoxObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoBrepObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoCapsuleObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoCircleObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoConeObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoCurveObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoCylinderObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoEllipseObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoFrameObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoGraphObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoLineObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoMeshObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoPlaneObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoPointObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoPolygonObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoPolyhedronObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoPolylineObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoSphereObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoSurfaceObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoTorusObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoVectorObject.drawto use attributes only. - Changed
compas_rhino.scene.RhinoVolMeshObject.drawto use attributes only.
Removed
- Removed
compas.geometry.linalg. - Removed
compas.topology.matrices. - Removed
compas.utilities.itertools.
[2.0.2] 2024-02-06
Added
- Added Blender paths for Windows.
- Added
compas_rhino.print_python_path. - Added
compas_blender.print_python_path.
Changed
- Fixed bug in
compas.tolerange.Tolerance.format_number()related to IronPython environment.
Removed
[2.0.1] 2024-02-01
Added
- Added pluggable
compas.geometry.surfaces.nurbs.new_nurbssurface_from_native. - Added
compas.geometry.NurbsSurface.from_native. - Added plugin
compas_rhino.geometry.surfaces.new_nurbssurface_from_plane.
Changed
- Fixed bug in
compas_blender.clear. - Fixed bug in
compas_rhino.conversions.surface_to_compas. - Fixed bug in
compas_rhino.conversions.surface_to_compas_mesh. - Fixed bug in
compas_rhino.conversions.surface_to_compas_quadmesh. - Fixed bug in plugin
compas_rhino.geometry.curves.new_nurbscurve_from_native. - Fixed bug in plugin
compas_rhino.geometry.surfaces.new_nurbssurface_from_native.
Removed
- Removed plugin
compas_rhino.geometry.surfaces.new_surface_from_plane.
[2.0.0] 2024-01-31
Added
- Added
groupattribute tocompas_rhino.scene.RhinoSceneObject. - Added
_guid_mesh,_guids_vertices,_guids_edges,_guids_faces,_guids_vertexlabels,_guids_edgelables,_guids_facelabels,_guids_vertexnormals,_guids_facenormals,_guids_spheres,_guids_pipes,disjointattributes tocompas_rhino.scene.MeshObject. - Added
_guids_nodes,_guids_edges,_guids_nodelabels,_guids_edgelables,_guids_spheres,_guids_pipesattributes tocompas_rhino.scene.GraphObject. - Added
_guids_vertices,_guids_edges,_guids_faces,_guids_cells,_guids_vertexlabels,_guids_edgelables,_guids_facelabels,_guids_celllabels,disjointattributes tocompas_rhino.scene.MeshObject. - Added test for
compas.scene.Sceneserialisation.
Changed
- Changed
compas.scene.Mesh'sshow_vertices,show_edges,show_facesto optionally accept a sequence of keys. - Changed
compas.scene.Graph'sshow_nodes,show_edgesto optionally accept a sequence of keys. - Changed
compas.scene.VolMesh'sshow_vertices,show_edges,show_faces,show_cellsto optionally accept a sequence of keys. - Fixed missing implementation of
Sphere.base. - Fixed bug in
intersection_sphere_sphere.
Removed
- Removed kwargs from
compas_rhino.scene.MeshObject.draw. - Removed kwargs from
compas_rhino.scene.GraphObject.draw. - Removed kwargs from
compas_rhino.scene.VolMeshObject.draw.
[2.0.0-beta.4] 2024-01-26
Added
- Added
compas_rhino.objects. - Added
compas_rhino.layers. - Added
compas_rhino.install_with_pip. - Added
before_drawpluggable tocompas.scene.Scene.draw. - Added
after_drawpluggable tocompas.scene.Scene.draw. - Added description in tutorial about
compas.scene.context. - Added
compas_blender.data. - Added
compas_blender.collections. - Added
compas_blender.objects. - Added
compas_rhino.ui. - Added
compas_rhino.unload_modules. - Added
compas_ghpython.unload_modules. - Added
compas_ghpython.sets. - Added
compas_ghpython.timer. - Added
scaleandscaledtocompas.datastructures.Datastructure. - Added
rotateandrotatedtocompas.datastructures.Datastructure. - Added
translateandtranslatedtocompas.datastructures.Datastructure.
Changed
- Changed
compas.tolerance.Toleranceinto singleton. - Changed
compas_rhino.geometry.curves.nursb.RhinoNurbsCurveto use private data API. - Changed
compas_rhino.geometry.surfaces.nursb.RhinoNurbsSurfaceto use private data API. - Changed
compas.scene.Scene.redrawtodraw. - Fixed
register_scene_objectsnot called when there is a context given in kwargs ofSceneObject.
Removed
- Removed
compas_blender.geometry.curves. - Removed
compas_rhino.utilities.objects. - Removed
compas_rhino.utilities.layers. - Removed
compas_rhino.utilities.constructors. - Removed
compas_rhino.utilities.document. - Removed
compas_rhino.utilities.geometry. - Removed
compas_rhino.utilities.misc. - Removed
compas_blender.utilities.data. - Removed
compas_blender.utilities.collections. - Removed
compas_blender.utilities.objects. - Removed
compas_ghpython.utilities.sets. - Removed
compas_ghpython.utilities.timer.
[2.0.0-beta.3] 2024-01-19
Added
- Added
compas.dtastructures.Networkas alias ofcompas.datastructures.Graph. - Added
compas.data.Data.nameand included it in serialisation in casecompas.data.Data._name is not None.
Changed
- Merged
compas.datastructures.Halfedgeintocompas.datastructures.Mesh. - Merged
compas.datastructures.Networkintocompas.datastructures.Graph. - Merged
compas.datastructures.Halffaceintocompas.datastructures.VolMesh. - Fixed
RhinoBrepdoesn't get capped after trimming. - Changed
compas.data.Data.datatocompas.data.Data.__data__. - Changed
compas.data.Data.dtypetocompas.data.Data.__dtype__. - Changed
compas.data.Data.from_datatocompas.data.Data.__from_data__. - Changed
compas.geometry.triangulation_earclipface 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
attributesfromcompas.datastructures.Assembly.data. - Removed
attributesfromcompas.datastructures.CellNetwork.data. - Removed
attributesfromcompas.datastructures.Graph.data. - Removed
attributesfromcompas.datastructures.Mesh.data. - Removed
attributesfromcompas.datastructures.Tree.data. - Removed
attributesfromcompas.datastructures.VolMesh.data. - Removed
compas.data.Data.to_data. - Removed
compas.rpc.XFunc.
[2.0.0-beta.2] 2024-01-12
Added
- Added
viewerinstanceincompas.scene.Sceneto support viewers context detection. - Added
compas_rhino8as 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
showflag tocompas.scene.SceneObject. - Added
show_pointsflag tocompas.scene.GeometryObject. - Added
show_linesflag tocompas.scene.GeometryObject. - Added
show_surfacesflag tocompas.scene.GeometryObject. - Added
show_verticesflag tocompas.scene.MeshObject. - Added
show_edgesflag tocompas.scene.MeshObject. - Added
show_facesflag tocompas.scene.MeshObject. - Added
show_nodesflag tocompas.scene.NetworkObject. - Added
show_edgesflag tocompas.scene.NetworkObject. - Added
show_verticesflag tocompas.scene.VolMeshObject. - Added
show_edgesflag tocompas.scene.VolMeshObject. - Added
show_facesflag tocompas.scene.VolMeshObject. - Added
show_cellsflag tocompas.scene.VolMeshObject. - Added
compas.data.Data.to_jsonstringandcompas.data.Data.from_jsonstring. - Added
compas.data.Data.attributes. - Added optional param
working_directorytocompas.rpc.Proxyto be able to start services defined in random locations. - Added
compas.datastructures.Datastructure.transformandcompas.datastructures.Datastructure.transformed. - Added
compas.datastructures.Datastructure.transform_numpyandcompas.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.weldandcompas.datastructures.Mesh.remove_duplicate_vertices. - Added
compas.datastructures.Mesh.quads_to_triangles. - Added
compas.datastructures.Mesh.unify_cycles. - Added
compas.datastructures.Mesh.aabbandcompas.datastructures.Mesh.obb. - Added
compas.datastructures.Mesh.offsetandcompas.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__ofcompas.geometry.Pointandcompas.geometry.Vectorto use a limited number of decimals (determined byTolerance.PRECISION). Note:__repr__will instead maintain full precision. - Changed
docsWorkflow to only be triggered on review approval in pull requests. - Changed
drawimplementations ofcompas.scene.SceneObjectto always use theworldtransformationof theSceneObject. - Fixed typo in name
Rhino.Geometry.MeshingParametersincompas_rhino.geometry.RhinoBrep.to_meshes(). - Fixed
TypeErrorExceptionwhen serializing aMeshwhich has been converted from Rhino. - Fixed color conversions in
compas_rhion.conversions.mesh_to_compas. - Changed
SceneObjectregistration to allow forNonecontext. - Changed
compas.data.Data.nameto be stored incompas.data.Data.attributes. - Changed
compas.data.Data.__jsondump__to includecompas.data.Data.attributesif the dict is not empty. - Changed
compas.data.Data.__jsonload__to updatecompas.data.Data.attributesif the attribute dict is provided. - Changed
compas.datastructures.Graphto take additional**kwargs, instead of onlyname=Nonespecifically. - Changed
compas.datastructures.Networkto take additional**kwargs, instead of onlyname=Nonespecifically. - Changed
compas.datastructures.Halfedgeto take additional**kwargs, instead of onlyname=Nonespecifically. - Changed
compas.datastructures.Meshto take additional**kwargs, instead of onlyname=Nonespecifically. - Moved registration of
pingandremote_shutdownof the RPC server tocompas.rpc.Server.__init__(). - Moved
FileWatcherServicetocompas.rpc.services.watcherso it can be reused. - Changed
compas.datastructures.Mesh.subdividetocompas.datastructures.Mesh.subdivided. - Moved
compas.numerical.pca_numpytocompas.geometry.pca_numpy. - Moved
compas.numerical.scalafield_contourstocompas.geometry.scalarfield_contours. - Moved
compas.numerical.matricestocompas.topology.matrices. - Moved
compas.numerical.linalgtocompas.geometry.linalg. - Changed
watchdogdependency to be only required for platforms other thanemscripten. - Changed
compas.geometry.earclip_polygonalgorithm because the current one does not handle several cases.
Removed
- Removed
compas_rhino.forms. Forms will be moved tocompas_ui. - Removed
compas.scene.NoSceneObjectContextError. - Removed
compas.datastructures.Datastructure.attributesandcompas.datastructures.Datastructure.name(moved tocompas.data.Data). - Removed
attributesfromcompas.datastructures.Graph.data. - Removed
attributesfromcompas.datastructures.Network.data. - Removed
attributesfromcompas.datastructures.Halfedge.data. - Removed
attributesfromcompas.datastructures.Mesh.data. - Removed
compas.datastructures.mesh_bounding_boxandcompas.datastructures.mesh_bounding_box_xy. - Removed
compas.datastructures.mesh_oriented_bounding_box_numpyandcompas.datastructures.mesh_oriented_bounding_box_xy_numpy. - Removed
compas.datastructures.mesh_delete_duplicate_vertices. - Removed
compas.datastructures.mesh_is_connectedandcompas.datastructures.mesh_connected_components. - Removed
compas.datastructures.mesh_isolines_numpyandcompas.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_facesandcompas.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_offsetandcompas.datastructures.mesh_thicken. - Removed
compas.datastructures.mesh_face_adjacencyandcompas.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_transformandcompas.datastructures.volmesh_transformed. - Removed
compas.topology.unify_cycles_numpyandcompas.topology.face_adjacency_numpy. - Removed
compas.topology.unify_cycles_rhinoandcompas.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.0-beta.1] 2023-12-20
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.ABSOLUTEandcompas.tolerance.Tolerance.absolute. - Added
compas.tolerance.Tolerance.RELATIVEandcompas.tolerance.Tolerance.relative. - Added
compas.tolerance.Tolerance.ANGULARandcompas.tolerance.Tolerance.angular. - Added
compas.tolerance.Tolerance.APPROXIMATIONandcompas.tolerance.Tolerance.approximation. - Added
compas.tolerance.Tolerance.PRECISIONandcompas.tolerance.Tolerance.precision. - Added
compas.tolerance.Tolerance.LINEARDEFLECTIONandcompas.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()andcompas.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,opacityattributes tocompas.scene.SceneObject. - Added
pointcolor,linecolor,surfacecolor,pointsize,linewidthattributes tocompas.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_spacetospace_u. - Changed
compas.geometry.NurbsSurface.v_spacetospace_v. - Changed
compas.geometry.NurbsSurface.u_isocurvetoisocurve_u. - Changed
compas.geometry.NurbsSurface.v_isocurvetoisocurve_v. - Changed
compas.brep.Brep.from_step_filetofrom_step. - Moved
compas.breptocompas.geometry.brep. - Updated
compas-actions.docsworkflow tov3. Artistsclasses are renamed toSceneObjectclasses and now undercompas.scene,compas_rhino.scene,compas_ghpython.scene,compas_blender.scene.- Context related functions like
register,build,redrawandclearare moved tocompas.scene.contextfromcompas.scene.SceneObject. - Changed plugin selection to fall back to a default implementation if possible.
- Fixed
AttributeError_edgesincompas_rhino.geometry.RhinoBrepLoop.edges. - Fixed
compas_rhino.geometry.RhinoBrepserialization. - Naming convention for
ColorDictAttributesincompas.scene.MeshObject,compas.scene.NetworkObjectandcompas.scene.VolmeshObjectis changed e.g. fromvertex_colortovertexcolor. - The building of correct type of
SceneObjectis moved backed to__new__ofSceneObjectitself. - Changed
compas_blender.installto use symlinks. - Moved
URDFparsing fromcompas.filesto thecompas_robotsextension (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.0-alpha.2] 2023-11-07
Added
- Added
Frame.axes - Added
compas.datastructures.TreeNodeandcompas.datastructures.Treeclasses. - Added
EllipseArtisttocompas_rhinoandcompas_ghpython. - Added
compas.scene.Scene.
Changed
- Changed
Network.is_planarto rely onNetworkXinsteadplanarityfor planarity checking. - Removed
planarityfrom requirements. - Fixed argument order at
compas.geometry.cone.circle. - Pinned
jsonschemaversion to >=4.17, <4.18 to avoid Rust toolchain - Fixed
box_to_compasincompas_rhino.conversionsto correctly take in the center of the box as the center point of the frame. - Removed
cythonfrom requirements. - Made X and Y axis optional in the constructor of
Frame. - Moved
compas.geometry.breptocompas.brep. - Changed
networkxversion to>=3.0to ensure support foris_planar. - Moved
compas.geometry.curves.nurbs_.pyandcompas.geometry.surfaces.nurbs_.pytocompas_nurbs. - Fixed
mesh_to_compasreturning an emptyMeshwhen colors and/or face normals are missing.
Removed
[2.0.0-alpha.1] 2023-09-20
Added
- Added
create_idtocompas_ghpython.utilities. (moved fromcompas_fab) - Added representation for features in
compas.datastructures.Part. - Added
splitandsplit_by_lengthtocompas.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_indexandcompas.datastructures.Graph.index_node. - Added
compas.datastructures.Graph.edge_indexandcompas.datastructures.Graph.index_edge. - Added
compas.datastructures.Halfedge.vertex_indexandcompas.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_polygonpluggable. - Added
compas.geometry.boolean_intersection_polygon_polygonpluggable. - Added
compas.geometry.boolean_difference_polygon_polygonpluggable. - Added
compas.geometry.boolean_symmetric_difference_polygon_polygonpluggable. - Added
compas.geometry.boolean_union_polygon_polygonShapely-based plugin. - Added
compas.geometry.boolean_intersection_polygon_polygonShapely-based plugin. - Added
compas.geometry.boolean_difference_polygon_polygonShapely-based plugin. - Added
compas.geometry.boolean_symmetric_difference_polygon_polygonShapely-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_rhinotocompas_rhino.conversions. - Added
vertices_and_faces_to_rhinotocompas_rhino.conversions. - Added
polyhedron_to_rhinotocompas_rhino.conversions. - Added
from_meshplugin tocompas_rhino.geometry.RhinoBrep. - Added
compas.geometry.Plane.worldYZandcompas.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.DefaultNurbsCurveas try-last, Python-only plugin forcompas.geometry.NurbsCurve. - Added
compas.geometry.DefaultNurbsSurfaceas try-last, Python-only plugin forcompas.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.HEREconstant in IronPython for Mac. - Fixed unbound method usage of
.cross()onPlane,VectorandFrame. - Fixed Grasshopper
draw_polylinesmethod to returnPolylineCurveinstead ofPolylinebecause the latter shows as only points. - Fixed bug in the
is_polygon_in_polygon_xythat was not correctly generating all the edges of the second polygon before checking for intersections. - Fixed
area_polygonthat was, in some cases, returning a negative area. - Fixed uninstall post-process.
- Fixed support for
System.Decimaldata type on json serialization. - Fixed
offset_polygonraising a TypeError when inputing a Polygon instead of a list of Points. - Simplified
compas.datastructures.Partfor more generic usage. - Changed
GLTFMesh.from_meshto read texture coordinates, vertex normals and colors if available and add toGLTFMesh - Fixed bug in
VolMeshArtist.draw_cellsfor Rhino, Blender and Grasshopper. - Changed edge parameter of
compas.datastructures.Halfedge.edge_facesto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.Halfedge.halfedge_faceto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.Halfedge.is_edge_on_boundaryto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.Halfedge.halfedge_afterto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.Halfedge.halfedge_beforeto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.trimesh_edge_cotangentto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.trimesh_edge_cotangentsto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.Mesh.edge_coordinatesto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.Mesh.edge_lengthto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.Mesh.edge_vectorto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.Mesh.edge_pointto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.Mesh.edge_midpointto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.Mesh.edge_directionto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.is_collapse_legalto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.mesh_collapse_edgeto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.trimesh_collapse_edgeto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.mesh_insert_vertex_on_edgeto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.mesh_split_edgeto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.trimesh_split_edgeto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed edge parameter of
compas.datastructures.trimesh_swap_edgeto 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers. - Changed
compas.datastructures.Mesh.vertex_laplacianto returncompas.geometry.Vector. - Changed
compas.datastructures.Mesh.neighborhood_centroidto returncompas.geometry.Point. - Changed
compas.datastructures.Mesh.vertex_normalto returncompas.geometry.Vector. - Changed
compas.datastructures.Mesh.edge_vectorto returncompas.geometry.Vector. - Changed
compas.datastructures.Mesh.edge_directionto returncompas.geometry.Vector. - Changed
compas.datastructures.Mesh.edge_pointto returncompas.geometry.Point. - Changed
compas.datastructures.Mesh.edge_midpointto returncompas.geometry.Point. - Changed
compas.datastructures.Mesh.face_normalto returncompas.geometry.Vector. - Changed
compas.datastructures.Mesh.face_centroidto returncompas.geometry.Point. - Changed
compas.datastructures.Mesh.face_centerto returncompas.geometry.Point. - Changed
compas.datastructures.Mesh.face_planeto returncompas.geometry.Plane. - Changed JSON validation to Draft202012.
- Changed
compas.data.Data.to_jsonto includecompact=Falseparameter. - Changed
compas.data.Data.to_jsonstringto includecompact=Falseparameter. - Changed
compas.data.json_dumpto includecompact=Falseparameter. - Changed
compas.data.json_dumpsto includecompact=Falseparameter. - Changed
compas.data.DataEncoderandcompas.data.DataDecoderto supportto_jsondataandfrom_jsondata. - Moved all API level docstrings from the
__init__.pyto the correspoding.rstfile in the docs. - Fixed
AttributeErrorin Plotter'sPolylineArtistandSegementArtist. - Fixed wrong key type when de-serializing
Graphwith integer keys leading to node not found. - Changed base class for
compas.geometry.Transformationtocompas.data.Data. - Moved all core transformation functions to
compas.geometry._core. - Changed base class of
compas.geometry.Arctocompas.geometry.Curve. - Changed base class of
compas.geometry.Beziertocompas.geometry.Curve. - Changed base class of
compas.geometry.Circletocompas.geometry.Curve. - Changed base class of
compas.geometry.Ellipsetocompas.geometry.Curve. - Changed base class of
compas.geometry.Linetocompas.geometry.Curve. - Changed base class of
compas.geometry.Polylinetocompas.geometry.Curve. - Changed
compas.geometry.oriented_bounding_box_numpyto minimize volume. - Fixed data interface
compas.datastructures.Assemblyandcompas.datastructures.Part. - Changed data property of
compas.datastructures.Graphto contain only JSON compatible data. - Changed data property of
compas.datastructures.Halfedgeto contain only JSON compatible data. - Changed data property of
compas.datastructures.Halffaceto contain only JSON compatible data. - Changed
__repr__ofcompas.geometry.Pointandcompas.geometry.Vectorto not use limited precision (compas.PRECISION) to ensure proper object reconstruction througheval(repr(point)). - Changed
compas.datastructures.Graph.delete_edgeto 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_cornerswhere angles were sometimes wrongly calculated. - Changed
compas.artists.MeshArtistdefault colors. - Fixed bug in
compas.geometry.curves.Polylineshorten and extend methods. - Changed internal _plane storage of the
compas.datastructures.Halffacefrom_plane[u][v][w]to_plane[u][v][fkey] - Fixed
SyntaxErrorwhen 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
.jsonfiles fromcompas.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.dataand similar setters in all data classes. - Removed properties
compas.data.Data.DATASCHEMAandcompas.data.Data.JSONSCHEMANAME. - Removed properties
compas.datastructures.Graph.DATASCHEMAandcompas.datastructures.Graph.JSONSCHEMANAME. - Removed properties
compas.datastructures.Halfedge.DATASCHEMAandcompas.datastructures.Halfedge.JSONSCHEMANAME. - Removed properties
compas.datastructures.Halfface.DATASCHEMAandcompas.datastructures.Halfface.JSONSCHEMANAME. - Removed properties
compas.geometry.Arc.DATASCHEMAandcompas.geometry.Arc.JSONSCHEMANAME. - Removed properties
compas.geometry.Bezier.DATASCHEMAandcompas.geometry.Bezier.JSONSCHEMANAME. - Removed properties
compas.geometry.Box.DATASCHEMAandcompas.geometry.Box.JSONSCHEMANAME. - Removed properties
compas.geometry.Capsule.DATASCHEMAandcompas.geometry.Capsule.JSONSCHEMANAME. - Removed properties
compas.geometry.Circle.DATASCHEMAandcompas.geometry.Circle.JSONSCHEMANAME. - Removed properties
compas.geometry.Cone.DATASCHEMAandcompas.geometry.Cone.JSONSCHEMANAME. - Removed properties
compas.geometry.Cylinder.DATASCHEMAandcompas.geometry.Cylinder.JSONSCHEMANAME. - Removed properties
compas.geometry.Ellipse.DATASCHEMAandcompas.geometry.Ellipse.JSONSCHEMANAME. - Removed properties
compas.geometry.Frame.DATASCHEMAandcompas.geometry.Frame.JSONSCHEMANAME. - Removed properties
compas.geometry.Line.DATASCHEMAandcompas.geometry.Line.JSONSCHEMANAME. - Removed properties
compas.geometry.NurbsCurve.DATASCHEMAandcompas.geometry.NurbsCurve.JSONSCHEMANAME. - Removed properties
compas.geometry.NurbsSurface.DATASCHEMAandcompas.geometry.NurbsSurface.JSONSCHEMANAME. - Removed properties
compas.geometry.Plane.DATASCHEMAandcompas.geometry.Plane.JSONSCHEMANAME. - Removed properties
compas.geometry.Point.DATASCHEMAandcompas.geometry.Point.JSONSCHEMANAME. - Removed properties
compas.geometry.Pointcloud.DATASCHEMAandcompas.geometry.Pointcloud.JSONSCHEMANAME. - Removed properties
compas.geometry.Polygon.DATASCHEMAandcompas.geometry.Polygon.JSONSCHEMANAME. - Removed properties
compas.geometry.Polyhedron.DATASCHEMAandcompas.geometry.Polyhedron.JSONSCHEMANAME. - Removed properties
compas.geometry.Polyline.DATASCHEMAandcompas.geometry.Polyline.JSONSCHEMANAME. - Removed properties
compas.geometry.Sphere.DATASCHEMAandcompas.geometry.Sphere.JSONSCHEMANAME. - Removed properties
compas.geometry.Torus.DATASCHEMAandcompas.geometry.Torus.JSONSCHEMANAME. - Removed properties
compas.geometry.Quaternion.DATASCHEMAandcompas.geometry.Quaternion.JSONSCHEMANAME. - Removed properties
compas.geometry.Vector.DATASCHEMAandcompas.geometry.Vector.JSONSCHEMANAME. - Removed
compas.datastructures.Graph.key_indexandcompas.datastructures.Graph.index_key. - Removed
compas.datastructures.Graph.uv_indexandcompas.datastructures.Graph.index_uv. - Removed
compas.datastructures.Halfedge.key_indexandcompas.datastructures.Halfedge.index_key. - Removed
compas.numerical.drandcompas.numerical.dr_numpy(moved to separatecompas_dr). - Removed
compas.numerical.fd_numpyto (moved to separatecompas_fd). - Removed
compas.numerical.topop_numpy(moved to separatecompas_topopt). - Removed
compas.numerical.mmaandcompas.numerical.lma. - Removed
compas.numerical.descent,compas.numerical.devo, andcompas.numerical.ga. - Removed
compas.numerical.utilities. - Removed class attribute
CONTEXTfromcompas.artists.Artist. - Removed class attribute
AVAILABLE_CONTEXTSformcompas.artists.Artist. - Removed
compas.geometry.Primitive. - Removed classmethod
compas.color.Color.from_data. - Removed
validate_datafromcompas.data.validators. - Removed
json_validatefromcompas.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 withcompas_robotspackage. - Removed
compas.artists.robotmodelartist. - Removed
compas_blender.artists.robotmodelartist. - Removed
compas_ghpython.artists.robotmodelartist. - Removed
compas_rhino.artists.robotmodelartist.
[1.17.5] 2023-02-16
Added
- Added conversion function
frame_to_rhino_planetocompas_rhino.conversions. - Added
RhinoSurface.from_frametocompas_rhino.geometry. - Added representation for trims with
compas.geometry.BrepTrim. - Added
Arctocompas.geometry. - Added
Arcconversion functions tocompas_rhino.conversions. - Added
from_spherealternative constructor toRhinoBrep. - 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
RhinoBrepto use the nativeRhino.Geometrymechanism. - The normal of the cutting plane is no longer flipped in
compas_rhino.geometry.RhinoBrep. - Planar holes caused by
RhinoBrep.trimare now automatically capped. - Fixed
Polygonconstructor 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_xysecond argument to access the origin of the plane of the circle. - Changed
compas.datastructures.Graph.datato contain unprocessednodeandedgedicts. - Changed
compas.datastructures.Halfedge.datato contain unprocessedvertex,face,facedata, andedgedatadicts. - Changed
compas.datastructures.Halfface.datato contain unprocessedvertex,cell,edge_data,face_data, andcell_datadicts. - Changed
compas.geometry.Arc.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Bezier.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Box.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Capsule.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Circle.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Cone.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Cylinder.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Ellipse.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Frame.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Line.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.NurbsCurve.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.NurbsSurface.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Plane.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Pointcloud.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Polygon.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Polyhedron.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Polyline.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Sphere.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Torus.datato contain unprocessed COMPAS geometry objects, instead of their data dicts. - Changed
compas.geometry.Quaternion.datato contain unprocessed COMPAS geometry objects, instead of their data dicts.
Removed
[1.17.4] 2022-12-06
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
ControlPointto COMPAS instead ofControlPoint.Location. - Fixed flipped order of NURBS point count values when creating RhinoNurbsSurface from parameters.
- Changed serialization format and reconstruction procedure of
RhinoBrep.
Removed
- Removed Python 3.6 from build workflows as it reached end-of-life at the end of 2021.
[1.17.3] 2022-11-09
Added
- Added
compas_rhino.INSTALLATION_ARGUMENTS.
Changed
- Fixed bug in Rhino installation due to redefinition of command line arguments in
compas_ghpython.components.get_version_from_args.
Removed
[1.17.2] 2022-11-07
Added
Changed
- Changed
compas._os._polyfill_symlinksto use junction (/J) instead of symbolic link (/D).
Removed
[1.17.1] 2022-11-06
Added
- Added
compas_rhino.geometry.RhinoCurve.offset. - Added
compas.geometry.Surface.from_plane. - Added
compas.geometry.surfaces.surface.new_surface_from_planepluggable. - Added
compas_rhino.geometry.surfaces.new_surface_from_planeplugin. - Added
compas_rhino.geometry.RhinoSurface.intersections_with_curve.
Changed
- Fixed bug in
compas_rhino.geometry.RhinoCurve.frame_at. - Changed implementation of
compas.datastructures.mesh_planarize_facesto include edge midpoints.
Removed
[1.17.0] 2022-10-07
Added
- Added gltf extensions:
KHR_materials_transmission,KHR_materials_specular,KHR_materials_ior,KHR_materials_clearcoat,KHR_Texture_Transform,KHR_materials_pbrSpecularGlossiness - Added
GLTFContent.check_extensions_texture_recursively - Added
GLTFContent.get_node_by_name,GLTFContent.get_material_index_by_name - Added
GLTFContent.add_material,GLTFContent.add_texture,GLTFContent.add_image - Added pluggable
Brepsupport withcompas.geometry.brep. - Added Rhino
Brepplugin incompas_rhino.geometry.brep. - Added boolean operations to the
compas_rhinoBrepbackend. - Added boolean operation operator overloads in
compas.geometry.Brep - Added
formattask usingblackformatter. - Added a
test_intersection_circle_circle_xyin thetest_intersections - Added split operation to
compas_rhino.geometry.Brep. - Added a
RhinoArtistincompas_rhino. - Added a
RhinoArtistincompas_ghpython.
Changed
- Based all gltf data classes on
BaseGLTFDataClass - Fixed
Color.__get___AttributeError. - Fixed
RhinoSurface.curvature_atnot returning a Vector, but a Rhino SurfaceCurvature class object - Fixed
cylinder_to_rhinoconversion to matchcompas.geometry.Cylinderlocation. - Changed identification of cylinder brep face to non-zero in
compas_rhino.conversions.cylinder.Cylinder. - Changed linter to
black. - Automatically trigger
invoke formatduringinvoke release. - Fixed bug in
intersections.intersection_circle_circle_xywhere the Circle's Plane was accessed instead of the centre. - Fixed bug in
_core.tangentwhere the Circle's Plane was accessed instead of the centre. - Fixed the
test_tangentto work with a properly defined circle RhinoBrepserialization works now with surface types other than NURBS.- Fixed bug in finding halfedge before a given halfedge if that halfedge is on the boundary (
Mesh.halfedge_before). - Renamed
Brep.from_breptoBrep.from_native.
Removed
[1.16.0] 2022-06-20
Added
- Added
Polyline.extend,Polyline.extended,Polyline.shorten,Polyline.shortened. - Added
Data.sha256for computing a hash value of data objects, for example for comparisons during version control. - Added optional
pathparameter tocompas.rpc.Proxyto allow for non-package calls. - Added Grasshopper component to call RPC functions.
- Added alternative installation procedure for Blender on Windows.
- Added
Mesh.to_linesmethod and tests. - Added
Data.guidto JSON serialization. - Added
Data.guidto pickle state. - Added
Assembly.find_by_keyto locate parts by key. - Added
clear_edgesandclear_nodestoNetworkArtistfor ghpython. - Added
ToStringmethod toDatato ensure that Rhino/Grasshopper correctly casts objects to string.
Changed
- Set
jinja >= 3.0to dev dependencies to fix docs build error. - Fixed removing of collections for
compas_plotters. - Fixed bug in
compas_plotters.plotter.Plotter.add_from_list. - Fixed bug in
compas.robots.Configuration. - Rebuild part index after deserialization in
Assembly. - Fixed bug in
compas.artists.colordict.ColorDict. - Change
Mesh.mesh_dualwith option of including the boundary. - Fixed type error in
compas_rhino.conversions.box_to_rhino. - Moved from
autopep8toblack - Fixed bug in
compas.utilities.linspacefor number series with high precision start and stop values. - Fixed uncentered viewbox in
Plotter.zoom_extents() - Changed
RobotModelArtists.atteched_tool_modelsto dictionary to support multiple tools. - Locked
sphinxto 4.5. - Changed
GLTFExportersuch that generated gltfs can be viewed with webxr - Fixed source directory path in
compas_ghpython.uninstallplugin. - Fixed bug in
compas_ghpython.componentsthat ignored input list of.ghuserobjects to uninstall. - Fixed conversion bug of transformed
Boxincompas_rhino.conversions
Removed
- Removed unused
compas_rhino.objects(moved tocompas_ui). - Removed unused
compas_rhino.ui(moved tocompas_ui).
[1.15.1] 2022-03-28
Added
- Added optional
triangulatedflag toMesh.to_vertices_and_faces. - Added geometry information of active meshes to the serialization/deserialization of robot model's
MeshDescriptor. - Added Grasshopper component to draw any COMPAS object.
- Added new icons to Grasshopper components and default to icon style.
Changed
- Fixed bug in
normal_polygonincompas.geometry. - Fixed bug in Blender mesh conversion.
- Changed Rhino plugin installer to check for and install required plugin packages.
- Refactor robot model artists to use the same
Mesh.to_vertices_and_faceseverywhere. - Fix debug print on Blender artist.
Removed
[1.15.0] 2022-03-22
Added
- Added descriptor support to
compas.colors.Color. - Added descriptor protocol metaclass to
compas.artists.Artist. - Added
compas.artists.colordict.ColorDictdescriptor. - Added
allcloseto doctest fixtures. - Added
compas.colors.Color.coerceto construct a color out og hex, RGB1, and RGB255 inputs. - Added
compas.datastructures.Network.from_pointcloud. - Added
compas.datastructures.VolMesh.from_meshgrid. - Added
vertices_where,vertices_where_predicate,edges_where,edges_where_predicatetocompas.datastructures.HalfFace. - Added
faces_where,faces_where_predicate,cells_where,cells_where_predicatetocompas.datastructures.HalfFace. - Added
VolMeshArtistto registered Blender artists. - Added
3.1to supported versions for Blender installer. - Added
compas.artist.NoArtistContextError.
Changed
- Changed
compas.geometry.surfaces.nurbs.from_fillto accept up to 4 curves as input. - Changed
compas_rhino.artists.MeshArtist.drawto draw the mesh only. - Changed
compas_blender.artists.MeshArtist.drawto draw the mesh only. - Changed
compas_ghpython.artists.MeshArtist.drawto draw the mesh only. - Changed
compas_rhino.artists.MeshArtist.draw_vertexlabelsto use the colors of the vertex color dict. - Changed
compas_rhino.artists.MeshArtist.draw_edgelabelsto use the colors of the edge color dict. - Changed
compas_rhino.artists.MeshArtist.draw_facelabelsto use the colors of the face color dict. - Changed
compas_blender.artists.MeshArtist.draw_vertexlabelsto use the colors of the vertex color dict. - Changed
compas_blender.artists.MeshArtist.draw_edgelabelsto use the colors of the edge color dict. - Changed
compas_blender.artists.MeshArtist.draw_facelabelsto use the colors of the face color dict. - Changed
compas_ghpython.artists.MeshArtist.draw_vertexlabelsto use the colors of the vertex color dict. - Changed
compas_ghpython.artists.MeshArtist.draw_edgelabelsto use the colors of the edge color dict. - Changed
compas_ghpython.artists.MeshArtist.draw_facelabelsto use the colors of the face color dict. - Fixed
compas_blender.uninstall. - Changed
planarityto optional requirement on all platforms. - Changed
numbato optional requirement on all platforms. - Changed raw github content path for
compas.get. - Changed
compas.datastructures.Graph.nodes_whereto accept conditions as kwargs. - Changed
compas.datastructures.Graph.edges_whereto accept conditions as kwargs. - Changed
compas.datastructures.Halfedge.vertices_whereto accept conditions as kwargs. - Changed
compas.datastructures.Halfedge.edges_whereto accept conditions as kwargs. - Changed
compas.datastructures.Halfedge.faces_whereto accept conditions as kwargs. - Changed
compas.datastructures.Halfface.vertices_whereto accept conditions as kwargs. - Changed
compas.datastructures.Halfface.edges_whereto accept conditions as kwargs. - Changed
compas.datastructures.Halfface.faces_whereto accept conditions as kwargs. - Changed
compas.datastructures.Halfface.cells_whereto accept conditions as kwargs. - Fixed
compas_blender.artists.VolMeshArtist.drawandcompas_blender.artists.VolMeshArtist.draw_cells. - Fixed
compas_ghpython.artists.VolMeshArtist.drawandcompas_ghpython.artists.VolMeshArtist.draw_cells. - Fixed
compas_rhino.artists.VolMeshArtist.drawandcompas_rhino.artists.VolMeshArtist.draw_cells. - Improved error messages when artist instance cannot be created.
- Fixed exception when calculating geometry of
compas.datastructures.Partwithout features. - Fixed bug in
compas_rhino.conversions.RhinoCurve.to_compas. - Fixed bug in
compas_rhino.conversions.RhinoSurface.to_compas.
Removed
- Removed
compas.numerical.drx.
[1.14.1] 2022-02-16
Added
- Added doc test step in CI/CD.
Changed
- Fixed symlink expansion for directories relative to the COMPAS installation folder, eg.
compas.DATAwhen used from IronPython. - Fixed the result of
compas.__version__on dev installs to properly include git hash. - Move
datafiles inside the folder included in the source distribution (ie. non-dev installs). - Fixed IronPython detection on ipy 2.7.12 and higher.
Removed
[1.14.0] 2022-02-06
Added
- Added
compas.colors.Color. - Added
compas.colors.ColorMap. - Added
compas_blender.conversions.BlenderGeometry. - Added
compas_blender.conversions.BlenderCurve. - Added
compas_blender.conversions.BlenderMesh. - Added option to return strip faces from
compas.datastructure.Halfedge.edge_strip. - Added
compas.geometry.Bezier.transform. - Added
compas.geometry.Curveas base class for curves. - Added
compas.geometry.Surfaceas base class for surfaces. - Added
compas_rhino.geometry.RhinoCurveas Rhino plugin for basic curves. - Added
compas_rhino.geometry.RhinoSurfaceas Rhino plugin for basic surfaces. - Added pluggable
compas.geometry.curves.curve.new_curve. - Added pluggable
compas.geometry.surfaces.surface.new_surface. - Added
compas.artists.CurveArtist. - Added
compas.artists.SurfaceArtist. - Added
compas_rhino.artists.CurveArtist. - Added
compas_rhino.artists.SurfaceArtist. - Added
compas_ghpython.artists.CurveArtist. - Added
compas_ghpython.artists.SurfaceArtist. - Added
compas_blender.artists.CurveArtist. - Added
compas_blender.artists.SurfaceArtist. - Added
compas_rhino.utilities.draw_curves. - Added
compas_rhino.utilities.draw_surfaces. - Added
compas_blender.utilities.draw_curves. - Added
compas_blender.utilities.draw_surfaces. - Added
rgbaandrgba255properties tocompas.colors.Color. - Added
from_namemethod tocompas.colors.Color. - Added Python 3.10 support.
- Added
RobotModel.ur5for the sake of example.
Changed
- Fixed bug in
mesh_slice_plane(),Mesh.slice_plane(). - Changed
compas_rhino.geometry.RhinoNurbsSurface.closest_pointto fix bug of rhino_curve to rhino_surface, plus return tuple instead. - Changed
compas_plotters.plotter.Plotterto normal class instead of singleton. - Moved functionality of
compas.utilities.coerciontocompas.data. - Fixed bug in
compas.geometry.NurbsSurface.to_triangles(). - Renamed docs site folders
latesttostableanddevtolatest. - Rebased
compas.geometry.NurbsCurveoncompas.geometry.Curve. - Rebased
compas.geometry.NurbsSurfaceoncompas.geometry.Surface. - Rebased
compas_rhino.geometry.RhinoNurbsCurveoncompas.geometry.NurbsCurveandcompas_rhino.geometry.RhinoCurve. - Rebased
compas_rhino.geometry.RhinoNurbsSurfaceoncompas.geometry.NurbsSurfaceandcompas_rhino.geometry.RhinoSurface. - Fixed error message for unsupported joint types.
- Fixed support for non-standard URDF attributes on limit and mesh geometry.
- Fixed data serialization for URDF materials without color.
- Removed geometric primitives (
Origin,Box,Sphere,CylinderandCapsule) fromcompas.robotsand replaced them with the core ones fromcompas.geometry. The old names are still available but deprecated. - Deprecated the
load_meshmethod ofcompas.robots.AbstractMeshLoaderand its sub-classes in favor ofload_meshes. - Fixed bug in
compas_rhino.conversions.RhinoGeometry.transform.
Removed
- Removed
compas.geometry.Collection. - Removed
compas.geometry.CollectionNumpy. - Removed
compas.geometry.PointCollection. - Removed
compas.geometry.PointCollectionNumpy. - Removed
compas.interop. - Removed
numba;compas.numerical.drxwill be moved to a dedicated extension package. - Removed
ezdxf(unused). - Removed
laspy(unused). - Removed
compas_rhino.artists.MeshArtist.draw_mesh. - Removed
compas_blender.artists.MeshArtist.draw_mesh.
[1.13.3] 2021-12-17
Added
- Added
compas_plotters.artists.NetworkArtist.draw_nodelabels. - Added
compas_plotters.artists.NetworkArtist.draw_edgelabels. - Added
compas_plotters.Plotter.fontsize. - Added
INSTALLED_VERSIONvariable tocompas_rhino.installto interally inform rhino version context post-installation steps. - Added
compas_rhino.geometry.RhinoNurbsSurface. - Added
compas_rhino.geometry.surfaces.new_nurbssurfaceplugin. - Added
compas_rhino.geometry.surfaces.new_nurbssurface_from_parametersplugin. - Added
compas_rhino.geometry.surfaces.new_nurbssurface_from_pointsplugin. - Added
compas_rhino.geometry.surfaces.new_nurbssurface_from_fillplugin. - Added
compas_rhino.geometry.surfaces.new_nurbssurface_from_stepplugin. - Added
compas_rhino.conversions.RhinoSurface.to_compas.
Changed
- Fixed bug in inheritance of
compas_plotters.artists.NetworkArtist. - Changed
compas_plotters.artists.MeshArtist.draw_edgesto ignore edge direction for assignment of edge colors and widths. - Changed
compas_plotters.artists.MeshArtist.draw_vertexlabelsto usecompas_plotters.Plotter.fontsize. - Changed
compas_plotters.artists.MeshArtist.draw_edgelabelsto usecompas_plotters.Plotter.fontsize. - Changed
compas_plotters.artists.MeshArtist.draw_facelabelsto usecompas_plotters.Plotter.fontsize. - Fixed bug in
compas_rhino.conversions.plane_to_compas_frame. - Changed implementation of
compas.geometry.NurbsSurface.xyz. - Fixed bug in
compas.geometry.NurbsSurface.to_mesh. - Changed
compas_rhino.geometry.RhinoNurbsSurface.from_pointsto use transposed points. - Fixed bug in
compas_rhino.conversions.RhinoSurface.to_compas_mesh.
Removed
[1.13.2] 2021-12-11
Added
- Added
compas_ghpython.fetch_ghio_libto simplify the loading of Grasshopper's IO library for extension developers.
Changed
Removed
[1.13.1] 2021-12-11
Added
Changed
- Fixed bug in
Grasshopperplugin path on Windows. - Fixed bug in
GrasshopperUserObjectsuninstall.
Removed
[1.13.0] 2021-12-10
Added
- Added
compas_rhino.DEFAULT_VERSION. - Added
cleanoption tocompas_rhino.installto remove existing symlinks if they cannot be imported from the current environment. - Added basic implementation of
compas.datastructures.Assembly. - Added
compas.is_grasshopper. - Added
compas.GH. - Added
compas.artists.Artist.CONTEXT. - Added
compas.artists.Artist.AVAILABLE_CONTEXTS. - Added
compas.artists.artist.register_artistspluggable.
Changed
- Updated
pr-checksworkflow for checking Changelog entry. - Fixed return value of attributes of empty
compas_rhino.geometry.RhinoNurbsCurve. - Fixed error in parameter list of
compas_rhino.geometry.curves.new_nurbscurve. - Fixed error in parameter list of
compas_rhino.geometry.curves.new_nurbscurve_from_interpolation. - Fixed error in parameter list of
compas_rhino.geometry.curves.new_nurbscurve_from_step. - Changed
compas_rhino.installto remove broken symlinks. - Changed
compas_rhino.installto reinstall broken symlinks if they can be imported from the current environment. - Changed
compas_rhino.uninstallto remove broken symlinks. - Changed
compas_rhino.install_pluginto remove broken symlinks. - Changed default Rhino version for installation to
7.0. - Fixed bug in
compas_ghpythonrelated to importingGrasshopperprematurely. - Changed
compas.artists.Artist.ITEM_ARTISTto context-based dict. - Changed
compas_rhino.__init__.pyfunctions. - Changed
compas_ghpython.__init__.pyfunctions. - Renamed
compas_ghpython.get_grasshopper_plugin_pathtocompas_ghpython.get_grasshopper_managedplugin_path.
Removed
- Removed
compas.artists.artist.new_artistpluggable.
[1.12.2] 2021-11-30
Added
Changed
- Moved import of
subprocessto top of filecompas._os.py.
Removed
[1.12.1] 2021-11-29
Added
Changed
- Fixed bug in
compas_rhino.conversions.RhinoPoint.from_geometry. - Changed
compas_rhino.installto remove broken symlinks. - Changed
compas_rhino.installto reinstall broken symlinks if they can be imported from the current environment. - Changed
compas_rhino.uninstallto remove broken symlinks. - Changed
compas_rhino.install_pluginto remove broken symlinks.
Removed
[1.12.0] 2021-11-17
Added
- Added
CircleArtist,LineArtist,PointArtist,PolygonArtist,PolylineArtist, andVectorArtisttocompas_blender. - Added
draw_circlesanddraw_planestocompas_blender. - Added
compas_rhino.geometry.curvesplugins forcompas.geometry.curvespluggables. - Added
compas_rhino.geometry.RhinoNurbsCurve. - Added
to_compas_quadmeshtocompas_rhino.conversions.RhinoSurface.
Changed
- Replaced implementation of
RGBColourandFloatwith deprecation warning incompas.utilities.descriptors. - Moved all Rhino geometry and objects wrappers to
compas_rhino.conversions. - Fixed bug in
compas_rhino.conversions.RhinoSurface.from_geometry. - Changed
compas_rhino.conversions.RhinoLine.from_geometryto accept line curves. - Fixed bug in
compas_rhino.geometry.RhinoNurbsCurve.closest_point. - Modify
to_compas_meshincompas_rhino.conversions.RhinoSurfaceto use brep loops.
Removed
[1.11.1] 2021-11-09
Added
Changed
- Changed
compas_rhino.uninstallto also remove broken symlinks if no specific packages are provided for un-installation. - Changed
compas_rhino.installto also remove broken symlinks.
Removed
[1.11.0] 2021-11-08
Added
- Added halfedge loops in
compas.datastructures.Halfedge.halfedge_loop. - Added halfedge strips in
compas.datastructures.Halfedge.halfedge_strip. - Added
compas.datastructures.mesh_split_stripandcompas.datastructures.Mesh.split_strip. - Added boundingbox to
compas_rhino.conduits.BaseConduit
Changed
- Fixed bug in combination of
compas_rhino.artists.MeshArtist.draw_meshandcompas_rhino.utilities.drawing.draw_mesh. - Fixed bug in continuous loops in
compas.datastructures.Halfedge.edge_loop. - Fixed bug in continuous strips in
compas.datastructures.Halfedge.edge_strip. - Changed abstract method
compas.artists.MeshArtist.draw_meshto implemented method incompas_plotters.artists.MeshArtist.draw_mesh.
Removed
[1.10.0] 2021-11-04
Added
- Added
compas.geometry.Curveandcompas.geometry.NurbsCurve. - Added
compas.geometry.Surfaceandcompas.geometry.NurbsSurface. - Added pluggables for
compas.geometry.NurbsCurve.__new__,compas.geometry.NurbsCurve.from_parameters,compas.geometry.NurbsCurve.from_points,compas.geometry.NurbsCurve.from_interpolation,compas.geometry.NurbsCurve.from_step. - Added pluggables for
compas.geometry.NurbsSurface.__new__,compas.geometry.NurbsSurface.from_parameters,compas.geometry.NurbsSurface.from_points,compas.geometry.NurbsSurface.from_fill,compas.geometry.NurbsSurface.from_step. - Added missing implementations for abstract clear methods of
compas_rhino.artists.volmeshartist. - Added
compas_rhino.geometry.RhinoBox,compas_rhino.geometry.RhinoCircle,compas_rhino.geometry.RhinoCone,compas_rhino.geometry.RhinoCurve,compas_rhino.geometry.RhinoCylinder,compas_rhino.geometry.RhinoEllipse,compas_rhino.geometry.RhinoLine,compas_rhino.geometry.RhinoMesh,compas_rhino.geometry.RhinoPlane,compas_rhino.geometry.RhinoPoint,compas_rhino.geometry.RhinoPolyline,compas_rhino.geometry.RhinoSphere,compas_rhino.geometry.RhinoSurface,compas_rhino.geometry.RhinoVectoras wrappers for working with Rhino geometry through geometry conversions or coercion of doc objects. - Added
compas_rhino.conversionsfrom COMPAS geometry to Rhino geometry and vice versa, for primitives, shapes, curves, surfaces, meshes. - Added
compas_rhino.coercionfrom Rhino doc objects to Rhino geometry compatible with COMPAS geometry.
Changed
- Fixed bug in directions of
compas.datastructures.Mesh.from_meshgrid. - Fixed bug in Rhino mesh face drawing.
- Fixed bug related to legacy uninstall on Rhino for Mac.
Removed
[1.9.3] 2021-11-02
Added
Changed
- Changed default path for Rhino 7 legacy install cleanup to Rhino7.app in
compas_rhino.__init__.py. - Changed z-coordinate of
compas.datastructures.Mesh.from_meshgridto0.0instead of0.
Removed
[1.9.2] 2021-11-02
Added
- Added
draw_meshmethod tocompas_ghpython.artists.MeshArtistto match all other mesh artists.
Changed
- Changed new artist registration to check if subclass.
- Fixed
RobotModelArtistfor blender: missing abstract method impl and handle init order.
Removed
[1.9.1] 2021-10-22
Added
- Added
Plane.offset. - Added
is_mesh_closedproperty tocompas.datastructures.mesh_slice_plane.
Changed
- Fixed backward compatibility problem with artists by adding back
Artist.buildandArtist.build_as. - Fixed backward compatibility problem with artists by adding
compas_rhino.artists.BaseArtistalias forcompas_rhino.artists.RhinoArtist.
Removed
[1.9.0] 2021-10-21
Added
- Added
draw_vertexlabels,draw_edgelabels,draw_facelabels,draw_vertexnormals, anddraw_facenormalstocompas_blender.artists.MeshArtist. - Added optional
triangulatedflag toto_vertices_and_facesof all shapes. - Added
compas.geometry.Geometrybase class. - Added
__add__,__sub__,__and__tocompas.geometry.Shapefor boolean operations using binary operators. - Added
is_closedtocompas.geometry.Polyhedron. - Added
Plane.offset. - Added
compas.artists.Artist. - Added pluggable
compas.artists.new_artist. - Added plugin
compas_rhino.artists.new_artist_rhino. - Added plugin
compas_blender.artists.new_artist_blender. - Added
compas.artist.DataArtistNotRegistered. - Added
draw_node_labelsanddraw_edgelabelstocompas_blender.artists.NetworkArtist. - Added
compas_blender.artists.RobotModelArtist.clear. - Added
compas_blender.geometry.booleansas plugin for boolean pluggables. - Added version-based installation for Blender.
- Added several shape artists to
compas_ghpython:BoxArtist,CapsuleArtist,ConeArtist,CylinderArtist,PolygonArtist,PolyhedronArtist,SphereArtist,TorusArtistandVectorArtist. - Added support for CLR generic dictionaries to the
compas.datadecoders. - Added
Graph.node_sample,Graph.edge_sample. - Added
Halfedge.vertex_sample,Halfedge.edge_sample,Halfedge.face_sample. - Added
Halfface.vertex_sample,Halfface.edge_sample,Halfface.face_sample,Halfface.cell_sample. - Added
Mesh.from_meshgrid.
Changed
- Fixed bug in
compas_blender.draw_texts. - Changed
compas_rhino.artists.BaseArtisttocompas_rhino.artists.RhinoArtist. - Changed
compas_blender.artists.BaseArtisttocompas_blender.artists.BlenderArtist. - Changed default resolution for shape discretisation to 16 for both u and v where relevant.
- Changed base class of
compas.geometry.Primitiveandcompas.geometry.Shapetocompas.geometry.Geometry. compas_blender.artists.RobotModelArtist.collectioncan be assigned as a Blender collection or a name.- Generalized the parameter
colorofcompas_blender.draw_textsand various label drawing methods. - Changed
compas.IPYtocompas.RHINOinorientation_rhino. - Changed
planaritytorequires_extrafor pip installations. - Fixed bug in handling of ngonal meshes in
compas_ghpythonartists / drawing functions.
Removed
[1.8.1] 2021-09-08
Added
Changed
Removed
[1.8.0] 2021-09-08
Added
- Added pluggable function
trimesh_sliceincompas_rhino. - Added equality comparison for pointclouds.
- Added
compas.data.is_sequence_of_uint. - Added general plotter for geometry objects and data structures based on the artist registration mechanism.
- Added support for multimesh files to OBJ reader/writer.
- Added support for attaching and detaching meshes in
compas.robots.RobotModelArtistand drawing them. - Added
reshapeincompas.utilities. - Added
compas.geometry.NurbsCurve. - Added
compas.geometry.NurbsSurface. - Added
compas_rhino.conversions. - Added
compas_rhino.geometry.RhinoBox. - Added
compas_rhino.geometry.RhinoCone. - Added
compas_rhino.geometry.RhinoCylinder. - Added
compas_rhino.geometry.RhinoPolyline. - Added
compas_rhino.geometry.RhinoSphere. - Added basic implementation of
compas.datastructures.Assembly. - Added
meshesmethod to artists ofcompas.robots.RobotModel. - Added
FrameArtistclass tocompas_blender.
Changed
compas.robots.Axisis now normalized upon initialization.- Fixed a bug in
compas.numerical.dr_numpywhen using numpy array as inputs. - Allowed for varying repository file structures in
compas.robots.GithubPackageMeshLoader. - Fixed data schema of
compas.geometry.Polyline,compas.geometry.Polygon,compas.geometry.Pointcloud. - Fixed
Configuration.from_datato be backward-compatible with JSON data generated beforecompas 1.3.0. - Changed
compas_rhino.drawing.draw_brepsto assume provided polygon is closed and automatically add missing corner to polycurve constructor. - Changed conversion of edges and faces to uniques keys for the data dicts to use the string representation of a sorted tuple of identifiers.
- Added
dtypeto JSON decoding error message. - Moved
compas.datastructures.mesh.core.halfedge.HalfEdgetocompas.datastructures.halfedge.halfedge.HalfEdge - Moved
compas.datastructures.network.core.graph.Graphtocompas.datastructures.graph.graph.Graph.
Removed
- Removed
compas.datastructures.mesh.core.mesh.BaseMesh. - Removed
compas.datastructures.BaseNetwork.
[1.7.1] 2021-06-14
Added
Changed
- Fixed bundling of ghuser components.
Removed
[1.7.0] 2021-06-14
Added
Changed
compas.robots.Axisis now normalized upon initialization.- Fixed a bug in
compas.numerical.dr_numpywhen using numpy array as inputs. - Allowed for varying repository file structures in
compas.robots.GithubPackageMeshLoader. - Remove default implementation of
__str__for data objects.
Fixed
- Fixed
Configuration.from_datato be backward-compatible with JSON data generated beforecompas 1.3.0.
Removed
[1.7.1] 2021-06-14
Added
Changed
- Fixed bundling of ghuser components.
Removed
[1.7.0] 2021-06-14
Added
- Added pluggable function
trimesh_gaussian_curvatureincompas_rhino. - Added pluggable function
trimesh_mean_curvatureincompas_rhino. - Added pluggable function
trimesh_principal_curvatureincompas_rhino. - Added
copyanddeepcopyfunctionality tocompas.robots.Configuration. - Added
compas.data.is_sequence_of_intandcompas.data.is_sequence_of_float. - Added
compas.data.Data.JSONSCHEMANAME. - Added
kwargsto all child classes ofcompas.data.Data. - Added grasshopper component for drawing a frame.
- Added
draw_originanddraw_axes. - Added
compas.PY2.
Changed
- Allow str or int as joint type in
compas.robots.Jointconstructor. - Moved json schemas to
compas.data. - Nested json schemas.
compas_ghpython.artists.FrameArtist.drawnow draws a Rhino Plane.- Fixed bugs in
compas.geometry.bestfit_circle_numpy. - Changed directory where ghuser components are installed.
- Added ghuser components directory to those removed by the
cleantask. - Clean up the ghuser directory before building ghuser components.
- Exposed function
draw_brepsincompas_rhino.utilities; example added. - Added
joinflag to functiondraw_brepsincompas_rhino.utilities - Fixed bug in
compas.geometry.distance.closest_point_on_segment_xy. - Fixed bug in Rhino implementations of
trimeshcurvature functions.
Removed
[1.6.3] 2021-05-26
Added
- Added
compas.topology.astar_lightest_path. - Added JSONSCHEMA definitions for primitives and transformations.
- Added schema implementation to primitives and transformations.
- Added JSONSCHEMA implementation to primitives and transformations.
- Added
compas.data.is_int3,compas.data.is_float3,compas_data.is_float4x4.
Changed
- Extended
compas.topology.astar_shortest_pathto work oncompas.datastructures.Meshandcompas.datastructures.Network. - Fixed
compas.data.Data.to_jsonstring. - Changed
compas.data.Data.data.setterto raiseNotImplementedError. - Changed annotations of
compas_blender.artists.BaseArtist. - Fixed
__repr__for primitives, shapes, transformations.
Removed
- Removed duplicate cases from
compas.data.DataEncoder.
[1.6.2] 2021-05-12
Added
Changed
Removed
[1.6.1] 2021-05-12
Added
Changed
Removed
[1.6.0] 2021-05-12
Added
- Added infrastructure for building Grasshopper components for compas packages.
- Added first Grasshopper component: COMPAS Info.
- Added Grasshopper components for JSON serialization.
- Added
compas_rhino.utilities.set_object_attributes. - Added
from_jsonstringandto_jsonstring. - Added Grasshopper component documentation.
Changed
- Moved json dump and load to data package.
- Changed parameters and return value of
compas_rhino.utilities.get_object_attributes. - Removed
doctestexecution code from src. - Removed
if __name__ == '__main__'section from src. - Optimized the conversion of Rhino Meshes to COMPAS meshes.
- Fix issue with GH User symlink created as directory symlink on some cases.
Removed
[1.5.0] 2021-04-20
Added
- Added support for file-like objects, path strings and URLs to most of the methods previously accepting only file paths, eg.
compas.datastructures.Datastructure,compas.json_dump,compas.json_load, etc. - Added
prettyparameter tocompas.json_dumpandcompas.json_dumps. - Added
compas.data.Dataas base object for all data objects (geometry, data structures, ...).
Changed
- Moved
compas.utilities.DataEncodertocompas.data. - Moved
compas.utilities.DataDecodertocompas.data. - Changed base object of
compas.datastructures.Datastructuretocompas.data.Data. - Changed base object of
compas.geometry.Primitivetocompas.data.Data. - Renamed
BasetoDatafor all data based classes. - Fixed calculation of triangle normals.
- Fixed calculation of triangle areas.
Removed
[1.4.0] 2021-04-09
Added
- Added Python 3.9 support.
- Added crease handling to catmull-clark subdivision scheme.
- Added
compas_ghpython.get_grasshopper_userobjects_pathto retrieve User Objects target folder. - Added direction option for mesh thickening.
- Added check for closed meshes.
- Added 'loop' and 'frames' to schemes of
compas.datastructures.mesh.subdivision.mesh_subdivide.
Changed
- Fixed box scaling.
- Fixed a bug in
Polyline.divide_polyline_by_lengthrelated to a floating point rounding error. - Fixed bug in
RobotModel.zero_configuration. - Fixed bug in
compas.geometry.normals. - Fixed bug in
compas.datastructures.mesh.subdivision.mesh_subdivide_frames.
Removed
[1.3.0] 2021-03-26
Added
- Added a
invertandinvertedmethodcompas.geometry.Vector. - Added unetary
__neg__operator forcompas.geometry.Vector. - Added
compas.robots.Configuration, moved fromcompas_fab.
Changed
- Fixed rhino packages installation to remove duplicates
Removed
[1.2.1] 2021-03-19
Added
Changed
Removed
- Fixed API removals from 1.0.0 -> 1.2.0
[1.2.0] 2021-03-18
Added
- Added
divide_polyline,divide_polyline_by_length,Polyline.split_at_cornersandPolyline.tangent_at_point_on_polyline. - Added the magic method
__str__tocompas.geoemetry.Transformation. - Added
redrawflag to thecompas_rhinomethodsdelete_object,delete_objectsandpurge_objects. - Added the
__eq__method forcompas.geometry.Circleandcompas.geometry.Line. - Added support for Pylance through static API definitions.
- Added
halfedge_stripmethod tocompas.datastructures.HalfEdge.
Changed
- Fixed bug where mimic joints were considered configurable.
- Fixed bug where
!=gave incorrect results in Rhino for some compas objects. - Fixed bug where
compas_rhino.BaseArtist.redrawdid not trigger a redraw. - Fixed minor bugs in
compas.geometry.Polylineandcompas.geometry.Polygon. - Fixed very minor bugs in
compas.geometry.Frameandcompas.geometry.Quaternion. - Fixed bug in
compas_rhino.objects.MeshObject.modify. - Fixed bug in
compas_rhino.objects.MeshObject.modify_vertices. - Fixed bug in
compas_rhino.objects.MeshObject.modify_edges. - Fixed bug in
compas_rhino.objects.MeshObject.modify_faces. - Fixed bug in
compas_rhino.objects.VolMeshObject.modify. - Fixed bug in
compas_rhino.objects.VolMeshObject.modify_vertices. - Fixed bug in
compas_rhino.objects.VolMeshObject.modify_edges. - Fixed bug in
compas_rhino.objects.VolMeshObject.modify_faces. - Fixed bug in
compas_rhino.objects.NetworkObject.modify. - Fixed bug in
compas_rhino.objects.NetworkObject.modify_vertices. - Fixed bug in
compas_rhino.objects.NetworkObject.modify_edges. - Changed
compas_rhino.objects.inspecttocompas_rhino.objects.inspectors. - Changed
compas_rhino.objects.selecttocompas_rhino.objects._select. - Changed
compas_rhino.objects.modifytocompas_rhino.objects._modify.
Removed
[1.1.0] 2021-02-12
Added
- Added
RobotModel.remove_link,RobotModel.remove_joint,RobotModel.to_urdf_string, andRobotModel.ensure_geometry. - Added Blender Python-example to the documentation section: Tutorials -> Robots
- Added
compas_blender.unload_modules. - Added
after_rhino_installandafter_rhino_uninstallpluggable interfaces to extend the install/uninstall with arbitrary steps.
Changed
- Fixed bug in parameter list of function
mesh_bounding_boxbound as methodMesh.bounding_box. - Fixed bug in
RobotModel/RobotModelArtist.updatewhich raised an error when the geometry had not been loaded. - Changed exception type when subdivide scheme argument is incorrect on
mesh_subdivide. - The
compas_rhino.artist.RobotModelArtistfunctionsdraw_visualanddraw_collisionnow return list of newly created Rhino object guids. - Added ability of
RobotModel.add_linkto accept primitives in addition to meshes. - Fixed bug regarding the computation of
Joint.current_origin. - Fixed bug regarding a repeated call to
RobotModel.add_joint. - Fixed bug in
compas_blender.RobotModelArtist.update. - Fixed bug in
compas.datastructures.mesh_slice_plane. - Fixed bug where initialising a
compas_blender.artists.Robotmodelartistwould create a new collection for each mesh and then also not put the mesh iton the created collection. - Changed the initialisation of
compas_blender.artists.Robotmodelartistto include acollection-parameter instead of alayer-parameter to be more consistent with Blender's nomenclature. - Used a utility function from
compas_blender.utilitiesto create the collection if none exists instead of using a new call to a bpy-method.
Removed
[1.0.0] 2021-01-18
Added
- Added
compas.datastructures.mesh.trimesh_samplepoints_numpy.
Changed
- Fix Rhino7 Mac installation path
- Separate
compas.robots.Joint.origininto the static parent-relativeoriginand the dynamic world-relativecurrent_origin. - Separate
compas.robots.Joint.axisinto the static parent-relativeaxisand the dynamic world-relativecurrent_axis. - Fixed support to convert back and forth between
compas.datastructures.Graphand NetworkXDiGraph.
Removed
[0.19.3] 2020-12-17
Added
Changed
- Fix bug in
compas.datastructures.Network.neighborhood.
Removed
[0.19.2] 2020-12-17
Added
Changed
- Changed
compas._os.prepare_environmentto prepend environment paths (fixes problem with RPC on windows).
Removed
[0.19.1] 2020-12-10
Added
Changed
- Fix bug in
compas.datastructures.AttributesView.
Removed
[0.19.0] 2020-12-09
Added
- Added
is_osx.
Changed
- Fix default namespace handling in URDF documents.
- Allow custom/unknown attributes in URDF
Dynamicselement. - Moved os functions from
compastocompas._os. - Fixed bug in
is_linux. - Changed
is_windowsto work for CPython and IronPython. - Changed
compas._osfunctions to useis_windows,is_mono,is_osx. - Changed IronPython checks to
compas.IPYinstead ofcompas.is_ironpython. - Fixed data serialization in
compas.datastructures.HalfFace.
Removed
- Removed all implementations of
draw_collection.
[0.18.1] 2020-12-01
Added
- Added URDF and XML writers.
- Added
compas.robots.RobotModel.to_urdf_file. - Added
compas.files.URDF.from_robot.
Changed
- Changed implementation of
Mesh.vertices_on_boundariesto account for special cases. - Changed
Mesh.edges_on_boundariescorresponding toMesh.vertices_on_boundaries. - Changed
Mesh.faces_on_boundariescorresponding toMesh.vertices_on_boundaries. - Changed
Mesh.vertices_on_boundaryto return vertices of longest boundary. - Changed
Mesh.edges_on_boundaryto return edges of longest boundary. - Changed
Mesh.faces_on_boundaryto return faces of longest boundary. - Fixed default value for
compas.robots.Axis. - Changed surface to mesh conversion to include cleanup and filter functions, and use the outer loop of all brep faces.
Removed
[0.18.0] 2020-11-24
Added
- Added
remap_valuestocompas_utilities. - Added
compas.datastructures.mesh_slice_plane. - Added
compas.json_dump,compas.json_dumps,compas.json_load,compas.json_loads.
Changed
- Fixed bug in
compas.datastructures.Network.delete_node. - Fixed bug in
compas.datastructures.Network.delete_edge. - Fixed bug in select functions for individual objects in
compas_rhino.utilities. - Fixed bug in
compas.datastructures.mesh_merge_faces. - changed base of
compas.geometry.Transformationtocompas.base.Base.
Removed
- Removed
compas.datastructures.mesh_cut_by_plane.
[0.17.3] 2020-11-20
Added
Changed
- Fixed bug in
compas.geometry.is_coplanar. - Fixed bug in
compas.datastructures.mesh_merg_faces. - Fixed bug in
compas.robots.RobotModel.add_link. - Fixed bug in
compas.datastructures.Volmesh.cell_to_mesh.
Removed
[0.17.2] 2020-11-04
Added
Changed
- Fixed bug in
__getstate__,__setstate__ofcompas.base.Base. - Fixed bug in
compas_rhino.artists.MeshArtistandcompas_rhino.artists.NetworkArtist. - Changed length and force constraints of DR to optional parameters.
- Removed
ABCMetafrom the list of base classes of several objects in compas.
Removed
[0.17.1] 2020-10-28
Added
- Added
compas_rhino.artists.BoxArtist.draw_collection. - Added option to show/hide vertices, edges, and faces in
compas_rhino.artists.CapsuleArtist.draw. - Added option to show/hide vertices, edges, and faces in
compas_rhino.artists.ConeArtist.draw. - Added option to show/hide vertices, edges, and faces in
compas_rhino.artists.CylinderArtist.draw. - Added option to show/hide vertices, edges, and faces in
compas_rhino.artists.PolyhedronArtist.draw. - Added option to show/hide vertices, edges, and faces in
compas_rhino.artists.SphereArtist.draw. - Added option to show/hide vertices, edges, and faces in
compas_rhino.artists.TorusArtist.draw. - Added option to show/hide vertices, edges, and faces in
compas_rhino.artists.PolygonArtist.draw. - Added option to show/hide vertices, edges, and faces in
compas_rhino.artists.PolylineArtist.draw. - Added option to show/hide vertices, edges, and faces in
compas_rhino.artists.VectorArtist.draw.
Changed
- Changed implementation of
compas_rhino.artists.BoxArtist.draw. - Fixed bug in
compas.geometry.Capsule. - Fixed bug in
compas.geometry.Cone. - Changed
compas_rhino.draw_meshto support Ngons if available. - Fixed bug in polyhedron data.
Removed
- Removed
compas_rhino.artists.PointArtist.draw_collection. - Removed
compas_rhino.artists.CircleArtist.draw_collection. - Removed
compas_rhino.artists.LineArtist.draw_collection.
[0.16.9] 2020-10-21
Added
- Added binary STL writer.
- Added constructor
from_euler_anglestocompas.geometry.Transformation. - Added method for adding objects from a list to
compas_plotters.GeometryPlotter. - Added
compas_rhino.artists.BoxArtist. - Added
compas_rhino.artists.CapsuleArtist. - Added
compas.geometry.Polyhedron.from_halfspacesandcompas.geometry.Polyhedron.from_planes. - Added
compas.geometry.is_point_behind_planeandcompas.geometry.is_point_in_polyhedron. - Added
centroidandbounding_boxproperties tocompas.geometry.Pointcloud. - Added
edgesproperty tocompas.geometry.Box. - Added
edgesproperty tocompas.geometry.Polyhedron. - Added
compas.datastructures.network_smooth_centroid.
Changed
- Fixed bug in handling of keys in edge attribute functions of
compas.datastructures.Halfedge. - Fixed bug in
compas.geometry.Polygon.lines. - Fixed bug in
compas.geometry.Polyline.lines. - Changed
compas.geometry.Shape.to_vertices_and_facestoabstractmethod. - Fixed bug in magic methods of
compas.geometry.Box. - Fixed bug in
compas.geometry.Box.contains. - Fixed bug in
delete_vertexanddelete_faceincompas.datastructures.Halfedge. - Fixed bug in
delete_nodeofcompas.datastructures.Graph. - Fixed bug in
summarymethod ofcompas.datastructures.Graphandcompas.datastructures.Halfedge.
Removed
[0.16.8] 2020-10-14
Added
- Added
RobotModelArtisttocompas_rhino,compas_ghpythonandcompas_blender. - Added
ToolModel. - Added
compas.geometry.Pointcloud. - Added
compas.utilities.grouper. - Added
PolygonArtist,PolylineArtisttoGeometryPlotter.
Changed
Meshtakes name ofShapeinMesh.from_shape.- Fixed
zoom_extentsofGeometryPlotter.
Removed
- Removed
SegmentArtistfromcompas_plotters.
[0.16.7] 2020-10-06
Added
- Added functionality to the RPC service to automatically reload modules if a change is detected.
Changed
Removed
[0.16.6] 2020-09-30
Added
- Added
compas_plotters.geometryplotter.GeometryPlotterfor COMPAS geometry objects.
Changed
- Changed
compas.base.Base.dtypeto property. - Changed JSON schema to draft 7.
- Changed version processing to
distutils.version.LooseVersion.
Removed
[0.16.5] 2020-09-26
Added
- Added tests for halfedge data schemas.
Changed
- Fixed RGB color processing in
compas.utilities.color_to_colordict. - Fixed Blender object and dat amanagement to avoid
mallocproblems. - Updated Blender data structure artists.
- Changed Blender unused data clearing to also clear collections.
- Fixed JSON data validation of base COMPAS object.
Removed
[0.16.4] 2020-09-24
Added
Changed
- Fixed bug in
compas.geometry.Box.vertices. compas.scene.SceneObjectwill now track a list of drawn Objects/GUIDs.
Removed
[0.16.3] 2020-09-23
Added
- Added abstract
DATASCHEMAtocompas.base.Base. - Added abstract
JSONSCHEMAtocompas.base.Base. - Added
validate_datatocompas.base.Base. - Added
validate_jsontocompas.base.Base. - Added implementation of
DATASCHEMAtocompas.datastructures.Halfedge. - Added implementation of
JSONSCHEMAtocompas.datastructures.Halfedge. - Added
NodeAttributeView. - Added implementation of
DATASCHEMAtocompas.datastructures.Graph. - Added implementation of
JSONSCHEMAtocompas.datastructures.Graph. - Added
compas.rpc.Proxy.restart_server. - Added
compas_rhino.objects.NetworkObject. - Added constructors
from_matrixandfrom_rotationtocompas.geometry.Quaternion. - Added
draw_collectionmethods to Grasshopper artists.
Changed
- Updated naming conventions in
compas.datastructures.HalfFaceandcompas.datastructures.VolMesh - Moved
compas.datastructures.Datastructuretocompas.datastructures.datastructure. - Changed base class of
compas.datastructures.Datastructuretocompas.base.Base. - Changed
from_jsontoto_jsonof meshes to use encoders and decoders. - Moved
MutableMappingtocompas.datastructures._mutablemapping. - Moved attribute views to
compas.datastructure.attributes.
Removed
- Removed
from_json,to_json,to_data,copy,transformedfrom primitives, defaulting to the base implementation incompas.geometry.Primitive. - Removed
from_json,to_json,to_data,copy,__str__, from datastructures, defaulting to the base implementation incompas.datastructure.Datastructure.
[0.16.2] 2020-08-06
Added
- Added plugin system based on decorators:
compas.plugins.pluggable&compas.plugins.plugin. - Added
compas_rhinoimplementation of the boolean operation pluggable interfaces (union/difference/intersection). - Added
compas.datastructures.Mesh.transform_numpy. - Added
PluginNotInstalledError. - Added
compas.geometry.booleans. - Added tolerance parameter to angle functions.
- Added support for Rhino 7 in install/uninstall routines.
- Added install/uninstall for Rhino plugins (with support for Rhino 7).
- Added base class for all COMPAS objects
compas.base.Base. - Added base class for all Rhino objects representing COMPAS objects
compas_rhino.objects.Object. - Added mesh object representing COMPAS meshes in Rhino
compas_rhino.objects.MeshObject. - Added the methods
to_dataandfrom_datatocompas.robots.RobotModel.
Changed
- Restructure and reorganize volmesh datastructure
- Fixed scaling bug in
compas.geometry.Sphere - Fixed bug in
compas.datastructures.Mesh.add_vertex. - Fixed performance issue affecting IronPython when iterating over vertices and their attributes.
- Changed return value of drawing functions of
compas_rhino.artists.MeshArtistto list of GUID. - Changed return value of drawing functions of
compas_rhino.artists.NetworkArtistto list of GUID. - Moved "inspectors" to
compas_rhino.objects. - Moved "modifiers" to
compas_rhino.objects. - Connection attempts can now be set for
compas.Proxy.start_serverusing the attributeProxy.max_conn_attempts. Scale.from_factorscan now be created from anchor frame.- Changed vertex reading of PLY files to include all property information.
Removed
- Removed CGAL based boolean implementations.
- Removed artist mixins from
compas_rhino. - Removed
clear_functions fromcompas_rhino.artists.MeshArtist. - Removed
clear_functions fromcompas_rhino.artists.NetworkArtist. - Removed
to_data,from_datafromcompas_rhino.artists. - Removed
compas_rhino.artists.BoxArtiststub. - Removed references to "edge" dict from
compas.datastructures.VolMesh.
[0.16.1] 2020-06-08
Added
Changed
- Fixed scaling bug in
compas.geometry.Sphere
Removed
[0.16.0] 2020-06-05
Added
- Added
compas_rhino.geometry.RhinoVector. - Added basic mesh cutting (
compas.datastructures.Mesh.cut()). - Added
compas.datastructures.Mesh.join(other). - Added
compas.geometry.argminandcompas.geometry.argmax. - Added STL witer.
- Added
compas.datastructures.Mesh.to_stl. - Added
unweldoption to obj writing.
Changed
- Fixed bug in
FaceAttributeView.__get_item__: access to default was tried before attrs. - Fixed bug in
EdgeAttributeView.__get_item__: access to default was tried before attrs. - Changed
VertexAttributeView.__get_item__to follow access logic ofFaceAttributeView. - Fixed bug in
draw_edgesincompas_rhino'sEdgeArtist. - Fixed bug in
draw_edgesincompas_ghpython'sEdgeArtist. - Fixed bug in
compas_rhino.geometry.RhinoSurface.brep_to_compas. - Fixed bug in
compas.geometry.Box.from_bounding_box - Fixed bug in
compas.geometry.Box.from_width_height_depth - Fixed inconsistencies in
compas.geometry._transformations. - Renamed
compas.geometry.Frame.to_local_coordstocompas.geometry.Frame.to_local_coordinates - Renamed
compas.geometry.Frame.to_world_coordstocompas.geometry.Frame.to_world_coordinates - Renamed
compas.geometry.Transformation.change_basistocompas.geometry.Transformation.from_change_of_basis - Renamed
compas.geometry.matrix_change_basistocompas.geometry.matrix_from_change_of_basis - Renamed
compas.geometry.Projection.orthogonaltocompas.geometry.Projection.from_planeand changed input params - Renamed
compas.geometry.Projection.paralleltocompas.geometry.Projection.from_plane_and_directionand changed input params - Renamed
compas.geometry.Projection.perspectivetocompas.geometry.Projection.from_plane_and_pointand changed input params - Changed constructor of all
compas.geometry.Transformationand derivatives. Preferred way of creating anycompas.geometry.Transformationis with the classmethodsfrom_* - Changed params (point, normal) into plane for
compas.geometry.matrix_from_parallel_projection,compas.geometry.matrix_from_orthogonal_projectionandcompas.geometry.matrix_from_perspective_projection
Removed
[0.15.6] 2020-04-27
Added
- Extended glTF support.
- Added classmethod
from_geometrytoRhinoMesh - Added
intersection_sphere_line - Added
intersection_plane_circle - Added
tangent_points_to_circle_xy - Added basic OBJ file writing.
- Added
Mesh.to_obj.
Changed
- Fixed bug in
Box.from_bounding_box. - Updated Blender installation docs for latest release.
- Fixed
robot.forward_kinematics()when requested for base link. - Fixed bug in
to_compasconversion of Rhino meshes. - Fixed bug where
compas.geometry.Primitivederived classes cannot be serialized by jsonpickle.
Removed
[0.15.5] 2020-03-29
Added
- Added classmethod
from_geometrytoRhinoMesh. - Added conversion to polygons to
BaseMesh. - Re-added length, divide, space methods of
RhinoCurve. - Added basic OFF file writing.
- Added basic PLY file writing.
- Added
Mesh.to_ply. - Added
Mesh.to_off.
Changed
- Fixed object naming in artists of
compas_ghpython. - Resizing of Rhino property form.
- Fixed orientation of
RhinoSurfacediscretisation. - Check for existence of object in Rhino purge functions.
- Fixed bug in mesh boundary functions.
Removed
[0.15.4] 2020-03-05
Added
- Added algorithm for pulling points onto mesh.
- Added base ellipse class to geometry primitives.
- Added circle artist to plotters.
- Added mesh artist to plotters.
- Added ellipse artist to plotters.
- Added support for robot mimicking joints.
Changed
- Fixed bugs in
compas_rhino.artists.NetworkArtist. - Add conda executable path to
compas_bootstrapper.py.
Removed
[0.15.3] 2020-02-26
Added
- Added optional class parameter to
RhinoMesh.to_compas. - Added max int key to serialization of graph.
Changed
- Changed name of base mesh implementation to
BaseMesh. - Changed name of base network implementation to
BaseNetwork. - Fixed bug in face finding function.
Removed
- Removed optional requirements from setup file.
- Removed parameters from default polyhedron constructor.
[0.15.2] 2020-02-20
Added
Changed
Removed
[0.15.1] 2020-02-16
Added
- Added glTF support.
- Added graph and halfedge data structures.
- Added Rhino line geometry.
- Added Rhino plane geometry.
Changed
- Fixed
compas_hpcimport problem. - Split up topology part from geometry part for network and mesh.
- Split up network and mesh naming conventions.
- Reworked network face cycle finding.
- Updated mesh from lines.
- Updated network plotter in correspondence with network.
- Integrated mixin functionality and removed mixins.
- Meshes are now initially hidden in
compas_blender.artists.RobotModelArtist. compas_blender.artists.RobotModelArtist.draw_visualandcompas_blender.artists.RobotModelArtist.draw_collisionnow show those meshes.- Renamed the method
draw_geometryofcompas.robots.base_artist.RobotModelBaseArtisttocreate_geometry.
Removed
- Removed parallelization from network algorithms.
- Removed numba based dr implementations.
[0.15.0] 2020-01-24
Added
- Added
to_compastocompas_rhino.geometry.RhinoPoint. - Added
to_compastocompas_rhino.geometry.RhinoLine. - Added
to_compastocompas_rhino.geometry.RhinoCurve. - Added
to_compastocompas_rhino.geometry.RhinoMesh. - Added
brep_to_compastocompas_rhino.geometry.RhinoSurface. - Added
uv_to_compastocompas_rhino.geometry.RhinoSurface. - Added
heightfield_to_compastocompas_rhino.geometry.RhinoSurface. - Added
compas.datastructures.mesh_pull_points_numpy.
Changed
- Moved
compas_rhino.conduitsintocompas_rhino.artists. - Fixed bug in
compas.datastructures.Mesh.edges_where. - Fixed bug in
compas.datastructures.Mesh.faces_where. - Fixed bug in
compas.datastructures.Mesh.edge_attributes. - Fixed bug in
compas.datastructures.Mesh.face_attributes. - Fixed bug in
compas.datastructures.Mesh.edges. - Fixed bug in
compas.datastructures.Mesh.faces. - Fixed bug in
compas.datastructures.Mesh.offset.
Removed
- Removed deprecated
compas.geometry.xforms. - Removed deprecated
compas_rhino.helpers. - Removed
compas_rhino.constructors.
[0.14.0] 2020-01-21
Added
- Added
compas.datastructures.mesh.Mesh.any_vertex. - Added
compas.datastructures.mesh.Mesh.any_face. - Added
compas.datastructures.mesh.Mesh.any_edge. - Added
compas.datastructures.mesh.Mesh.vertex_attribute. - Added
compas.datastructures.mesh.Mesh.vertex_attributes. - Added
compas.datastructures.mesh.Mesh.vertices_attribute. - Added
compas.datastructures.mesh.Mesh.vertices_attributes. - Added
compas.datastructures.mesh.Mesh.edge_attribute. - Added
compas.datastructures.mesh.Mesh.edge_attributes. - Added
compas.datastructures.mesh.Mesh.edges_attribute. - Added
compas.datastructures.mesh.Mesh.edges_attributes. - Added
compas.datastructures.mesh.Mesh.face_attribute. - Added
compas.datastructures.mesh.Mesh.face_attributes. - Added
compas.datastructures.mesh.Mesh.faces_attribute. - Added
compas.datastructures.mesh.Mesh.faces_attributes. - Added mutable attribute view for mesh vertex/face/edge attributes.
Changed
- Default Mesh vertex, face, edge attributes are no longer copied and stored explicitly per vertex, face, edge, repesctively.
- Updating default attributes now only changes the corresponding default attribute dict.
- Updated
mesh_quads_to_trianglesto copy only customised face attributes onto newly created faces. - Fixed bug in
compas.geometry.is_point_in_circle. - Fixed bug in
compas.geometry.is_polygon_convex. - Fixed bug in
compas.geometry.Polygon.is_convex. - Renamed
compas.datastructures.Mesh.has_vertextocompas.datastructures.Mesh.is_vertex. - Renamed
compas.datastructures.Mesh.has_facetocompas.datastructures.Mesh.is_face. - Split
compas.datastructures.Mesh.has_edgeintocompas.datastructures.Mesh.is_edgeandcompas.datastructures.Mesh.is_halfedge.
Removed
- Removed
compas.datastructures.mesh.Mesh.get_any_vertex. - Removed
compas.datastructures.mesh.Mesh.get_any_face. - Removed
compas.datastructures.mesh.Mesh.get_any_edge. - Removed
compas.datastructures.mesh.Mesh.get_vertex_attribute. - Removed
compas.datastructures.mesh.Mesh.get_vertex_attributes. - Removed
compas.datastructures.mesh.Mesh.get_vertices_attribute. - Removed
compas.datastructures.mesh.Mesh.get_vertices_attributes. - Removed
compas.datastructures.mesh.Mesh.get_edge_attribute. - Removed
compas.datastructures.mesh.Mesh.get_edge_attributes. - Removed
compas.datastructures.mesh.Mesh.get_edges_attribute. - Removed
compas.datastructures.mesh.Mesh.get_edges_attributes. - Removed
compas.datastructures.mesh.Mesh.get_face_attribute. - Removed
compas.datastructures.mesh.Mesh.get_face_attributes. - Removed
compas.datastructures.mesh.Mesh.get_faces_attribute. - Removed
compas.datastructures.mesh.Mesh.get_faces_attributes. - Removed
compas.datastructures.mesh.Mesh.set_vertex_attribute. - Removed
compas.datastructures.mesh.Mesh.set_vertex_attributes. - Removed
compas.datastructures.mesh.Mesh.set_vertices_attribute. - Removed
compas.datastructures.mesh.Mesh.set_vertices_attributes. - Removed
compas.datastructures.mesh.Mesh.set_edge_attribute. - Removed
compas.datastructures.mesh.Mesh.set_edge_attributes. - Removed
compas.datastructures.mesh.Mesh.set_edges_attribute. - Removed
compas.datastructures.mesh.Mesh.set_edges_attributes. - Removed
compas.datastructures.mesh.Mesh.set_face_attribute. - Removed
compas.datastructures.mesh.Mesh.set_face_attributes. - Removed
compas.datastructures.mesh.Mesh.set_faces_attribute. - Removed
compas.datastructures.mesh.Mesh.set_faces_attributes. - Removed
printstatement from curvature module.
[0.13.3] 2020-01-10
Added
compas_rhino.artists.ShapeArtistas base artist for all shape artists.- Added
layer,name,colorattributes tocompas_rhino.artists.PrimitiveArtist. - Added
layer,nameattributes tocompas_rhino.artists.ShapeArtist. - Added
layer,nameattributes tocompas_rhino.artists.MeshArtist. - Added
clear_layermethod tocompas_rhino.artists.PrimitiveArtist. - Added
clear_layermethod tocompas_rhino.artists.ShapeArtist. - Added
clear_layermethod tocompas_rhino.artists.MeshArtist.
Changed
- Renamed
compas.utilities.maps.geometric_key2togeometric_key_xy. - Fixed bug in mirror functions.
- Fixed mirroring tests.
- Moved
BaseMesh,matrices,operationstocompas.datastructures.mesh.core. - Added
transformandtransformed(and others) toMesh.
Removed
compas_rhino.artists.BoxArtist- Removed
layerattribute fromcompas_rhino.artists.Artist. - Removed
clear_layermethod fromcompas_rhino.artists.Artist.
[0.13.2] 2020-01-06
Added
- File reading functions for ascii files in
compas.fileshas moved from the individual reader classes to a new parent class,BaseReader.
Changed
- Rebased
compas_rhino.artists.MeshArtiston new-style artistcompas_rhino.artists.Artist. - Renamed
compas_rhino.artists.MeshArtist.defaultstocompas_rhino.artists.MeshArtist.settings. - Changed usage of (nonexisting)
compas_rhino.get_objecttocompas_rhino.get_objects. - Integrated vertex, face, edge mixins into
compas_rhino.artists.MeshArtist. - Integrated vertex, edge mixins into
compas_rhino.artists.NetworkArtist. - Rebased
compas_rhino.artists.VolMeshArtistoncompas_rhino.artists.MeshArtist.
Removed
[0.13.0] 2019-12-16
Added
- Added DOI to bibtex entry.
- Added conversion for old mesh JSON data.
Changed
- Indirectly changed mesh serialization to JSON (by changing key conversion and moving conversion into JSON methods).
- Moved conversion of int keys of mesh data to strings for json serialization to from/to json.
- Moved from/to methods for mesh into mesh definition.
- Subdivision algorithms use fast mesh copy.
Removed
- Support for non-integer vertex and face identifiers in mesh.
[0.12.4] 2019-12-11
Added
Changed
Removed
[0.12.3] 2019-12-11
Added
- Added
mesh_subdivide_framestocompas.datastructures.subdivision
Changed
Removed
[0.12.2] 2019-12-11
Added
- Added
intersection_segment_polylinetocompas.geometry.intersections - Added
intersection_segment_polyline_xytocompas.geometry.intersections - Added
from_sides_and_radiustocompas.geometry.Polygon
Changed
- Reworked docstrings of methods in
compas.geometry.queries - Set default
tolto1e-6incompas.geometry.queries
Removed
[[0.12.1] 2019-12-10] 2019-12-10
Added
- Added inherited methods to class docs.
- Added data structure mixins to the docs.
- Added
dataandfrom_datatocompas.geometry.Polyhedron - Added explicit support for collections to
compas_blender
Changed
- Bottom face of cylinder shape should be flipped.
- Face reading mechanism of OFF reader.
compas.geometry.Boxis now centred at origin by default.
Removed
- Removed
compas.remotebecause it does not provide an advatage overcompas.rpc.
[[0.11.4] 2019-11-26] 2019-11-26
Added
- Added
compas_rhino.etoforms.ImageForm. - Added
doc8as dev requirement.
Changed
- Changed
compas_rhino.install_pluginto use only the plugin name, w/o the GUID. - Changed
iterable_liketo prevent exhausting generators passed as targets.
Removed
- Removed
compas_rhino.ui.Controller. - Removed
compas_rhino.ui.Button.
[[0.11.2] 2019-11-19] 2019-11-19
Added
- Added factory methods for
compas_rhino.artists._Artist
Changed
- Set
compas_rhino.artists.FrameArtistlayer clear to false by default. - Wrapped internals of RPC dispatch method in try-except to catch any import problems and report back on the client side.
- Stopping of HTTP server (
compas.remote) is now handled properly through separate thread. - Fixed mutable init parameters of
RobotModel - Fixed bug in
mesh_quads_to_trianglesthat caused face data to be deleted even when not necessary. - Switched to
compas.geometry.KDTreeas fallback forscipy.spatial.cKDTreeinstead of RhinoRTreebecause it currently fails.
Removed
[0.11.0] 2019-11-09
Added
- Added
iterable_liketocompas.utilities.itertools_ - Added
compas.geometry.icp_numpyfor pointcloud alignment using ICP. - Added RPC command-line utility:
$ compas_rpc {start|stop} [--port PORT] - Added
__version__tocompas_plotters. - Added
compas_plottersto.bumpversion.cfg. - Added
Colormaptocompas.utilities. - Added
is_line_line_colinear()tocompas.geometry - Added link to Github wiki for devguide.
- Added pointcloud alignment example to docs.
- Show git hash on
compas.__version__if installed from git. - Added
autopep8to dev requirements. - Added methods
add_jointandadd_linktoRobotModel - Added support for geometric primitives to JSON data encoder and decoder.
- Added support for
datato all geometric primitives.
Changed
- Docs are only deployed to github pages for tagged commits.
- Fixing printing issue with
compas.geometry.Quarternionin ironPython. - Fixed a missing import in
compas.geometry.Polygon. - Removed unused imports in
compas.geometry.Polyline. - Adjusted
compas.geometry.Quarternion.conjugate()to in-place change, addedcompas.geometry.Quarternion.conjugated()instead which returns a new quarternion object. - Fixed
rotationproperty ofTransformation. - Simplified plugin installation (use plugin name only, without GUID).
- Bind RPC server to
0.0.0.0instead oflocalhost. - Fixed different argument naming between Rhino5 and Rhino6 of
rs.LayerVisible()incompas_rhino.utilities.objects.
Removed
[0.10.0] 2019-10-28
Added
- Added method for computing the determinant of the matrix of a transformation
compas.geometry.Transformation.determinant. - Added method for transposing (the matrix of) a transformation in-place
compas.geometry.Transformation.transpose. - Added method creating a transposed copy of a transformation
compas.geometry.Transformation.transposed. - Added method for invertig (the matrix of) a transformation in-place
compas.geometry.Transformation.invert. - Added
compas.geometry.Transformation.invertedas an alias forcompas.geometry.Transformation.inverse. - Added method creating a copy of a transformation instance with a given transformation concatenated
compas.geometry.Transformation.concatenated. - Added method
to_vertices_and_facesto all the classes inheriting fromcompas.geometry.Shapeto create aMeshrepresentation of them.
Changed
- Changed
compas.geometry.Transformation.inverseto return an inverted copy of the transformation. - Changed
compas.geometry.Transformation.decomposetocompas.geometry.Transformation.decomposed. - Changed
compas.geometry.Transformation.concatenateto add another transformation to the transformation instance.
Removed
[0.9.1] 2019-10-28
Added
- Added
compas.geometry.Point.transform_collectionandcompas.geometry.Point.transformed_collection. - Added
compas.geometry.Vector.transform_collectionandcompas.geometry.Vector.transformed_collection. - Added
compas.geometry.Line.transform_collectionandcompas.geometry.Line.transformed_collection. - Added support for new Python plugin location for Rhino 6.0 on Mac.
- Added
compas.geometry.bestfit_frame_numpy
Changed
- Fixed transformation of start and end point of
compas.geometry.Lineto update the point objects in place. - Fixed return value of
compas.numerical.pca_numpyto return mean not as nested list.
Removed
[0.9.0] 2019-10-21
Added
- Added
matrix_change_basis,Transformation.change_basis - Added
matrix_from_frame_to_frame - Added non-numpy versions of
global_coords,local_coords - Added static method
Frame.local_to_local_coords - Added
__getitem__,__setitem__and__eq__toQuaternion - Added
Vector.scaledandVector.unitized - Added
transform_framesand respective helper functionsdehomogenize_and_unflatten_frames,homogenize_and_flatten_frames - Added
transform_frames_numpyand respective helper functionsdehomogenize_and_unflatten_frames_numpy,homogenize_and_flatten_frames_numpy
Changed
- Renamed
global_coords_numpyandlocal_coords_numpytolocal_to_world_coords_numpyandworld_to_local_coords_numpy. - Changed parameters
originuvwoflocal_to_world_coords_numpyandworld_to_local_coords_numpytoframe. - Fixed some returns of
FrameandRotationto useVectororQuaternion - Renamed methods
Frame.represent_point/vector/frame_in_global_coordinatesandFrame.represent_point/vector/frame_in_local_coordinatestoFrame.to_local_coordsandFrame.to_world_coords.
Removed
[0.8.1] 2019-10-01
Added
Changed
- Fixed unguarded import of
numpybased transformations in mesh package.
Removed
[0.8.0] 2019-10-01
Added
- Added test section for
compas.geometry.transformations - Added
tolparameter toqueries.is_colinear - Added compas rhino installer for Rhino Mac 6.0
compas_rhino.__init__. - Added oriented bounding box for meshes
compas.datastructures.mesh_oriented_bounding_box_numpy. - Added full testing functions for
compas.datastructures.mesh - Added
draw_meshtocompas_ghpython.artists.MeshArtist
Changed
- Generate sphinx documentation from markdown files in repo root for top level sections.
- Merged
compas.geometry.xformsintocompas.geometry.transformations - Fixed
AttributeError: 'Mesh' object has no attribute 'neighbors' - Fixed Key error with
Mesh.boundary() - Extended
offset_polygonandoffset_polylineto handle colinear segments - Fixed unsorted mesh vertex coordinates
xyzincompas_viewers.viewer.MeshView - Changed stderr parameter from STDOUT to PIPE in
compas.rpc.Proxyfor Rhino Mac 6.0. - Fixed import of
delaunay_from_pointsinMesh.from_points. - More control over drawing of text labels in Rhino.
- Extension of
face_vertex_descendantandface_vertex_ancestorinMesh. - Changed the name and meaning of the parameter
orientedin the functionMesh.edges_on_boundary. - Add
axisandorigindefaults tocompas.robots.Joint - Unified vertices and face import order for .obj files with python2 and 3
- Changed python interpreter selection (e.g. RPC calls) to fallback to
pythonifpythonwis not present on the system - Fixed
compas_ghpython.artists.MeshArtistto support ngons. - Deprecate the method
drawofcompas_ghpython.artists.MeshArtistin favor ofdraw_mesh. - Fix icosahedron generation
- Examples in docs/rhino updated to work with current codebase
- Callbacks tutorial updated to work with current codebase
- Base geometric primitives on
compas.geometry.Primitiveandcompas.geometry.Shape - Separated
numpybased tranformations into separate module.
Removed
- Removed
compas_viewersto separate repo. - Removed
compas_hpcto separate repo.
[0.7.2] 2019-08-09
Added
- Added
compas_rhino.geometry.RhinoGeometryto the docs. - Added
compas.remote.services. - Added
compas.remote.services.network.pyservice for handling requests for a browser-based network viewer. - Possibility to call forward_kinematics on
compas.robots.RobotModel - Added
compas.set_precisionfunction for the setting the global precision used by COMPAS as a floating point number.
Changed
- Fix mesh genus in
compas.datastructures. - Fixed missing import in
compas_rhino.geometry. - Removed circular imports from
compas_rhino.geometry. - Fix duplicate hfkeys in
compas.datastructures.volmesh.halffaces_on_boundary. - Moved
compas.remote.service.pytocompas.remote.services.default.py. - Removed processing of face keys from data getter and setter in
compas.datastructures.Network. - Using
SimpleHTTPRequestHandlerinstead ofBaseHTTPRequestHandlerto provide basic support for serving files viaGET. - Mesh mapping on surface without creating new mesh to keep attributes in
compas_rhino.geometry.surface.py. - Moving functionality from
compas_fab.artists.BaseRobotArtisttocompas.robots.RobotModel - Fix exception of null-area polygon of centroid polygon in
compas.geometry.average.py. - Fix loss of precision during mesh welding in
compas.datastructures.mesh_weld.
Removed
[0.7.1] 2019-06-29
Added
Changed
- Include
compas_plottersandcompas_viewersin the build instructions. - Moved import of
subprocessto Windows-specific situations. - Fixed document functions failing when document name is
None. - Downgraded
numpyrequirements. - Loosened
scipyrequirements. - Default Python to
pythonw.
Removed
[0.7.0] 2019-06-27
Added
- Added filter shorthand for selecting OBJ, JSON files in Rhino.
- Added
compas_plotters - Added
compas_viewers - Added
compas_rhino.draw_circlesand the equivalent Artist method - Add class functions to
compas.datastructures.VolMesh. - Added
face_neighborhoodclass function tocompas.datastructures.Mesh. - Added
get_face_attributes_alltocompas.datastructures._mixins.attributes. - Added
get_faces_attributes_alltocompas.datastructures._mixins.attributes. - Added
compas.remotepackage for making HTTP based Remote Procedure Calls.
Changed
- Restructure halffaces as lists in
compas.datastructures.VolMesh. - Correctly handle
python-netmodule presence during IronPython imports. - Switched to
compas.IPYcheck instead oftry-exceptfor preventing non IronPython friendly imports. - Changed installation of compas packages to Rhino to support non-admin user accounts on Windows.
- Copy facedata in
mesh_quads_to_triangles - Added non-imported service for
compas.remotefor starting the subprocess that runs the server.
Removed
- Removed
compas.plotters - Removed
compas.viewers
[0.6.2] 2019-04-30
Added
Changed
- Based mesh drawing for Rhino on RhinoCommon rather than Rhinoscriptsyntax.
- Fixed mesh drawing for Rhino 6
Removed
[0.6.1] 2019-04-29
Added
Changed
- Fixed bug in RPC. The services cannot have a
passstatement as class body.
Removed
[0.6.0] 2019-04-29
Added
- Added
centerproperty getter tocompas.geometry.Cirleprimitive - Add
astar_shortest_pathtocompas.topology.traversal.
Changed
- Updated configuration instructions for Blender.
- Changed naming convention for drawing functions from
xdraw_todraw_. - Changed mesh drawing in Rhino to use separate mesh vertices per face. This makes the mesh look more "as expected" in Shaded view.
Removed
- Removed support for Python 3.5.x by setting the minimum requirements for Numpy and Scipy to
1.16and1.2, respectively.
[0.5.2] 2019-04-12
Added
- Added
draw_polylinestocompas_rhino.artists.Artist. - Added
colorargument tocompas_rhino.artists.MeshArtist.draw_mesh. - Added named colors to
compas.utilities.colors.py.
Changed
- Fix
mesh_uv_to_xyzinRhinoSurface. - Fix 'mesh_weld' and 'meshes_join_and_weld' against consecutive duplicates in face vertices.
- Fix setting of environment variables in
System.Diagnostics.Process-based subprocess forXFuncandRPC. - Fix
XFuncon RhinoMac. - Fix
trimesh_subdivide_loopfromcompas.datastructures. - Changed Numpy and Scipy version requirements to allow for Python 3.5.x.
Removed
- Removed
mixing.pyfromcompas.utilities. - Removed
singleton.pyfromcompas.utilities. - Removed
xscript.pyfromcompas.utilities. - Removed
sorting.pyfromcompas.utilities. - Removed
names.pyfromcompas.utilities. - Removed
xfunc.pyfromcompas_rhino.utilities, usecompas.utilities.XFuncinstead.
[0.5.1] 2019-03-25
Added
Changed
- Fix
XFuncandRPCenvironment activation. - Fix exception on Rhino Mac.
- Fix missing import on
compas_rhino.geometry. - Fix
compas.geometry.offset_polygon. - Fix installation for Rhino, related to implicit import of
matplotlib.
Removed
[0.5.0] 2019-03-15
Added
- Add
CircleandSphereprimitives tocompas.geometry. - Add functions to
PlaneandBoxprimitives. - Add functions to
compas_rhinocurve:lengthandis_closed. - Add functions to
compas_rhinosurface:kinks,closest_point,closest_point_on_boundaries, and functions for mapping/remapping between XYZ and UV(0) spaces based on surface's parametrization (point_xyz_to_uv,point_uv_to_xyz,line_uv_to_xyz,polyline_uv_to_xyz,mesh_uv_to_xyz) - Add
is_scalabletocompas.robots.Joint.
Changed
- Fix exception in
Plane.transform. - Fix installer to remove old symlinks.
- Fix RPC proxy server.
[0.4.22] 2019-03-05
Added
- Add pretty print option to JSON formatter.
- Add remeshing based on
triangle. - Add compatibility with ETO forms to
compas_rhinoedge modifiers.
[0.4.21] 2019-03-04
Changed
- Fix import in
compas_rhinovertex modifiers.
[0.4.20] 2019-03-04
Removed
- Remove
download_image_from_remoteutility function.
[0.4.12] 2019-03-04
Changed
- Small fixes on Rhino forms support.
[0.4.11] 2019-03-03
Added
- New function to join network edges into polylines:
network_polylines. - New mesh functions:
mesh_offset,mesh_thicken,mesh_weldandmeshes_join_and_weld. - New mesh functions:
face_skewness,face_aspect_ratio,face_curvatureandvertex_curvature. - New functions to get disconnected elements of
Mesh:mesh_disconnected_vertices,mesh_disconnected_faces,mesh_explode. - New functions to get disconnected elements of
Network:network_disconnected_vertices,network_disconnected_edges,network_explode. - Add statistics utility functions:
average,variance,standard_deviation. - Add
binomial_coefficientfunction. - Add option to create
NetworkandMeshfrom dictionaries of vertices and faces. - Add
face_adjacency_verticestoMesh - Add optional prefix to the rhino name attribute processor
- Add
mesh_move_verticestocompas_rhino. - Add support for relative mesh references in URDF.
Changed
- Fix mesh centroid and mesh normal calculation.
- Refactor of drawing functions in
compas_blender. - Fix material creation in
compas_blender. - New default for subdivision:
catmullclark.
[0.4.9] 2019-02-10
Added
- New class methods for
Polyhedron:from_platonicsolidandfrom_vertices_and_faces. - Constrained and conforming Delaunay triangulations based on Triangle.
- Predicate-based filtering of vertices and edges.
mesh.geometryfor geometry-specific functions.trimesh_face_circleinmesh.geometry.
Changed
- Fix exception in
angle_vectors_signedif vectors aligned - Fix exception in
Polyline.point - Update Rhino installation merging Win32 and Mac implementations and defaulting the bootstrapper to the active python even if no CONDA environment is active during install.
Removed
- Bound mesh operations.
[0.4.8] 2019-01-28
Added
- Curve tangent at parameter.
- Box shape.
- Numpy-based mesh transformations.
- Option to share axes among plotters.