com.esri.arcgis.geodatabase
Class ForwardStar

java.lang.Object
  extended by com.esri.arcgis.geodatabase.ForwardStar
All Implemented Interfaces:
IForwardStar, IForwardStarGEN, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class ForwardStar
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IForwardStarGEN, IForwardStar

A container for querying information about adjacent elements in the logical network.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
ForwardStar(Object obj)
          Construct a ForwardStar using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 void findAdjacent(int fromEdgeEID, int atJunctionEID, int[] adjacentEdgesCount)
          Finds the edge elements that are adjacent to the given junction element and returns the count.
 INetwork getNetwork()
          Underlying network of this forward star cursor.
 int hashCode()
          the hashcode for this object
 void queryAdjacentEdge(int index, int[] adjacentEdgeEID, boolean[] reverseOrientation, Object[] adjacentEdgeWeightValue)
          Returns index'th adjacent edge found with FindAdjacent, its orientation, and its weight value.
 void queryAdjacentEdges(int[][] adjacentEdgeEIDs, boolean[][] reverseOrientation, Object[][] adjacentEdgesWeightValue)
          Returns the adjacent edges found with FindAdjacent into the specified user-defined array.
 void queryAdjacentEdges(int count, int[] adjacentEdgeEIDs, boolean[] reverseOrientation, Object[] adjacentEdgesWeightValue)
          Returns the adjacent edges found with FindAdjacent into the specified user-defined array.
 void queryAdjacentJunction(int index, int[] adjacentJunctionEID, Object[] adjacentJunctionWeightValue)
          Returns the opposite junction of the index'th adjacent edge found with FindAdjacent, and the weight value for this junction.
 void queryAdjacentJunctions(int[][] adjacentJunctionEIDs, Object[][] adjacentJunctionsWeightValue)
          Returns the opposite junctions of the adjacent edges found with FindAdjacent into the specified user-defined array.
 void queryAdjacentJunctions(int count, int[] adjacentJunctionEIDs, Object[] adjacentJunctionsWeightValue)
          Returns the opposite junctions of the adjacent edges found with FindAdjacent into the specified user-defined array.
 void queryAtTurn(int index, int[] adjacentTurnEID, Object[] adjacentTurnWeightValue)
          Returns the turn through which the index'th adjacent edge found with FindAdjacent passes, and the weight value of the turn.
 void queryAtTurns(int count, int[] adjacentTurnEIDs, Object[] adjacentTurnsWeightValue)
          Returns the turns through which the adjacent edges found with FindAdjacent passes into the user-defined array.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

ForwardStar

public ForwardStar(Object obj)
            throws IOException
Construct a ForwardStar using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ForwardStar.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
ForwardStar o = (ForwardStar)obj; // will not work

