Provides access to members that return information about a complex edge feature.
| Description | ||
|---|---|---|
![]() |
ConnectAtIntermediateVertices | Attempt to connect at the locations corresponding to intermediate vertices. |
![]() |
GeometryByPoints | The geometry associated with the two points. |
![]() |
GeometryForEID | The geometry (polyline) corresponding to the edge EID. |
![]() |
JunctionFeature | The JunctionFeature associated with the index. |
![]() |
JunctionFeatureCount | The number of connected JunctionFeatures. |
![]() |
SplitEdgeElement | Inserts the specified JunctionElement into an edge at the point. |
| CoClasses and Classes | Description |
|---|---|
| ComplexEdgeFeature | ESRI Complex edge geometric network feature object. |
The IComplexEdgeFeature interface is supported on a ComplexEdgeFeature. Complex edge features correspond to features with polyline geometry that are part of a geometric network. They have two or more connected junction features— with one at each endpoint of their polyline geometries being the minimum number. They may also have any number of connected mid-span junction features. Connecting a junction feature to a ComplexEdgeFeature does not result in a physical subdivision of the edge; instead, it results in a logical subdivision (that is, new edge elements in the logical network that are associated with the complex edge).
The geometry of ComplexEdgeFeatures may not be self-intersecting; there may be discontinuities with the geometry (they may be multipart), and the geometry may not have the same start and stop vertex (that is, a closed loop).
The following code examples demonstrates how to use the IComplexEdgeFeature interface to return information on a complex edge feature.
Sub GetComplexEdgeFeatureInfo(pFeature As IFeature, pNetEls As INetElements)
Dim pCEF As IComplexEdgeFeature
Dim pEnumEID As IEnumNetEID
Dim pGeom As IGeometry
Dim lEID As Long
Dim lUCID As Long, lUID As Long, lSubID As Long
Dim bIsValid As Boolean
'QI to the IComplexEdgeFeature
Set pCEF = pFeature
'Get the enumeration of EIDs for the complex edge feature
Set pEnumEID = pNetEls.GetEIDs(pFeature.Class.ObjectClassID, pFeature.OID, esriETEdge)
'For each EID of the complex edge, get the geometry and print some information
lEID = pEnumEID.Next
Debug.Print "EID", "IsValid", "GeometryType", "JunctionFeatureCount", "esriETEdge", "lUCID", "lUID", "lSubID"
Do Until lEID = 0
'get the geometry
Set pGeom = pCEF.GeometryForEID(lEID)
'Check if the EID is valid
bIsValid = pNetEls.IsValidElement(lEID, esriETEdge)
'Get the feature information of the EID
pNetEls.QueryIDs lEID, esriETEdge, lUCID, lUID, lSubID
Debug.Print lEID, bIsValid, pGeom.GeometryType, pCEF.JunctionFeatureCount, esriETEdge, lUCID, lUID, lSubID
lEID = pEnumEID.Next
Loop
End Sub
INetworkFeature Interface | ISimpleEdgeFeature Interface | IJunctionFeature Interface | IEdgeFeature Interface | INetworkFeatureEvents Interface | IComplexNetworkFeature Interface | IComplexJunctionFeature Interface | IComplexEdgeFeature Interface | INetworkFeature.Connect Method | ISimpleJunctionFeature Interface