com.esri.arcgis.networkanalysis
Class ITraceFlowSolverProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.networkanalysis.ITraceFlowSolverProxy
All Implemented Interfaces:
ITraceFlowSolver, Externalizable, Serializable
Direct Known Subclasses:
ITraceFlowSolver2Proxy

public class ITraceFlowSolverProxy
extends com.esri.arcgis.interop.Dispatch
implements ITraceFlowSolver, Serializable

Provides access to members that perform basic traces on a network.

Superseded By

ITraceFlowSolver2

When To Use

Use the ITraceFlowSolver interface when you want to implement your own custom solver. This interface provides methods for common network tracing tasks such as find common ancestors and trace upstream.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
INetSolverWeights, ITraceFlowSolver,

Not all members are callable from Java. Please use ITraceFlowSolverGEN instead.

, Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  ITraceFlowSolverProxy()
           
  ITraceFlowSolverProxy(Object obj)
           
protected ITraceFlowSolverProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 void findCircuits(int flowElements, IEnumNetEID[] junctionEIDs, IEnumNetEID[] edgeEIDs)
          Finds all reachable network elements that are parts of closed circuits in the network.
 void findCommonAncestors(int flowElements, IEnumNetEID[] junctionEIDs, IEnumNetEID[] edgeEIDs)
          Finds all reachable network elements that are upstream from all the specified origins.
 void findFlowElements(int flowMethod, int flowElements, IEnumNetEID[] junctionEIDs, IEnumNetEID[] edgeEIDs)
          Finds all reachable network elements based on the specified flow method.
 void findFlowEndElements(int flowMethod, int flowElements, IEnumNetEID[] junctionEIDs, IEnumNetEID[] edgeEIDs)
          Finds all reachable network end elements based on the specified flow method.
 void findPath(int flowMethod, int objFn, IEnumNetEID[] junctionEIDs, IEnumNetEID[] edgeEIDs, int count, Object[] segmentCosts)
          Finds a path between the specified origins in the network.
 void putEdgeOrigins(int edgeOriginCount, IEdgeFlag edgeOrigins)
          Sets the starting edges for this trace solver.
 void putJunctionOrigins(int junctionOriginCount, IJunctionFlag junctionOrigins)
          Sets the starting junctions for this trace solver.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void setTraceIndeterminateFlow(boolean rhs1)
          Indicates if directional traces include edges with indeterminate or uninitialized flow direction.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ITraceFlowSolverProxy

public ITraceFlowSolverProxy()

ITraceFlowSolverProxy

public ITraceFlowSolverProxy(Object obj)
                      throws IOException
Throws:
IOException

ITraceFlowSolverProxy

protected ITraceFlowSolverProxy(Object obj,
                                String iid)
                         throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

setTraceIndeterminateFlow

public void setTraceIndeterminateFlow(boolean rhs1)
                               throws IOException,
                                      AutomationException
Indicates if directional traces include edges with indeterminate or uninitialized flow direction.

Remarks

The TraceIndeterminateFlow property affects the trace results of trace solvers whose FlowMethod parameter is esriFMUpstream or esriFMDownstream. If the TraceIndeterminateFlow parameter is set to False, then the trace solver will only trace on edges whose flow is determined, and only in the direction specified in the FlowMethod parameter of the trace solver. If the TraceIndeterminateFlow parameter is set to True, then the trace solver will not only trace on the aforementioned edges, but also on edges with indeterminate or uninitialized flow.

Set the TraceIndetermiateFlow property before calling any of the trace solvers.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTraceIndeterminateFlow in interface ITraceFlowSolver
Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putJunctionOrigins

public void putJunctionOrigins(int junctionOriginCount,
                               IJunctionFlag junctionOrigins)
                        throws IOException,
                               AutomationException
Sets the starting junctions for this trace solver.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

This method is not callable from Java. Please use ITraceFlowSolverGEN::PutJunctionOrigins.

Specified by:
putJunctionOrigins in interface ITraceFlowSolver
Parameters:
junctionOriginCount - The junctionOriginCount (in)
junctionOrigins - A reference to a com.esri.arcgis.networkanalysis.IJunctionFlag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putEdgeOrigins

public void putEdgeOrigins(int edgeOriginCount,
                           IEdgeFlag edgeOrigins)
                    throws IOException,
                           AutomationException
Sets the starting edges for this trace solver.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

This method is not callable from Java. Please use ITraceFlowSolverGEN::PutEdgeOrigins.

Specified by:
putEdgeOrigins in interface ITraceFlowSolver
Parameters:
edgeOriginCount - The edgeOriginCount (in)
edgeOrigins - A reference to a com.esri.arcgis.networkanalysis.IEdgeFlag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findFlowElements

public void findFlowElements(int flowMethod,
                             int flowElements,
                             IEnumNetEID[] junctionEIDs,
                             IEnumNetEID[] edgeEIDs)
                      throws IOException,
                             AutomationException
Finds all reachable network elements based on the specified flow method.

Remarks

The FlowMethod parameter determines whether the trace solver traces upstream, downstream, or on all connected edges. If you would like to allow or restrict tracing on edges with indeterminate or uninitialized flow, be sure to set the TraceIndeterminateFlow property prior to calling this trace solver.

The flowElements parameter determines whether edge elements, junction elements, or both are returned by the trace solver.

