Skip To Content ArcGIS for Developers Sign In Dashboard

UtilityPropagator Class

class Esri::ArcGISRuntime::UtilityPropagator

Propagator objects allow a subset of UtilityNetworkAttribute values to propagate through a network while executing a trace. More...

Header: #include <UtilityPropagator>
Since: Esri::ArcGISRuntime 100.7
Inherits: Esri::ArcGISRuntime::Object

This class was introduced in Esri::ArcGISRuntime 100.7.

Public Functions

UtilityPropagator(Esri::ArcGISRuntime::UtilityNetworkAttribute *networkAttribute, Esri::ArcGISRuntime::UtilityPropagatorFunctionType propagatorFunctionType, Esri::ArcGISRuntime::UtilityAttributeComparisonOperator comparisonOperator, const QVariant &value, Esri::ArcGISRuntime::UtilityNetworkAttribute *substitutionAttribute, QObject *parent = nullptr)
UtilityPropagator(Esri::ArcGISRuntime::UtilityNetworkAttribute *networkAttribute, Esri::ArcGISRuntime::UtilityPropagatorFunctionType propagatorFunctionType, Esri::ArcGISRuntime::UtilityAttributeComparisonOperator comparisonOperator, const QVariant &value, QObject *parent = nullptr)
virtual ~UtilityPropagator() override
Esri::ArcGISRuntime::UtilityAttributeComparisonOperator comparisonOperator() const
Esri::ArcGISRuntime::UtilityNetworkAttribute *networkAttribute() const
Esri::ArcGISRuntime::UtilityPropagatorFunctionType propagatorFunctionType() const
Esri::ArcGISRuntime::UtilityNetworkAttribute *substitutionNetworkAttribute() const
QVariant value() const

Detailed Description

The propagated UtilityNetworkAttribute values can be tested to allow or disallow further traversal.

In the example of phase propagation, open devices along the network will restrict some phases from continuing along the trace.

Propagators only apply to subnetwork-based traces (UtilityTraceType::Upstream, UtilityTraceType::Downstream, and so on). UtilityPropagator is set in the UtilityTraceConfiguration.

Member Function Documentation

UtilityPropagator::UtilityPropagator(Esri::ArcGISRuntime::UtilityNetworkAttribute *networkAttribute, Esri::ArcGISRuntime::UtilityPropagatorFunctionType propagatorFunctionType, Esri::ArcGISRuntime::UtilityAttributeComparisonOperator comparisonOperator, const QVariant &value, Esri::ArcGISRuntime::UtilityNetworkAttribute *substitutionAttribute, QObject *parent = nullptr)

Creates a object that allows a subset of UtilityNetworkAttribute values to propagate through a network.

This constructor allows the specification of a substitution network attribute.

  • networkAttribute - The UtilityNetworkAttribute to propagate further along the trace.
  • propagatorFunctionType - The function type that is applied to the UtilityNetworkAttribute to propagate the attribute further along the trace.
  • comparisonOperator - The filter operator that is applied when executing the trace. This operator is used to compare the propagated value to the specified UtilityPropagator::value.
  • value - The value that is compared against the propagated value when executing the trace. The type of this numeric value depends on the UtilityNetworkAttributeDataType of the UtilityNetworkAttribute.
  • substitutionAttribute - A UtilityNetworkAttribute that maps each bit in another bitset network attribute value to a new value.
  • parent - The optional parent QObject.

UtilityPropagator::UtilityPropagator(Esri::ArcGISRuntime::UtilityNetworkAttribute *networkAttribute, Esri::ArcGISRuntime::UtilityPropagatorFunctionType propagatorFunctionType, Esri::ArcGISRuntime::UtilityAttributeComparisonOperator comparisonOperator, const QVariant &value, QObject *parent = nullptr)

Creates an object that allows a subset of UtilityNetworkAttribute values to propagate through a network.

[override virtual] UtilityPropagator::~UtilityPropagator()

Destructor.

Esri::ArcGISRuntime::UtilityAttributeComparisonOperator UtilityPropagator::comparisonOperator() const

Returns the operator that is applied when executing the trace.

This operator is used to compare the propagated value to the specified UtilityPropagator::value. For example, if propagating phase, this would be UtilityAttributeComparisonOperator::IncludesAny.

Esri::ArcGISRuntime::UtilityNetworkAttribute *UtilityPropagator::networkAttribute() const

Returns the UtilityNetworkAttribute to propagate further along the trace.

For example, if propagating phase, this would be the UtilityNetworkAttribute that stores phase.

Esri::ArcGISRuntime::UtilityPropagatorFunctionType UtilityPropagator::propagatorFunctionType() const

Returns the function type that is applied to the UtilityNetworkAttribute to propagate the attribute further along the trace.

For example, if propagating phase, this would be UtilityPropagatorFunctionType::BitwiseAnd.

Esri::ArcGISRuntime::UtilityNetworkAttribute *UtilityPropagator::substitutionNetworkAttribute() const

Returns the UtilityNetworkAttribute that maps each bit in another bitset network attribute value to a new value.

QVariant UtilityPropagator::value() const

Returns the value that is compared against the propagated value when executing the trace. The type of this numeric value depends on the UtilityNetworkAttributeDataType of the UtilityNetworkAttribute.


Feedback on this topic?