Exemple #1
0
 public void SetCuttingCurve(CuttingCurve curve)
 {
     if (curve.IsIntersectable(this))
     {
         cuttingCurves.Add(new CuttingCurveWrapper(curve, this));
         modelReady = false;
     }
 }
Exemple #2
0
        public void RemoveCurve(CuttingCurve curve)
        {
            var p   = CuttingCurves.Where(x => x.curve == curve);
            var cur = p.FirstOrDefault();

            if (cur != null)
            {
                cuttingCurves.Remove(cur);
            }
            SideChanged();
        }
Exemple #3
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;
        }
Exemple #4
0
        public void SetCuttingCurve(CuttingCurve curve)
        {
            if (!curve.IsIntersectable(this))
            {
                return;
            }

            cuttingCurves.Add(new CuttingCurveWrapper(curve, this));
            foreach (var orderedPatch in orderedPatches)
            {
                orderedPatch.ShouldRegenerate();
            }
        }