Skip to content

Commit 5087ee5

Browse files
committed
merged halfface into volmesh
1 parent eed49fe commit 5087ee5

File tree

10 files changed

+3909
-588
lines changed

10 files changed

+3909
-588
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515

1616
* Merged `compas.datastructures.Halfedge` into `compas.datastructures.Mesh`.
1717
* Merged `compas.datastructures.Network` into `compas.datastructures.Graph`.
18+
* Merged `compas.datastructures.Halfface` into `compas.datastructures.VolMesh`.
1819

1920
### Removed
2021

2122
* Removed `compas.datastructures.Network`.
2223
* Removed `compas.datastructures.Halfedge`.
24+
* Removed `compas.datastructures.Halfface`.
2325

2426
## [2.0.0-beta.2] 2024-01-12
2527

Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
******************************************************************************
2+
VolMesh
3+
******************************************************************************
4+
5+
.. currentmodule:: compas.datastructures
6+
7+
.. autoclass:: VolMesh
8+
9+
Methods
10+
=======
11+
12+
Constructors
13+
------------
14+
15+
.. autosummary::
16+
:toctree: generated/
17+
:nosignatures:
18+
19+
~VolMesh.from_json
20+
~VolMesh.from_obj
21+
~VolMesh.from_vertices_and_cells
22+
23+
24+
Conversions
25+
-----------
26+
27+
.. autosummary::
28+
:toctree: generated/
29+
:nosignatures:
30+
31+
~VolMesh.cell_to_mesh
32+
~VolMesh.cell_to_vertices_and_faces
33+
~VolMesh.to_json
34+
~VolMesh.to_obj
35+
~VolMesh.to_vertices_and_cells
36+
37+
38+
Builders and Modifiers
39+
----------------------
40+
41+
.. autosummary::
42+
:toctree: generated/
43+
:nosignatures:
44+
45+
~VolMesh.add_cell
46+
~VolMesh.add_halfface
47+
~VolMesh.add_vertex
48+
~VolMesh.delete_cell
49+
~VolMesh.delete_vertex
50+
~VolMesh.remove_unused_vertices
51+
52+
53+
Accessors
54+
---------
55+
56+
.. autosummary::
57+
:toctree: generated/
58+
:nosignatures:
59+
60+
~VolMesh.cell_sample
61+
~VolMesh.cells
62+
~VolMesh.cells_on_boundaries
63+
~VolMesh.cells_where
64+
~VolMesh.cells_where_predicate
65+
~VolMesh.edge_sample
66+
~VolMesh.edges
67+
~VolMesh.edges_where
68+
~VolMesh.edges_where_predicate
69+
~VolMesh.face_sample
70+
~VolMesh.faces
71+
~VolMesh.faces_where
72+
~VolMesh.faces_where_predicate
73+
~VolMesh.halffaces
74+
~VolMesh.halffaces_on_boundaries
75+
~VolMesh.vertex_sample
76+
~VolMesh.vertices
77+
~VolMesh.vertices_on_boundaries
78+
~VolMesh.vertices_where
79+
~VolMesh.vertices_where_predicate
80+
81+
82+
Attributes
83+
----------
84+
85+
.. autosummary::
86+
:toctree: generated/
87+
:nosignatures:
88+
89+
~VolMesh.cell_attribute
90+
~VolMesh.cell_attributes
91+
~VolMesh.cells_attribute
92+
~VolMesh.cells_attributes
93+
~VolMesh.edge_attribute
94+
~VolMesh.edge_attributes
95+
~VolMesh.edges_attribute
96+
~VolMesh.edges_attributes
97+
~VolMesh.face_attribute
98+
~VolMesh.face_attributes
99+
~VolMesh.faces_attribute
100+
~VolMesh.faces_attributes
101+
~VolMesh.vertex_attribute
102+
~VolMesh.vertex_attributes
103+
~VolMesh.vertices_attribute
104+
~VolMesh.vertices_attributes
105+
~VolMesh.update_default_cell_attributes
106+
~VolMesh.update_default_edge_attributes
107+
~VolMesh.update_default_face_attributes
108+
~VolMesh.update_default_vertex_attributes
109+
~VolMesh.unset_cell_attribute
110+
~VolMesh.unset_edge_attribute
111+
~VolMesh.unset_face_attribute
112+
~VolMesh.unset_vertex_attribute
113+
114+
115+
Topology
116+
--------
117+
118+
.. autosummary::
119+
:toctree: generated/
120+
:nosignatures:
121+
122+
~VolMesh.cell_edges
123+
~VolMesh.cell_face_neighbors
124+
~VolMesh.cell_faces
125+
~VolMesh.cell_halfedge_face
126+
~VolMesh.cell_halfedge_opposite_face
127+
~VolMesh.cell_halfedges
128+
~VolMesh.cell_neighbors
129+
~VolMesh.cell_vertex_faces
130+
~VolMesh.cell_vertex_neighbors
131+
~VolMesh.cell_vertices
132+
~VolMesh.edge_cells
133+
~VolMesh.edge_halffaces
134+
~VolMesh.halfface_cell
135+
~VolMesh.halfface_adjacent_halfface
136+
~VolMesh.halfface_halfedges
137+
~VolMesh.halfface_manifold_neighbors
138+
~VolMesh.halfface_manifold_neighborhood
139+
~VolMesh.halfface_opposite_cell
140+
~VolMesh.halfface_opposite_halfface
141+
~VolMesh.halfface_vertex_ancestor
142+
~VolMesh.halfface_vertex_descendent
143+
~VolMesh.halfface_vertices
144+
~VolMesh.has_edge
145+
~VolMesh.has_halfface
146+
~VolMesh.has_vertex
147+
~VolMesh.is_cell_on_boundary
148+
~VolMesh.is_edge_on_boundary
149+
~VolMesh.is_halfface_on_boundary
150+
~VolMesh.is_valid
151+
~VolMesh.is_vertex_on_boundary
152+
~VolMesh.number_of_cells
153+
~VolMesh.number_of_edges
154+
~VolMesh.number_of_faces
155+
~VolMesh.number_of_vertices
156+
~VolMesh.vertex_cells
157+
~VolMesh.vertex_degree
158+
~VolMesh.vertex_halffaces
159+
~VolMesh.vertex_max_degree
160+
~VolMesh.vertex_min_degree
161+
~VolMesh.vertex_neighbors
162+
~VolMesh.vertex_neighborhood
163+
164+
165+
Geometry
166+
--------
167+
168+
.. autosummary::
169+
:toctree: generated/
170+
:nosignatures:
171+
172+
~VolMesh.cell_center
173+
~VolMesh.cell_centroid
174+
~VolMesh.cell_points
175+
~VolMesh.cell_polyhedron
176+
~VolMesh.cell_vertex_normal
177+
~VolMesh.edge_direction
178+
~VolMesh.edge_end
179+
~VolMesh.edge_length
180+
~VolMesh.edge_line
181+
~VolMesh.edge_vector
182+
~VolMesh.edge_start
183+
~VolMesh.face_area
184+
~VolMesh.face_center
185+
~VolMesh.face_centroid
186+
~VolMesh.face_coordinates
187+
~VolMesh.face_normal
188+
~VolMesh.face_points
189+
~VolMesh.face_polygon
190+
~VolMesh.vertex_coordinates
191+
~VolMesh.vertex_point
192+
193+
194+
Paths
195+
-----
196+
197+
.. autosummary::
198+
:toctree: generated/
199+
:nosignatures:
200+
201+
202+
Matrices
203+
--------
204+
205+
.. autosummary::
206+
:toctree: generated/
207+
:nosignatures:
208+
209+
210+
Mappings
211+
--------
212+
213+
.. autosummary::
214+
:toctree: generated/
215+
:nosignatures:
216+
217+
~VolMesh.gkey_vertex
218+
~VolMesh.index_vertex
219+
~VolMesh.vertex_gkey
220+
~VolMesh.vertex_index
221+
222+
223+
Utilities
224+
---------
225+
226+
.. autosummary::
227+
:toctree: generated/
228+
:nosignatures:
229+
230+
~VolMesh.clear
231+
~VolMesh.copy
232+
233+
234+
Other
235+
-----
236+
237+
.. autosummary::
238+
:toctree: generated/
239+
:nosignatures:
240+

