text: /**
   * @file 判断点是否在路径上
   * @author mengke01(kekee000@gmail.com)
   */
  
  define(
      function (require) {
  
          var pathIterator = require('./pathIterator');
          var getBezierQ2T = require('math/getBezierQ2T');
  
          /**
           * 判断点是否在path上
           *
           * @param {Object} path path对象
           * @param {Object} p 点对象
           * @return {boolean|number} 是否在path上，如果在的话，返回起点索引号
           */
          function isOnPath(path, p) {
              var zCount = false;
              pathIterator(path, function (c, p0, p1, p2, i) {
                  if (c === 'L') {
                      if (Math.abs((p.y - p0.y) * (p.x - p1.x) - (p.y - p1.y) * (p.x - p0.x)) <= 0.001) {
                          zCount = i;
                          return false;
                      }
                  }
                  else if (c === 'Q') {
                      if (false !== getBezierQ2T(p0, p1, p2, p)) {
                          zCount = i;
                          return false;
                      }
                  }
              });
  
              return zCount;
          }
  
          return isOnPath;
      }
  );
  