36 currentEdgeId_ = sourceId;
37 targetEdgeId_ = targetId;
40 int s0 = polymerPtr_->edge(sourceId).vertexId(0);
41 int s1 = polymerPtr_->edge(sourceId).vertexId(1);
44 int t0 = polymerPtr_->edge(targetId).vertexId(0);
45 int t1 = polymerPtr_->edge(targetId).vertexId(1);
49 p00 = polymerPtr_->path(s0, t0);
50 p01 = polymerPtr_->path(s0, t1);
51 p10 = polymerPtr_->path(s1, t0);
52 p11 = polymerPtr_->path(s1, t1);
54 if (p00[0] == currentEdgeId_) {
58 currentVertexId_ = s1;
59 currentDirectionId_ = 0;
61 if (p10[0] == currentEdgeId_) {
65 currentVertexId_ = s0;
66 currentDirectionId_ = 1;
68 UTIL_THROW(
"Error in finding leading vertex for source");
72 p00 = polymerPtr_->path(t0, s0);
73 p01 = polymerPtr_->path(t0, s1);
74 p10 = polymerPtr_->path(t1, s0);
75 p11 = polymerPtr_->path(t1, s1);
77 if (p00[0] == targetEdgeId_) {
83 if (p10[0] == targetEdgeId_) {