segments_length_pool.js 519 B

123456789101112131415161718192021222324
  1. import bezierLengthPool from './bezier_length_pool';
  2. import poolFactory from './pool_factory';
  3. const segmentsLengthPool = (function () {
  4. function create() {
  5. return {
  6. lengths: [],
  7. totalLength: 0,
  8. };
  9. }
  10. function release(element) {
  11. var i;
  12. var len = element.lengths.length;
  13. for (i = 0; i < len; i += 1) {
  14. bezierLengthPool.release(element.lengths[i]);
  15. }
  16. element.lengths.length = 0;
  17. }
  18. return poolFactory(8, create, release);
  19. }());
  20. export default segmentsLengthPool;