general combinatorics interface
Generic interface for all combinatorial objects (everything called datastructure at the moment: domains, half-edge, IFS). All datastructures should inherit from this interface.
Please divide into sub-issues as follows:
- create interface structure
- attributes:
vertices
,edges
,faces
- methods:
adjacent_vertices(cell)
,adjacent_edges(cell)
,adjacent_faces(cell)
- integrate interface with IFS
- for testing it should suffice that basic operations (and utils) of the corresponding datastructures is tested
- add methods to read and write attributes from cells:
set_vertex_attribute(self, cell, name, value)
get_vertex_attribute(self, name, cell)
- utils that work for all datastructures should be placed in
ddg.datastructures.utils
:- implement
set_valency_attr
for the interface (see current version in `ddg.datastructures.halfedge.utils.set.)
- implement
-
integrate interface with half-edge
-
adapt all utils to interface (see
ddg.datastructures.halfedge.utils.set
,get
)
- if the util is best implemented on half-edge, the util function should use the half-edge implemtation in case a half-edge surface is given
-
add general attribute mechanism #515
-
add example of creating a gauss map from faces