compas icon indicating copy to clipboard operation
compas copied to clipboard

Brep plugin alignment with interface

Open chenkasirer opened this issue 10 months ago • 5 comments

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.

    ################################################################################

chenkasirer avatar Mar 20 '25 13:03 chenkasirer

comparing the level of interface implementation of our brep plugins

terrific idea!

jf--- avatar Mar 20 '25 20:03 jf---

@chenkasirer cool thanks!

will work on the OCC part...

tomvanmele avatar Mar 21 '25 12:03 tomvanmele

I think @papachap and I will help with this when we can. How do we "claim" functions so we don't do things twice?

obucklin avatar Mar 24 '25 17:03 obucklin

create an issue that has the function in the title?

tomvanmele avatar Mar 24 '25 17:03 tomvanmele

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

chenkasirer avatar Apr 16 '25 13:04 chenkasirer