Background
During #38 , @john-boyer-phd brought up how there are some non-gp_ and -g6_ function wrapper methods associated with the Graph and G6(Read|Write)Iterator Cython classes that highlight a mismatch between how the EAPS planarityApp interacts with the graphLib vs. how the (currently private) edge-addition-planarity-suite-testing repository leverages the Cython wrapper.
Proposed solution
Additional context
See this comment and this comment)
Background
During #38 , @john-boyer-phd brought up how there are some non-
gp_and -g6_function wrapper methods associated with theGraphandG6(Read|Write)IteratorCython classes that highlight a mismatch between how the EAPSplanarityAppinteracts with thegraphLibvs. how the (currently private)edge-addition-planarity-suite-testingrepository leverages the Cython wrapper.Proposed solution
G6(Read|Write)Iteratorwith aGraphinstance (i.e.__cinit__()would accept aGraphwhose internalgraphPwould be passed as the second argument tocg6IterationDefs.g6_New(Read|Writ)er()))Graph.get_wrapper_for_graphP()(since we should never have to get a newGraphwrapper for thegraphPcontained by theself)G6ReadIterator.duplicate_currGraph()(since the owner of theG6ReadIteratorshould also own theGraphused to initialize the reader, they can directly callcurr_graph.gp_DupGraph()to get a newGraphthat wraps an independentgraphP)G6ReadIterator.get_currGraph()(since the owner of theG6ReadIteratorshould also own theGraphused to initialize the reader, there shouldn't be a need to get another wrapper of that samegraphP)G6WriteIterator.reinitialize_currGraph(), (since the owner of theG6WriteIteratorwill have access to theGraph, they should be able to directly runcurr_graph.gp_ReinitializeGraph())G6WriteIterator.update_graph_to_write()(since the owner of theG6WriteIteratorwill have access to theGraph, they should be able to directly runcurr_graph.gp_CopyGraph(src_graph=next_graph))edge-addition-planarity-suite-testingworkflows to more closely mirrorplanarityAppuse ofgraphLibAdditional context
See this comment and this comment)