{"version":3,"sources":["jsdelivr-header.js","/npm/threejs-ball-line-animation@1.0.0/lib/index.js"],"names":[],"mappings":"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","file":"/npm/threejs-ball-line-animation@1.0.0/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/threejs-ball-line-animation@1.0.0/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nexports.__esModule = true;\nexports.default = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _three = require('three');\n\nvar _three2 = require('three.meshline');\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MAX_CONNECT_LINES = 4;\nvar NUM_SPHERES = 100;\nvar MAX_CONNECT_DISTANCE = 400;\nvar SPHERE_DIAMETER = 40;\nvar LINE_WIDTH = 8;\nvar MAX_X_LIMIT = 2000;\nvar MAX_Y_LIMIT = 2000;\nvar DEFAULT_COLOR = '#800080';\nvar DEFAULT_MOVEMENT = 0.5;\n\nvar myReq = void 0,\n    camera = void 0,\n    scene = void 0,\n    renderer = void 0,\n    sphereMaterial = void 0,\n    spheres = void 0,\n    lineMaterial = void 0,\n    animations = {\n  color: false,\n  x: false,\n  y: false\n},\n    movement = {\n  x: DEFAULT_MOVEMENT,\n  y: DEFAULT_MOVEMENT\n};\n\nvar addSpheres = function addSpheres(numSpheres, diameter) {\n  for (var i = 0; i < numSpheres; i++) {\n    var geometry = new _three.SphereGeometry(diameter, 32, 32);\n    var sphere = new _three.Mesh(geometry, sphereMaterial);\n    sphere.position.x = 2000 * Math.random() - 1000;\n    sphere.position.y = 2000 * Math.random() - 1000;\n    sphere.position.z = 2000 * Math.random() - 1000;\n    spheres.add(sphere);\n  }\n  scene.add(spheres);\n};\n\nvar init = function init(_ref) {\n  var container = _ref.container,\n      numSpheres = _ref.numSpheres,\n      diameter = _ref.diameter,\n      maxConnectDistance = _ref.maxConnectDistance,\n      maxConnectLines = _ref.maxConnectLines,\n      lineWidth = _ref.lineWidth,\n      sphereColor = _ref.sphereColor,\n      lineColor = _ref.lineColor;\n\n  scene = new _three.Scene();\n  scene.fog = new _three.FogExp2(0x000000, 0.0006);\n\n  sphereMaterial = new _three.MeshBasicMaterial({ color: new _three.Color(sphereColor) });\n  spheres = new _three.Group();\n\n  lineMaterial = new _three2.MeshLineMaterial({\n    lineWidth: lineWidth,\n    color: new _three.Color(lineColor)\n  });\n\n  addSpheres(numSpheres, diameter);\n\n  for (var i = 0; i < spheres.children.length; i++) {\n    var obj = spheres.children[i];\n    var near = (0, _utils.getNearbyObjectsFor)(obj, spheres, maxConnectDistance);\n\n    if (near.length == 0) continue;\n\n    var lines = Math.floor(maxConnectLines * Math.random());\n    for (var k = 0; k < near.length && k <= lines; k++) {\n      var lineGeometry = new _three.Geometry();\n      lineGeometry.vertices.push(new _three.Vector3(obj.position.x, obj.position.y, obj.position.z));\n      lineGeometry.vertices.push(new _three.Vector3(near[k].position.x, near[k].position.y, near[k].position.z));\n      var g = new _three2.MeshLine();\n      g.setGeometry(lineGeometry);\n      g.verticesNeedUpdate = true;\n      var mesh = new _three.Mesh(g.geometry, lineMaterial);\n      scene.add(mesh);\n    }\n  }\n\n  camera = new _three.PerspectiveCamera(55, container.offsetWidth / container.offsetHeight, 2, 3000);\n  camera.position.z = 1000;\n\n  renderer = new _three.WebGLRenderer({\n    canvas: container,\n    preserveDrawingBuffer: true,\n    alpha: true,\n    antialias: true\n  });\n  renderer.setPixelRatio(window.devicePixelRatio);\n  renderer.setSize(container.offsetWidth, container.offsetHeight);\n  renderer.setClearColor(0x000000, 0);\n};\n\nvar render = function render() {\n  if (animations.y) {\n    camera.position.y += movement.y;\n    if (camera.position.y > MAX_Y_LIMIT || camera.position.y < -MAX_Y_LIMIT) {\n      movement.y = -movement.y;\n    }\n  }\n  if (animations.x) {\n    camera.position.x += movement.x;\n    if (camera.position.x > MAX_X_LIMIT || camera.position.x < -MAX_X_LIMIT) {\n      movement.x = -movement.x;\n    }\n  }\n  camera.lookAt(scene.position);\n  if (animations.color) {\n    var time = Date.now() * 0.00005;\n    var h = 360 * (1.0 + time) % 360 / 360;\n    sphereMaterial.color.setHSL(h, 0.5, 0.5);\n    lineMaterial.uniforms.color.value = (0, _utils.setHSL)(h, 0.5, 0.5);\n  }\n\n  renderer.render(scene, camera);\n};\n\nvar animate = function animate() {\n  myReq = window.requestAnimationFrame(animate);\n  render();\n};\n\nvar _default = function (_Component) {\n  _inherits(_default, _Component);\n\n  function _default() {\n    _classCallCheck(this, _default);\n\n    return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n  }\n\n  _default.prototype.componentDidMount = function componentDidMount() {\n    var _props = this.props,\n        _props$numSpheres = _props.numSpheres,\n        numSpheres = _props$numSpheres === undefined ? NUM_SPHERES : _props$numSpheres,\n        _props$diameter = _props.diameter,\n        diameter = _props$diameter === undefined ? SPHERE_DIAMETER : _props$diameter,\n        _props$maxConnectDist = _props.maxConnectDistance,\n        maxConnectDistance = _props$maxConnectDist === undefined ? MAX_CONNECT_DISTANCE : _props$maxConnectDist,\n        _props$maxConnectLine = _props.maxConnectLines,\n        maxConnectLines = _props$maxConnectLine === undefined ? MAX_CONNECT_LINES : _props$maxConnectLine,\n        _props$lineWidth = _props.lineWidth,\n        lineWidth = _props$lineWidth === undefined ? LINE_WIDTH : _props$lineWidth,\n        _props$animateColor = _props.animateColor,\n        animateColor = _props$animateColor === undefined ? false : _props$animateColor,\n        _props$animateX = _props.animateX,\n        animateX = _props$animateX === undefined ? false : _props$animateX,\n        _props$animateY = _props.animateY,\n        animateY = _props$animateY === undefined ? false : _props$animateY,\n        _props$moveX = _props.moveX,\n        moveX = _props$moveX === undefined ? DEFAULT_MOVEMENT : _props$moveX,\n        _props$moveY = _props.moveY,\n        moveY = _props$moveY === undefined ? DEFAULT_MOVEMENT : _props$moveY,\n        _props$sphereColor = _props.sphereColor,\n        sphereColor = _props$sphereColor === undefined ? DEFAULT_COLOR : _props$sphereColor,\n        _props$lineColor = _props.lineColor,\n        lineColor = _props$lineColor === undefined ? DEFAULT_COLOR : _props$lineColor;\n\n    animations = {\n      color: animateColor,\n      x: animateX,\n      y: animateY\n    };\n    movement = {\n      x: moveX,\n      y: moveY\n    };\n    init({\n      container: this.container,\n      numSpheres: numSpheres,\n      diameter: diameter,\n      maxConnectDistance: maxConnectDistance,\n      maxConnectLines: maxConnectLines,\n      lineWidth: lineWidth,\n      sphereColor: sphereColor,\n      lineColor: lineColor\n    });\n    animate();\n  };\n\n  _default.prototype.componentWillUnmount = function componentWillUnmount() {\n    window.cancelAnimationFrame(myReq);\n  };\n\n  _default.prototype.render = function render() {\n    var _this2 = this;\n\n    return _react2.default.createElement('canvas', {\n      ref: function ref(c) {\n        return _this2.container = c;\n      },\n      style: {\n        width: '100%',\n        height: '100%'\n      }\n    });\n  };\n\n  return _default;\n}(_react.Component);\n\nexports.default = _default;\nmodule.exports = exports['default'];"]}