GlobalEdgeContinuity - Adding surfaces removes edges from analysis

(Continuation from GlobalEdgeContinuity enhancements, replace EdgeContinuity - #3 by davidcockey )

@Gijs GlobalEdgeContinuity is improperly removing edges from analysis when additional surfaces are added. When the additional surface or surfaces are subtracted the displayed edge selection is restored to the previous state. I do not see problems when subtracting surfaces.

Work In Progress (9.0.26069.12305, 2026-03-10) Windows 11
Test surfaces and GEC settings. All surfaces selected. Note that I’ve changed the edge colors to make them more visible.
GEC_Test_DC001.3dm (163.6 KB)

Start with only surface F selected. Correct edges are selected.

Add surface A. Previously selected edges are removed. Edges of A are not selected.

Add A or F. Nothing happens. It appears the surfaces are still listed as selected.

Remove A. Back to correct edges selected for F.

Add A again.
Add G. Only edge FG is selected. Other edges of F are removed.

Add D. Only edge DF is selected.

Start over. Make certain no surfaces are selected.

Select F. Correct edges are selected.

Select B. Nothing happens. Correct edges of F continue to be displayed.

Select C. Nothing happens. Correct edges of F continue to be displayed.

Remove F. Edges of F are removed as expected. Only edge BF is selected. Edges AB and CD are not selected.

Note: I used surface F as the initial surfaces in the examples above. Similar behavior occurs with a different surface as the first selected.

You are starting GEC in Single surface mode with surface F. In this mode it tries to find matches to all edges of surface F

Now you add surface A, it will now restart the calculation in Multi-surface mode. Since now A and F are the only surfaces in the analysis, no edges are shown, since there are no matches between these two surfaces.

If you would add surface E at this point, you get:

When you start with F selected (Single-surface mode) and add A and G at this point, you are back in Multi-surface mode, so only edges of the selected set are shown.

I do see an inconsistency though. Starting with F and adding B (or any of the other that are part of the analysis) will not remove the other edges.

I wonder if it is preferred if I change to multi surface mode in a different way. Selecting F and then adding surface A would then result in:

@Gijs Thank you for the reply. I was completely unaware that GEC has two different modes. With that knowledge I can understand what is happening, but I believe it will continue to be very confusing to other users.

Adding objects to an analysis tool resulting in less information being shown is conter-intuitive. I don’t recall ever encountering such behavior in any other Rhino analysis tool. A user will select a surface and see results. Then they will add another surface or polysurface, and some or all of the edges shown will disappear, without any indication of what happened or why it happened.

A user may have two surfaces/polysurface selected, and then remove one. The result may be other surfaces being shown as GEC switches from Multi-Surface mode to Single Surface mode. This is likely to be unexpected and cause confusion.

Start GEC and select a single object. If that one object is a surface then GEC will be in Single Surface model, and the edges shared with adjacent objects will be shown. If that one object is a polysurface then GEC will be in Multi-Surface mode, and the edges shared with adjacent objects will not be shown.

There is no explicit indication of which mode GEC is in.

There is no indication of what surfaces or polysurfaces have previously been selected, other than what may be deduced from the edges which are shown.

More confusion.

I am interpreting the image to be if a second surface is selected then essentially all adjacent surfaces are selected. I do not want that. With a complex model too many additonal surfaces would be selected.

Questions:

Why are there two modes?

What is the benefit of the two modes compared to a single mode?

Examples of a single mode:
a) For each surface or polysurface selected all edge pairs associated with the surface/polysurface are shown. (Essentially replicating the current Single Surface mode for each selected surface/polysurface.)
b) The edge pairs between all selected surfaces/polysurface, including the edge pairs within polysurfaces, are shown. (The current Multi-Surface mode.)

Despite all the confusion, I don’t really want to get rid of the single surface mode, because I use it a lot.
A simple example is when you have a gap to fill with a new surface, you will be interested in just the boundary conditions of this single surface.
I will continue to think about a better way to switch between and communicate these two modes.

@Gijs I understand your reason for keeping two modes. My recommendations to eliminate or reduce the confusion and make GEC even more useful:

Mode switching: Default mode selection and switching should be manual and user selectable, not automatic. If automatic mode switching is needed it should be a user selectable option.

Modes:

  1. “Multi-Surface” mode: Retain as is with edge pairs between all selected surfaces/polysurfaces, including the edge pairs within polysurfaces, are shown.

  2. “Single Surface” mode: Modify to allow for selection of multiple surfaces/polysurfaces. The edge pairs associated with every selected surface/polysurface are shown.