Search Results for

    Show / Hide Table of Contents

    Class FaceGroupOptimizer

    Given input mesh with a set of face groups, optimize the face group boundaries. This involves flipping triangles between groups, and/or assigning to "background" group. Also has Dilate/Contract functions to grow/shrink groups in various ways.

    Inheritance
    Object
    FaceGroupOptimizer
    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 FaceGroupOptimizer

    Constructors

    FaceGroupOptimizer(DMesh3)

    Declaration
    public FaceGroupOptimizer(DMesh3 meshIn)
    Parameters
    Type Name Description
    DMesh3 meshIn

    Fields

    BackgroundGroupID

    Declaration
    public int BackgroundGroupID
    Field Value
    Type Description
    Int32

    DontClipEnclosedFins

    Declaration
    public bool DontClipEnclosedFins
    Field Value
    Type Description
    Boolean

    GetEnumeratorF

    Declaration
    public Func<IEnumerable<int>> GetEnumeratorF
    Field Value
    Type Description
    Func<IEnumerable<Int32>>

    NoEarGroupSwaps

    Declaration
    public bool NoEarGroupSwaps
    Field Value
    Type Description
    Boolean

    Properties

    Mesh

    Declaration
    public DMesh3 Mesh { get; }
    Property Value
    Type Description
    DMesh3

    Methods

    ClipFins(Boolean)

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

    ContractAllGroups(Int32, Boolean)

    Simultaneously contract all groups by N rings. if bBackroundOnly=true, then non-background group borders stay connected, otherwise they pull apart.

    Declaration
    public int ContractAllGroups(int nRings, bool bBackgroundOnly)
    Parameters
    Type Name Description
    Int32 nRings
    Boolean bBackgroundOnly
    Returns
    Type Description
    Int32

    DilateAllGroups(Int32)

    Simultaneously grow all groups into areas with background group id, expanding by N rings. does not expand across group borders.

    Declaration
    public int DilateAllGroups(int nRings)
    Parameters
    Type Name Description
    Int32 nRings
    Returns
    Type Description
    Int32

    FillEars(Boolean)

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

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

    Do rounds of ear-filling and fin-clipping until we can't anymore Returns true if group assignments were modified

    Declaration
    public bool LocalOptimize(bool bClipFins, bool bFillEars, bool bFillTinyHoles = true, bool bClipLoners = true, int max_iters = 100)
    Parameters
    Type Name Description
    Boolean bClipFins
    Boolean bFillEars
    Boolean bFillTinyHoles
    Boolean bClipLoners
    Int32 max_iters
    Returns
    Type Description
    Boolean
    In This Article
    Back to top ViRGIS VR GIS