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
    
    MeshInsertUVPolyCurve
   
  
  Namespace: g3
  Assembly: cs.temp.dll.dll
  Syntax
  
    public class MeshInsertUVPolyCurve
   
  Constructors
  
  
  
  
  MeshInsertUVPolyCurve(DMesh3, Polygon2d)
  
  
  Declaration
  
    public MeshInsertUVPolyCurve(DMesh3 mesh, Polygon2d loop)
   
  Parameters
  
  
  
  
  MeshInsertUVPolyCurve(DMesh3, PolyLine2d)
  
  
  Declaration
  
    public MeshInsertUVPolyCurve(DMesh3 mesh, PolyLine2d path)
   
  Parameters
  
  
  
  
  MeshInsertUVPolyCurve(DMesh3, PolyLine2d, Boolean)
  
  
  Declaration
  
    public MeshInsertUVPolyCurve(DMesh3 mesh, PolyLine2d curve, bool isLoop = false)
   
  Parameters
  
  Fields
  
  
  
  Curve
  
  
  Declaration
  
  Field Value
  
  
  
  CurveVertices
  
  
  Declaration
  
    public int[] CurveVertices
   
  Field Value
  
  
  
  EnableCutSpansAndLoops
  
  
  Declaration
  
    public bool EnableCutSpansAndLoops
   
  Field Value
  
  
  
  IsLoop
  
  
  Declaration
  
  Field Value
  
  
  
  Loops
  
  
  Declaration
  
    public List<EdgeLoop> Loops
   
  Field Value
  
  
  
  Mesh
  
  
  Declaration
  
  Field Value
  
  
  
  OnCutEdges
  
  
  Declaration
  
    public HashSet<int> OnCutEdges
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | HashSet<Int32> | 
         | 
      
    
  
  
  
  PointF
  
  
  Declaration
  
    public Func<int, Vector2d> PointF
   
  Field Value
  
  
  
  SetPointF
  
  
  Declaration
  
    public Action<int, Vector2d> SetPointF
   
  Field Value
  
  
  
  Spans
  
  
  Declaration
  
    public List<EdgeSpan> Spans
   
  Field Value
  
  
  
  SpatialEpsilon
  
  
  Declaration
  
    public double SpatialEpsilon
   
  Field Value
  
  
  
  UseTriSpatial
  
  
  Declaration
  
    public bool UseTriSpatial
   
  Field Value
  
  Methods
  
  
  
  
  Apply()
  
  
  Declaration
  
    public virtual bool Apply()
   
  Returns
  
  
  
  
  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
  
  
  
  
  Validate(Double)
  
  
  Declaration
  
    public virtual ValidationStatus Validate(double fDegenerateTol = 9.9999999747524271E-07)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Double | 
        fDegenerateTol | 
         | 
      
    
  
  Returns