PolygonObject's

```
SetSelectedEdges(self, e, pSel, ltype)
```

..., method takes a pSel argument of type `BaseSelect`

.

The help for this method further tells us that:

```
The edges are indexed uniquely by a Neighbor object, so each
edge has a single index.
```

OK, makes sense so far. We use the edge index from the `Neighbor`

object to identify an edge once, rather than N times where N is the number of polygons that share said edge.

But, in order to use a "logical" edge index from the Neighbor object, we need to be able to tell which edge and/or edges this logical edge maps to. Unfortunately, the `Neighbor`

class offers no way to get the properties of the logical edge to physical edge mapping, that it stores internally, given a logical edge index.

There is only one method in the `Neighbor`

class that has anything to do with the logical indexes that it stores, and that is `Neighbor.GetEdgeCount()`

. This puts a cap on the number of logical edges, which are clearly indexed from `0`

to `Neighbor.GetEdgeCount() - 1`

.

But, how in the world does one get info about these logical edges (by logical edge index) in order to decide whether or not to use them with the `PolygonObject.SetSelectedEdges()`

method, if the representation and properties of the logical edges are completely opaque to users of the `c4d.utils.Neighbor`

class? There is **not a single method** in this class that gives the developer any information about which physical points, edges, or polygons a logical edge, as referred to by its edge index in the `Neighbor`

class, represents.

Without any information and mapping to something physical and concrete, how can one refer to a "distinct logical edge" by its index within `Neighbor`

and use that as the basis for forming the selection criteria inside a `BaseSelect`

object as required by the `pSel`

argument of the `SetSelectedEdges()`

method of `PolygonObject`

?

TL;DR: If I can't tell which actual edges the edge indices of a `Neighbor`

object refer to, I can't make use of `Neighbor`

edge indices for any operation that requires them.

Am I overlooking something, or is this API completely broken?