docs/api/compas.datastructures.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Classes
2020

2121
compas.datastructures.Graph
2222
compas.datastructures.Mesh
23+
compas.datastructures.VolMesh
2324
compas.datastructures.CellNetwork
2425
compas.datastructures.Tree
2526
compas.datastructures.Assembly

src/compas/datastructures/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949

5050
from .graph.graph import Graph
5151
from .mesh.mesh import Mesh
52-
from .halfface.halfface import HalfFace
5352
from .volmesh.volmesh import VolMesh
5453
from .assembly.exceptions import AssemblyError, FeatureError
5554
from .assembly.assembly import Assembly
@@ -63,7 +62,6 @@
6362
"Datastructure",
6463
"CellNetwork",
6564
"Mesh",
66-
"HalfFace",
6765
"VolMesh",
6866
"Assembly",
6967
"Part",

src/compas/datastructures/cell_network/cell_network.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from __future__ import division
33
from __future__ import print_function
44

5-
from compas.datastructures import HalfFace
65
from compas.datastructures import Mesh
76
from compas.datastructures import Graph
87
from compas.geometry import Line
@@ -20,6 +19,8 @@
2019
from compas.geometry import volume_polyhedron
2120
from compas.topology import face_adjacency
2221

22+
from .halfface import HalfFace
23+
2324

2425
class CellNetwork(HalfFace):
2526
"""Geometric implementation of a data structure for a collection of mixed topologic entities such as cells, faces, edges and nodes.

src/compas/datastructures/halfface/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)