Search Results for

    Show / Hide Table of Contents

    Class MeshFaceSelection

    Inheritance
    Object
    MeshFaceSelection
    Implements
    IEnumerable<Int32>
    IEnumerable
    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 MeshFaceSelection : IEnumerable<int>, IEnumerable

    Constructors

    MeshFaceSelection(DMesh3)

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

    MeshFaceSelection(DMesh3, MeshVertexSelection, Int32)

    Declaration
    public MeshFaceSelection(DMesh3 mesh, MeshVertexSelection convertV, int minCount = 3)
    Parameters
    Type Name Description
    DMesh3 mesh
    MeshVertexSelection convertV
    Int32 minCount

    MeshFaceSelection(DMesh3, Int32)

    Declaration
    public MeshFaceSelection(DMesh3 mesh, int group_id)
    Parameters
    Type Name Description
    DMesh3 mesh
    Int32 group_id

    MeshFaceSelection(MeshFaceSelection)

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

    Fields

    Mesh

    Declaration
    public DMesh3 Mesh
    Field Value
    Type Description
    DMesh3

    Properties

    Bitmap

    Declaration
    protected BitArray Bitmap { get; }
    Property Value
    Type Description
    BitArray

    Count

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

    Methods

    ClipFins(Boolean)

    Declaration
    public bool ClipFins(bool bClipLoners)
    Parameters
    Type Name Description
    Boolean bClipLoners
    Returns
    Type Description
    Boolean

    ContractBorderByOneRingNeighbours()

    remove all triangles in vertex one-rings of current selection to set. On a large mesh this is quite expensive as we don't know the boundary, so we have to iterate over all triangles.

    Return false from FilterF to prevent triangles from being deselected.

    Declaration
    public void ContractBorderByOneRingNeighbours()

    Deselect(IEnumerable<Int32>)

    Declaration
    public void Deselect(IEnumerable<int> triangles)
    Parameters
    Type Name Description
    IEnumerable<Int32> triangles

    Deselect(Int32)

    Declaration
    public void Deselect(int tid)
    Parameters
    Type Name Description
    Int32 tid

    Deselect(Int32[])

    Declaration
    public void Deselect(int[] triangles)
    Parameters
    Type Name Description
    Int32[] triangles

    DeselectAll()

    Declaration
    public void DeselectAll()

    DeselectGroup(Int32)

    Declaration
    public void DeselectGroup(int gid)
    Parameters
    Type Name Description
    Int32 gid

    ExpandToFaceNeighbours(Func<Int32, Boolean>)

    Declaration
    public void ExpandToFaceNeighbours(Func<int, bool> FilterF = null)
    Parameters
    Type Name Description
    Func<Int32, Boolean> FilterF

    ExpandToFaceNeighbours(Int32, Func<Int32, Boolean>)

    Declaration
    public void ExpandToFaceNeighbours(int rounds, Func<int, bool> FilterF = null)
    Parameters
    Type Name Description
    Int32 rounds
    Func<Int32, Boolean> FilterF

    ExpandToOneRingNeighbours(Func<Int32, Boolean>)

    Add all triangles in vertex one-rings of current selection to set. On a large mesh this is quite expensive as we don't know the boundary, so we have to iterate over all triangles.

    Return false from FilterF to prevent triangles from being included.

    Declaration
    public void ExpandToOneRingNeighbours(Func<int, bool> FilterF = null)
    Parameters
    Type Name Description
    Func<Int32, Boolean> FilterF

    ExpandToOneRingNeighbours(Int32, Func<Int32, Boolean>)

    Expand selection by N vertex one-rings. This is significantly faster than calling ExpandToOnering() multiple times, because we can track the growing front and only check the new triangles.

    Return false from FilterF to prevent triangles from being included.

    Declaration
    public void ExpandToOneRingNeighbours(int nRings, Func<int, bool> FilterF = null)
    Parameters
    Type Name Description
    Int32 nRings
    Func<Int32, Boolean> FilterF

    FillEars(Boolean)

    Declaration
    public bool FillEars(bool bFillTinyHoles)
    Parameters
    Type Name Description
    Boolean bFillTinyHoles
    Returns
    Type Description
    Boolean

    FindBorderTris()

    find set of tris just inside border of selection

    Declaration
    public List<int> FindBorderTris()
    Returns
    Type Description
    List<Int32>

    FindNeighbourTris()

    find set of tris just outside border of selection

    Declaration
    public List<int> FindNeighbourTris()
    Returns
    Type Description
    List<Int32>

    FloodFill(Int32, Func<Int32, Boolean>, Func<Int32, Boolean>)

    Grow selection outwards from seed triangle, until it hits boundaries defined by triangle and edge filters. Edge filter is not effective unless it (possibly combined w/ triangle filter) defines closed loops.

    Declaration
    public void FloodFill(int tSeed, Func<int, bool> TriFilterF = null, Func<int, bool> EdgeFilterF = null)
    Parameters
    Type Name Description
    Int32 tSeed
    Func<Int32, Boolean> TriFilterF
    Func<Int32, Boolean> EdgeFilterF

    FloodFill(Int32[], Func<Int32, Boolean>, Func<Int32, Boolean>)

    Grow selection outwards from seed triangles, until it hits boundaries defined by triangle and edge filters. Edge filter is not effective unless it (possibly combined w/ triangle filter) defines closed loops.

    Declaration
    public void FloodFill(int[] Seeds, Func<int, bool> TriFilterF = null, Func<int, bool> EdgeFilterF = null)
    Parameters
    Type Name Description
    Int32[] Seeds
    Func<Int32, Boolean> TriFilterF
    Func<Int32, Boolean> EdgeFilterF

    GetEnumerator()

    Declaration
    public IEnumerator<int> GetEnumerator()
    Returns
    Type Description
    IEnumerator<Int32>

    IsSelected(Int32)

    Declaration
    public bool IsSelected(int tid)
    Parameters
    Type Name Description
    Int32 tid
    Returns
    Type Description
    Boolean

    LocalOptimize(Boolean)

    Declaration
    public bool LocalOptimize(bool bRemoveBowties = true)
    Parameters
    Type Name Description
    Boolean bRemoveBowties
    Returns
    Type Description
    Boolean

    LocalOptimize(Boolean, Boolean, Boolean, Boolean, Boolean)

    Declaration
    public bool LocalOptimize(bool bClipFins, bool bFillEars, bool bFillTinyHoles = true, bool bClipLoners = true, bool bRemoveBowties = false)
    Parameters
    Type Name Description
    Boolean bClipFins
    Boolean bFillEars
    Boolean bFillTinyHoles
    Boolean bClipLoners
    Boolean bRemoveBowties
    Returns
    Type Description
    Boolean

    remove_bowties(HashSet<Int32>)

    Declaration
    public bool remove_bowties(HashSet<int> tempHash)
    Parameters
    Type Name Description
    HashSet<Int32> tempHash
    Returns
    Type Description
    Boolean

    RemoveBowties()

    Find any "bowtie" vertices - ie vertex v such taht there is multiple spans of triangles selected in v's triangle one-ring - and deselect those one-rings. Returns true if selection was modified.

    Declaration
    public bool RemoveBowties()
    Returns
    Type Description
    Boolean

    Select(IEnumerable<Int32>)

    Declaration
    public void Select(IEnumerable<int> triangles)
    Parameters
    Type Name Description
    IEnumerable<Int32> triangles

    Select(List<Int32>)

    Declaration
    public void Select(List<int> triangles)
    Parameters
    Type Name Description
    List<Int32> triangles

    Select(Func<Int32, Boolean>)

    Declaration
    public void Select(Func<int, bool> selectF)
    Parameters
    Type Name Description
    Func<Int32, Boolean> selectF

    Select(Int32)

    Declaration
    public void Select(int tid)
    Parameters
    Type Name Description
    Int32 tid

    Select(Int32[])

    Declaration
    public void Select(int[] triangles)
    Parameters
    Type Name Description
    Int32[] triangles

    SelectEdgeTris(Int32)

    Declaration
    public void SelectEdgeTris(int eid)
    Parameters
    Type Name Description
    Int32 eid

    SelectGroup(Int32)

    Declaration
    public void SelectGroup(int gid)
    Parameters
    Type Name Description
    Int32 gid

    SelectGroupInverse(Int32)

    Declaration
    public void SelectGroupInverse(int gid)
    Parameters
    Type Name Description
    Int32 gid

    SelectVertexOneRing(Int32)

    Declaration
    public void SelectVertexOneRing(int vid)
    Parameters
    Type Name Description
    Int32 vid

    SelectVertexOneRings(IEnumerable<Int32>)

    Declaration
    public void SelectVertexOneRings(IEnumerable<int> vertices)
    Parameters
    Type Name Description
    IEnumerable<Int32> vertices

    SelectVertexOneRings(Int32[])

    Declaration
    public void SelectVertexOneRings(int[] vertices)
    Parameters
    Type Name Description
    Int32[] vertices

    ToArray()

    Declaration
    public int[] ToArray()
    Returns
    Type Description
    Int32[]

    Implements

    System.Collections.Generic.IEnumerable<T>
    System.Collections.IEnumerable
    In This Article
    Back to top ViRGIS VR GIS