shapePathBuilder.js 810 B

1234567891011121314151617181920
  1. const buildShapeString = function (pathNodes, length, closed, mat) {
  2. if (length === 0) {
  3. return '';
  4. }
  5. var _o = pathNodes.o;
  6. var _i = pathNodes.i;
  7. var _v = pathNodes.v;
  8. var i;
  9. var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);
  10. for (i = 1; i < length; i += 1) {
  11. shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);
  12. }
  13. if (closed && length) {
  14. shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);
  15. shapeString += 'z';
  16. }
  17. return shapeString;
  18. };
  19. export default buildShapeString;