BrepVertex - Identify connected Edges? (RhinoCommon)

dear all, as it seems, the RhinoCommon class BrepVertex is unable to tell me about adjacent edges. is there an easy way to identify all edges that are connected to a brep vertex?

best regards, heinz.

@tim is this something you can help with?

In C++, you can obtain a list of edges that start/end at a vertex using ON_BrepVertex::m_ei. But it looks like this is not yet exposed on RhinoCommon, as there should be members on BrepVertex to return the number of edges and the indices of those edges.

http://mcneel.myjetbrains.com/youtrack/issue/RH-29443

If you don’t mind me asking, what are you trying to do and why?

You could use Rhino_DotNet in addition to RhinoCommon for these cases. Rhino_DotNet is however deprecated and will (probably) not be supported in upcoming Rhino releases.

You can use classes in the Rhino.Runtime.Interop namespace to convert a Brep to and from Rhino_DotNet. Once you have an OnBrep, you can query the OnBrepVertex’s edge indices.

dear dale, thanks for your reply!

i want to get a (mostly irregular) polyhedral brep from rhino and generate a producible (architectural) structure based on that geometry. for this, i need to work with the brep like you’d work with a half-edge mesh structure. i.e. each edge knows about adjacent faces, if there’s just one adjacent face, the respective edge has to be part of the structure’s boundary…, etc. that’s already possible since the BrepEdge class knows about adjacent faces. however, for constructing nodes, i’d need to also know about which edges are connected to the respective vertex i want to generate node geometry for.

for now i’m gonna search all edges’ start- and endpoints for compliance each time i’m dealing with a vertex in order to identify connected edges. i’m however not really sure if that’s very smart … :wink:

cheers, heinz.

thanks, menno! i’d prefer to stick with rhinocommon since relying on deprecated libraries sounds a bit risky to me. it is however good to know that there’s at least a risky way to achieve what i want if i don’t succeed by applying my typically less elegant, tinkered approaches :wink: