A mechanism to stop tracing when returning results. UtilityTraceFilter objects do not stop traversability to the controller. More...
Header: | #include <UtilityTraceFilter.h> |
Since: | Esri::ArcGISRuntime 100.8 |
Inherits: | Esri::ArcGISRuntime::Object |
Public Functions
UtilityTraceFilter(QObject *parent = nullptr) | |
virtual | ~UtilityTraceFilter() override |
Esri::ArcGISRuntime::UtilityTraceCondition * | barriers() const |
Esri::ArcGISRuntime::UtilityNetworkAttribute * | bitsetNetworkAttribute() const |
Esri::ArcGISRuntime::UtilityTraceFunctionBarrierListModel * | functionBarriers() const |
Esri::ArcGISRuntime::UtilityNearestNeighbor * | nearestNeighbor() const |
Esri::ArcGISRuntime::UtilityTraversabilityScope | scope() const |
void | setBarriers(Esri::ArcGISRuntime::UtilityTraceCondition *barriers) |
void | setBitsetNetworkAttribute(Esri::ArcGISRuntime::UtilityNetworkAttribute *bitsetNetworkAttribute) |
void | setNearestNeighbor(Esri::ArcGISRuntime::UtilityNearestNeighbor *nearestNeighbor) |
void | setScope(Esri::ArcGISRuntime::UtilityTraversabilityScope scope) |
Detailed Description
Consider an upstream protective device trace. At first, you might try defining a UtilityCategoryComparison that looks for a Protective Device category and assigning this to UtilityTraversability::barriers. When you try to run an upstream trace using this configuration, it will probably fail. This is because traversability will stop at the first protective device, and the trace will be unable to find the subnetwork controller. The correct way to implement this trace is to assign UtilityCategoryComparison to the filter.
UtilityTraceFilter objects do not stop traversability to the controller.
Relevant samples:
- Perform valve isolation trace: Run a filtered trace to locate operable features that will isolate an area from the flow of network resources.
Member Function Documentation
[explicit]
UtilityTraceFilter::UtilityTraceFilter (QObject *parent = nullptr)
Creates a UtilityTraceFilter object with default values.
- parent - The optional parent object.
[override virtual]
UtilityTraceFilter::~UtilityTraceFilter ()
Destructor.
Esri::ArcGISRuntime::UtilityTraceCondition *UtilityTraceFilter::barriers() const
Returns a condition object specifying when to traverse a node or its subnodes.
See also setBarriers().
Esri::ArcGISRuntime::UtilityNetworkAttribute *UtilityTraceFilter::bitsetNetworkAttribute () const
Returns a UtilityNetworkAttribute that is specified to store a bitset, and is used to filter results.
See also setBitsetNetworkAttribute().
Esri::ArcGISRuntime::UtilityTraceFunctionBarrierListModel *UtilityTraceFilter::functionBarriers () const
Returns a list model of UtilityTraceFunctionBarrier objects.
If any of these objects evaluates to true
, further traversal is terminated.
Esri::ArcGISRuntime::UtilityNearestNeighbor *UtilityTraceFilter::nearestNeighbor () const
Returns a filter object specifying the next N features to be returned from the starting point.
See also setNearestNeighbor().
Esri::ArcGISRuntime::UtilityTraversabilityScope UtilityTraceFilter::scope() const
Returns a UtilityTraversabilityScope that determines whether traversability criteria are evaluated on edges, junctions, or both.
The default value is UtilityTraversabilityScope::JunctionsAndEdges.
See also setScope().
void UtilityTraceFilter::setBarriers (Esri::ArcGISRuntime::UtilityTraceCondition *barriers)
Sets the barriers to barriers.
See also barriers().
void UtilityTraceFilter::setBitsetNetworkAttribute (Esri::ArcGISRuntime::UtilityNetworkAttribute *bitsetNetworkAttribute )
Sets the bitsetNetworkAttribute to bitsetNetworkAttribute.
See also bitsetNetworkAttribute().
void UtilityTraceFilter::setNearestNeighbor (Esri::ArcGISRuntime::UtilityNearestNeighbor *nearestNeighbor )
Sets the nearestNeighbor to nearestNeighbor.
See also nearestNeighbor().
void UtilityTraceFilter::setScope (Esri::ArcGISRuntime::UtilityTraversabilityScope scope)
Sets the scope to scope.
See also scope().