// public DynamicOutline(IntermediateOutline intermediateOutline) { //setup default values _needRefreshBoneGroup = true; //first time _needAdjustGridFitValues = true; //first time this.GridBoxWidth = 32; //pixels this.GridBoxHeight = 50; //pixels _groupingHelper = BoneGroupingHelper.CreateBoneGroupingHelper(); #if DEBUG this.GridBoxHeight = dbugGridHeight; //pixels _dbugTempIntermediateOutline = intermediateOutline; #endif //we convert data from GlyphIntermediateOutline to newform (lightweight form). //and save it here. //1. joints and its bones //2. bones and its controlled edge _contours = intermediateOutline.GetContours(); //original contours //3. CollectAllCentroidLines(intermediateOutline.GetCentroidLineHubs()); }
public void WalkContour(IntermediateOutline intermediateOutline) { Stop = false; List <Contour> cnts = intermediateOutline.GetContours(); int j = cnts.Count; for (int i = 0; i < j; ++i) { Contour cnt = cnts[i]; List <Vertex> points = cnt.flattenPoints; int n = points.Count; for (int m = 0; m < n; ++m) { if (Stop) { //user can cancel this walking session break; } OnEdgeN(points[m].E0); } } Stop = true; }