public CrossBoundaryBrushes(Mesh _mesh, Option _opt) { this.mesh = _mesh; this.opt = _opt; this.regionNum = opt.NumberOfIsolines; // initialize triareas int fn = mesh.FaceCount, vn = mesh.VertexCount; this.triArea = new double[fn]; for (int i = 0; i < fn; ++i) { triArea[i] = mesh.ComputeFaceArea(i); } this.colorInterpolater = new ColorInterpolater(); this.vrtDisplayColor = new double[vn * 3]; this.triDisplayColor = new double[fn * 3]; this.linesOnFace = new List<int>[fn]; for (int i = 0; i < fn; ++i) { this.linesOnFace[i] = new List<int>(); } // --- for patch -type -- this.fnode = new GraphNode[fn]; this.vnode = new GraphNode[vn]; for (int i = 0; i < fn; ++i) fnode[i] = new GraphNode(i, -1); for (int i = 0; i < vn; ++i) vnode[i] = new GraphNode(i, -1); // --- initialize sampling --- this.finalFaceRec = new IsoFaceRec[fn]; for (int i = 0; i < fn; ++i) { finalFaceRec[i] = new IsoFaceRec(); finalFaceRec[i].index = i; } this.ShowCuts = true; this.patchid = new byte[fn]; this.user_operation_stack = new Stack<bool>(); }
public FaceRecord(IsoFaceRec r, PQPairs _pq) { face = r; pq = _pq; }