@luma.gl/engine 9.0.0-alpha.16 → 9.0.0-alpha.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/animation/key-frames.d.ts +1 -1
  2. package/dist/animation/key-frames.d.ts.map +1 -1
  3. package/dist/animation/key-frames.js +55 -54
  4. package/dist/animation/key-frames.js.map +1 -0
  5. package/dist/animation/timeline.d.ts +4 -4
  6. package/dist/animation/timeline.d.ts.map +1 -1
  7. package/dist/animation/timeline.js +101 -94
  8. package/dist/animation/timeline.js.map +1 -0
  9. package/dist/animation-loop/animation-loop.d.ts +4 -2
  10. package/dist/animation-loop/animation-loop.d.ts.map +1 -1
  11. package/dist/animation-loop/animation-loop.js +358 -414
  12. package/dist/animation-loop/animation-loop.js.map +1 -0
  13. package/dist/animation-loop/animation-props.d.ts +3 -1
  14. package/dist/animation-loop/animation-props.d.ts.map +1 -1
  15. package/dist/animation-loop/animation-props.js +1 -0
  16. package/dist/animation-loop/animation-props.js.map +1 -0
  17. package/dist/animation-loop/make-animation-loop.d.ts +1 -1
  18. package/dist/animation-loop/make-animation-loop.d.ts.map +1 -1
  19. package/dist/animation-loop/make-animation-loop.js +25 -26
  20. package/dist/animation-loop/make-animation-loop.js.map +1 -0
  21. package/dist/animation-loop/render-loop.js +5 -17
  22. package/dist/animation-loop/render-loop.js.map +1 -0
  23. package/dist/dist.dev.js +5240 -0
  24. package/dist/geometries/cone-geometry.d.ts +1 -1
  25. package/dist/geometries/cone-geometry.d.ts.map +1 -1
  26. package/dist/geometries/cone-geometry.js +18 -12
  27. package/dist/geometries/cone-geometry.js.map +1 -0
  28. package/dist/geometries/cube-geometry.d.ts +1 -1
  29. package/dist/geometries/cube-geometry.d.ts.map +1 -1
  30. package/dist/geometries/cube-geometry.js +60 -187
  31. package/dist/geometries/cube-geometry.js.map +1 -0
  32. package/dist/geometries/cylinder-geometry.d.ts +1 -1
  33. package/dist/geometries/cylinder-geometry.d.ts.map +1 -1
  34. package/dist/geometries/cylinder-geometry.js +15 -10
  35. package/dist/geometries/cylinder-geometry.js.map +1 -0
  36. package/dist/geometries/ico-sphere-geometry.d.ts +1 -1
  37. package/dist/geometries/ico-sphere-geometry.d.ts.map +1 -1
  38. package/dist/geometries/ico-sphere-geometry.js +160 -141
  39. package/dist/geometries/ico-sphere-geometry.js.map +1 -0
  40. package/dist/geometries/plane-geometry.d.ts +1 -1
  41. package/dist/geometries/plane-geometry.d.ts.map +1 -1
  42. package/dist/geometries/plane-geometry.js +111 -93
  43. package/dist/geometries/plane-geometry.js.map +1 -0
  44. package/dist/geometries/sphere-geometry.d.ts +1 -1
  45. package/dist/geometries/sphere-geometry.d.ts.map +1 -1
  46. package/dist/geometries/sphere-geometry.js +95 -76
  47. package/dist/geometries/sphere-geometry.js.map +1 -0
  48. package/dist/geometries/truncated-cone-geometry.d.ts +1 -1
  49. package/dist/geometries/truncated-cone-geometry.d.ts.map +1 -1
  50. package/dist/geometries/truncated-cone-geometry.js +126 -105
  51. package/dist/geometries/truncated-cone-geometry.js.map +1 -0
  52. package/dist/geometry/geometry-table.d.ts +1 -1
  53. package/dist/geometry/geometry-table.d.ts.map +1 -1
  54. package/dist/geometry/geometry-table.js +1 -0
  55. package/dist/geometry/geometry-table.js.map +1 -0
  56. package/dist/geometry/geometry-utils.js +32 -22
  57. package/dist/geometry/geometry-utils.js.map +1 -0
  58. package/dist/geometry/geometry.d.ts +4 -4
  59. package/dist/geometry/geometry.d.ts.map +1 -1
  60. package/dist/geometry/geometry.js +109 -96
  61. package/dist/geometry/geometry.js.map +1 -0
  62. package/dist/geometry/primitive-utils.js +1 -30
  63. package/dist/geometry/primitive-utils.js.map +1 -0
  64. package/dist/index.cjs +2222 -0
  65. package/dist/index.js +16 -20
  66. package/dist/index.js.map +1 -0
  67. package/dist/lib/clip-space.js +1 -50
  68. package/dist/lib/clip-space.js.map +1 -0
  69. package/dist/lib/model-utils.js +28 -101
  70. package/dist/lib/model-utils.js.map +1 -0
  71. package/dist/lib/model.d.ts +1 -1
  72. package/dist/lib/model.d.ts.map +1 -1
  73. package/dist/lib/model.js +129 -121
  74. package/dist/lib/model.js.map +1 -0
  75. package/dist/lib/pipeline-factory.d.ts +3 -3
  76. package/dist/lib/pipeline-factory.d.ts.map +1 -1
  77. package/dist/lib/pipeline-factory.js +165 -136
  78. package/dist/lib/pipeline-factory.js.map +1 -0
  79. package/dist.min.js +245 -0
  80. package/package.json +22 -13
  81. package/src/.DS_Store +0 -0
  82. package/src/animation/timeline.ts +1 -1
  83. package/src/animation-loop/animation-loop.ts +5 -5
  84. package/src/animation-loop/make-animation-loop.ts +2 -1
  85. package/src/geometry/geometry.ts +2 -2
  86. package/src/lib/pipeline-factory.ts +1 -1
  87. package/dist/bundle.d.ts +0 -2
  88. package/dist/bundle.d.ts.map +0 -1
  89. package/dist/bundle.js +0 -5
  90. package/dist/dist.min.js +0 -31
  91. package/dist/es5/animation/key-frames.js +0 -84
  92. package/dist/es5/animation/key-frames.js.map +0 -1
  93. package/dist/es5/animation/timeline.js +0 -183
  94. package/dist/es5/animation/timeline.js.map +0 -1
  95. package/dist/es5/animation-loop/animation-loop.js +0 -534
  96. package/dist/es5/animation-loop/animation-loop.js.map +0 -1
  97. package/dist/es5/animation-loop/animation-props.js +0 -2
  98. package/dist/es5/animation-loop/animation-props.js.map +0 -1
  99. package/dist/es5/animation-loop/make-animation-loop.js +0 -53
  100. package/dist/es5/animation-loop/make-animation-loop.js.map +0 -1
  101. package/dist/es5/animation-loop/render-loop.js +0 -39
  102. package/dist/es5/animation-loop/render-loop.js.map +0 -1
  103. package/dist/es5/bundle.js +0 -6
  104. package/dist/es5/bundle.js.map +0 -1
  105. package/dist/es5/geometries/cone-geometry.js +0 -43
  106. package/dist/es5/geometries/cone-geometry.js.map +0 -1
  107. package/dist/es5/geometries/cube-geometry.js +0 -84
  108. package/dist/es5/geometries/cube-geometry.js.map +0 -1
  109. package/dist/es5/geometries/cylinder-geometry.js +0 -39
  110. package/dist/es5/geometries/cylinder-geometry.js.map +0 -1
  111. package/dist/es5/geometries/ico-sphere-geometry.js +0 -185
  112. package/dist/es5/geometries/ico-sphere-geometry.js.map +0 -1
  113. package/dist/es5/geometries/plane-geometry.js +0 -137
  114. package/dist/es5/geometries/plane-geometry.js.map +0 -1
  115. package/dist/es5/geometries/sphere-geometry.js +0 -120
  116. package/dist/es5/geometries/sphere-geometry.js.map +0 -1
  117. package/dist/es5/geometries/truncated-cone-geometry.js +0 -160
  118. package/dist/es5/geometries/truncated-cone-geometry.js.map +0 -1
  119. package/dist/es5/geometry/geometry-table.js +0 -2
  120. package/dist/es5/geometry/geometry-table.js.map +0 -1
  121. package/dist/es5/geometry/geometry-utils.js +0 -39
  122. package/dist/es5/geometry/geometry-utils.js.map +0 -1
  123. package/dist/es5/geometry/geometry.js +0 -150
  124. package/dist/es5/geometry/geometry.js.map +0 -1
  125. package/dist/es5/geometry/primitive-utils.js +0 -2
  126. package/dist/es5/geometry/primitive-utils.js.map +0 -1
  127. package/dist/es5/index.js +0 -112
  128. package/dist/es5/index.js.map +0 -1
  129. package/dist/es5/lib/clip-space.js +0 -2
  130. package/dist/es5/lib/clip-space.js.map +0 -1
  131. package/dist/es5/lib/model-utils.js +0 -52
  132. package/dist/es5/lib/model-utils.js.map +0 -1
  133. package/dist/es5/lib/model.js +0 -173
  134. package/dist/es5/lib/model.js.map +0 -1
  135. package/dist/es5/lib/pipeline-factory.js +0 -244
  136. package/dist/es5/lib/pipeline-factory.js.map +0 -1
  137. package/dist/esm/animation/key-frames.js +0 -57
  138. package/dist/esm/animation/key-frames.js.map +0 -1
  139. package/dist/esm/animation/timeline.js +0 -113
  140. package/dist/esm/animation/timeline.js.map +0 -1
  141. package/dist/esm/animation-loop/animation-loop.js +0 -367
  142. package/dist/esm/animation-loop/animation-loop.js.map +0 -1
  143. package/dist/esm/animation-loop/animation-props.js +0 -2
  144. package/dist/esm/animation-loop/animation-props.js.map +0 -1
  145. package/dist/esm/animation-loop/make-animation-loop.js +0 -28
  146. package/dist/esm/animation-loop/make-animation-loop.js.map +0 -1
  147. package/dist/esm/animation-loop/render-loop.js +0 -7
  148. package/dist/esm/animation-loop/render-loop.js.map +0 -1
  149. package/dist/esm/bundle.js +0 -4
  150. package/dist/esm/bundle.js.map +0 -1
  151. package/dist/esm/geometries/cone-geometry.js +0 -21
  152. package/dist/esm/geometries/cone-geometry.js.map +0 -1
  153. package/dist/esm/geometries/cube-geometry.js +0 -67
  154. package/dist/esm/geometries/cube-geometry.js.map +0 -1
  155. package/dist/esm/geometries/cylinder-geometry.js +0 -18
  156. package/dist/esm/geometries/cylinder-geometry.js.map +0 -1
  157. package/dist/esm/geometries/ico-sphere-geometry.js +0 -170
  158. package/dist/esm/geometries/ico-sphere-geometry.js.map +0 -1
  159. package/dist/esm/geometries/plane-geometry.js +0 -119
  160. package/dist/esm/geometries/plane-geometry.js.map +0 -1
  161. package/dist/esm/geometries/sphere-geometry.js +0 -102
  162. package/dist/esm/geometries/sphere-geometry.js.map +0 -1
  163. package/dist/esm/geometries/truncated-cone-geometry.js +0 -136
  164. package/dist/esm/geometries/truncated-cone-geometry.js.map +0 -1
  165. package/dist/esm/geometry/geometry-table.js +0 -2
  166. package/dist/esm/geometry/geometry-table.js.map +0 -1
  167. package/dist/esm/geometry/geometry-utils.js +0 -37
  168. package/dist/esm/geometry/geometry-utils.js.map +0 -1
  169. package/dist/esm/geometry/geometry.js +0 -119
  170. package/dist/esm/geometry/geometry.js.map +0 -1
  171. package/dist/esm/geometry/primitive-utils.js +0 -2
  172. package/dist/esm/geometry/primitive-utils.js.map +0 -1
  173. package/dist/esm/index.js +0 -16
  174. package/dist/esm/index.js.map +0 -1
  175. package/dist/esm/lib/clip-space.js +0 -2
  176. package/dist/esm/lib/clip-space.js.map +0 -1
  177. package/dist/esm/lib/model-utils.js +0 -40
  178. package/dist/esm/lib/model-utils.js.map +0 -1
  179. package/dist/esm/lib/model.js +0 -146
  180. package/dist/esm/lib/model.js.map +0 -1
  181. package/dist/esm/lib/pipeline-factory.js +0 -180
  182. package/dist/esm/lib/pipeline-factory.js.map +0 -1
  183. package/src/bundle.ts +0 -4
