MeshTopologyEdgeList

References
Represents an entry point to the list of edges in a mesh topology.

Properties

Count

#Since v5.0
public int Count { get; }
Gets the amount of edges in this list.

Methods

CollapseEdge

#Since v5.0
public bool CollapseEdge(int topologyEdgeIndex)
Replaces a mesh edge with a vertex at its center and update adjacent faces as needed.
topologyEdgeIndex (int)An index of a topology edge in Mesh.TopologyEdges.
true if successful.

EdgeLine

#Since v5.0
public Line EdgeLine(int topologyEdgeIndex)
Gets the 3d line along an edge.
topologyEdgeIndex (int)The topology edge index.
Line along edge. If input is not valid, an Invalid Line is returned.

GetConnectedFaces

#Since v5.0
public int[] GetConnectedFaces(int topologyEdgeIndex, out bool[] faceOrientationMatchesEdgeDirection)
Gets indices of faces connected to an edge.
topologyEdgeIndex (int)An index of a topology edge that is queried.
faceOrientationMatchesEdgeDirection (out bool[])An array of Boolean values that explains whether each face direction matches the direction of the specified edge.
An array of face indices the edge borders. This might be empty on error.

GetConnectedFaces

#Since v5.0
public int[] GetConnectedFaces(int topologyEdgeIndex)
Gets indices of faces connected to an edge.
topologyEdgeIndex (int)An index of a topology edge that is queried.
An array of face indices the edge borders. This might be empty on error.

GetEdgeIndex

#Since v5.0
public int GetEdgeIndex(int topologyVertex1, int topologyVertex2)
Returns index of edge that connects topological vertices. returns -1 if no edge is found.
topologyVertex1 (int)The first topology vertex index.
topologyVertex2 (int)The second topology vertex index.
The edge index.

GetEdgesForFace

#Since v5.0
public int[] GetEdgesForFace(int faceIndex, out bool[] sameOrientation)
Gets indices of edges that surround a given face.
faceIndex (int)A face index.
sameOrientation (out bool[])Same length as returned edge index array. For each edge, the sameOrientation value tells you if the edge orientation matches the face orientation (true), or is reversed (false) compared to it.
A new array of indices to the topological edges that are connected with the specified face.

GetEdgesForFace

#Since v5.0
public int[] GetEdgesForFace(int faceIndex)
Gets indices of edges that surround a given face.
faceIndex (int)A face index.
A new array of indices to the topological edges that are connected with the specified face.

GetTopologyVertices

#Since v5.0
public IndexPair GetTopologyVertices(int topologyEdgeIndex)
Gets the two topology vertices for a given topology edge.
topologyEdgeIndex (int)An index of a topology edge.
The pair of vertex indices the edge connects.

IsEdgeUnwelded

#Since v6.13
public bool IsEdgeUnwelded(int topologyEdgeIndex)
Determines if the mesh edge is unwelded, or if the mesh faces that share the edge have unique vertex indices.
topologyEdgeIndex (int)An index of a topology edge in Mesh.TopologyEdges.
true if the edge is unwelded, false if the edge is welded.

IsHidden

#Since v5.0
public bool IsHidden(int topologyEdgeIndex)
Returns true if the topological edge is hidden. The mesh topology edge is hidden only if either of its mesh topology vertices is hidden.
topologyEdgeIndex (int)An index of a topology edge in Mesh.TopologyEdges.
true if mesh topology edge is hidden.

IsNgonInterior

#Since v6.0
public bool IsNgonInterior(int topologyEdgeIndex)
Returns true if the topological edge is an interior ngon edge
topologyEdgeIndex (int)An index of a topology edge in Mesh.TopologyEdges.
true if mesh topology edge is an interior ngon edge.

IsSwappableEdge

#Since v5.0
public bool IsSwappableEdge(int topologyEdgeIndex)
Determines if a mesh edge index is valid input for SwapEdge(int).
topologyEdgeIndex (int)An index of a topology edge in Mesh.TopologyEdges.
true if edge can be swapped.

SplitEdge

#Since v5.0
public bool SplitEdge(int topologyEdgeIndex, double t)
Divides a mesh edge to create two or more triangles
topologyEdgeIndex (int)Edge to divide
t (double)Parameter along edge. This is the same as getting an EdgeLine and calling PointAt(t) on that line
true if successful

SplitEdge

#Since v5.0
public bool SplitEdge(int topologyEdgeIndex, Point3d point)
Divides a mesh edge to create two or more triangles
topologyEdgeIndex (int)Edge to divide
point (Point3d)Location to perform the split
true if successful

SwapEdge

#Since v5.0
public bool SwapEdge(int topologyEdgeIndex)
If the edge is shared by two triangular face, then the edge is swapped.
topologyEdgeIndex (int)An index of a topology edge in Mesh.TopologyEdges.
true if successful.