text: define(["dojo/_base/declare", "dojo/_base/lang","./PlotUtil"], 
      function (declare, lang, PlotUtil) {
      var clazz = declare([], {
          constructor: function (options) {
              if (this.id == null) {
                  this.id = "halfcircledrawer"
              }
          }, 
          getPoints: function (points) {
              var pnt0 = null;
              var pnt1 = null;
              var disPnts = null;
              var N1 = null;
              var N2 = null;
              var pntX = null;
              var pntY = null;
              var pnts = null;
              var pntsLen = points.length;
              if (pntsLen >= 2 && points[(pntsLen - 1)] != points[pntsLen - 2]) {
                  pnt0 = points[0];
                  pnt1 = points[1];
                  disPnts = PlotUtil.distance(pnt0, pnt1);
                  pnts = [];
                  var j = 0;
                  while (j < 100) {
                      N1 = Math.sin(Math.PI * 2 * j / 100);
                      N2 = Math.cos(Math.PI * 2 * j / 100);
                      pntX = pnt0.x + disPnts * N1;
                      pntY = pnt0.y + disPnts * N2;
                      pnts.push(new Point(pntX, pntY));
                      j++
                  }
                  return pnts.splice(0, pnts.length / 2)
              }
          }
      });
      return clazz
  });
  