final boolean init(int tmpEdgeId, int expectedAdjNode) { setEdgeId(tmpEdgeId); if (!EdgeIterator.Edge.isValid(edgeId)) throw new IllegalArgumentException("fetching the edge requires a valid edgeId but was " + edgeId); selectEdgeAccess(); edgePointer = edgeAccess.toPointer(tmpEdgeId); baseNode = edgeAccess.edges.getInt(edgePointer + edgeAccess.E_NODEA); if (baseNode == EdgeAccess.NO_NODE) throw new IllegalStateException("content of edgeId " + edgeId + " is marked as invalid - ie. the edge is already removed!"); adjNode = edgeAccess.edges.getInt(edgePointer + edgeAccess.E_NODEB); // a next() call should return false nextEdgeId = EdgeIterator.NO_EDGE; if (expectedAdjNode == adjNode || expectedAdjNode == Integer.MIN_VALUE) { reverse = false; return true; } else if (expectedAdjNode == baseNode) { reverse = true; baseNode = adjNode; adjNode = expectedAdjNode; return true; } return false; }
final boolean init(int tmpEdgeId, int expectedAdjNode) { setEdgeId(tmpEdgeId); if (tmpEdgeId != EdgeIterator.NO_EDGE) { selectEdgeAccess(); this.edgePointer = edgeAccess.toPointer(tmpEdgeId); } // expect only edgePointer is properly initialized via setEdgeId baseNode = edgeAccess.edges.getInt(edgePointer + edgeAccess.E_NODEA); if (baseNode == EdgeAccess.NO_NODE) throw new IllegalStateException("content of edgeId " + edgeId + " is marked as invalid - ie. the edge is already removed!"); adjNode = edgeAccess.edges.getInt(edgePointer + edgeAccess.E_NODEB); // a next() call should return false nextEdgeId = EdgeIterator.NO_EDGE; if (expectedAdjNode == adjNode || expectedAdjNode == Integer.MIN_VALUE) { reverse = false; return true; } else if (expectedAdjNode == baseNode) { reverse = true; baseNode = adjNode; adjNode = expectedAdjNode; return true; } return false; }
final boolean init(int tmpEdgeId, int expectedAdjNode) { setEdgeId(tmpEdgeId); if (tmpEdgeId != EdgeIterator.NO_EDGE) { selectEdgeAccess(); this.edgePointer = edgeAccess.toPointer(tmpEdgeId); } // expect only edgePointer is properly initialized via setEdgeId baseNode = edgeAccess.edges.getInt(edgePointer + edgeAccess.E_NODEA); if (baseNode == EdgeAccess.NO_NODE) throw new IllegalStateException("content of edgeId " + edgeId + " is marked as invalid - ie. the edge is already removed!"); adjNode = edgeAccess.edges.getInt(edgePointer + edgeAccess.E_NODEB); // a next() call should return false nextEdgeId = EdgeIterator.NO_EDGE; if (expectedAdjNode == adjNode || expectedAdjNode == Integer.MIN_VALUE) { reverse = false; return true; } else if (expectedAdjNode == baseNode) { reverse = true; baseNode = adjNode; adjNode = expectedAdjNode; return true; } return false; }
final boolean init( int tmpEdgeId, int expectedAdjNode ) { setEdgeId(tmpEdgeId); if (tmpEdgeId != EdgeIterator.NO_EDGE) { selectEdgeAccess(); this.edgePointer = edgeAccess.toPointer(tmpEdgeId); } // expect only edgePointer is properly initialized via setEdgeId baseNode = edgeAccess.edges.getInt(edgePointer + edgeAccess.E_NODEA); if (baseNode == EdgeAccess.NO_NODE) throw new IllegalStateException("content of edgeId " + edgeId + " is marked as invalid - ie. the edge is already removed!"); adjNode = edgeAccess.edges.getInt(edgePointer + edgeAccess.E_NODEB); // a next() call should return false nextEdgeId = EdgeIterator.NO_EDGE; if (expectedAdjNode == adjNode || expectedAdjNode == Integer.MIN_VALUE) { reverse = false; return true; } else if (expectedAdjNode == baseNode) { reverse = true; baseNode = adjNode; adjNode = expectedAdjNode; return true; } return false; }
@Override public EdgeIterator setBaseNode( int baseNode ) { // always use base graph edge access setEdgeId(baseGraph.edgeAccess.getEdgeRef(baseNode)); _setBaseNode(baseNode); return this; }
@Override public EdgeIterator setBaseNode(int baseNode) { // always use base graph edge access setEdgeId(baseGraph.edgeAccess.getEdgeRef(baseNode)); _setBaseNode(baseNode); return this; }
@Override public EdgeIterator setBaseNode(int baseNode) { // always use base graph edge access setEdgeId(baseGraph.edgeAccess.getEdgeRef(baseNode)); _setBaseNode(baseNode); return this; }
@Override public EdgeIterator setBaseNode(int baseNode) { // always use base graph edge access setEdgeId(baseGraph.edgeAccess.getEdgeRef(baseNode)); _setBaseNode(baseNode); return this; }