Provides access to members that perform basic traces on a network.
| Description | ||
|---|---|---|
![]() |
FindCircuits | Finds all reachable network elements that are parts of closed circuits in the network. |
![]() |
FindCommonAncestors | Finds all reachable network elements that are upstream from all the specified origins. |
![]() |
FindFlowElements | Finds all reachable network elements based on the specified flow method. |
![]() |
FindFlowEndElements | Finds all reachable network end elements based on the specified flow method. |
![]() |
FindPath | Finds a path between the specified origins in the network. |
![]() |
PutEdgeOrigins | Sets the starting edges for this trace solver. |
![]() |
PutJunctionOrigins | Sets the starting junctions for this trace solver. |
![]() |
TraceIndeterminateFlow | Indicates if directional traces include edges with indeterminate or uninitialized flow direction. |
Not all members are callable from C#. Please use ITraceFlowSolverGEN instead.
' Establish the trace flow solver
Dim pTraceFlowSolver As ITraceFlowSolver
Set pTraceFlowSolver = New TraceFlowSolver
Dim pNetSolver As INetSolver
Set pNetSolver = pTraceFlowSolver
Set pNetSolver.SourceNetwork = pNetwork
In order to do any type of trace analysis through the TraceFlowSolver you need to add flags to the solver. Whether you are adding one flag or multiple flags the solver requires an array of these flags. Junction flags and edge flags are added as seperate arrays.
For example, let's say your are doing a trace from one junction flag. The first step is to create a junction flag based on a feature in your network. Each feature in your network contains the following information needed to create a flag: the UserClassID, UserID, and UserSubID.
The UserClassID, UserID, and UserSubID are taken from the feature in the geometric network which you want to create a flag on. For information on getting these attributes from a feature see the Feature object help.
You can create a junction flag by using the following code:
Dim pJunctionFlag As INetFlag
Set pJunctionFlag = New JunctionFlag
pJunctionFlag.UserClassID = lUserClassID
pJunctionFlag.UserID = lUserID
pJunctionFlag.UserSubID = lUserSubID
For more information on creating flags see the help for INetFlag.
Once you have created the flag you need to create an array of junction flags to add to the solver:
Dim pJunctionFlags(0) As IJunctionFlag
'Add the flag to the array
Set pJunctionFlags(0) = pJunctionFlag
Now you can add the array to the TraceFlowSolver object.
pTraceFlowSolver.PutJunctionOrigins 1, pJunctionFlags(0)
If you are planning to use a trace solver that will be considering flow direction, you need to set the TraceIndeterminateFlow property. See the help for TraceIndeterminateFlow for more information on this property.
pTraceFlowSolver.TraceIndeterminateFlow = True
You can now call one of the tracing methods on the ITraceFlowSolver interface.Not all members are callable from VB.NET. Please use ITraceFlowSolverGEN instead.
INetSolverWeights Interface | INetSolver Interface | ITraceFlowSolver Interface