Skip To Content ArcGIS for Developers Sign In Dashboard

UtilityTraceConfiguration Class

class Esri::ArcGISRuntime::UtilityTraceConfiguration

The set of utility network parameters that define elements of a trace or of a subnetwork. More...

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

This class was introduced in Esri::ArcGISRuntime 100.7.

Public Functions

UtilityTraceConfiguration(QObject *parent = nullptr)
virtual ~UtilityTraceConfiguration() override
Esri::ArcGISRuntime::UtilityDomainNetwork *domainNetwork() const
Esri::ArcGISRuntime::UtilityTraceFilter *filter() const
Esri::ArcGISRuntime::UtilityTraceFunctionListModel *functions() const
bool isIgnoreBarriersAtStartingPoints() const
bool isIncludeBarriers() const
bool isIncludeContainers() const
bool isIncludeContent() const
bool isIncludeIsolatedFeatures() const
bool isIncludeStructures() const
bool isValidateConsistency() const
Esri::ArcGISRuntime::UtilityAssetTypeListModel *outputAssetTypes() const
Esri::ArcGISRuntime::UtilityTraceCondition *outputCondition() const
Esri::ArcGISRuntime::UtilityPropagatorListModel *propagators() const
void setDomainNetwork(Esri::ArcGISRuntime::UtilityDomainNetwork *domainNetwork)
void setFilter(Esri::ArcGISRuntime::UtilityTraceFilter *filter)
void setIgnoreBarriersAtStartingPoints(bool ignoreBarriersAtStartingPoints)
void setIncludeBarriers(bool includeBarriers)
void setIncludeContainers(bool includeContainers)
void setIncludeContent(bool includeContent)
void setIncludeIsolatedFeatures(bool includeIsolatedFeatures)
void setIncludeStructures(bool includeStructures)
void setOutputCondition(Esri::ArcGISRuntime::UtilityTraceCondition *outputCondition)
void setShortestPathNetworkAttribute(Esri::ArcGISRuntime::UtilityNetworkAttribute *utilityNetworkAttribute)
void setSourceTier(Esri::ArcGISRuntime::UtilityTier *sourceTier)
void setTargetTier(Esri::ArcGISRuntime::UtilityTier *targetTier)
void setTraversability(Esri::ArcGISRuntime::UtilityTraversability *traversability)
void setValidateConsistency(bool validateConsistency)
Esri::ArcGISRuntime::UtilityNetworkAttribute *shortestPathNetworkAttribute() const
Esri::ArcGISRuntime::UtilityTier *sourceTier() const
Esri::ArcGISRuntime::UtilityTier *targetTier() const
Esri::ArcGISRuntime::UtilityTraversability *traversability() const

Detailed Description

UtilityTraceConfiguration is set in the UtilityTraceParameters.

Member Function Documentation

UtilityTraceConfiguration::UtilityTraceConfiguration(QObject *parent = nullptr)

Creates a UtilityTraceConfiguration with default values.

  • parent - The optional parent object.

[override virtual] UtilityTraceConfiguration::~UtilityTraceConfiguration()

Destructor.

Esri::ArcGISRuntime::UtilityDomainNetwork *UtilityTraceConfiguration::domainNetwork() const

Returns the UtilityDomainNetwork from which to start the trace.

The UtilityDomainNetwork property is required and only used with subnetwork-based traces (UtilityTraceType::Subnetwork, UtilityTraceType::Upstream, and so on).

See also setDomainNetwork().

Esri::ArcGISRuntime::UtilityTraceFilter *UtilityTraceConfiguration::filter() const

Returns the criteria that define the dynamic barriers for the trace.

This function was introduced in Esri::ArcGISRuntime 100.8.

See also setFilter().

Esri::ArcGISRuntime::UtilityTraceFunctionListModel *UtilityTraceConfiguration::functions() const

Returns a collection of UtilityTraceFunction objects to compute while performing the trace.

Each UtilityTraceFunction returns a UtilityTraceFunctionOutput in the UtilityFunctionTraceResult.

This function was introduced in Esri::ArcGISRuntime 100.9.

