Brep plugin alignment with interface
Made a script comparing the level of interface implementation of our brep plugins.
@tomvanmele perhaps we could use this as reference in effort to better align the plugins. Mostly, it seems, RhinoBrep is missing a bunch of stuff, so I'll get started on those.
####################################################################################################
#### OCCBrep Analysis ####
####################################################################################################
################################################################################
## Constructors missing in OCC ##
################################################################################
- from_loft
- from_pipe
################################################################################
################################################################################
## Properties missing in OCC ##
################################################################################
- curves
- is_valid
- surfaces
- trims
################################################################################
################################################################################
## Methods missing in OCC ##
################################################################################
- contains
- edge_loop
- flip
################################################################################
################################################################################
## Methods not in Interface ##
################################################################################
- check
- copy
- edge_loops
- simplify
- transform
- transformed
################################################################################
################################################################################
## Properties not in Interface ##
################################################################################
- occ_shape
################################################################################
####################################################################################################
#### RhinoBrep Analysis ####
####################################################################################################
################################################################################
## Constructors missing in Rhino ##
################################################################################
- from_brepfaces
- from_breps
- from_cone
- from_curves
- from_iges
- from_pipe
- from_plane
- from_planes
- from_polygons
- from_sweep
- from_torus
################################################################################
################################################################################
## Properties missing in Rhino ##
################################################################################
- centroid
- curves
- is_closed
- is_compound
- is_compoundsolid
- is_convex
- is_infinite
- is_orientable
- is_shell
- is_surface
- is_valid
- orientation
- shells
- solids
- surfaces
- type
################################################################################
################################################################################
## Methods missing in Rhino ##
################################################################################
- contours
- cull_unused_edges
- cull_unused_faces
- cull_unused_loops
- cull_unused_vertices
- edge_faces
- edge_loop
- fix
- heal
- make_solid
- overlap
- sew
- to_iges
- to_polygons
- to_step
- to_stl
- to_tesselation
- to_viewmesh
- vertex_edges
- vertex_faces
- vertex_neighbors
################################################################################
################################################################################
## Methods not in Interface ##
################################################################################
- copy
- transform
################################################################################
################################################################################
## Properties not in Interface ##
################################################################################
✔ No missing elements.
################################################################################
comparing the level of interface implementation of our brep plugins
terrific idea!
@chenkasirer cool thanks!
will work on the OCC part...
I think @papachap and I will help with this when we can. How do we "claim" functions so we don't do things twice?
create an issue that has the function in the title?
Adding missing Rhino properties and methods:
Alternative constructors
- [x] from_brepfaces
- [x] from_breps
- [x] from_cone
- [x] from_curves - https://github.com/compas-dev/compas/issues/1451
- [x] from_iges
- [x] from_pipe
- [x] from_plane
- [ ] from_planes
- [x] from_polygons
- [x] from_sweep
- [x] from_torus
Properties
- [x] centroid
- [x] curves
- [x] is_closed
- [x] is_compound
- [x] is_compoundsolid
- [ ] is_convex
- [ ] is_infinite
- [x] is_orientable
- [ ] is_shell
- [x] is_surface
- [x] is_valid
- [x] orientation
- [ ] shells
- [ ] solids
- [x] surfaces
- [ ] type
Methods
- [ ] contours
- [ ] cull_unused_edges
- [ ] cull_unused_faces
- [ ] cull_unused_loops
- [ ] cull_unused_vertices
- [ ] edge_faces
- [ ] edge_loop
- [ ] fix
- [ ] heal
- [ ] make_solid
- [ ] overlap
- [ ] sew
- [ ] to_iges
- [ ] to_polygons
- [ ] to_step
- [ ] to_stl
- [ ] to_tesselation
- [ ] to_viewmesh
- [ ] vertex_edges
- [ ] vertex_faces
- [ ] vertex_neighbors