@Override public NODE getParent(NODE node) { if (strategy == null) return null; SEARCH_NODE wrapper = strategy.getNode(node); if (wrapper == null) return null; return wrapper.parent.node; }
@Override public void init( IGraph<NODE, LINK> graph, ISearchGoal<NODE, LINK, SEARCH_NODE> goal, ISearchStrategy<NODE, LINK, SEARCH_NODE> strategy, IGraphView<NODE, LINK, SEARCH_NODE> view, Object config) { this.graph = graph; this.goal = goal; this.strategy = strategy; this.view = view; this.startNode = goal.getStart(); this.strategy.setContext(this); this.goal.setContext(this); closed = strategy.createCloseList(); opened = strategy.createOpenList(); opened.add((SEARCH_NODE) strategy.makeInitialNode(startNode)); state = PathFinderState.RUNNING; }
@Override public SEARCH_NODE getSearchNode(NODE node) { return strategy.getNode(node); }