Skip To Content ArcGIS for Developers Sign In Dashboard

UtilityPropagator 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: Object

Public Functions

UtilityPropagator(UtilityNetworkAttribute *networkAttribute, UtilityPropagatorFunctionType propagatorFunctionType, UtilityAttributeComparisonOperator comparisonOperator, double value, QObject *parent = nullptr)
UtilityPropagator(UtilityNetworkAttribute *networkAttribute, UtilityPropagatorFunctionType propagatorFunctionType, UtilityAttributeComparisonOperator comparisonOperator, double value, UtilityNetworkAttribute *substitutionAttribute, QObject *parent = nullptr)
~UtilityPropagator()
UtilityAttributeComparisonOperator comparisonOperator() const
UtilityNetworkAttribute *networkAttribute() const
UtilityPropagatorFunctionType propagatorFunctionType() const
UtilityNetworkAttribute *substitutionNetworkAttribute() const
QVariant value() const
  • 31 public functions inherited from QObject

Additional Inherited Members

Detailed Description

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

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

Member Function Documentation

UtilityPropagator::UtilityPropagator(UtilityNetworkAttribute *networkAttribute, UtilityPropagatorFunctionType propagatorFunctionType, UtilityAttributeComparisonOperator comparisonOperator, double value, QObject *parent = nullptr)

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

UtilityPropagator::UtilityPropagator(UtilityNetworkAttribute *networkAttribute, UtilityPropagatorFunctionType propagatorFunctionType, UtilityAttributeComparisonOperator comparisonOperator, double value, 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()

Destructor.

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.

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.

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.

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?