public static ForwardNode MakeRegularNode(WorldState worldState, INodeExpander <ForwardNode> nodeExpander) { return(new ForwardNode( PreconditionUtils.EnsureNotNull(worldState, "worldState"), PreconditionUtils.EnsureNotNull(nodeExpander, "nodeExpander"), default(Goal), false )); }
public static RegressiveNode MakeRegular( RegressiveState currentConstraints, WorldState initialState, INodeExpander <RegressiveNode> nodeExpander ) { return(new RegressiveNode( currentConstraints, initialState, PreconditionUtils.EnsureNotNull(nodeExpander, "nodeExpander"), false )); }
// Preconditions are checked in static factory methods Make*() private ForwardNode(WorldState worldState, INodeExpander <ForwardNode> nodeExpander, Goal goal, bool isGoal) { DebugUtils.Assert( isGoal || nodeExpander != null, "nodeExpander must not be null for regular (non-goal) nodes" ); this.worldState = worldState; this.nodeExpander = nodeExpander; this.goal = goal; this.IsGoal = isGoal; this.outgoingEdges = null; }
private RegressiveNode( RegressiveState currentConstraints, WorldState initialState, INodeExpander <RegressiveNode> nodeExpander, bool isTarget ) { DebugUtils.Assert( isTarget || nodeExpander != null, "Unless isTarget is true, nodeExpander must not be null" ); this.currentConstraints = currentConstraints; InitialState = initialState; this.nodeExpander = nodeExpander; IsTarget = isTarget; }
public IterativeDeepeningSearch(INodeExpander <State, Node <State> > expander, SearchMode mode, int depthLimit = Int32.MaxValue - 1) { Expander = expander; Mode = mode; DepthLimit = depthLimit; }
public RecursiveBestFirstSearch(INodeExpander <State, TNode> expander) { Expander = expander; }
public GraphSearch(INodeExpander <A, S, T, C> expander) : base(expander) { }
public TreeSearch(INodeExpander <A, S, T, C> expander) : base(expander) { }
public InstrumentedNodeExpander(INodeExpander <A, S, T, C> expander) : base(expander) { ClearMetrics(); }
public BreathFirstSearch(INodeExpander <State, Node <State> > expander, SearchMode mode) { Expander = expander; Mode = mode; }
public AStarIterativeDeepeningSearch(INodeExpander <State, AStarNode <State> > expander, SearchMode mode, int costLimit = Int32.MaxValue - 1) { Expander = expander; Mode = mode; CostLimit = costLimit; }
public NodeExpanderDelegator(INodeExpander <A, S, T, C> expander) { this.expander = expander; }
public CostLimitedDepthFirstSearch(INodeExpander <TState, TNode> expander, SearchMode mode, int costLimit) : base(expander, mode, costLimit) { }
public DepthLimitedNodeExpander(INodeExpander <A, S, T, C> expander, INodeLimiter <T, C> limit) : base(expander) { this.limit = limit; }
public AbstractSearchStrategy(INodeExpander <A, S, T, C> expander) { this.expander = expander; }
public InspectableTreeSearch(INodeExpander <CodeSequence, SpriteGeneratorState, SpriteGeneratorSearchNode, IntegerCost> expander) : base(expander) { }
public RecursiveBestFirstSearchStrategy(INodeExpander <A, S, T, C> expander) : base(expander) { }
public DepthFirstSearch(INodeExpander <TState, TNode> expander, SearchMode mode, int depthLimit = Int32.MaxValue) { Expander = expander; Mode = mode; DepthLimit = depthLimit; }