Search Results for

    Show / Hide Table of Contents

    Class MeshInsertUVPolyCurve

    Cut mesh with a path of 2D line segments Assumptions:

    • mesh vertex x/y coordinates are 2D coordinates we want to use. Replace PointF if this is not the case.
    • segments of Curve lie entirely within UV-triangles

    Limitations:

    • currently not robust to near-parallel line segments that are within epsilon-band of the input loop. In this case, we will include all such segments in the 'cut' set, but we will probably not be able to find a connected path through them.
    • not robust to degenerate geometry. Strongly recommend that you use Validate() and/or preprocess the input mesh to remove degenerate faces/edges
    Inheritance
    Object
    MeshInsertUVPolyCurve
    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 MeshInsertUVPolyCurve

    Constructors

    MeshInsertUVPolyCurve(DMesh3, Polygon2d)

    Declaration
    public MeshInsertUVPolyCurve(DMesh3 mesh, Polygon2d loop)
    Parameters
    Type Name Description
    DMesh3 mesh
    Polygon2d loop

    MeshInsertUVPolyCurve(DMesh3, PolyLine2d)

    Declaration
    public MeshInsertUVPolyCurve(DMesh3 mesh, PolyLine2d path)
    Parameters
    Type Name Description
    DMesh3 mesh
    PolyLine2d path

    MeshInsertUVPolyCurve(DMesh3, PolyLine2d, Boolean)

    Declaration
    public MeshInsertUVPolyCurve(DMesh3 mesh, PolyLine2d curve, bool isLoop = false)
    Parameters
    Type Name Description
    DMesh3 mesh
    PolyLine2d curve
    Boolean isLoop

    Fields

    Curve

    Declaration
    public PolyLine2d Curve
    Field Value
    Type Description
    PolyLine2d

    CurveVertices

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

    EnableCutSpansAndLoops

    Declaration
    public bool EnableCutSpansAndLoops
    Field Value
    Type Description
    Boolean

    IsLoop

    Declaration
    public bool IsLoop
    Field Value
    Type Description
    Boolean

    Loops

    Declaration
    public List<EdgeLoop> Loops
    Field Value
    Type Description
    List<EdgeLoop>

    Mesh

    Declaration
    public DMesh3 Mesh
    Field Value
    Type Description
    DMesh3

    OnCutEdges

    Declaration
    public HashSet<int> OnCutEdges
    Field Value
    Type Description
    HashSet<Int32>

    PointF

    Declaration
    public Func<int, Vector2d> PointF
    Field Value
    Type Description
    Func<Int32, Vector2d>

    SetPointF

    Declaration
    public Action<int, Vector2d> SetPointF
    Field Value
    Type Description
    Action<Int32, Vector2d>

    Spans

    Declaration
    public List<EdgeSpan> Spans
    Field Value
    Type Description
    List<EdgeSpan>

    SpatialEpsilon

    Declaration
    public double SpatialEpsilon
    Field Value
    Type Description
    Double

    UseTriSpatial

    Declaration
    public bool UseTriSpatial
    Field Value
    Type Description
    Boolean

    Methods

    Apply()

    Declaration
    public virtual bool Apply()
    Returns
    Type Description
    Boolean

    Simplify()

    Generally after calling Apply(), we have over-triangulated the mesh, because we have split the original edges multiple times, etc. This function will walk the edges and collapse the unnecessary edges/vertices along the inserted loops.

    Declaration
    public void Simplify()

    Validate(Double)

    Declaration
    public virtual ValidationStatus Validate(double fDegenerateTol = 9.9999999747524271E-07)
    Parameters
    Type Name Description
    Double fDegenerateTol
    Returns
    Type Description
    ValidationStatus
    In This Article
    Back to top ViRGIS VR GIS