Skip to content

Commit 2735b6e

Browse files
CHANGELOG
2 parents a33ff26 + d5f1173 commit 2735b6e

File tree

127 files changed

+2687
-7140
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+2687
-7140
lines changed

CHANGELOG.md

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3737
* Added `compas.data.Data.to_jsonstring` and `compas.data.Data.from_jsonstring`.
3838
* Added `compas.data.Data.attributes`.
3939
* Added optional param `working_directory` to `compas.rpc.Proxy` to be able to start services defined in random locations.
40+
* Added `compas.datastructures.Datastructure.transform` and `compas.datastructures.Datastructure.transformed`.
41+
* Added `compas.datastructures.Datastructure.transform_numpy` and `compas.datastructures.Datastructure.transformed_numpy`.
42+
* Added `compas.datastructures.Halfedge.flip_cycles`.
43+
* Added `compas.datastructures.Halfedge.is_connected`, `compas.datastructures.Halfedge.connected_vertices`, `compas.datastructures.Halfedge.connected_faces`.
44+
* Added `compas.datastructures.Mesh.join`.
45+
* Added `compas.datastructures.Mesh.weld` and `compas.datastructures.Mesh.remove_duplicate_vertices`.
46+
* Added `compas.datastructures.Mesh.quads_to_triangles`.
47+
* Added `compas.datastructures.Mesh.unify_cycles`.
48+
* Added `compas.datastructures.Mesh.aabb` and `compas.datastructures.Mesh.obb`.
49+
* Added `compas.datastructures.Mesh.offset` and `compas.datastructures.Mesh.thickened`.
50+
* Added `compas.datastructures.Mesh.exploded`.
51+
* Added `compas.datastructures.Mesh.adjacency_matrix`, `compas.datastructures.Mesh.connectivity_matrix`, `compas.datastructures.Mesh.degree_matrix`, `compas.datastructures.Mesh.laplacian_matrix`.
52+
* Added `compas.topology.vertex_adjacency_from_edges`, `compas.topology.vertex_adjacency_from_faces`, `compas.topology.edges_from_faces`, `compas.topology.faces_from_edges`.
53+
* Added `compas.datastructures.Network.split_edge`, `compas.datastructures.Network.join_edges`.
54+
* Added `compas.datastructures.Network.smooth`.
55+
* 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`.
56+
* Added `compas.datastructures.Network.find_cycles`.
57+
* Added `compas.datastructures.Network.shortest_path`.
58+
* Added `compas.datastructures.Network.transform`.
59+
* Added `compas.datastructures.Graph.is_connected`.
60+
* Added `compas.datastructures.Graph.adjacency_matrix`, `compas.datastructures.Graph.connectivity_matrix`, `compas.datastructures.Graph.degree_matrix`, `compas.datastructures.Graph.laplacian_matrix`.
4061

4162
### Changed
4263

@@ -55,7 +76,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5576
* Changed `compas.datastructures.Mesh` to take additional `**kwargs`, instead of only `name=None` specifically.
5677
* Moved registration of `ping` and `remote_shutdown` of the RPC server to `compas.rpc.Server.__init__()`.
5778
* Moved `FileWatcherService` to `compas.rpc.services.watcher` so it can be reused.
58-
* Changed `compas.geometry.earclip_polygon` algorithm changed to a new one that better handles different cases.
79+
* Changed `compas.datastructures.Mesh.subdivide` to `compas.datastructures.Mesh.subdivided`.
80+
* Moved `compas.numerical.pca_numpy` to `compas.geometry.pca_numpy`.
81+
* Moved `compas.numerical.scalafield_contours` to `compas.geometry.scalarfield_contours`.
82+
* Moved `compas.numerical.matrices` to `compas.topology.matrices`.
83+
* Moved `compas.numerical.linalg` to `compas.geometry.linalg`.
84+
* Changed `watchdog` dependency to be only required for platforms other than `emscripten`.
85+
* Changed `compas.geometry.earclip_polygon` algorithm because the current one does handle several cases.
5986

6087
### Removed
6188

@@ -65,6 +92,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6592
* Removed `attributes` from `compas.datastructures.Network.data`.
6693
* Removed `attributes` from `compas.datastructures.Halfedge.data`.
6794
* Removed `attributes` from `compas.datastructures.Mesh.data`.
95+
* Removed `compas.datastructures.mesh_bounding_box` and `compas.datastructures.mesh_bounding_box_xy`.
96+
* Removed `compas.datastructures.mesh_oriented_bounding_box_numpy` and `compas.datastructures.mesh_oriented_bounding_box_xy_numpy`.
97+
* Removed `compas.datastructures.mesh_delete_duplicate_vertices`.
98+
* Removed `compas.datastructures.mesh_is_connected` and `compas.datastructures.mesh_connected_components`.
99+
* Removed `compas.datastructures.mesh_isolines_numpy` and `compas.datastructures.mesh_contours_numpy`.
100+
* Removed `compas.datastructures.trimesh_gaussian_curvature`.
101+
* Removed `compas.datastructures.trimesh_descent`.
102+
* Removed `compas.datastructures.mesh_disconnected_vertices`, `compas.datastructures.mesh_disconnected_faces` and `compas.datastructures.mesh_explode`.
103+
* Removed `compas.datastructures.mesh_geodesic_distances_numpy`.
104+
* Removed `compas.datastructures.trimesh_face_circle`.
105+
* Removed `compas.datastructures.mesh_weld`, `compas.datastructures.meshes_join`, `compas.datastructures.meshes_join_and_weld`.
106+
* Removed `compas.datastructures.mesh_offset` and `compas.datastructures.mesh_thicken`.
107+
* Removed `compas.datastructures.mesh_face_adjacency` and `compas.datastructures.mesh_unify_cycles`.
108+
* Removed `compas.datastructures.mesh_transform`, `compas.datastructures.mesh_transformed`, `compas.datastructures.mesh_transform_numpy`, `compas.datastructures.mesh_transformed_numpy`.
109+
* Removed `compas.datastructures.mesh_quads_to_triangles`.
110+
* Removed `compas.datastructures.volmesh_bounding_box`.
111+
* Removed `compas.datastructures.volmesh_transform` and `compas.datastructures.volmesh_transformed`.
112+
* Removed `compas.topology.unify_cycles_numpy` and `compas.topology.face_adjacency_numpy`.
113+
* Removed `compas.topology.unify_cycles_rhino` and `compas.topology.face_adjacency_rhino`.
114+
* Removed `compas.datastructures.network_is_connected`.
115+
* Removed `compas.datastructures.network_complement`.
116+
* Removed `compas.datastructures.network_disconnected_nodes`, `compas.datastructures.network_disconnected_edges`, `compas.datastructures.network_explode`.
117+
* Removed `compas.datastructures.network_adjacency_matrix`, `compas.datastructures.network_connectivity_matrix`, `compas.datastructures.network_degree_matrix`, `compas.datastructures.network_laplacian_matrix`.
118+
* Removed `compas.datastructures.network_transform`, `compas.datastructures.network_transformed`.
119+
* Removed `compas.datastructures.network_shortest_path`.
120+
* Removed `compas.numerical`.
68121

69122
## [2.0.0-beta.1] 2023-12-20
70123

Lines changed: 293 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,293 @@
1+
******************************************************************************
2+
Mesh
3+
******************************************************************************
4+
5+
.. currentmodule:: compas.datastructures
6+
7+
.. autoclass:: Mesh
8+
9+
Methods
10+
=======
11+
12+
Constructors
13+
------------
14+
15+
.. autosummary::
16+
:toctree: generated/
17+
:nosignatures:
18+
19+
~Mesh.from_json
20+
~Mesh.from_lines
21+
~Mesh.from_meshgrid
22+
~Mesh.from_obj
23+
~Mesh.from_off
24+
~Mesh.from_ply
25+
~Mesh.from_points
26+
~Mesh.from_polygons
27+
~Mesh.from_polyhedron
28+
~Mesh.from_polylines
29+
~Mesh.from_shape
30+
~Mesh.from_stl
31+
~Mesh.from_vertices_and_faces
32+
33+
Conversions
34+
-----------
35+
36+
.. autosummary::
37+
:toctree: generated/
38+
:nosignatures:
39+
40+
~Mesh.to_json
41+
~Mesh.to_lines
42+
~Mesh.to_obj
43+
~Mesh.to_off
44+
~Mesh.to_ply
45+
~Mesh.to_points
46+
~Mesh.to_polygons
47+
~Mesh.to_polylines
48+
~Mesh.to_stl
49+
~Mesh.to_vertices_and_faces
50+
51+
Builders and Modifiers
52+
----------------------
53+
54+
.. autosummary::
55+
:toctree: generated/
56+
:nosignatures:
57+
58+
~Mesh.add_face
59+
~Mesh.add_vertex
60+
~Mesh.collapse_edge
61+
~Mesh.delete_face
62+
~Mesh.delete_vertex
63+
~Mesh.flip_cycles
64+
~Mesh.insert_vertex
65+
~Mesh.join
66+
~Mesh.merge_faces
67+
~Mesh.quads_to_triangles
68+
~Mesh.remove_duplicate_vertices
69+
~Mesh.remove_unused_vertices
70+
~Mesh.split_edge
71+
~Mesh.split_face
72+
~Mesh.unify_cycles
73+
~Mesh.unweld_edges
74+
~Mesh.unweld_vertices
75+
~Mesh.weld
76+
77+
Accessors
78+
---------
79+
80+
.. autosummary::
81+
:toctree: generated/
82+
:nosignatures:
83+
84+
~Mesh.edge_sample
85+
~Mesh.edges
86+
~Mesh.edges_on_boundaries
87+
~Mesh.edges_on_boundary
88+
~Mesh.edges_where
89+
~Mesh.edges_where_predicate
90+
~Mesh.face_sample
91+
~Mesh.faces
92+
~Mesh.faces_on_boundaries
93+
~Mesh.faces_on_boundary
94+
~Mesh.faces_where
95+
~Mesh.faces_where_predicate
96+
~Mesh.vertex_sample
97+
~Mesh.vertices
98+
~Mesh.vertices_on_boundaries
99+
~Mesh.vertices_on_boundary
100+
~Mesh.vertices_where
101+
~Mesh.vertices_where_predicate
102+
103+
Attributes
104+
----------
105+
106+
.. autosummary::
107+
:toctree: generated/
108+
:nosignatures:
109+
110+
~Mesh.edge_attribute
111+
~Mesh.edge_attributes
112+
~Mesh.edges_attribute
113+
~Mesh.edges_attributes
114+
~Mesh.face_attribute
115+
~Mesh.face_attributes
116+
~Mesh.faces_attribute
117+
~Mesh.faces_attributes
118+
~Mesh.vertex_attribute
119+
~Mesh.vertex_attributes
120+
~Mesh.vertices_attribute
121+
~Mesh.vertices_attributes
122+
~Mesh.update_default_edge_attributes
123+
~Mesh.update_default_face_attributes
124+
~Mesh.update_default_vertex_attributes
125+
~Mesh.unset_edge_attribute
126+
~Mesh.unset_face_attribute
127+
~Mesh.unset_vertex_attribute
128+
129+
Topology
130+
--------
131+
132+
.. autosummary::
133+
:toctree: generated/
134+
:nosignatures:
135+
136+
~Mesh.connected_vertices
137+
~Mesh.connected_faces
138+
~Mesh.edge_faces
139+
~Mesh.edge_loop
140+
~Mesh.edge_strip
141+
~Mesh.euler
142+
~Mesh.face_adjacency_halfedge
143+
~Mesh.face_adjacency_vertices
144+
~Mesh.face_corners
145+
~Mesh.face_degree
146+
~Mesh.face_halfedges
147+
~Mesh.face_max_degree
148+
~Mesh.face_min_degree
149+
~Mesh.face_neighbors
150+
~Mesh.face_neighborhood
151+
~Mesh.face_vertex_ancestor
152+
~Mesh.face_vertex_descendant
153+
~Mesh.face_vertices
154+
~Mesh.halfedge_after
155+
~Mesh.halfedge_before
156+
~Mesh.halfedge_face
157+
~Mesh.halfedge_loop
158+
~Mesh.halfedge_loop_vertices
159+
~Mesh.halfedge_strip
160+
~Mesh.halfedge_strip_faces
161+
~Mesh.has_edge
162+
~Mesh.has_face
163+
~Mesh.has_halfedge
164+
~Mesh.has_vertex
165+
~Mesh.is_closed
166+
~Mesh.is_connected
167+
~Mesh.is_edge_on_boundary
168+
~Mesh.is_empty
169+
~Mesh.is_face_on_boundary
170+
~Mesh.is_manifold
171+
~Mesh.is_orientable
172+
~Mesh.is_quadmesh
173+
~Mesh.is_regular
174+
~Mesh.is_trimesh
175+
~Mesh.is_valid
176+
~Mesh.is_vertex_connected
177+
~Mesh.is_vertex_on_boundary
178+
~Mesh.number_of_edges
179+
~Mesh.number_of_faces
180+
~Mesh.number_of_vertices
181+
~Mesh.vertex_degree
182+
~Mesh.vertex_edges
183+
~Mesh.vertex_faces
184+
~Mesh.vertex_max_degree
185+
~Mesh.vertex_min_degree
186+
~Mesh.vertex_neighbors
187+
~Mesh.vertex_neighborhood
188+
189+
Geometry
190+
--------
191+
192+
.. autosummary::
193+
:toctree: generated/
194+
:nosignatures:
195+
196+
~Mesh.aabb
197+
~Mesh.area
198+
~Mesh.centroid
199+
~Mesh.edge_coordinates
200+
~Mesh.edge_direction
201+
~Mesh.edge_end
202+
~Mesh.edge_length
203+
~Mesh.edge_line
204+
~Mesh.edge_midpoint
205+
~Mesh.edge_point
206+
~Mesh.edge_start
207+
~Mesh.edge_vector
208+
~Mesh.face_area
209+
~Mesh.face_aspect_ratio
210+
~Mesh.face_center
211+
~Mesh.face_centroid
212+
~Mesh.face_circle
213+
~Mesh.face_coordinates
214+
~Mesh.face_curvature
215+
~Mesh.face_flatness
216+
~Mesh.face_frame
217+
~Mesh.face_normal
218+
~Mesh.face_plane
219+
~Mesh.face_points
220+
~Mesh.face_polygon
221+
~Mesh.face_skewness
222+
~Mesh.normal
223+
~Mesh.obb
224+
~Mesh.vertex_area
225+
~Mesh.vertex_coordinates
226+
~Mesh.vertex_curvature
227+
~Mesh.vertex_point
228+
~Mesh.vertex_laplacian
229+
~Mesh.vertex_neighborhood_centroid
230+
~Mesh.vertex_normal
231+
~Mesh.vertices_points
232+
~Mesh.set_vertex_point
233+
~Mesh.smooth_area
234+
~Mesh.smooth_centroid
235+
~Mesh.transform
236+
~Mesh.transformed
237+
238+
Paths
239+
-----
240+
241+
.. autosummary::
242+
:toctree: generated/
243+
:nosignatures:
244+
245+
246+
Matrices
247+
--------
248+
249+
.. autosummary::
250+
:toctree: generated/
251+
:nosignatures:
252+
253+
~Mesh.adjacency_matrix
254+
~Mesh.connectivity_matrix
255+
~Mesh.degree_matrix
256+
~Mesh.face_matrix
257+
~Mesh.laplacian_matrix
258+
259+
Mappings
260+
--------
261+
262+
.. autosummary::
263+
:toctree: generated/
264+
:nosignatures:
265+
266+
~Mesh.gkey_vertex
267+
~Mesh.vertex_gkey
268+
~Mesh.vertex_index
269+
~Mesh.index_vertex
270+
271+
Utilities
272+
---------
273+
274+
.. autosummary::
275+
:toctree: generated/
276+
:nosignatures:
277+
278+
~Mesh.summary
279+
~Mesh.copy
280+
~Mesh.clear
281+
282+
Other
283+
-----
284+
285+
.. autosummary::
286+
:toctree: generated/
287+
:nosignatures:
288+
289+
~Mesh.dual
290+
~Mesh.exploded
291+
~Mesh.offset
292+
~Mesh.subdivided
293+
~Mesh.thickened

0 commit comments

Comments
 (0)