Class EdgeLoopRemesher
  
  This is a custom Remesher that only affects the edges along an EdgeLoop.
The edges are only split and collapsed, flipping is not permitted.
The loop vertices are smoothed along the loop, ie using curve laplacian
rather than one-ring laplacian.
[TODO] avoid rebuild_edge_list(). requires handling various cases below...
[TODO] Precompute() seems overly expensive...?
[TODO] local-smoothing impl is not very efficient. Should not be necessary to
rebuild nbrhood each time if we are not changing it.
 
  
  
    Inheritance
    
    
    
    EdgeLoopRemesher
   
  
  Namespace: g3
  Assembly: cs.temp.dll.dll
  Syntax
  
    public class EdgeLoopRemesher : Remesher
   
  Constructors
  
  
  
  
  EdgeLoopRemesher(DMesh3, EdgeLoop)
  
  
  Declaration
  
    public EdgeLoopRemesher(DMesh3 m, EdgeLoop loop)
   
  Parameters
  
  Fields
  
  
  
  
  
  
  Declaration
  
    public EdgeLoop InputLoop
   
  Field Value
  
  
  
  LocalSmoothingRings
  Can optionally include N one-rings around the loop in
the smoothing/projection pass. This will produce cleaner results.
 
  
  Declaration
  
    public int LocalSmoothingRings
   
  Field Value
  
  
  
  OutputLoop
  
  
  Declaration
  
    public EdgeLoop OutputLoop
   
  Field Value
  
  Methods
  
  
  
  
  begin_smooth()
  
  
  Declaration
  
    protected override void begin_smooth()
   
  Overrides
  
  
  
  
  end_pass()
  
  
  Declaration
  
    protected override void end_pass()
   
  Overrides
  
  
  
  
  next_edge(Int32, out Boolean)
  
  
  Declaration
  
    protected override int next_edge(int cur_eid, out bool bDone)
   
  Parameters
  
  Returns
  
  Overrides
  
  
  
  
  OnEdgeCollapse(Int32, Int32, Int32, DMesh3.EdgeCollapseInfo)
  
  
  Declaration
  
    protected override void OnEdgeCollapse(int edgeID, int va, int vb, DMesh3.EdgeCollapseInfo collapseInfo)
   
  Parameters
  
  Overrides
  
  
  
  
  OnEdgeSplit(Int32, Int32, Int32, DMesh3.EdgeSplitInfo)
  
  
  Declaration
  
    protected override void OnEdgeSplit(int edgeID, int va, int vb, DMesh3.EdgeSplitInfo splitInfo)
   
  Parameters
  
  Overrides
  
  
  
  
  Precompute()
  
  
  Declaration
  
    public override void Precompute()
   
  Overrides
  
  
  
  
  project_vertices()
  
  
  Declaration
  
    protected override IEnumerable<int> project_vertices()
   
  Returns
  
  Overrides
  
  
  
  
  smooth_vertices()
  
  
  Declaration
  
    protected override IEnumerable<int> smooth_vertices()
   
  Returns
  
  Overrides
  
  
  
  
  start_edges()
  
  
  Declaration
  
    protected override int start_edges()
   
  Returns
  
  Overrides
  
  
  
  
  UpdateLoop(EdgeLoop)
  
  
  Declaration
  
    public void UpdateLoop(EdgeLoop loop)
   
  Parameters