ForwardStar o = new ForwardStar(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems ForwardStar theForwardStar = (ForwardStar) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getNetwork

public INetwork getNetwork()
                    throws IOException,
                           AutomationException
Underlying network of this forward star cursor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getNetwork in interface IForwardStar
Specified by:
getNetwork in interface IForwardStarGEN
Returns:
A reference to a com.esri.arcgis.geodatabase.INetwork
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetwork.createForwardStar(boolean, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight), IForwardStar.queryAdjacentEdge(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunction(int, int[], Object[]), IForwardStar.getNetwork(), IForwardStar.findAdjacent(int, int, int[]), IForwardStar.queryAtTurns(int, int[], Object[]), IForwardStar.queryAdjacentEdges(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunctions(int, int[], Object[]), IForwardStar.queryAtTurn(int, int[], Object[])

findAdjacent

public void findAdjacent(int fromEdgeEID,
                         int atJunctionEID,
                         int[] adjacentEdgesCount)
                  throws IOException,
                         AutomationException
Finds the edge elements that are adjacent to the given junction element and returns the count.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
findAdjacent in interface IForwardStar
Specified by:
findAdjacent in interface IForwardStarGEN
Parameters:
fromEdgeEID - The fromEdgeEID (in)
atJunctionEID - The atJunctionEID (in)
adjacentEdgesCount - The adjacentEdgesCount (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetwork.createForwardStar(boolean, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight), IForwardStar.queryAdjacentEdge(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunction(int, int[], Object[]), IForwardStar.getNetwork(), IForwardStar.findAdjacent(int, int, int[]), IForwardStar.queryAtTurns(int, int[], Object[]), IForwardStar.queryAdjacentEdges(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunctions(int, int[], Object[]), IForwardStar.queryAtTurn(int, int[], Object[])

queryAdjacentJunction

public void queryAdjacentJunction(int index,
                                  int[] adjacentJunctionEID,
                                  Object[] adjacentJunctionWeightValue)
                           throws IOException,
                                  AutomationException
Returns the opposite junction of the index'th adjacent edge found with FindAdjacent, and the weight value for this junction.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
queryAdjacentJunction in interface IForwardStar
Specified by:
queryAdjacentJunction in interface IForwardStarGEN
Parameters:
index - The index (in)
adjacentJunctionEID - The adjacentJunctionEID (out: use single element array)
adjacentJunctionWeightValue - A Variant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetwork.createForwardStar(boolean, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight), IForwardStar.queryAdjacentEdge(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunction(int, int[], Object[]), IForwardStar.getNetwork(), IForwardStar.findAdjacent(int, int, int[]), IForwardStar.queryAtTurns(int, int[], Object[]), IForwardStar.queryAdjacentEdges(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunctions(int, int[], Object[]), IForwardStar.queryAtTurn(int, int[], Object[])

queryAdjacentEdge

public void queryAdjacentEdge(int index,
                              int[] adjacentEdgeEID,
                              boolean[] reverseOrientation,
                              Object[] adjacentEdgeWeightValue)
                       throws IOException,
                              AutomationException
Returns index'th adjacent edge found with FindAdjacent, its orientation, and its weight value.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
queryAdjacentEdge in interface IForwardStar
Specified by:
queryAdjacentEdge in interface IForwardStarGEN
Parameters:
index - The index (in)
adjacentEdgeEID - The adjacentEdgeEID (out: use single element array)
reverseOrientation - The reverseOrientation (out: use single element array)
adjacentEdgeWeightValue - A Variant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetwork.createForwardStar(boolean, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight), IForwardStar.queryAdjacentEdge(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunction(int, int[], Object[]), IForwardStar.getNetwork(), IForwardStar.findAdjacent(int, int, int[]), IForwardStar.queryAtTurns(int, int[], Object[]), IForwardStar.queryAdjacentEdges(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunctions(int, int[], Object[]), IForwardStar.queryAtTurn(int, int[], Object[])

queryAtTurn

public void queryAtTurn(int index,
                        int[] adjacentTurnEID,
                        Object[] adjacentTurnWeightValue)
                 throws IOException,
                        AutomationException
Returns the turn through which the index'th adjacent edge found with FindAdjacent passes, and the weight value of the turn.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
queryAtTurn in interface IForwardStar
Specified by:
queryAtTurn in interface IForwardStarGEN
Parameters:
index - The index (in)
adjacentTurnEID - The adjacentTurnEID (out: use single element array)
adjacentTurnWeightValue - A Variant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetwork.createForwardStar(boolean, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight), IForwardStar.queryAdjacentEdge(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunction(int, int[], Object[]), IForwardStar.getNetwork(), IForwardStar.findAdjacent(int, int, int[]), IForwardStar.queryAtTurns(int, int[], Object[]), IForwardStar.queryAdjacentEdges(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunctions(int, int[], Object[]), IForwardStar.queryAtTurn(int, int[], Object[])

queryAdjacentJunctions

public void queryAdjacentJunctions(int[][] adjacentJunctionEIDs,
                                   Object[][] adjacentJunctionsWeightValue)
                            throws IOException,
                                   AutomationException
Returns the opposite junctions of the adjacent edges found with FindAdjacent into the specified user-defined array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
queryAdjacentJunctions in interface IForwardStarGEN
Parameters:
adjacentJunctionEIDs - The adjacentJunctionEIDs (in/out: use single element array)
adjacentJunctionsWeightValue - A Variant (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryAdjacentEdges

public void queryAdjacentEdges(int[][] adjacentEdgeEIDs,
                               boolean[][] reverseOrientation,
                               Object[][] adjacentEdgesWeightValue)
                        throws IOException,
                               AutomationException
Returns the adjacent edges found with FindAdjacent into the specified user-defined array.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
queryAdjacentEdges in interface IForwardStarGEN
Parameters:
adjacentEdgeEIDs - The adjacentEdgeEIDs (in/out: use single element array)
reverseOrientation - The reverseOrientation (in/out: use single element array)
adjacentEdgesWeightValue - A Variant (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryAdjacentJunctions

public void queryAdjacentJunctions(int count,
                                   int[] adjacentJunctionEIDs,
                                   Object[] adjacentJunctionsWeightValue)
                            throws IOException,
                                   AutomationException
Returns the opposite junctions of the adjacent edges found with FindAdjacent into the specified user-defined array.

Description

QueryAdjacentJunctions returns an array of adjacent junctions and their weights. The array has adjacentEdgesCount entries, where adjacentEdgesCount is the value returned by FindAdjacent.

See also the QueryAdjacentJunction request.

Remarks

adjacentJunctionEIDs and adjacentJunctionsWeightValue are arrays that are dimensioned to at least adjacentEdgesCount, as returned by FindAdjacent. Note that the MaxDegree property of INetwork will tell you the maximum number of edges for any junction, and you can use this to allocate memory for these arrays. Count is equal to adjacentEdgesCount from FindAdjacent.

AdjacentJunctionsWeightValue contain weight values specified in the CreateForwardStar method of the INetwork interface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryAdjacentJunctions in interface IForwardStar
Parameters:
count - The count (in)
adjacentJunctionEIDs - The adjacentJunctionEIDs (out: use single element array)
adjacentJunctionsWeightValue - A Variant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetwork.createForwardStar(boolean, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight), IForwardStar.queryAdjacentEdge(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunction(int, int[], Object[]), IForwardStar.getNetwork(), IForwardStar.findAdjacent(int, int, int[]), IForwardStar.queryAtTurns(int, int[], Object[]), IForwardStar.queryAdjacentEdges(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunctions(int, int[], Object[]),

This method is not callable from Java. Please use IForwardStarGEN::QueryAdjacentJunctions.


queryAdjacentEdges

public void queryAdjacentEdges(int count,
                               int[] adjacentEdgeEIDs,
                               boolean[] reverseOrientation,
                               Object[] adjacentEdgesWeightValue)
                        throws IOException,
                               AutomationException
Returns the adjacent edges found with FindAdjacent into the specified user-defined array.

Description

QueryAdjacentEdges returns an array of adjacent edges, their weights, and their orientation. The array has adjacentEdgesCount entries, where adjacentEdgesCount is the value returned by FindAdjacent.

See also the QueryAdjacentEdge request.

Remarks

adjacentEdgeEIDs, ReverseOrientation, and adjacentEdgesWeightValue are arrays that are dimensioned to at least adjacentEdgesCount, as returned by FindAdjacent. Note that the MaxDegree property of INetwork will tell you the maximum number of edges for any junction, and you can use this to allocate memory for these arrays. Count is equal to adjacentEdgesCount from FindAdjacent.

Values in the ReverseOrientation array are TRUE if the edge "enters" the junction. That is, the junction specified in FindAdjacent is the "to-junction" of the returned edge. ReverseOrientation values will be FALSE if the edge "leaves" the junction - it is the "from-junction" of the returned edge.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryAdjacentEdges in interface IForwardStar
Parameters:
count - The count (in)
adjacentEdgeEIDs - The adjacentEdgeEIDs (out: use single element array)
reverseOrientation - The reverseOrientation (out: use single element array)
adjacentEdgesWeightValue - A Variant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetwork.createForwardStar(boolean, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight), IForwardStar.queryAdjacentEdge(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunction(int, int[], Object[]), IForwardStar.getNetwork(), IForwardStar.findAdjacent(int, int, int[]), IForwardStar.queryAtTurns(int, int[], Object[]), IForwardStar.queryAdjacentEdges(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunctions(int, int[], Object[]),

This method is not callable from Java. Please use IForwardStarGEN::QueryAdjacentEdges.


queryAtTurns

public void queryAtTurns(int count,
                         int[] adjacentTurnEIDs,
                         Object[] adjacentTurnsWeightValue)
                  throws IOException,
                         AutomationException
Returns the turns through which the adjacent edges found with FindAdjacent passes into the user-defined array.

Description

QueryAtTurns returns an array of adjacent turns and their weights. The array has adjacentEdgesCount entries, where adjacentEdgesCount is the value returned by IForwardStar::FindAdjacent.

See also the QueryAtTurn request.

Remarks

A turn represents a movement between two adjacent edges, the from-edge and the to-edge. If you are querying turns, you must specify the fromEdgeEID in the IForwardStar::FindAdjancent request. This is from-edge of the turn.

adjacentTurnEIDs
and adjacentTurnsWeightValue are arrays that are dimensioned to at least adjacentEdgesCount , as returned by IForwardStar::FindAdjacent . Note that the MaxDegree property of INetwork will tell you the maximum number of edges for any junction, and you can use this to allocate memory for these arrays. Count is equal to adjacentEdgesCount from IForwardStar::FindAdjacent.
NOTE: Since turns in networks are not implemented, this method is not implemented.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
queryAtTurns in interface IForwardStar
Parameters:
count - The count (in)
adjacentTurnEIDs - The adjacentTurnEIDs (out: use single element array)
adjacentTurnsWeightValue - A Variant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INetwork.createForwardStar(boolean, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight, com.esri.arcgis.geodatabase.INetWeight), IForwardStar.queryAdjacentEdge(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunction(int, int[], Object[]), IForwardStar.getNetwork(), IForwardStar.findAdjacent(int, int, int[]), IForwardStar.queryAtTurns(int, int[], Object[]), IForwardStar.queryAdjacentEdges(int, int[], boolean[], Object[]), IForwardStar.queryAdjacentJunctions(int, int[], Object[]),

This method is not callable from Java. Please use IForwardStarGEN::QueryAtTurns.