bool UtilityTraceConfiguration::isIgnoreBarriersAtStartingPoints() const

Returns whether to ignore barriers at starting points.

The default is false.

One example of how this can be used is with an upstream protective device trace. The first call to the trace will return the first upstream device that meets the protective device criteria. To find the next device upstream, you would set a starting point on the device returned by the first trace. With IgnoreBarriersAtStartingPoints set to false, this second trace would immediately stop at the starting point, since it meets the trace termination criteria. Setting this option to true will allow the trace to ignore the starting point, and continue to the subsequent device upstream.

See also setIgnoreBarriersAtStartingPoints.

bool UtilityTraceConfiguration::isIncludeBarriers() const

Returns whether to include barriers in the trace results or subnetwork.

The default is true.

See also setIncludeBarriers.

bool UtilityTraceConfiguration::isIncludeContainers() const

Returns whether to include containment features in the trace results or subnetwork.

The default is false.

See also setIncludeContainers.

bool UtilityTraceConfiguration::isIncludeContent() const

Returns whether to include content in the trace results or subnetwork.

The default is false.

See also setIncludeContent.

bool UtilityTraceConfiguration::isIncludeIsolatedFeatures() const

Returns whether to include isolated features in the trace results when used in conjunction with the Isolation Trace.

The default is false.

This function was introduced in Esri::ArcGISRuntime 100.8.

See also setIncludeIsolatedFeatures.

bool UtilityTraceConfiguration::isIncludeStructures() const

Returns whether to include structure features in the trace results or subnetwork.

The default is false.

See also setIncludeStructures.

bool UtilityTraceConfiguration::isValidateConsistency() const

Returns whether to validate network consistency as part of the trace operation.

If set to true, trace operations will fail if dirty areas are encountered during the trace. The default is true.

Esri::ArcGISRuntime::UtilityAssetTypeListModel *UtilityTraceConfiguration::outputAssetTypes() const

Returns a collection of UtilityAssetType objects which specifies what to include in the trace results.

Only elements that belong to this UtilityAssetType are included in the trace result. This property is independent of asset types in the UtilityTraceConfiguration::filter. This is applied after all other tracing calculations, including traversal, filters, and function calculation. If this is empty and UtilityTraceConfiguration::outputCondition is nullptr, all elements are returned. Otherwise, elements which match either of these criteria are returned.

This function was introduced in Esri::ArcGISRuntime 100.9.

Esri::ArcGISRuntime::UtilityTraceCondition *UtilityTraceConfiguration::outputCondition() const

Returns a condition object which specifies what to include in the trace results.

Only elements that satisfy this UtilityTraceCondition are included in the trace result. This condition may perform comparisons against network attributes (UtilityNetworkAttributeComparison) and categories (UtilityCategoryComparison), or both (UtilityTraceAndCondition, UtilityTraceOrCondition). This property is independent of barriers in the UtilityTraceConfiguration::traversability or UtilityTraceConfiguration::filter. This is applied after all other tracing calculations, including traversal, filters, and function calculation. If this is nullptr and UtilityTraceConfiguration::outputAssetTypes is empty, all elements are returned. Otherwise, elements which match either of these criteria are returned.

This function was introduced in Esri::ArcGISRuntime 100.9.

See also setOutputCondition().

Esri::ArcGISRuntime::UtilityPropagatorListModel *UtilityTraceConfiguration::propagators() const

Returns a collection of UtilityPropagator objects to execute while performing the trace.

Propagator objects allow a subset of UtilityNetworkAttribute values to propagate through a network while executing a trace. For example, in 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).

void UtilityTraceConfiguration::setDomainNetwork(Esri::ArcGISRuntime::UtilityDomainNetwork *domainNetwork)

Sets the domainNetwork to domainNetwork.

See also domainNetwork().

void UtilityTraceConfiguration::setFilter(Esri::ArcGISRuntime::UtilityTraceFilter *filter)

Sets the filter to filter.

This function was introduced in Esri::ArcGISRuntime 100.8.

See also filter().

void UtilityTraceConfiguration::setIgnoreBarriersAtStartingPoints(bool ignoreBarriersAtStartingPoints)

