Search Results for

    Show / Hide Table of Contents

    Class EdgeLoop

    Sequential set of vertices/edges in a mesh, that form a closed loop.

    If all you have are the vertices, use EdgeLoop.VertexLoopToEdgeLoop() to construct an EdgeLoop

    Inheritance
    Object
    EdgeLoop
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: g3
    Assembly: cs.temp.dll.dll
    Syntax
    public class EdgeLoop

    Constructors

    EdgeLoop(DMesh3)

    Declaration
    public EdgeLoop(DMesh3 mesh)
    Parameters
    Type Name Description
    DMesh3 mesh

    EdgeLoop(DMesh3, Int32[], Int32[], Boolean)

    Declaration
    public EdgeLoop(DMesh3 mesh, int[] vertices, int[] edges, bool bCopyArrays)
    Parameters
    Type Name Description
    DMesh3 mesh
    Int32[] vertices
    Int32[] edges
    Boolean bCopyArrays

    EdgeLoop(EdgeLoop)

    Declaration
    public EdgeLoop(EdgeLoop copy)
    Parameters
    Type Name Description
    EdgeLoop copy

    Fields

    BowtieVertices

    Declaration
    public int[] BowtieVertices
    Field Value
    Type Description
    Int32[]

    Edges

    Declaration
    public int[] Edges
    Field Value
    Type Description
    Int32[]

    Mesh

    Declaration
    public DMesh3 Mesh
    Field Value
    Type Description
    DMesh3

    Vertices

    Declaration
    public int[] Vertices
    Field Value
    Type Description
    Int32[]

    Properties

    EdgeCount

    Declaration
    public int EdgeCount { get; }
    Property Value
    Type Description
    Int32

    VertexCount

    Declaration
    public int VertexCount { get; }
    Property Value
    Type Description
    Int32

    Methods

    CheckValidity(FailMode)

    Exhaustively check that verts and edges of this EdgeLoop are consistent. Not for production use.

    Declaration
    public bool CheckValidity(FailMode eFailMode = FailMode.Throw)
    Parameters
    Type Name Description
    FailMode eFailMode
    Returns
    Type Description
    Boolean

    CorrectOrientation()

    if this is a border edge-loop, we can check that it is oriented correctly, and if not, reverse it. Returns true if we reversed orientation.

    Declaration
    public bool CorrectOrientation()
    Returns
    Type Description
    Boolean

    CountWithinTolerance(Vector3d, Double, out Int32)

    Declaration
    public int CountWithinTolerance(Vector3d v, double tol, out int last_in_tol)
    Parameters
    Type Name Description
    Vector3d v
    Double tol
    Int32 last_in_tol
    Returns
    Type Description
    Int32

    FindNearestVertex(Vector3d)

    find index of vertices of loop that is closest to point v

    Declaration
    public int FindNearestVertex(Vector3d v)
    Parameters
    Type Name Description
    Vector3d v
    Returns
    Type Description
    Int32

    FindVertexIndex(Int32)

    find index of vertex vID in Vertices list, or -1 if not found

    Declaration
    public int FindVertexIndex(int vID)
    Parameters
    Type Name Description
    Int32 vID
    Returns
    Type Description
    Int32

    FromEdges(DMesh3, IList<Int32>)

    construct EdgeLoop from a list of edges of mesh

    Declaration
    public static EdgeLoop FromEdges(DMesh3 mesh, IList<int> edges)
    Parameters
    Type Name Description
    DMesh3 mesh
    IList<Int32> edges
    Returns
    Type Description
    EdgeLoop

    FromVertices(DMesh3, IList<Int32>)

    construct EdgeLoop from a list of vertices of mesh

    Declaration
    public static EdgeLoop FromVertices(DMesh3 mesh, IList<int> vertices)
    Parameters
    Type Name Description
    DMesh3 mesh
    IList<Int32> vertices
    Returns
    Type Description
    EdgeLoop

    FromVertices(DMesh3, IList<Int32>, Boolean)

    construct EdgeLoop from a list of vertices of mesh if loop is a boundary edge, we can correct orientation if requested

    Declaration
    public static EdgeLoop FromVertices(DMesh3 mesh, IList<int> vertices, bool bAutoOrient = true)
    Parameters
    Type Name Description
    DMesh3 mesh
    IList<Int32> vertices
    Boolean bAutoOrient
    Returns
    Type Description
    EdgeLoop

    GetBounds()

    Declaration
    public AxisAlignedBox3d GetBounds()
    Returns
    Type Description
    AxisAlignedBox3d

    GetVertex(Int32)

    Declaration
    public Vector3d GetVertex(int i)
    Parameters
    Type Name Description
    Int32 i
    Returns
    Type Description
    Vector3d

    GetVertexSpan(Int32, Int32, Int32[], Boolean)

    stores vertices [starti, starti+1, ... starti+count-1] in span, and returns span, or null if invalid range

    Declaration
    public int[] GetVertexSpan(int starti, int count, int[] span, bool reverse = false)
    Parameters
    Type Name Description
    Int32 starti
    Int32 count
    Int32[] span
    Boolean reverse
    Returns
    Type Description
    Int32[]

    IsBoundaryLoop(DMesh3)

    Check if all edges of this loop are boundary edges. If testMesh != null, will check that mesh instead of internal Mesh

    Declaration
    public bool IsBoundaryLoop(DMesh3 testMesh = null)
    Parameters
    Type Name Description
    DMesh3 testMesh
    Returns
    Type Description
    Boolean

    IsInternalLoop()

    check if all edges of this loop are internal edges (ie none on boundary)

    Declaration
    public bool IsInternalLoop()
    Returns
    Type Description
    Boolean

    IsSameLoop(EdgeLoop, Boolean, Double)

    Declaration
    public bool IsSameLoop(EdgeLoop Loop2, bool bReverse2 = false, double tolerance = 1E-08)
    Parameters
    Type Name Description
    EdgeLoop Loop2
    Boolean bReverse2
    Double tolerance
    Returns
    Type Description
    Boolean

    Reverse()

    Declaration
    public void Reverse()

    ToCurve(DMesh3)

    Declaration
    public DCurve3 ToCurve(DMesh3 sourceMesh = null)
    Parameters
    Type Name Description
    DMesh3 sourceMesh
    Returns
    Type Description
    DCurve3

    VertexLoopToEdgeLoop(DMesh3, Int32[])

    Convert a vertex loop to an edge loop. This should be somewhere else...

    Declaration
    public static int[] VertexLoopToEdgeLoop(DMesh3 mesh, int[] vertex_loop)
    Parameters
    Type Name Description
    DMesh3 mesh
    Int32[] vertex_loop
    Returns
    Type Description
    Int32[]
    In This Article
    Back to top ViRGIS VR GIS