Skip To Content ArcGIS for Developers Sign In Dashboard

UtilityTraceFilter Class

class Esri::ArcGISRuntime::UtilityTraceFilter

A mechanism to stop tracing when returning results. UtilityTraceFilter objects do not stop traversability to the controller. More...

Header: #include <UtilityTraceFilter>
Since: Esri::ArcGISRuntime 100.8
Inherits: Esri::ArcGISRuntime::Object

This class was introduced in Esri::ArcGISRuntime 100.8.

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.

Member Function Documentation

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().


Feedback on this topic?