Sets the ignoreBarriersAtStartingPoints to ignoreBarriersAtStartingPoints.

See also isIgnoreBarriersAtStartingPoints().

void UtilityTraceConfiguration::setIncludeBarriers(bool includeBarriers)

Sets the includeBarriers to includeBarriers.

See also isIncludeBarriers().

void UtilityTraceConfiguration::setIncludeContainers(bool includeContainers)

Sets the includeContainers to includeContainers.

See also isIncludeContainers().

void UtilityTraceConfiguration::setIncludeContent(bool includeContent)

Sets the includeContent to includeContent.

See also isIncludeContent().

void UtilityTraceConfiguration::setIncludeIsolatedFeatures(bool includeIsolatedFeatures)

Sets includeIsolatedFeatures to includeIsolatedFeatures.

This function was introduced in Esri::ArcGISRuntime 100.8.

See also isIncludeIsolatedFeatures().

void UtilityTraceConfiguration::setIncludeStructures(bool includeStructures)

Sets the includeStructures to includeStructures.

See also isIncludeStructures().

void UtilityTraceConfiguration::setOutputCondition(Esri::ArcGISRuntime::UtilityTraceCondition *outputCondition)

Sets the outputCondition to outputCondition.

This function was introduced in Esri::ArcGISRuntime 100.9.

See also outputCondition.

void UtilityTraceConfiguration::setShortestPathNetworkAttribute(Esri::ArcGISRuntime::UtilityNetworkAttribute *utilityNetworkAttribute)

Sets the shortestPathNetworkAttribute to utilityNetworkAttribute.

This function was introduced in Esri::ArcGISRuntime 100.9.

See also shortestPathNetworkAttribute.

void UtilityTraceConfiguration::setSourceTier(Esri::ArcGISRuntime::UtilityTier *sourceTier)

Sets the sourceTier to sourceTier.

See also sourceTier().

void UtilityTraceConfiguration::setTargetTier(Esri::ArcGISRuntime::UtilityTier *targetTier)

Sets the targetTier to targetTier.

See also targetTier().

void UtilityTraceConfiguration::setTraversability(Esri::ArcGISRuntime::UtilityTraversability *traversability)

Sets the traversability to traversability.

See also traversability().

void UtilityTraceConfiguration::setValidateConsistency(bool validateConsistency)

Sets the validateConsistency to validateConsistency.

See also isValidateConsistency().

Esri::ArcGISRuntime::UtilityNetworkAttribute *UtilityTraceConfiguration::shortestPathNetworkAttribute() const

Returns the UtilityNetworkAttribute used to calculate the shortest path.

The shortest path may depend on some other numeric weight, such as cost or difficulty, rather than the shortest distance calculated from shape length.

This function was introduced in Esri::ArcGISRuntime 100.9.

See also setShortestPathNetworkAttribute().

Esri::ArcGISRuntime::UtilityTier *UtilityTraceConfiguration::sourceTier() const

Returns the UtilityTier that is used as the start of the trace.

This property is only used with subnetwork-based traces (such as subnetwork upstream). If UtilityTraceConfiguration::domainNetwork represents a partitioned network, this property is optional. If not nullptr, the trace routines will perform an additional check to validate that the starting points and barriers belong to this tier. If UtilityTraceConfiguration::domainNetwork represents a hierarchical network, this property is required. Since rows in hierarchical networks can belong to multiple tiers, this property tells the subnetwork tracer which tier to use for tracing.

See also setSourceTier().

Esri::ArcGISRuntime::UtilityTier *UtilityTraceConfiguration::targetTier() const

Returns the UtilityTier that is used to constrain the tiers returned by the upstream and downstream traces.

This property is optional. If nullptr, the upstream and downstream traces will stop in the current tier. If a target tier is specified, the trace will continue upstream or downstream into the specified tier (inclusive).

See also setTargetTier().

Esri::ArcGISRuntime::UtilityTraversability *UtilityTraceConfiguration::traversability() const

Returns the traversability conditions for the trace.

See also setTraversability().


Feedback on this topic?