Closed saeranv closed 4 years ago
Good to know @saeranv . The main issue I see with using the networkx
library directly would be that it seems to be a fairly large package and there are a bunch of things about their package that will weigh down our geometry library (like the fact that they put tests within the package itself). Looking at their requirements it also seems that either some parts of their library might not work our of the box in IronPython.
If you want to pull out the parts of their library that are relevant to our use case and add them to ladybug_geometry, I think that is fine. But I don't think we can easily use the package as it is right now.
This has been completed for the main cases. I'll start a new issue for the edge case of holes.
After completing #53 and #86 the final step needed to build thermal zones will be to implement a graph traversal method to identify closed loops in a set of edges, and make closed polygons from them.
I solved this in the legacy thermal zone splitter component by writing my own graph class with the implementation of some minimum traversal logic. I think we can more or less use the same method here. The one change that might be worthwhile to explore is to use the networkx library to implement the graph methods: https://networkx.github.io/. It'll work across the different IronPython and CPython versions, and will be more robust then my implementation.