コード例 #1
0
        //
        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());
        }
コード例 #2
0
ファイル: OutlineWalker.cs プロジェクト: brezza92/PixelFarm
        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;
        }