
public abstract class OSQLFunctionHeuristicPathFinderAbstract extends OSQLFunctionMathAbstract
| Modifier and Type | Field and Description |
|---|---|
protected OCommandContext |
context |
protected OrientBaseGraph |
db |
protected static float |
MIN |
static java.lang.String |
PARAM_CUSTOM_HEURISTIC_FORMULA |
static java.lang.String |
PARAM_D_FACTOR |
static java.lang.String |
PARAM_DIRECTION |
static java.lang.String |
PARAM_EDGE_TYPE_NAMES |
static java.lang.String |
PARAM_EMPTY_IF_MAX_DEPTH |
static java.lang.String |
PARAM_HEURISTIC_FORMULA |
static java.lang.String |
PARAM_MAX_DEPTH |
static java.lang.String |
PARAM_PARALLEL |
static java.lang.String |
PARAM_TIE_BREAKER |
static java.lang.String |
PARAM_VERTEX_AXIS_NAMES |
protected java.lang.String |
paramCustomHeuristicFormula |
protected OrientVertex |
paramDestinationVertex |
protected double |
paramDFactor |
protected com.tinkerpop.blueprints.Direction |
paramDirection |
protected java.lang.String[] |
paramEdgeTypeNames |
protected java.lang.Boolean |
paramEmptyIfMaxDepth |
protected HeuristicFormula |
paramHeuristicFormula |
protected long |
paramMaxDepth |
protected java.lang.Boolean |
paramParallel |
protected OrientVertex |
paramSourceVertex |
protected java.lang.Boolean |
paramTieBreaker |
protected java.lang.String[] |
paramVertexAxisNames |
protected static java.util.Random |
rnd |
protected java.util.List<OrientVertex> |
route |
configuredParametersmaxParams, minParams, name| Constructor and Description |
|---|
OSQLFunctionHeuristicPathFinderAbstract(java.lang.String iName,
int iMinParams,
int iMaxParams) |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.Boolean |
booleanOrDefault(java.lang.Object fromObject,
boolean defaultValue) |
protected java.lang.Double |
doubleOrDefault(java.lang.Object fromObject,
double defaultValue) |
protected double |
getCustomHeuristicCost(java.lang.String functionName,
java.lang.String[] vertextAxisNames,
OrientVertex start,
OrientVertex goal,
OrientVertex current,
OrientVertex parent,
long depth,
double dFactor) |
protected double |
getDiagonalHeuristicCost(double x,
double y,
double gx,
double gy,
double dFactor) |
protected double |
getDiagonalHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double dFactor) |
protected abstract double |
getDistance(OrientVertex node,
OrientVertex parent,
OrientVertex target) |
protected double |
getEuclideanHeuristicCost(double x,
double y,
double gx,
double gy,
double dFactor) |
protected double |
getEuclideanHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double dFactor) |
protected double |
getEuclideanNoSQRHeuristicCost(double x,
double y,
double gx,
double gy,
double dFactor) |
protected double |
getEuclideanNoSQRHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double dFactor) |
protected abstract double |
getHeuristicCost(OrientVertex node,
OrientVertex parent,
OrientVertex target) |
protected double |
getManhatanHeuristicCost(double x,
double y,
double gx,
double gy,
double dFactor) |
protected double |
getManhatanHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double dFactor) |
protected double |
getMaxAxisHeuristicCost(double x,
double y,
double gx,
double gy,
double dFactor) |
protected double |
getMaxAxisHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double dFactor) |
protected java.util.Set<OrientVertex> |
getNeighbors(OrientVertex node) |
protected java.util.LinkedList<OrientVertex> |
getPath() |
protected double |
getSimpleHeuristicCost(double x,
double g,
double dFactor) |
protected double |
getTieBreakingHeuristicCost(double x,
double y,
double sx,
double sy,
double gx,
double gy,
double heuristic) |
protected double |
getTieBreakingHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double heuristic) |
protected double |
getTieBreakingRandomHeuristicCost(double x,
double y,
double sx,
double sy,
double gx,
double gy,
double heuristic) |
protected java.lang.Integer |
integerOrDefault(java.lang.Object fromObject,
int defaultValue) |
protected boolean |
isVariableEdgeWeight() |
protected java.lang.Long |
longOrDefault(java.lang.Object fromObject,
long defaultValue) |
protected java.lang.String[] |
stringArray(java.lang.Object fromObject) |
protected java.lang.String |
stringOrDefault(java.lang.Object fromObject,
java.lang.String defaultValue) |
aggregateResults, getClassWithMorePrecision, getContextValue, shouldMergeDistributedResultconfig, toStringfilterResult, getDistributedStorageId, getMaxParams, getMinParams, getName, getResult, getSingleItem, getSingleProperty, mergeDistributedResult, returnDistributedResult, setResultclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitexecute, getSyntaxpublic static final java.lang.String PARAM_DIRECTION
public static final java.lang.String PARAM_EDGE_TYPE_NAMES
public static final java.lang.String PARAM_VERTEX_AXIS_NAMES
public static final java.lang.String PARAM_PARALLEL
public static final java.lang.String PARAM_MAX_DEPTH
public static final java.lang.String PARAM_HEURISTIC_FORMULA
public static final java.lang.String PARAM_CUSTOM_HEURISTIC_FORMULA
public static final java.lang.String PARAM_D_FACTOR
public static final java.lang.String PARAM_TIE_BREAKER
public static final java.lang.String PARAM_EMPTY_IF_MAX_DEPTH
protected OrientBaseGraph db
protected static java.util.Random rnd
protected java.lang.Boolean paramParallel
protected java.lang.Boolean paramTieBreaker
protected java.lang.Boolean paramEmptyIfMaxDepth
protected java.lang.String[] paramEdgeTypeNames
protected java.lang.String[] paramVertexAxisNames
protected OrientVertex paramSourceVertex
protected OrientVertex paramDestinationVertex
protected HeuristicFormula paramHeuristicFormula
protected com.tinkerpop.blueprints.Direction paramDirection
protected long paramMaxDepth
protected double paramDFactor
protected java.lang.String paramCustomHeuristicFormula
protected OCommandContext context
protected java.util.List<OrientVertex> route
protected static final float MIN
public OSQLFunctionHeuristicPathFinderAbstract(java.lang.String iName,
int iMinParams,
int iMaxParams)
protected boolean isVariableEdgeWeight()
protected abstract double getDistance(OrientVertex node, OrientVertex parent, OrientVertex target)
protected abstract double getHeuristicCost(OrientVertex node, OrientVertex parent, OrientVertex target)
protected java.util.LinkedList<OrientVertex> getPath()
protected java.util.Set<OrientVertex> getNeighbors(OrientVertex node)
protected double getSimpleHeuristicCost(double x,
double g,
double dFactor)
protected double getManhatanHeuristicCost(double x,
double y,
double gx,
double gy,
double dFactor)
protected double getMaxAxisHeuristicCost(double x,
double y,
double gx,
double gy,
double dFactor)
protected double getDiagonalHeuristicCost(double x,
double y,
double gx,
double gy,
double dFactor)
protected double getEuclideanHeuristicCost(double x,
double y,
double gx,
double gy,
double dFactor)
protected double getEuclideanNoSQRHeuristicCost(double x,
double y,
double gx,
double gy,
double dFactor)
protected double getCustomHeuristicCost(java.lang.String functionName,
java.lang.String[] vertextAxisNames,
OrientVertex start,
OrientVertex goal,
OrientVertex current,
OrientVertex parent,
long depth,
double dFactor)
protected double getTieBreakingHeuristicCost(double x,
double y,
double sx,
double sy,
double gx,
double gy,
double heuristic)
protected double getTieBreakingRandomHeuristicCost(double x,
double y,
double sx,
double sy,
double gx,
double gy,
double heuristic)
protected double getManhatanHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double dFactor)
protected double getMaxAxisHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double dFactor)
protected double getDiagonalHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double dFactor)
protected double getEuclideanHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double dFactor)
protected double getEuclideanNoSQRHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double dFactor)
protected double getTieBreakingHeuristicCost(java.lang.String[] axisNames,
java.util.Map<java.lang.String,java.lang.Double> slist,
java.util.Map<java.lang.String,java.lang.Double> clist,
java.util.Map<java.lang.String,java.lang.Double> plist,
java.util.Map<java.lang.String,java.lang.Double> glist,
long depth,
double heuristic)
protected java.lang.String[] stringArray(java.lang.Object fromObject)
protected java.lang.Boolean booleanOrDefault(java.lang.Object fromObject,
boolean defaultValue)
protected java.lang.String stringOrDefault(java.lang.Object fromObject,
java.lang.String defaultValue)
protected java.lang.Integer integerOrDefault(java.lang.Object fromObject,
int defaultValue)
protected java.lang.Long longOrDefault(java.lang.Object fromObject,
long defaultValue)
protected java.lang.Double doubleOrDefault(java.lang.Object fromObject,
double defaultValue)
Copyright © 2009–2023 OrientDB. All rights reserved.