protected override TriMesh.Vertex Merge(MergeArgs args) { EdgeContext ctx = TriMeshModify.Merge(args.Target, args.Pos); this.Logs.Add(ctx); return(ctx.Left); }
private void SetValue(string key, string value) { switch (key) { case "ResolveConflictOn": List <int> intVals = new List <int>(); foreach (string s in value.Split(',')) { int i; if (int.TryParse(s.Trim(), out i)) { intVals.Add(i); } } if (intVals.Count > 0 && MergeArgs != null) { MergeArgs.SetMergedExitCodes(intVals.ToArray()); } break; } }
public int Run(int preserveFace) { int count = 0; while (this.Mesh.Faces.Count > preserveFace) { MergeArgs args = this.GetMin(); if (args == null) { break; } this.BeforeMerge(args.Target); TriMesh.Vertex newVertex = this.Merge(args); this.AfterMerge(newVertex); count++; } return(count); }
protected override TriMesh.Vertex Merge(MergeArgs args) { return(TriMeshModify.Merge(args.Target, args.Pos).Left); }
public Concatenate(MergeArgs args) : base(args) { this.args = args; }
public Add(MergeArgs args) : base(args) { }
public Subtract(MergeArgs args) : base(args) { }
protected abstract TriMesh.Vertex Merge(MergeArgs args);
public Merge(MergeArgs args) : base(args) { }
protected override HalfEdgeMesh.Vertex Merge(MergeArgs args) { return(TriMeshModify.Instance.MergeEdge(args.Target, args.Pos)); }