Exemple #1
0
        public void Redraw()
        {
            new GlRectangle(new GlPointR2(-10, 10), 25, 20, new GlVectorR2(1, 0)).DrawFill(GlConstants.BLACK);
            List <GlPointR2> inters = new List <GlPointR2>();

            for (int i = 0; i < demoFigures.Count; i++)
            {
                if (!demoFigures[i].IsFill)
                {
                    demoFigures[i].View.Draw(demoFigures[i].DrawColor, demoFigures[i].DrawWidth);
                }
                else
                {
                    demoFigures[i].View.DrawFill(demoFigures[i].DrawColor);
                }

                if (demoFigures[i].catchIntersections)
                {
                    for (int j = i; j < demoFigures.Count; j++)
                    {
                        if (demoFigures[j].catchIntersections)
                        {
                            foreach (GlPointR2 p in demoFigures[i].View.getIntersection(demoFigures[j].View))
                            {
                                inters.Add(p);
                            }
                        }
                    }
                }
                try
                {
                    GlCurve C = demoFigures[i].View as GlCurve;
                    if (demoFigures[i].tangentFrom != -1)
                    {
                        C.getTangentFromBelongs(C[demoFigures[i].tangentFrom]).Draw(5, GlConstants.RED);
                    }
                    if (demoFigures[i].curvFrom != -1)
                    {
                        C.getCurvatureCircle(C[demoFigures[i].curvFrom]).Draw(GlConstants.RED, 5);
                    }
                    if (demoFigures[i].boxDraw)
                    {
                        demoFigures[i].View.BOX.Draw(GlConstants.RED, 5);
                    }
                }
                catch { }

                demoFigures[i].Transformation();
            }
            foreach (GlPointR2 p in inters)
            {
                new GlCircle(0.1f, p).DrawFill(GlConstants.RED);
            }
        }
Exemple #2
0
 public override IEnumerable <GlPointR2> getIntersection(GlCurve C)
 {
     throw new System.NotImplementedException();
 }
Exemple #3
0
 public abstract IEnumerable <GlPointR2> getIntersection(GlCurve C);