@@ -1 +0,0 @@
1
- {"version":3,"file":"make-animation-loop.js","names":["_api","require","_animationLoop","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","makeAnimationLoop","AnimationLoopTemplateCtor","props","_this","renderLoop","device","luma","createDevice","animationLoop","AnimationLoop","onInitialize","animationProps","_asyncToGenerator2","_regenerator","mark","_callee","_renderLoop","wrap","_callee$","_context","prev","next","abrupt","sent","stop","onRender","_renderLoop2","onFinalize","_renderLoop3","getInfo","info"],"sources":["../../../src/animation-loop/make-animation-loop.ts"],"sourcesContent":["// luma.gl, MIT license\nimport {luma} from '@luma.gl/api';\nimport {AnimationLoopTemplate} from './render-loop'\nimport {AnimationLoop, AnimationLoopProps} from './animation-loop'\nimport type {AnimationProps} from './animation-props';\n\nexport type MakeAnimationLoopProps = Omit<AnimationLoopProps, 'onCreateDevice' | 'onInitialize' | 'onRedraw' | 'onFinalize'>;\n\n/** Instantiates and runs the render loop */\nexport function makeAnimationLoop(AnimationLoopTemplateCtor: typeof AnimationLoopTemplate, props?: MakeAnimationLoopProps): AnimationLoop {\n let renderLoop: AnimationLoopTemplate | null = null;\n\n const device = props?.device || luma.createDevice();\n\n // Create an animation loop;\n const animationLoop = new AnimationLoop({\n ... props,\n\n device,\n\n async onInitialize(animationProps: AnimationProps): Promise<unknown> {\n // @ts-expect-error abstract to prevent instantiation\n renderLoop = new AnimationLoopTemplateCtor(animationProps);\n // Any async loading can be handled here\n return await renderLoop?.onInitialize(animationProps);\n },\n\n onRender: (animationProps: AnimationProps) => renderLoop?.onRender(animationProps),\n \n onFinalize: (animationProps: AnimationProps) => renderLoop?.onFinalize(animationProps)\n });\n\n // @ts-expect-error Hack: adds info for the website to find\n animationLoop.getInfo = () => {\n // @ts-ignore\n return this.AnimationLoopTemplateCtor.info;\n }\n\n // Start the loop automatically\n // animationLoop.start();\n\n return animationLoop;\n}\n"],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.AnimationLoopTemplate = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var AnimationLoopTemplate = function () {
13
- function AnimationLoopTemplate(animationProps) {
14
- (0, _classCallCheck2.default)(this, AnimationLoopTemplate);
15
- }
16
- (0, _createClass2.default)(AnimationLoopTemplate, [{
17
- key: "onInitialize",
18
- value: function () {
19
- var _onInitialize = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(animationProps) {
20
- return _regenerator.default.wrap(function _callee$(_context) {
21
- while (1) switch (_context.prev = _context.next) {
22
- case 0:
23
- return _context.abrupt("return", null);
24
- case 1:
25
- case "end":
26
- return _context.stop();
27
- }
28
- }, _callee);
29
- }));
30
- function onInitialize(_x) {
31
- return _onInitialize.apply(this, arguments);
32
- }
33
- return onInitialize;
34
- }()
35
- }]);
36
- return AnimationLoopTemplate;
37
- }();
38
- exports.AnimationLoopTemplate = AnimationLoopTemplate;
39
- //# sourceMappingURL=render-loop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"render-loop.js","names":["AnimationLoopTemplate","animationProps","_classCallCheck2","default","_createClass2","key","value","_onInitialize","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","stop","onInitialize","_x","apply","arguments","exports"],"sources":["../../../src/animation-loop/render-loop.ts"],"sourcesContent":["import type {AnimationProps} from './animation-props';\n\n/**\n * Minimal class that represents a \"componentized\" rendering life cycle\n * (resource construction, repeated rendering, resource destruction)\n * \n * @note A motivation for this class compared to the raw animation loop is \n * that it simplifies TypeScript code by allowing resources to be typed unconditionally \n * since they are allocated in the constructor rather than in onInitialized\n * \n * @note Introduced in luma.gl v9\n * \n * @example AnimationLoopTemplate is intended to be subclassed, \n * but the subclass should not be instantiated directly. Instead the subclass\n * (i.e. the constructor of the subclass) should be used \n * as an argument to create an AnimationLoop.\n */\nexport abstract class AnimationLoopTemplate {\n constructor(animationProps?: AnimationProps) {}\n async onInitialize(animationProps: AnimationProps): Promise<unknown> { return null; }\n abstract onRender(animationProps: AnimationProps): unknown;\n abstract onFinalize(animationProps: AnimationProps): void;\n}\n"],"mappings":";;;;;;;;;;;IAiBsBA,qBAAqB;EACzC,SAAAA,sBAAYC,cAA+B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAH,qBAAA;EAAC;EAAC,IAAAI,aAAA,CAAAD,OAAA,EAAAH,qBAAA;IAAAK,GAAA;IAAAC,KAAA;MAAA,IAAAC,aAAA,OAAAC,kBAAA,CAAAL,OAAA,EAAAM,YAAA,CAAAN,OAAA,CAAAO,IAAA,CAC/C,SAAAC,QAAmBV,cAA8B;QAAA,OAAAQ,YAAA,CAAAN,OAAA,CAAAS,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,OAAAF,QAAA,CAAAG,MAAA,WAA6B,IAAI;YAAA;YAAA;cAAA,OAAAH,QAAA,CAAAI,IAAA;UAAA;QAAA,GAAAP,OAAA;MAAA,CAAG;MAAA,SAAAQ,aAAAC,EAAA;QAAA,OAAAb,aAAA,CAAAc,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAH,YAAA;IAAA;EAAA;EAAA,OAAAnB,qBAAA;AAAA;AAAAuB,OAAA,CAAAvB,qBAAA,GAAAA,qBAAA"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- var moduleExports = require('./index');
4
- globalThis.luma = globalThis.luma || {};
5
- module.exports = Object.assign(globalThis.luma, moduleExports);
6
- //# sourceMappingURL=bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","luma","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.luma = globalThis.luma || {};\nmodule.exports = Object.assign(globalThis.luma, moduleExports);\n"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,IAAI,GAAGD,UAAU,CAACC,IAAI,IAAI,CAAC,CAAC;AACvCC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,IAAI,EAAEH,aAAa,CAAC"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.ConeGeometry = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _api = require("@luma.gl/api");
15
- var _truncatedConeGeometry = require("./truncated-cone-geometry");
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
19
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
20
- var ConeGeometry = function (_TruncatedConeGeometr) {
21
- (0, _inherits2.default)(ConeGeometry, _TruncatedConeGeometr);
22
- var _super = _createSuper(ConeGeometry);
23
- function ConeGeometry() {
24
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
25
- (0, _classCallCheck2.default)(this, ConeGeometry);
26
- var _props$id = props.id,
27
- id = _props$id === void 0 ? (0, _api.uid)('cone-geometry') : _props$id,
28
- _props$radius = props.radius,
29
- radius = _props$radius === void 0 ? 1 : _props$radius,
30
- _props$cap = props.cap,
31
- cap = _props$cap === void 0 ? true : _props$cap;
32
- return _super.call(this, _objectSpread(_objectSpread({}, props), {}, {
33
- id: id,
34
- topRadius: 0,
35
- topCap: Boolean(cap),
36
- bottomCap: Boolean(cap),
37
- bottomRadius: radius
38
- }));
39
- }
40
- return (0, _createClass2.default)(ConeGeometry);
41
- }(_truncatedConeGeometry.TruncatedConeGeometry);
42
- exports.ConeGeometry = ConeGeometry;
43
- //# sourceMappingURL=cone-geometry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cone-geometry.js","names":["_api","require","_truncatedConeGeometry","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ConeGeometry","_TruncatedConeGeometr","_inherits2","_super","props","undefined","_classCallCheck2","_props$id","id","uid","_props$radius","radius","_props$cap","cap","topRadius","topCap","bottomCap","bottomRadius","_createClass2","TruncatedConeGeometry","exports"],"sources":["../../../src/geometries/cone-geometry.ts"],"sourcesContent":["import {uid} from '@luma.gl/api';\nimport {TruncatedConeGeometry} from './truncated-cone-geometry';\n\nexport type ConeGeometryProps = {\n id?: string;\n radius?: number;\n cap?: boolean;\n};\n\nexport class ConeGeometry extends TruncatedConeGeometry {\n constructor(props: ConeGeometryProps = {}) {\n const {id = uid('cone-geometry'), radius = 1, cap = true} = props;\n super({\n ...props,\n id,\n topRadius: 0,\n topCap: Boolean(cap),\n bottomCap: Boolean(cap),\n bottomRadius: radius\n });\n }\n}\n"],"mappings":"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"}
@@ -1,84 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.CubeGeometry = exports.CUBE_NON_INDEXED_TEX_COORDS = exports.CUBE_NON_INDEXED_POSITIONS = exports.CUBE_NON_INDEXED_COLORS = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _api = require("@luma.gl/api");
15
- var _geometry = _interopRequireDefault(require("../geometry/geometry"));
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
19
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
20
- var CubeGeometry = function (_Geometry) {
21
- (0, _inherits2.default)(CubeGeometry, _Geometry);
22
- var _super = _createSuper(CubeGeometry);
23
- function CubeGeometry() {
24
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
25
- (0, _classCallCheck2.default)(this, CubeGeometry);
26
- var _props$id = props.id,
27
- id = _props$id === void 0 ? (0, _api.uid)('cube-geometry') : _props$id,
28
- _props$indices = props.indices,
29
- indices = _props$indices === void 0 ? true : _props$indices;
30
- return _super.call(this, indices ? _objectSpread(_objectSpread({}, props), {}, {
31
- id: id,
32
- indices: {
33
- size: 1,
34
- value: CUBE_INDICES
35
- },
36
- attributes: _objectSpread(_objectSpread({}, ATTRIBUTES), props.attributes)
37
- }) : _objectSpread(_objectSpread({}, props), {}, {
38
- id: id,
39
- indices: undefined,
40
- attributes: _objectSpread(_objectSpread({}, NON_INDEXED_ATTRIBUTES), props.attributes)
41
- }));
42
- }
43
- return (0, _createClass2.default)(CubeGeometry);
44
- }(_geometry.default);
45
- exports.CubeGeometry = CubeGeometry;
46
- var CUBE_INDICES = new Uint16Array([0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 13, 14, 12, 14, 15, 16, 17, 18, 16, 18, 19, 20, 21, 22, 20, 22, 23]);
47
- var CUBE_POSITIONS = new Float32Array([-1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1]);
48
- var CUBE_NORMALS = new Float32Array([0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0]);
49
- var CUBE_TEX_COORDS = new Float32Array([0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1]);
50
- var CUBE_NON_INDEXED_POSITIONS = new Float32Array([1, -1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, 1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, -1, 1, 1, -1, -1, 1, -1, 1, -1, 1]);
51
- exports.CUBE_NON_INDEXED_POSITIONS = CUBE_NON_INDEXED_POSITIONS;
52
- var CUBE_NON_INDEXED_TEX_COORDS = new Float32Array([1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0]);
53
- exports.CUBE_NON_INDEXED_TEX_COORDS = CUBE_NON_INDEXED_TEX_COORDS;
54
- var CUBE_NON_INDEXED_COLORS = new Float32Array([1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1]);
55
- exports.CUBE_NON_INDEXED_COLORS = CUBE_NON_INDEXED_COLORS;
56
- var ATTRIBUTES = {
57
- POSITION: {
58
- size: 3,
59
- value: CUBE_POSITIONS
60
- },
61
- NORMAL: {
62
- size: 3,
63
- value: CUBE_NORMALS
64
- },
65
- TEXCOORD_0: {
66
- size: 2,
67
- value: CUBE_TEX_COORDS
68
- }
69
- };
70
- var NON_INDEXED_ATTRIBUTES = {
71
- POSITION: {
72
- size: 4,
73
- value: CUBE_NON_INDEXED_POSITIONS
74
- },
75
- TEXCOORD_0: {
76
- size: 2,
77
- value: CUBE_NON_INDEXED_TEX_COORDS
78
- },
79
- COLOR_0: {
80
- size: 3,
81
- value: CUBE_NON_INDEXED_COLORS
82
- }
83
- };
84
- //# sourceMappingURL=cube-geometry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cube-geometry.js","names":["_api","require","_geometry","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","CubeGeometry","_Geometry","_inherits2","_super","props","undefined","_classCallCheck2","_props$id","id","uid","_props$indices","indices","size","value","CUBE_INDICES","attributes","ATTRIBUTES","NON_INDEXED_ATTRIBUTES","_createClass2","Geometry","exports","Uint16Array","CUBE_POSITIONS","Float32Array","CUBE_NORMALS","CUBE_TEX_COORDS","CUBE_NON_INDEXED_POSITIONS","CUBE_NON_INDEXED_TEX_COORDS","CUBE_NON_INDEXED_COLORS","POSITION","NORMAL","TEXCOORD_0","COLOR_0"],"sources":["../../../src/geometries/cube-geometry.ts"],"sourcesContent":["import {uid} from '@luma.gl/api';\nimport Geometry from '../geometry/geometry';\n// import type {GeometryType} from '../geometry/geometry-type';\n\nexport type CubeGeometryProps = {\n id?: string;\n indices?: boolean;\n attributes?: any;\n};\n\nexport class CubeGeometry extends Geometry {\n constructor(props: CubeGeometryProps = {}) {\n const {id = uid('cube-geometry'), indices = true} = props;\n super(indices ? {\n ...props,\n id,\n indices: {size: 1, value: CUBE_INDICES},\n attributes: {...ATTRIBUTES, ...props.attributes}\n } : {\n ...props,\n id,\n indices: undefined,\n attributes: {...NON_INDEXED_ATTRIBUTES, ...props.attributes}\n });\n }\n}\n\n// prettier-ignore\nconst CUBE_INDICES = new Uint16Array([\n 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 13,\n 14, 12, 14, 15, 16, 17, 18, 16, 18, 19, 20, 21, 22, 20, 22, 23\n]);\n\n// prettier-ignore\nconst CUBE_POSITIONS = new Float32Array([\n -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1, 1,\n -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1, -1,\n -1, 1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1,\n -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1,\n 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, -1, 1,\n -1, -1, -1, -1, -1, 1, -1, 1, 1, -1, 1, -1\n]);\n\n// TODO - could be Uint8\n// prettier-ignore\nconst CUBE_NORMALS = new Float32Array([\n // Front face\n 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1,\n // Back face\n 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1,\n // Top face\n 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0,\n // Bottom face\n 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0,\n // Right face\n 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0,\n // Left face\n -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0\n]);\n\n// prettier-ignore\nconst CUBE_TEX_COORDS = new Float32Array([\n // Front face\n 0, 0, 1, 0, 1, 1, 0, 1,\n // Back face\n 1, 0, 1, 1, 0, 1, 0, 0,\n // Top face\n 0, 1, 0, 0, 1, 0, 1, 1,\n // Bottom face\n 1, 1, 0, 1, 0, 0, 1, 0,\n // Right face\n 1, 0, 1, 1, 0, 1, 0, 0,\n // Left face\n 0, 0, 1, 0, 1, 1, 0, 1\n]);\n\n// float4 position\n// prettier-ignore\nexport const CUBE_NON_INDEXED_POSITIONS = new Float32Array([\n 1, -1, 1, 1,\n -1, -1, 1, 1,\n -1, -1, -1, 1,\n 1, -1, -1, 1,\n 1, -1, 1, 1,\n -1, -1, -1, 1,\n\n 1, 1, 1, 1,\n 1, -1, 1, 1,\n 1, -1, -1, 1,\n 1, 1, -1, 1,\n 1, 1, 1, 1,\n 1, -1, -1, 1,\n\n -1, 1, 1, 1,\n 1, 1, 1, 1,\n 1, 1, -1, 1,\n -1, 1, -1, 1,\n -1, 1, 1, 1,\n 1, 1, -1, 1,\n\n -1, -1, 1, 1,\n -1, 1, 1, 1,\n -1, 1, -1, 1,\n -1, -1, -1, 1,\n -1, -1, 1, 1,\n -1, 1, -1, 1,\n\n 1, 1, 1, 1,\n -1, 1, 1, 1,\n -1, -1, 1, 1,\n -1, -1, 1, 1,\n 1, -1, 1, 1,\n 1, 1, 1, 1,\n\n 1, -1, -1, 1,\n -1, -1, -1, 1,\n -1, 1, -1, 1,\n 1, 1, -1, 1,\n 1, -1, -1, 1,\n -1, 1, -1, 1,\n]);\n\n// float2 uv,\n// prettier-ignore\nexport const CUBE_NON_INDEXED_TEX_COORDS = new Float32Array([\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 0, 0,\n 1, 0,\n 1, 1,\n\n 1, 1,\n 0, 1,\n 0, 0,\n 1, 0,\n 1, 1,\n 0, 0,\n]);\n\n// float4 color\n// prettier-ignore\nexport const CUBE_NON_INDEXED_COLORS = new Float32Array([\n 1, 0, 1, 1,\n 0, 0, 1, 1,\n 0, 0, 0, 1,\n 1, 0, 0, 1,\n 1, 0, 1, 1,\n 0, 0, 0, 1,\n\n 1, 1, 1, 1,\n 1, 0, 1, 1,\n 1, 0, 0, 1,\n 1, 1, 0, 1,\n 1, 1, 1, 1,\n 1, 0, 0, 1,\n\n 0, 1, 1, 1,\n 1, 1, 1, 1,\n 1, 1, 0, 1,\n 0, 1, 0, 1,\n 0, 1, 1, 1,\n 1, 1, 0, 1,\n\n 0, 0, 1, 1,\n 0, 1, 1, 1,\n 0, 1, 0, 1,\n 0, 0, 0, 1,\n 0, 0, 1, 1,\n 0, 1, 0, 1,\n\n 1, 1, 1, 1,\n 0, 1, 1, 1,\n 0, 0, 1, 1,\n 0, 0, 1, 1,\n 1, 0, 1, 1,\n 1, 1, 1, 1,\n\n 1, 0, 0, 1,\n 0, 0, 0, 1,\n 0, 1, 0, 1,\n 1, 1, 0, 1,\n 1, 0, 0, 1,\n 0, 1, 0, 1,\n]);\n\nconst ATTRIBUTES = {\n POSITION: {size: 3, value: CUBE_POSITIONS},\n NORMAL: {size: 3, value: CUBE_NORMALS},\n TEXCOORD_0: {size: 2, value: CUBE_TEX_COORDS}\n};\n\nconst NON_INDEXED_ATTRIBUTES = {\n POSITION: {size: 4, value: CUBE_NON_INDEXED_POSITIONS},\n // NORMAL: {size: 3, value: CUBE_NON_INDEXED_NORMALS},\n TEXCOORD_0: {size: 2, value: CUBE_NON_INDEXED_TEX_COORDS},\n COLOR_0: {size: 3, value: CUBE_NON_INDEXED_COLORS}\n};\n"],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.CylinderGeometry = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _api = require("@luma.gl/api");
15
- var _truncatedConeGeometry = require("./truncated-cone-geometry");
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
19
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
20
- var CylinderGeometry = function (_TruncatedConeGeometr) {
21
- (0, _inherits2.default)(CylinderGeometry, _TruncatedConeGeometr);
22
- var _super = _createSuper(CylinderGeometry);
23
- function CylinderGeometry() {
24
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
25
- (0, _classCallCheck2.default)(this, CylinderGeometry);
26
- var _props$id = props.id,
27
- id = _props$id === void 0 ? (0, _api.uid)('cylinder-geometry') : _props$id,
28
- _props$radius = props.radius,
29
- radius = _props$radius === void 0 ? 1 : _props$radius;
30
- return _super.call(this, _objectSpread(_objectSpread({}, props), {}, {
31
- id: id,
32
- bottomRadius: radius,
33
- topRadius: radius
34
- }));
35
- }
36
- return (0, _createClass2.default)(CylinderGeometry);
37
- }(_truncatedConeGeometry.TruncatedConeGeometry);
38
- exports.CylinderGeometry = CylinderGeometry;
39
- //# sourceMappingURL=cylinder-geometry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cylinder-geometry.js","names":["_api","require","_truncatedConeGeometry","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","CylinderGeometry","_TruncatedConeGeometr","_inherits2","_super","props","undefined","_classCallCheck2","_props$id","id","uid","_props$radius","radius","bottomRadius","topRadius","_createClass2","TruncatedConeGeometry","exports"],"sources":["../../../src/geometries/cylinder-geometry.ts"],"sourcesContent":["import {uid} from '@luma.gl/api';\nimport {TruncatedConeGeometry} from './truncated-cone-geometry';\n\nexport type CylinderGeometryProps = {\n id?: string;\n radius?: number;\n attributes?: any;\n};\n\nexport class CylinderGeometry extends TruncatedConeGeometry {\n constructor(props: CylinderGeometryProps = {}) {\n const {id = uid('cylinder-geometry'), radius = 1} = props;\n super({\n ...props,\n id,\n bottomRadius: radius,\n topRadius: radius\n });\n }\n}\n"],"mappings":"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"}
@@ -1,185 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.IcoSphereGeometry = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _api = require("@luma.gl/api");
15
- var _core = require("@math.gl/core");
16
- var _geometry = _interopRequireDefault(require("../geometry/geometry"));
17
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
20
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
21
- var ICO_POSITIONS = [-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 1, 0, -1, 0, 1, 0, 0];
22
- var ICO_INDICES = [3, 4, 5, 3, 5, 1, 3, 1, 0, 3, 0, 4, 4, 0, 2, 4, 2, 5, 2, 0, 1, 5, 2, 1];
23
- var IcoSphereGeometry = function (_Geometry) {
24
- (0, _inherits2.default)(IcoSphereGeometry, _Geometry);
25
- var _super = _createSuper(IcoSphereGeometry);
26
- function IcoSphereGeometry() {
27
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
28
- (0, _classCallCheck2.default)(this, IcoSphereGeometry);
29
- var _props$id = props.id,
30
- id = _props$id === void 0 ? (0, _api.uid)('ico-sphere-geometry') : _props$id;
31
- var _tesselateIcosaHedron = tesselateIcosaHedron(props),
32
- indices = _tesselateIcosaHedron.indices,
33
- attributes = _tesselateIcosaHedron.attributes;
34
- return _super.call(this, _objectSpread(_objectSpread({}, props), {}, {
35
- id: id,
36
- indices: indices,
37
- attributes: _objectSpread(_objectSpread({}, attributes), props.attributes)
38
- }));
39
- }
40
- return (0, _createClass2.default)(IcoSphereGeometry);
41
- }(_geometry.default);
42
- exports.IcoSphereGeometry = IcoSphereGeometry;
43
- function tesselateIcosaHedron(props) {
44
- var _props$iterations = props.iterations,
45
- iterations = _props$iterations === void 0 ? 0 : _props$iterations;
46
- var PI = Math.PI;
47
- var PI2 = PI * 2;
48
- var positions = [].concat(ICO_POSITIONS);
49
- var indices = [].concat(ICO_INDICES);
50
- positions.push();
51
- indices.push();
52
- var getMiddlePoint = function () {
53
- var pointMemo = {};
54
- return function (i1, i2) {
55
- i1 *= 3;
56
- i2 *= 3;
57
- var mini = i1 < i2 ? i1 : i2;
58
- var maxi = i1 > i2 ? i1 : i2;
59
- var key = "".concat(mini, "|").concat(maxi);
60
- if (key in pointMemo) {
61
- return pointMemo[key];
62
- }
63
- var x1 = positions[i1];
64
- var y1 = positions[i1 + 1];
65
- var z1 = positions[i1 + 2];
66
- var x2 = positions[i2];
67
- var y2 = positions[i2 + 1];
68
- var z2 = positions[i2 + 2];
69
- var xm = (x1 + x2) / 2;
70
- var ym = (y1 + y2) / 2;
71
- var zm = (z1 + z2) / 2;
72
- var len = Math.sqrt(xm * xm + ym * ym + zm * zm);
73
- xm /= len;
74
- ym /= len;
75
- zm /= len;
76
- positions.push(xm, ym, zm);
77
- return pointMemo[key] = positions.length / 3 - 1;
78
- };
79
- }();
80
- for (var i = 0; i < iterations; i++) {
81
- var indices2 = [];
82
- for (var j = 0; j < indices.length; j += 3) {
83
- var a = getMiddlePoint(indices[j + 0], indices[j + 1]);
84
- var b = getMiddlePoint(indices[j + 1], indices[j + 2]);
85
- var c = getMiddlePoint(indices[j + 2], indices[j + 0]);
86
- indices2.push(c, indices[j + 0], a, a, indices[j + 1], b, b, indices[j + 2], c, a, b, c);
87
- }
88
- indices = indices2;
89
- }
90
- var normals = new Array(positions.length);
91
- var texCoords = new Array(positions.length / 3 * 2);
92
- var l = indices.length;
93
- for (var _i = l - 3; _i >= 0; _i -= 3) {
94
- var i1 = indices[_i + 0];
95
- var i2 = indices[_i + 1];
96
- var i3 = indices[_i + 2];
97
- var in1 = i1 * 3;
98
- var in2 = i2 * 3;
99
- var in3 = i3 * 3;
100
- var iu1 = i1 * 2;
101
- var iu2 = i2 * 2;
102
- var iu3 = i3 * 2;
103
- var x1 = positions[in1 + 0];
104
- var y1 = positions[in1 + 1];
105
- var z1 = positions[in1 + 2];
106
- var theta1 = Math.acos(z1 / Math.sqrt(x1 * x1 + y1 * y1 + z1 * z1));
107
- var phi1 = Math.atan2(y1, x1) + PI;
108
- var v1 = theta1 / PI;
109
- var u1 = 1 - phi1 / PI2;
110
- var x2 = positions[in2 + 0];
111
- var y2 = positions[in2 + 1];
112
- var z2 = positions[in2 + 2];
113
- var theta2 = Math.acos(z2 / Math.sqrt(x2 * x2 + y2 * y2 + z2 * z2));
114
- var phi2 = Math.atan2(y2, x2) + PI;
115
- var v2 = theta2 / PI;
116
- var u2 = 1 - phi2 / PI2;
117
- var x3 = positions[in3 + 0];
118
- var y3 = positions[in3 + 1];
119
- var z3 = positions[in3 + 2];
120
- var theta3 = Math.acos(z3 / Math.sqrt(x3 * x3 + y3 * y3 + z3 * z3));
121
- var phi3 = Math.atan2(y3, x3) + PI;
122
- var v3 = theta3 / PI;
123
- var u3 = 1 - phi3 / PI2;
124
- var vec1 = [x3 - x2, y3 - y2, z3 - z2];
125
- var vec2 = [x1 - x2, y1 - y2, z1 - z2];
126
- var normal = new _core.Vector3(vec1).cross(vec2).normalize();
127
- var newIndex = void 0;
128
- if ((u1 === 0 || u2 === 0 || u3 === 0) && (u1 === 0 || u1 > 0.5) && (u2 === 0 || u2 > 0.5) && (u3 === 0 || u3 > 0.5)) {
129
- positions.push(positions[in1 + 0], positions[in1 + 1], positions[in1 + 2]);
130
- newIndex = positions.length / 3 - 1;
131
- indices.push(newIndex);
132
- texCoords[newIndex * 2 + 0] = 1;
133
- texCoords[newIndex * 2 + 1] = v1;
134
- normals[newIndex * 3 + 0] = normal.x;
135
- normals[newIndex * 3 + 1] = normal.y;
136
- normals[newIndex * 3 + 2] = normal.z;
137
- positions.push(positions[in2 + 0], positions[in2 + 1], positions[in2 + 2]);
138
- newIndex = positions.length / 3 - 1;
139
- indices.push(newIndex);
140
- texCoords[newIndex * 2 + 0] = 1;
141
- texCoords[newIndex * 2 + 1] = v2;
142
- normals[newIndex * 3 + 0] = normal.x;
143
- normals[newIndex * 3 + 1] = normal.y;
144
- normals[newIndex * 3 + 2] = normal.z;
145
- positions.push(positions[in3 + 0], positions[in3 + 1], positions[in3 + 2]);
146
- newIndex = positions.length / 3 - 1;
147
- indices.push(newIndex);
148
- texCoords[newIndex * 2 + 0] = 1;
149
- texCoords[newIndex * 2 + 1] = v3;
150
- normals[newIndex * 3 + 0] = normal.x;
151
- normals[newIndex * 3 + 1] = normal.y;
152
- normals[newIndex * 3 + 2] = normal.z;
153
- }
154
- normals[in1 + 0] = normals[in2 + 0] = normals[in3 + 0] = normal.x;
155
- normals[in1 + 1] = normals[in2 + 1] = normals[in3 + 1] = normal.y;
156
- normals[in1 + 2] = normals[in2 + 2] = normals[in3 + 2] = normal.z;
157
- texCoords[iu1 + 0] = u1;
158
- texCoords[iu1 + 1] = v1;
159
- texCoords[iu2 + 0] = u2;
160
- texCoords[iu2 + 1] = v2;
161
- texCoords[iu3 + 0] = u3;
162
- texCoords[iu3 + 1] = v3;
163
- }
164
- return {
165
- indices: {
166
- size: 1,
167
- value: new Uint16Array(indices)
168
- },
169
- attributes: {
170
- POSITION: {
171
- size: 3,
172
- value: new Float32Array(positions)
173
- },
174
- NORMAL: {
175
- size: 3,
176
- value: new Float32Array(normals)
177
- },
178
- TEXCOORD_0: {
179
- size: 2,
180
- value: new Float32Array(texCoords)
181
- }
182
- }
183
- };
184
- }
185
- //# sourceMappingURL=ico-sphere-geometry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ico-sphere-geometry.js","names":["_api","require","_core","_geometry","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ICO_POSITIONS","ICO_INDICES","IcoSphereGeometry","_Geometry","_inherits2","_super","props","undefined","_classCallCheck2","_props$id","id","uid","_tesselateIcosaHedron","tesselateIcosaHedron","indices","attributes","_createClass2","Geometry","exports","_props$iterations","iterations","PI","Math","PI2","positions","concat","getMiddlePoint","pointMemo","i1","i2","mini","maxi","x1","y1","z1","x2","y2","z2","xm","ym","zm","len","sqrt","indices2","j","a","b","c","normals","Array","texCoords","l","i3","in1","in2","in3","iu1","iu2","iu3","theta1","acos","phi1","atan2","v1","u1","theta2","phi2","v2","u2","x3","y3","z3","theta3","phi3","v3","u3","vec1","vec2","normal","Vector3","cross","normalize","newIndex","x","y","z","size","value","Uint16Array","POSITION","Float32Array","NORMAL","TEXCOORD_0"],"sources":["../../../src/geometries/ico-sphere-geometry.ts"],"sourcesContent":["import {uid} from '@luma.gl/api';\nimport {Vector3} from '@math.gl/core';\nimport Geometry from '../geometry/geometry';\n\n/* eslint-disable comma-spacing, max-statements, complexity */\n\nconst ICO_POSITIONS = [-1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 1, 0, -1, 0, 1, 0, 0];\nconst ICO_INDICES = [3, 4, 5, 3, 5, 1, 3, 1, 0, 3, 0, 4, 4, 0, 2, 4, 2, 5, 2, 0, 1, 5, 2, 1];\n\nexport type IcoSphereGeometryProps = {\n id?: string;\n radius?: number;\n iterations?: number;\n attributes?: any\n};\n\nexport class IcoSphereGeometry extends Geometry {\n constructor(props: IcoSphereGeometryProps = {}) {\n const {id = uid('ico-sphere-geometry')} = props;\n const {indices, attributes} = tesselateIcosaHedron(props);\n super({\n ...props,\n id,\n indices,\n attributes: {...attributes, ...props.attributes}\n });\n }\n}\n\nfunction tesselateIcosaHedron(props: IcoSphereGeometryProps) {\n const {iterations = 0} = props;\n\n const PI = Math.PI;\n const PI2 = PI * 2;\n\n const positions = [...ICO_POSITIONS];\n let indices = [...ICO_INDICES];\n\n positions.push();\n indices.push();\n\n const getMiddlePoint = (() => {\n const pointMemo: Record<string, number> = {};\n\n return (i1: number, i2: number) => {\n i1 *= 3;\n i2 *= 3;\n const mini = i1 < i2 ? i1 : i2;\n const maxi = i1 > i2 ? i1 : i2;\n const key = `${mini}|${maxi}`;\n\n if (key in pointMemo) {\n return pointMemo[key];\n }\n\n const x1 = positions[i1];\n const y1 = positions[i1 + 1];\n const z1 = positions[i1 + 2];\n const x2 = positions[i2];\n const y2 = positions[i2 + 1];\n const z2 = positions[i2 + 2];\n let xm = (x1 + x2) / 2;\n let ym = (y1 + y2) / 2;\n let zm = (z1 + z2) / 2;\n const len = Math.sqrt(xm * xm + ym * ym + zm * zm);\n\n xm /= len;\n ym /= len;\n zm /= len;\n\n positions.push(xm, ym, zm);\n\n return (pointMemo[key] = positions.length / 3 - 1);\n };\n })();\n\n for (let i = 0; i < iterations; i++) {\n const indices2: number[] = [];\n for (let j = 0; j < indices.length; j += 3) {\n const a = getMiddlePoint(indices[j + 0], indices[j + 1]);\n const b = getMiddlePoint(indices[j + 1], indices[j + 2]);\n const c = getMiddlePoint(indices[j + 2], indices[j + 0]);\n\n indices2.push(c, indices[j + 0], a, a, indices[j + 1], b, b, indices[j + 2], c, a, b, c);\n }\n indices = indices2;\n }\n\n // Calculate texCoords and normals\n const normals = new Array(positions.length);\n const texCoords = new Array((positions.length / 3) * 2);\n\n const l = indices.length;\n for (let i = l - 3; i >= 0; i -= 3) {\n const i1 = indices[i + 0];\n const i2 = indices[i + 1];\n const i3 = indices[i + 2];\n const in1 = i1 * 3;\n const in2 = i2 * 3;\n const in3 = i3 * 3;\n const iu1 = i1 * 2;\n const iu2 = i2 * 2;\n const iu3 = i3 * 2;\n const x1 = positions[in1 + 0];\n const y1 = positions[in1 + 1];\n const z1 = positions[in1 + 2];\n const theta1 = Math.acos(z1 / Math.sqrt(x1 * x1 + y1 * y1 + z1 * z1));\n const phi1 = Math.atan2(y1, x1) + PI;\n const v1 = theta1 / PI;\n const u1 = 1 - phi1 / PI2;\n const x2 = positions[in2 + 0];\n const y2 = positions[in2 + 1];\n const z2 = positions[in2 + 2];\n const theta2 = Math.acos(z2 / Math.sqrt(x2 * x2 + y2 * y2 + z2 * z2));\n const phi2 = Math.atan2(y2, x2) + PI;\n const v2 = theta2 / PI;\n const u2 = 1 - phi2 / PI2;\n const x3 = positions[in3 + 0];\n const y3 = positions[in3 + 1];\n const z3 = positions[in3 + 2];\n const theta3 = Math.acos(z3 / Math.sqrt(x3 * x3 + y3 * y3 + z3 * z3));\n const phi3 = Math.atan2(y3, x3) + PI;\n const v3 = theta3 / PI;\n const u3 = 1 - phi3 / PI2;\n const vec1 = [x3 - x2, y3 - y2, z3 - z2];\n const vec2 = [x1 - x2, y1 - y2, z1 - z2];\n const normal = new Vector3(vec1).cross(vec2).normalize();\n let newIndex;\n\n if (\n (u1 === 0 || u2 === 0 || u3 === 0) &&\n (u1 === 0 || u1 > 0.5) &&\n (u2 === 0 || u2 > 0.5) &&\n (u3 === 0 || u3 > 0.5)\n ) {\n positions.push(positions[in1 + 0], positions[in1 + 1], positions[in1 + 2]);\n newIndex = positions.length / 3 - 1;\n indices.push(newIndex);\n texCoords[newIndex * 2 + 0] = 1;\n texCoords[newIndex * 2 + 1] = v1;\n normals[newIndex * 3 + 0] = normal.x;\n normals[newIndex * 3 + 1] = normal.y;\n normals[newIndex * 3 + 2] = normal.z;\n\n positions.push(positions[in2 + 0], positions[in2 + 1], positions[in2 + 2]);\n newIndex = positions.length / 3 - 1;\n indices.push(newIndex);\n texCoords[newIndex * 2 + 0] = 1;\n texCoords[newIndex * 2 + 1] = v2;\n normals[newIndex * 3 + 0] = normal.x;\n normals[newIndex * 3 + 1] = normal.y;\n normals[newIndex * 3 + 2] = normal.z;\n\n positions.push(positions[in3 + 0], positions[in3 + 1], positions[in3 + 2]);\n newIndex = positions.length / 3 - 1;\n indices.push(newIndex);\n texCoords[newIndex * 2 + 0] = 1;\n texCoords[newIndex * 2 + 1] = v3;\n normals[newIndex * 3 + 0] = normal.x;\n normals[newIndex * 3 + 1] = normal.y;\n normals[newIndex * 3 + 2] = normal.z;\n }\n\n normals[in1 + 0] = normals[in2 + 0] = normals[in3 + 0] = normal.x;\n normals[in1 + 1] = normals[in2 + 1] = normals[in3 + 1] = normal.y;\n normals[in1 + 2] = normals[in2 + 2] = normals[in3 + 2] = normal.z;\n\n texCoords[iu1 + 0] = u1;\n texCoords[iu1 + 1] = v1;\n\n texCoords[iu2 + 0] = u2;\n texCoords[iu2 + 1] = v2;\n\n texCoords[iu3 + 0] = u3;\n texCoords[iu3 + 1] = v3;\n }\n\n return {\n indices: {size: 1, value: new Uint16Array(indices)},\n attributes: {\n POSITION: {size: 3, value: new Float32Array(positions)},\n NORMAL: {size: 3, value: new Float32Array(normals)},\n TEXCOORD_0: {size: 2, value: new Float32Array(texCoords)}\n }\n };\n}\n"],"mappings":"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"}