| 6747 | * @return {number} parsed angle in radians |
| 6748 | */ |
| 6749 | _parseAngle = function(v, d, p, directionalEnd) { |
| 6750 | var min = 0.000001, |
| 6751 | cap, split, dif, result, isRelative; |
| 6752 | if (v == null) { |
| 6753 | result = d; |
| 6754 | } else if (typeof(v) === "number") { |
| 6755 | result = v; |
| 6756 | } else { |
| 6757 | cap = 360; |
| 6758 | split = v.split("_"); |
| 6759 | isRelative = (v.charAt(1) === "="); |
| 6760 | dif = (isRelative ? parseInt(v.charAt(0) + "1", 10) * parseFloat(split[0].substr(2)) : parseFloat(split[0])) * ((v.indexOf("rad") === -1) ? 1 : _RAD2DEG) - (isRelative ? 0 : d); |
| 6761 | if (split.length) { |
| 6762 | if (directionalEnd) { |
| 6763 | directionalEnd[p] = d + dif; |
| 6764 | } |
| 6765 | if (v.indexOf("short") !== -1) { |
| 6766 | dif = dif % cap; |
| 6767 | if (dif !== dif % (cap / 2)) { |
| 6768 | dif = (dif < 0) ? dif + cap : dif - cap; |
| 6769 | } |
| 6770 | } |
| 6771 | if (v.indexOf("_cw") !== -1 && dif < 0) { |
| 6772 | dif = ((dif + cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; |
| 6773 | } else if (v.indexOf("ccw") !== -1 && dif > 0) { |
| 6774 | dif = ((dif - cap * 9999999999) % cap) - ((dif / cap) | 0) * cap; |
| 6775 | } |
| 6776 | } |
| 6777 | result = d + dif; |
| 6778 | } |
| 6779 | if (result < min && result > -min) { |
| 6780 | result = 0; |
| 6781 | } |
| 6782 | return result; |
| 6783 | }, |
| 6784 | |
| 6785 | _colorLookup = {aqua:[0,255,255], |
| 6786 | lime:[0,255,0], |