What do incomingVirtualEdge and outgoingVirtualEdge stand for?

When I print it in the console, it looks something like this 132611->132610

GraphHopper uses a construct called the QueryGraph graphhopper/technical.md at master · graphhopper/graphhopper · GitHub to account for artificial edges that are created to connect a GPS point to the actual road network. These artifical edges are called virtual edges.

Hi easbar, thank you for your reply. What confuses me is that the State class often has two instances on the same point(virtual node maybe) on a directed road for a gps point, the only difference for them are the incomingVirtualEdge and outgoingVirtualEdge(it seems that they are opposite). Why need two instances for the same road?

This is what I print on the console:
State{closest node=132611 at 31.3287930499873,121.45434802260965, incomingEdge=132611->132610, outgoingEdge=132611->4737}
State{closest node=132611 at 31.3287930499873,121.45434802260965, incomingEdge=132611->4737, outgoingEdge=132611->132610}