drasys.or.graph
Interface PropertiesI

All Known Subinterfaces:
TimeWindowPropertiesI
All Known Implementing Classes:
PropertiesAdapter

public interface PropertiesI
extends VertexPropertiesI, EdgePropertiesI

The interface used by algorithms to obtain vertex, edge and graph properties. The properties used by an algorithm can be tailored by implementing this interface and calling setProperties() in the algorithm's interface.


Method Summary
 double getConnectionCost(EdgeI inEdge, VertexI vertex, EdgeI outEdge)
          Returns the cost of crossing a vertex between two explicit edges.
 double getConnectionTime(EdgeI inEdge, VertexI vertex, EdgeI outEdge)
          Returns the time to cross a vertex between two explicit edges.
 boolean isConnectionRestricted(EdgeI inEdge, VertexI vertex, EdgeI outEdge)
          Prevents the algorithm from crossing a vertex from the inEdge to the OutEdge.
 
Methods inherited from interface drasys.or.graph.VertexPropertiesI
getVertexCost, getVertexDemand, getVertexTime, isVertexRestricted
 
Methods inherited from interface drasys.or.graph.EdgePropertiesI
getEdgeCost, getEdgeDistance, getEdgeTime, isEdgeRestricted, isSymmetric
 

Method Detail

isConnectionRestricted

public boolean isConnectionRestricted(EdgeI inEdge,
                                      VertexI vertex,
                                      EdgeI outEdge)
Prevents the algorithm from crossing a vertex from the inEdge to the OutEdge. This attribute can be used to implement turn restrictions in a graph with out the overhead of artificial elements. Some algorithms don't use this attribute and return false for 'usesConnectionProperties()".
Parameters:
inEdge - the edge traversed to reach the vertex.
vertex - the vertex.
outEdge - the edge traversed to leave the vertex.

getConnectionCost

public double getConnectionCost(EdgeI inEdge,
                                VertexI vertex,
                                EdgeI outEdge)
Returns the cost of crossing a vertex between two explicit edges. This attribute can be used to implement turn penalties in a graph with out the overhead of artificial elements. Some algorithms don't use this attribute and return false for 'usesConnectionProperties()".
Parameters:
inEdge - the edge traversed to reach the vertex.
vertex - the vertex.
outEdge - the edge traversed to leave the vertex.

getConnectionTime

public double getConnectionTime(EdgeI inEdge,
                                VertexI vertex,
                                EdgeI outEdge)
Returns the time to cross a vertex between two explicit edges. This attribute can be used to implement turn delays in a graph with out the overhead of artificial elements. Some algorithms don't use this attribute and return false for 'usesConnectionProperties()".
Parameters:
inEdge - the edge traversed to reach the vertex.
vertex - the vertex.
outEdge - the edge traversed to leave the vertex.


Copyright(C)1997-2000 by DRA Systems all rights reserved. OpsResearch.com