The trace solver will return the traced junction and edge element IDs in the junctionEIDs and edgeEIDs parameters respectively.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findFlowElements in interface ITraceFlowSolver
Parameters:
flowMethod - A com.esri.arcgis.networkanalysis.esriFlowMethod constant (in)
flowElements - A com.esri.arcgis.networkanalysis.esriFlowElements constant (in)
junctionEIDs - A reference to a com.esri.arcgis.geodatabase.IEnumNetEID (out: use single element array)
edgeEIDs - A reference to a com.esri.arcgis.geodatabase.IEnumNetEID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findFlowEndElements

public void findFlowEndElements(int flowMethod,
                                int flowElements,
                                IEnumNetEID[] junctionEIDs,
                                IEnumNetEID[] edgeEIDs)
                         throws IOException,
                                AutomationException
Finds all reachable network end elements based on the specified flow method.

Remarks

The FindFlowEndElements method returns those network elements stopping the trace. Network elements stopping a trace are those elements past which a trace cannot continue. These include network elements in a disabled element class (specified by INetSolver::DisableElementClass), and network elements that are connected to only one other network element.

The FlowMethod parameter determines whether the trace solver traces upstream, downstream, or on all connected edges. If you would like to allow or restrict tracing on edges with indeterminate or uninitialized flow, be sure to set the TraceIndeterminateFlow property prior to calling this trace solver.

The flowElements parameter determines whether edge elements, junction elements, or both are returned by the trace solver.

The trace solver will return the traced junction and edge element IDs in the junctionEIDs and edgeEIDs parameters respectively.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findFlowEndElements in interface ITraceFlowSolver
Parameters:
flowMethod - A com.esri.arcgis.networkanalysis.esriFlowMethod constant (in)
flowElements - A com.esri.arcgis.networkanalysis.esriFlowElements constant (in)
junctionEIDs - A reference to a com.esri.arcgis.geodatabase.IEnumNetEID (out: use single element array)
edgeEIDs - A reference to a com.esri.arcgis.geodatabase.IEnumNetEID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findPath

public void findPath(int flowMethod,
                     int objFn,
                     IEnumNetEID[] junctionEIDs,
                     IEnumNetEID[] edgeEIDs,
                     int count,
                     Object[] segmentCosts)
              throws IOException,
                     AutomationException
Finds a path between the specified origins in the network.

Remarks

The FlowMethod parameter determines whether the trace solver traces upstream, downstream, or on all connected edges.

The objFn parameter specifies the objective function of the trace solver. Depending on this parameter, the trace solver will either attempt to minimize the total cost of the path, or will attempt to minimize the maximum cost of any single element in the path.

The Count is the number of path segments to be returned by the trace solver. It is equivalent to one less than the number of flags being passed into the trace solver. The Count is also the size of the array passed into the segmentCosts parameter.

The origins you place on the network using PutEdgeOrigins or PutJunctionOrigins must be either all edge origins or all junction origins. You cannot find a path among a mixture of edge and junction origins.

The trace solver will return the traced junction and edge element IDs in the junctionEIDs and edgeEIDs parameters respectively, and will return the cost of each segment in the segmentCosts array.

The traced element IDs are returned in the order that they were traced.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

This method is not callable from Java. Please use ITraceFlowSolverGEN::FindPath.

Specified by:
findPath in interface ITraceFlowSolver
Parameters:
flowMethod - A com.esri.arcgis.networkanalysis.esriFlowMethod constant (in)
objFn - A com.esri.arcgis.networkanalysis.esriShortestPathObjFn constant (in)
junctionEIDs - A reference to a com.esri.arcgis.geodatabase.IEnumNetEID (out: use single element array)
edgeEIDs - A reference to a com.esri.arcgis.geodatabase.IEnumNetEID (out: use single element array)
count - The count (in)
segmentCosts - A Variant (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findCircuits

public void findCircuits(int flowElements,
                         IEnumNetEID[] junctionEIDs,
                         IEnumNetEID[] edgeEIDs)
                  throws IOException,
                         AutomationException
Finds all reachable network elements that are parts of closed circuits in the network.

Remarks

The flowElements parameter determines whether edge elements, junction elements, or both are returned by the trace solver.

The trace solver will return the traced junction and edge element IDs in the junctionEIDs and edgeEIDs parameters respectively.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findCircuits in interface ITraceFlowSolver
Parameters:
flowElements - A com.esri.arcgis.networkanalysis.esriFlowElements constant (in)
junctionEIDs - A reference to a com.esri.arcgis.geodatabase.IEnumNetEID (out: use single element array)
edgeEIDs - A reference to a com.esri.arcgis.geodatabase.IEnumNetEID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findCommonAncestors

public void findCommonAncestors(int flowElements,
                                IEnumNetEID[] junctionEIDs,
                                IEnumNetEID[] edgeEIDs)
                         throws IOException,
                                AutomationException
Finds all reachable network elements that are upstream from all the specified origins.

Remarks

The flowElements parameter determines whether edge elements, junction elements, or both are returned by the trace solver.

The trace solver will return the traced junction and edge element IDs in the junctionEIDs and edgeEIDs parameters respectively.

If you would like to allow or restrict tracing on edges with indeterminate or uninitialized flow, be sure to set the TraceIndeterminateFlow property prior to calling this trace solver.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
findCommonAncestors in interface ITraceFlowSolver
Parameters:
flowElements - A com.esri.arcgis.networkanalysis.esriFlowElements constant (in)
junctionEIDs - A reference to a com.esri.arcgis.geodatabase.IEnumNetEID (out: use single element array)
edgeEIDs - A reference to a com.esri.arcgis.geodatabase.IEnumNetEID (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException
ClassNotFoundException