Example #1
0
 // -------------------------------------------------        DefineCover
 public override void DefineCover ()
 {
     CoverNode [] nodes = new CoverNode [nNodesOnOuter + nNodesOnInner + nNodesPoly];
     PointF [] ptOuter = new PointF [nNodesOnOuter];
     for (int i = 0; i < nNodesOnOuter; i++)
     {
         ptOuter [i] = Auxi_Geometry .PointToPoint (ptCenter, 2 * Math .PI * i / nNodesOnOuter, nrOuter);
     }
     for (int i = 0; i < nNodesOnOuter; i++)
     {
         nodes [i] = new CoverNode (i, ptOuter [i], nrSmall);
     }
     for (int i = 0; i < nNodesOnInner; i++)
     {
         nodes [nNodesOnOuter + i] = new CoverNode (nNodesOnOuter + i,
                                              Auxi_Geometry .PointToPoint (ptCenter, 2 * Math .PI * i / nNodesOnInner, nrInner), nrSmall);
     }
     double ratioRadiuses = (double) nrInner / nrOuter;
     int nSmall = nNodesOnOuter + nNodesOnInner;
     PointF p0_in, p1_in, p0_out, p1_out;
     for (int i = 0; i < nNodesPoly; i++)
     {
         int jOutPt = (i * 2) % nNodesOnOuter;
         p0_out = ptOuter [jOutPt];
         p1_out = ptOuter [(jOutPt + 2) % nNodesOnOuter];
         p0_in = Auxi_Geometry .PointOnLine (ptCenter, p0_out, ratioRadiuses);
         p1_in = Auxi_Geometry .PointOnLine (ptCenter, p1_out, ratioRadiuses);
         nodes [nSmall + i] = new CoverNode (nSmall + i, new PointF [] { p0_in, p0_out, p1_out, p1_in });
     }
     cover = new Cover (nodes);
     cover .SetClearance (NodeShape .Circle, false);
 }
Example #2
0
 // -------------------------------------------------        DefineCover
 public override void DefineCover ()
 {
     int nOnPerimeter = Convert .ToInt32 ((2 * Math .PI * radius) / distanceNeighbours);
     CoverNode [] nodes = new CoverNode [nOnPerimeter + 1];
     nodes [0] = new CoverNode (0, ptCenter, radius - nrSmall + 1, Cursors .SizeAll);
     for (int i = 1; i <= nOnPerimeter; i++)
     {
         nodes [i] = new CoverNode (i, Auxi_Geometry .PointToPoint (ptCenter, 2 * Math .PI * (i - 1) / nOnPerimeter, radius), nrSmall);
     }
     cover = new Cover (nodes);
     cover .SetClearance (false);
 }