Ejemplo n.º 1
0
        protected void RecalculateParametrizationPoints()
        {
            var avai = Surface.GetAvaiablePatch(UPos, VPos, WidthDiv, HeightDiv);

            Func <Vector2, bool> check = vector2 => Surface.IsPointAvaiable(UPos, VPos, vector2);
            var aszk = SurfaceFilling.MarchingAszklars(avai, 1, 1, false, false, check);

            meshIndices            = aszk.Item2;
            parametrizationPoints  = aszk.Item1;
            ParametrizationChanged = false;
            Changed = true;
        }
Ejemplo n.º 2
0
        private void GenerateModel(Real bigRadius, Real smallRadius, int bigAngleDensity, int smallAngleDensity)
        {
            CuttingCurve.ResetCounter();
            var ptsAvaiable = GetAvaiablePoints(bigAngleDensity, smallAngleDensity);


            var tup = SurfaceFilling.MarchingAszklars(ptsAvaiable, FirstParamLimit, SecondParamLimit, true, true, PointAvaiable);

            CuttingCurve.DrawResult(bigAngleDensity * smallAngleDensity);
            this.indices = tup.Item2;
            points       = tup.Item1.Select(x => CalculatePoint(x.X, x.Y, bigRadius, smallRadius)).ToList();
            modelReady   = true;
        }