@anov/3d 0.0.1
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.
- package/README.md +3 -0
- package/dist/commonEnu.d.ts +5 -0
- package/dist/commonEnu.js +6 -0
- package/dist/core/camera.d.ts +5 -0
- package/dist/core/camera.js +64 -0
- package/dist/core/group.d.ts +8 -0
- package/dist/core/group.js +27 -0
- package/dist/core/mesh.d.ts +44 -0
- package/dist/core/mesh.js +145 -0
- package/dist/core/model.d.ts +21 -0
- package/dist/core/model.js +58 -0
- package/dist/core/scene.d.ts +116 -0
- package/dist/core/scene.js +235 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6 -0
- package/dist/type.d.ts +3 -0
- package/dist/type.js +1 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.js +8 -0
- package/package.json +34 -0
package/README.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
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; }
|
|
3
|
+
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) { _defineProperty(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; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
6
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
7
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
8
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
9
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
10
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
11
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
12
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
13
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
14
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
15
|
+
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; } }
|
|
16
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
17
|
+
import { PerspectiveCamera } from 'three';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 向目标物体推进
|
|
21
|
+
* @param targetObject3D
|
|
22
|
+
* @param distance
|
|
23
|
+
* @param animationMethod
|
|
24
|
+
* @param duration
|
|
25
|
+
*/
|
|
26
|
+
var promote = function promote(targetObject3D, distance, animationMethod, duration) {};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* 向目标物体后退
|
|
30
|
+
* @param targetObject3D
|
|
31
|
+
* @param distance
|
|
32
|
+
* @param animationMethod
|
|
33
|
+
* @param duration
|
|
34
|
+
*/
|
|
35
|
+
var demote = function demote(targetObject3D, distance, animationMethod, duration) {};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 相机围绕目标物体旋转
|
|
39
|
+
* @param targetObject3D
|
|
40
|
+
* @param radius
|
|
41
|
+
* @param toward
|
|
42
|
+
*/
|
|
43
|
+
var surround = function surround(targetObject3D, radius, toward) {};
|
|
44
|
+
var Anov3DPerspectiveCamera = /*#__PURE__*/function (_PerspectiveCamera) {
|
|
45
|
+
_inherits(Anov3DPerspectiveCamera, _PerspectiveCamera);
|
|
46
|
+
var _super = _createSuper(Anov3DPerspectiveCamera);
|
|
47
|
+
function Anov3DPerspectiveCamera() {
|
|
48
|
+
var fov = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 50;
|
|
49
|
+
var aspect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
50
|
+
var near = arguments.length > 2 ? arguments[2] : undefined;
|
|
51
|
+
var far = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 2000;
|
|
52
|
+
_classCallCheck(this, Anov3DPerspectiveCamera);
|
|
53
|
+
return _super.call(this, fov, aspect, near, far);
|
|
54
|
+
}
|
|
55
|
+
return _createClass(Anov3DPerspectiveCamera);
|
|
56
|
+
}(PerspectiveCamera);
|
|
57
|
+
Anov3DPerspectiveCamera.prototype.promote = _objectSpread(_objectSpread({}, Anov3DPerspectiveCamera.prototype), {}, {
|
|
58
|
+
promote: promote,
|
|
59
|
+
demote: demote,
|
|
60
|
+
surround: surround
|
|
61
|
+
});
|
|
62
|
+
var a = new Anov3DPerspectiveCamera(50, 1, 0.1, 2000);
|
|
63
|
+
console.log(a);
|
|
64
|
+
export { Anov3DPerspectiveCamera };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
3
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
4
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
5
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
7
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
8
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
9
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
10
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
11
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
12
|
+
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; } }
|
|
13
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
14
|
+
import { Group } from 'three';
|
|
15
|
+
var Anov3DGroup = /*#__PURE__*/function (_Group) {
|
|
16
|
+
_inherits(Anov3DGroup, _Group);
|
|
17
|
+
var _super = _createSuper(Anov3DGroup);
|
|
18
|
+
function Anov3DGroup() {
|
|
19
|
+
_classCallCheck(this, Anov3DGroup);
|
|
20
|
+
return _super.call(this);
|
|
21
|
+
}
|
|
22
|
+
return _createClass(Anov3DGroup);
|
|
23
|
+
}(Group);
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
27
|
+
export default Anov3DGroup;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Intersection, Raycaster } from 'three';
|
|
2
|
+
import { Mesh } from 'three';
|
|
3
|
+
import type { CubeEventType, EventHandleFn } from '../type';
|
|
4
|
+
declare class Anov3DMesh extends Mesh {
|
|
5
|
+
private natureEventMap;
|
|
6
|
+
private isMove;
|
|
7
|
+
constructor(geometry?: ConstructorParameters<typeof Mesh>[0], material?: ConstructorParameters<typeof Mesh>[1]);
|
|
8
|
+
/**
|
|
9
|
+
* addNatureEventListener
|
|
10
|
+
* @param type
|
|
11
|
+
* @param handlefn
|
|
12
|
+
*/
|
|
13
|
+
addNatureEventListener<T extends CubeEventType>(type: T, handlefn: EventHandleFn<T>): void;
|
|
14
|
+
/**
|
|
15
|
+
* removeNatureEventListener
|
|
16
|
+
* @param type
|
|
17
|
+
* @param handlefn
|
|
18
|
+
*/
|
|
19
|
+
removeNatureEventListener<T extends CubeEventType>(type: T, handlefn: EventHandleFn<T>): void;
|
|
20
|
+
/**
|
|
21
|
+
* removeAllNatureEventListener
|
|
22
|
+
*/
|
|
23
|
+
removeAllNatureEventListener(): void;
|
|
24
|
+
/**
|
|
25
|
+
* handle intersect event
|
|
26
|
+
* @param intersects
|
|
27
|
+
* @param eventType
|
|
28
|
+
*/
|
|
29
|
+
private eventHandle;
|
|
30
|
+
private debounceEventHandle;
|
|
31
|
+
/**
|
|
32
|
+
* handle pointerleave event
|
|
33
|
+
* @param intersects
|
|
34
|
+
* @param natureEvent
|
|
35
|
+
*/
|
|
36
|
+
private handlePointerleave;
|
|
37
|
+
/**
|
|
38
|
+
* handle mesh raycaster
|
|
39
|
+
* @param raycaster
|
|
40
|
+
* @param intersects
|
|
41
|
+
*/
|
|
42
|
+
raycast(raycaster: Raycaster, intersects: Intersection[]): void;
|
|
43
|
+
}
|
|
44
|
+
export default Anov3DMesh;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
|
6
|
+
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
|
7
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
8
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
9
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
10
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
11
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
12
|
+
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; } }
|
|
13
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
14
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
17
|
+
import { Mesh } from 'three';
|
|
18
|
+
import { debounce } from 'lodash';
|
|
19
|
+
import { emitter } from "../utils";
|
|
20
|
+
var Anov3DMesh = /*#__PURE__*/function (_Mesh) {
|
|
21
|
+
_inherits(Anov3DMesh, _Mesh);
|
|
22
|
+
var _super = _createSuper(Anov3DMesh);
|
|
23
|
+
function Anov3DMesh(geometry, material) {
|
|
24
|
+
var _this;
|
|
25
|
+
_classCallCheck(this, Anov3DMesh);
|
|
26
|
+
_this = _super.call(this, geometry, material);
|
|
27
|
+
_defineProperty(_assertThisInitialized(_this), "natureEventMap", new Map());
|
|
28
|
+
_defineProperty(_assertThisInitialized(_this), "isMove", false);
|
|
29
|
+
_defineProperty(_assertThisInitialized(_this), "debounceEventHandle", debounce(_this.eventHandle, 50));
|
|
30
|
+
return _this;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* addNatureEventListener
|
|
35
|
+
* @param type
|
|
36
|
+
* @param handlefn
|
|
37
|
+
*/
|
|
38
|
+
_createClass(Anov3DMesh, [{
|
|
39
|
+
key: "addNatureEventListener",
|
|
40
|
+
value: function addNatureEventListener(type, handlefn) {
|
|
41
|
+
if (!this.natureEventMap.has(type)) this.natureEventMap.set(type, []);
|
|
42
|
+
this.natureEventMap.get(type).push(handlefn);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* removeNatureEventListener
|
|
47
|
+
* @param type
|
|
48
|
+
* @param handlefn
|
|
49
|
+
*/
|
|
50
|
+
}, {
|
|
51
|
+
key: "removeNatureEventListener",
|
|
52
|
+
value: function removeNatureEventListener(type, handlefn) {
|
|
53
|
+
if (!this.natureEventMap.has(type)) return;
|
|
54
|
+
var handlefns = this.natureEventMap.get(type);
|
|
55
|
+
var index = handlefns.findIndex(function (fn) {
|
|
56
|
+
return fn === handlefn;
|
|
57
|
+
});
|
|
58
|
+
if (index > -1) handlefns.splice(index, 1);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* removeAllNatureEventListener
|
|
63
|
+
*/
|
|
64
|
+
}, {
|
|
65
|
+
key: "removeAllNatureEventListener",
|
|
66
|
+
value: function removeAllNatureEventListener() {
|
|
67
|
+
this.natureEventMap.clear();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* handle intersect event
|
|
72
|
+
* @param intersects
|
|
73
|
+
* @param eventType
|
|
74
|
+
*/
|
|
75
|
+
}, {
|
|
76
|
+
key: "eventHandle",
|
|
77
|
+
value: function eventHandle(intersects, natureEvent) {
|
|
78
|
+
var intersect = intersects[0];
|
|
79
|
+
var object = intersect.object;
|
|
80
|
+
if (object === this) {
|
|
81
|
+
// get nature event
|
|
82
|
+
console.log(intersect.object);
|
|
83
|
+
natureEvent.forEach(function (handlefn) {
|
|
84
|
+
handlefn(object);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}, {
|
|
89
|
+
key: "handlePointerleave",
|
|
90
|
+
value:
|
|
91
|
+
/**
|
|
92
|
+
* handle pointerleave event
|
|
93
|
+
* @param intersects
|
|
94
|
+
* @param natureEvent
|
|
95
|
+
*/
|
|
96
|
+
function handlePointerleave(intersects, natureEvent) {
|
|
97
|
+
var _this2 = this;
|
|
98
|
+
if (this.isMove) {
|
|
99
|
+
this.isMove = false;
|
|
100
|
+
natureEvent.forEach(function (handlefn) {
|
|
101
|
+
handlefn(_this2);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* handle mesh raycaster
|
|
108
|
+
* @param raycaster
|
|
109
|
+
* @param intersects
|
|
110
|
+
*/
|
|
111
|
+
}, {
|
|
112
|
+
key: "raycast",
|
|
113
|
+
value: function raycast(raycaster, intersects) {
|
|
114
|
+
var _this3 = this;
|
|
115
|
+
if (this.natureEventMap.size === 0) return;
|
|
116
|
+
_get(_getPrototypeOf(Anov3DMesh.prototype), "raycast", this).call(this, raycaster, intersects);
|
|
117
|
+
var pointerupCallback = this.natureEventMap.get('pointerup');
|
|
118
|
+
var pointerdownCallback = this.natureEventMap.get('pointerdown');
|
|
119
|
+
var pointermoveCallback = this.natureEventMap.get('pointermove');
|
|
120
|
+
var pointerleaveCallback = this.natureEventMap.get('pointerleave');
|
|
121
|
+
console.log(intersects);
|
|
122
|
+
if (intersects.length > 0) {
|
|
123
|
+
emitter.on('pointerup', function () {
|
|
124
|
+
return pointerupCallback && pointerupCallback.length > 0 && _this3.debounceEventHandle(intersects, pointerupCallback);
|
|
125
|
+
});
|
|
126
|
+
emitter.on('pointerdown', function () {
|
|
127
|
+
return pointerdownCallback && pointerdownCallback.length > 0 && _this3.debounceEventHandle(intersects, pointerdownCallback);
|
|
128
|
+
});
|
|
129
|
+
emitter.on('pointermove', function () {
|
|
130
|
+
if (pointermoveCallback && pointermoveCallback.length > 0) {
|
|
131
|
+
_this3.isMove = true;
|
|
132
|
+
_this3.eventHandle(intersects, pointermoveCallback);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
} else {
|
|
136
|
+
console.log('pointerleave');
|
|
137
|
+
emitter.on('pointerleave', function () {
|
|
138
|
+
if (pointerleaveCallback && pointerleaveCallback.length > 0 && _this3.isMove) _this3.handlePointerleave(intersects, pointerleaveCallback);
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}]);
|
|
143
|
+
return Anov3DMesh;
|
|
144
|
+
}(Mesh);
|
|
145
|
+
export default Anov3DMesh;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { GLTF } from 'three/examples/jsm/loaders/GLTFLoader';
|
|
2
|
+
declare class Anov3DModelLoader {
|
|
3
|
+
/**
|
|
4
|
+
* load gltf model
|
|
5
|
+
* @param url
|
|
6
|
+
* @param onLoad
|
|
7
|
+
* @param onProgress
|
|
8
|
+
* @param onError
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
loadGLTF(url: string, onLoad?: (result: GLTF) => GLTF, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): Promise<unknown>;
|
|
12
|
+
/**
|
|
13
|
+
* fbx model loader
|
|
14
|
+
* @param url
|
|
15
|
+
* @param onLoad
|
|
16
|
+
* @param onProgress
|
|
17
|
+
* @param onError
|
|
18
|
+
*/
|
|
19
|
+
loadFbx(url: string, onLoad?: (result: GLTF) => GLTF, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): void;
|
|
20
|
+
}
|
|
21
|
+
export default Anov3DModelLoader;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader';
|
|
8
|
+
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
|
|
9
|
+
var Anov3DModelLoader = /*#__PURE__*/function () {
|
|
10
|
+
function Anov3DModelLoader() {
|
|
11
|
+
_classCallCheck(this, Anov3DModelLoader);
|
|
12
|
+
}
|
|
13
|
+
_createClass(Anov3DModelLoader, [{
|
|
14
|
+
key: "loadGLTF",
|
|
15
|
+
value:
|
|
16
|
+
/**
|
|
17
|
+
* load gltf model
|
|
18
|
+
* @param url
|
|
19
|
+
* @param onLoad
|
|
20
|
+
* @param onProgress
|
|
21
|
+
* @param onError
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
function loadGLTF(url, onLoad, onProgress, onError) {
|
|
25
|
+
var loader = new GLTFLoader();
|
|
26
|
+
var dracoLoader = new DRACOLoader();
|
|
27
|
+
dracoLoader.setDecoderPath('./draco/');
|
|
28
|
+
dracoLoader.setDecoderConfig({
|
|
29
|
+
type: 'js'
|
|
30
|
+
});
|
|
31
|
+
dracoLoader.preload();
|
|
32
|
+
loader.setDRACOLoader(dracoLoader);
|
|
33
|
+
return new Promise(function (resolve, reject) {
|
|
34
|
+
loader.load(url, function (gltf) {
|
|
35
|
+
onLoad ? resolve(onLoad(gltf)) : resolve(gltf);
|
|
36
|
+
}, function (xhr) {
|
|
37
|
+
onProgress && onProgress(xhr);
|
|
38
|
+
}, function (err) {
|
|
39
|
+
onError && onError(err);
|
|
40
|
+
reject(err);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* fbx model loader
|
|
47
|
+
* @param url
|
|
48
|
+
* @param onLoad
|
|
49
|
+
* @param onProgress
|
|
50
|
+
* @param onError
|
|
51
|
+
*/
|
|
52
|
+
}, {
|
|
53
|
+
key: "loadFbx",
|
|
54
|
+
value: function loadFbx(url, onLoad, onProgress, onError) {}
|
|
55
|
+
}]);
|
|
56
|
+
return Anov3DModelLoader;
|
|
57
|
+
}();
|
|
58
|
+
export default Anov3DModelLoader;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { Color, Object3D } from 'three';
|
|
2
|
+
import { PerspectiveCamera, Raycaster, Scene, Vector3, WebGLRenderer } from 'three';
|
|
3
|
+
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
|
|
4
|
+
interface Anov3DSceneOptions {
|
|
5
|
+
/**
|
|
6
|
+
* renderer options
|
|
7
|
+
*/
|
|
8
|
+
rendererOps?: {
|
|
9
|
+
antialias?: boolean;
|
|
10
|
+
logarithmicDepthBuffer?: boolean;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* default camera options
|
|
14
|
+
*/
|
|
15
|
+
defCameraOps?: {
|
|
16
|
+
position?: Vector3;
|
|
17
|
+
fov?: number;
|
|
18
|
+
aspect?: number;
|
|
19
|
+
near?: number;
|
|
20
|
+
far?: number;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* default ambient light options
|
|
24
|
+
*/
|
|
25
|
+
defAmbientLightOps?: {
|
|
26
|
+
position?: Vector3;
|
|
27
|
+
color?: Color;
|
|
28
|
+
intensity?: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Controls
|
|
32
|
+
*/
|
|
33
|
+
orbitControls?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* if need ambient light
|
|
36
|
+
*/
|
|
37
|
+
ambientLight?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* on demand render scene, 按需渲染
|
|
40
|
+
*/
|
|
41
|
+
onDemand?: boolean;
|
|
42
|
+
}
|
|
43
|
+
declare class Anov3DScene {
|
|
44
|
+
private opts;
|
|
45
|
+
private pointer;
|
|
46
|
+
scene: Scene | null;
|
|
47
|
+
raycaster: Raycaster | null;
|
|
48
|
+
camera: PerspectiveCamera | null;
|
|
49
|
+
renderer: WebGLRenderer | null;
|
|
50
|
+
controls: OrbitControls | null;
|
|
51
|
+
constructor(opts: Anov3DSceneOptions);
|
|
52
|
+
/**
|
|
53
|
+
* init scene
|
|
54
|
+
* @param camera
|
|
55
|
+
* @param renderer
|
|
56
|
+
*/
|
|
57
|
+
resetScene(camera: PerspectiveCamera, renderer: WebGLRenderer): void;
|
|
58
|
+
/**
|
|
59
|
+
* init renderer
|
|
60
|
+
*/
|
|
61
|
+
private initRenderer;
|
|
62
|
+
/**
|
|
63
|
+
* init default camera
|
|
64
|
+
*/
|
|
65
|
+
private initDefaultPerspectiveCamera;
|
|
66
|
+
/**
|
|
67
|
+
* init ambient light
|
|
68
|
+
* @param position
|
|
69
|
+
* @param color
|
|
70
|
+
* @param intensity
|
|
71
|
+
* @returns
|
|
72
|
+
*/
|
|
73
|
+
private initAmbientLight;
|
|
74
|
+
/**
|
|
75
|
+
* frame render
|
|
76
|
+
*/
|
|
77
|
+
startFrameAnimate(frameAnimate?: (renderer: WebGLRenderer) => void): void;
|
|
78
|
+
/**
|
|
79
|
+
* scene add object3d
|
|
80
|
+
* @param object3d
|
|
81
|
+
*/
|
|
82
|
+
add(object3d: Object3D): void;
|
|
83
|
+
/**
|
|
84
|
+
* update raycaster
|
|
85
|
+
*/
|
|
86
|
+
private updateRaycaster;
|
|
87
|
+
private getPointerPosition;
|
|
88
|
+
/**
|
|
89
|
+
* handle pointerup event
|
|
90
|
+
* @param event
|
|
91
|
+
*/
|
|
92
|
+
private onPointerPointerup;
|
|
93
|
+
/**
|
|
94
|
+
* handle pointerdown event
|
|
95
|
+
* @param event
|
|
96
|
+
*/
|
|
97
|
+
private onPointerDown;
|
|
98
|
+
/**
|
|
99
|
+
* handle pointermove event
|
|
100
|
+
* @param event
|
|
101
|
+
*/
|
|
102
|
+
private onPointerMove;
|
|
103
|
+
/**
|
|
104
|
+
* handle pointerleave event
|
|
105
|
+
* @param event
|
|
106
|
+
*/
|
|
107
|
+
private onPointerLeave;
|
|
108
|
+
/**
|
|
109
|
+
* handle event register
|
|
110
|
+
* @param target
|
|
111
|
+
*/
|
|
112
|
+
private registerEvent;
|
|
113
|
+
render(target: HTMLElement): void;
|
|
114
|
+
destroy(): void;
|
|
115
|
+
}
|
|
116
|
+
export default Anov3DScene;
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
import { ACESFilmicToneMapping, AmbientLight, PerspectiveCamera, Raycaster, Scene, Vector2, Vector3, WebGLRenderer } from 'three';
|
|
9
|
+
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
|
|
10
|
+
import { emitter } from "../utils";
|
|
11
|
+
var Anov3DScene = /*#__PURE__*/function () {
|
|
12
|
+
function Anov3DScene(opts) {
|
|
13
|
+
_classCallCheck(this, Anov3DScene);
|
|
14
|
+
_defineProperty(this, "opts", {});
|
|
15
|
+
_defineProperty(this, "pointer", new Vector2());
|
|
16
|
+
_defineProperty(this, "scene", null);
|
|
17
|
+
_defineProperty(this, "raycaster", null);
|
|
18
|
+
_defineProperty(this, "camera", null);
|
|
19
|
+
_defineProperty(this, "renderer", null);
|
|
20
|
+
_defineProperty(this, "controls", null);
|
|
21
|
+
this.opts = opts !== null && opts !== void 0 ? opts : {};
|
|
22
|
+
this.scene = new Scene();
|
|
23
|
+
this.raycaster = new Raycaster();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* init scene
|
|
28
|
+
* @param camera
|
|
29
|
+
* @param renderer
|
|
30
|
+
*/
|
|
31
|
+
_createClass(Anov3DScene, [{
|
|
32
|
+
key: "resetScene",
|
|
33
|
+
value: function resetScene(camera, renderer) {
|
|
34
|
+
camera.aspect = window.innerWidth / window.innerHeight;
|
|
35
|
+
camera.updateProjectionMatrix();
|
|
36
|
+
renderer.setSize(window.innerWidth, window.innerHeight);
|
|
37
|
+
renderer.setPixelRatio(window.devicePixelRatio);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* init renderer
|
|
42
|
+
*/
|
|
43
|
+
}, {
|
|
44
|
+
key: "initRenderer",
|
|
45
|
+
value: function initRenderer() {
|
|
46
|
+
var _rendererOps$antialia, _rendererOps$logarith;
|
|
47
|
+
var rendererOps = this.opts.rendererOps || {};
|
|
48
|
+
var renderer = new WebGLRenderer({
|
|
49
|
+
antialias: (_rendererOps$antialia = rendererOps.antialias) !== null && _rendererOps$antialia !== void 0 ? _rendererOps$antialia : true,
|
|
50
|
+
logarithmicDepthBuffer: (_rendererOps$logarith = rendererOps.logarithmicDepthBuffer) !== null && _rendererOps$logarith !== void 0 ? _rendererOps$logarith : true
|
|
51
|
+
});
|
|
52
|
+
renderer.setSize(window.innerWidth, window.innerHeight);
|
|
53
|
+
renderer.shadowMap.enabled = true;
|
|
54
|
+
renderer.toneMapping = ACESFilmicToneMapping;
|
|
55
|
+
renderer.toneMappingExposure = 0.3;
|
|
56
|
+
renderer.setPixelRatio(window.devicePixelRatio);
|
|
57
|
+
this.renderer = renderer;
|
|
58
|
+
return renderer;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* init default camera
|
|
63
|
+
*/
|
|
64
|
+
}, {
|
|
65
|
+
key: "initDefaultPerspectiveCamera",
|
|
66
|
+
value: function initDefaultPerspectiveCamera() {
|
|
67
|
+
var rendererOps = this.opts.defCameraOps || {};
|
|
68
|
+
var camera = new PerspectiveCamera(rendererOps.fov || 90, window.innerWidth / window.innerHeight, rendererOps.near || 0.1, rendererOps.far || 1000);
|
|
69
|
+
var position = rendererOps.position || new Vector3(0, 3, 10);
|
|
70
|
+
camera.position.set(position.x, position.y, position.z);
|
|
71
|
+
this.camera = camera;
|
|
72
|
+
this.scene.add(camera);
|
|
73
|
+
return camera;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* init ambient light
|
|
78
|
+
* @param position
|
|
79
|
+
* @param color
|
|
80
|
+
* @param intensity
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
}, {
|
|
84
|
+
key: "initAmbientLight",
|
|
85
|
+
value: function initAmbientLight() {
|
|
86
|
+
var defConfigOps = this.opts.defAmbientLightOps || {};
|
|
87
|
+
var position = defConfigOps.position || new Vector3(0, 3, 10);
|
|
88
|
+
var ambientLight = new AmbientLight(defConfigOps.color || 0xFFFFFF, defConfigOps.intensity || 1);
|
|
89
|
+
ambientLight.position.set(position.x, position.y, position.z);
|
|
90
|
+
return ambientLight;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* frame render
|
|
95
|
+
*/
|
|
96
|
+
}, {
|
|
97
|
+
key: "startFrameAnimate",
|
|
98
|
+
value: function startFrameAnimate(frameAnimate) {
|
|
99
|
+
var _this = this;
|
|
100
|
+
if (!this.renderer || !this.scene || !this.camera) throw new Error('scene or camera or renderer is not init');
|
|
101
|
+
if (frameAnimate) {
|
|
102
|
+
frameAnimate(this.renderer);
|
|
103
|
+
} else {
|
|
104
|
+
this.controls && this.controls.update();
|
|
105
|
+
this.renderer.render(this.scene, this.camera);
|
|
106
|
+
}
|
|
107
|
+
requestAnimationFrame(function () {
|
|
108
|
+
return _this.startFrameAnimate(frameAnimate);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* scene add object3d
|
|
114
|
+
* @param object3d
|
|
115
|
+
*/
|
|
116
|
+
}, {
|
|
117
|
+
key: "add",
|
|
118
|
+
value: function add(object3d) {
|
|
119
|
+
this.scene.add(object3d);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* update raycaster
|
|
124
|
+
*/
|
|
125
|
+
}, {
|
|
126
|
+
key: "updateRaycaster",
|
|
127
|
+
value: function updateRaycaster() {
|
|
128
|
+
this.raycaster.setFromCamera(this.pointer, this.camera);
|
|
129
|
+
this.raycaster.intersectObjects(this.scene.children);
|
|
130
|
+
}
|
|
131
|
+
}, {
|
|
132
|
+
key: "getPointerPosition",
|
|
133
|
+
value: function getPointerPosition(event) {
|
|
134
|
+
this.pointer.setX(event.clientX / window.innerWidth * 2 - 1);
|
|
135
|
+
this.pointer.setY(-(event.clientY / window.innerHeight) * 2 + 1);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* handle pointerup event
|
|
140
|
+
* @param event
|
|
141
|
+
*/
|
|
142
|
+
}, {
|
|
143
|
+
key: "onPointerPointerup",
|
|
144
|
+
value: function onPointerPointerup(event) {
|
|
145
|
+
this.getPointerPosition(event);
|
|
146
|
+
emitter.emit('pointerup');
|
|
147
|
+
this.updateRaycaster();
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* handle pointerdown event
|
|
152
|
+
* @param event
|
|
153
|
+
*/
|
|
154
|
+
}, {
|
|
155
|
+
key: "onPointerDown",
|
|
156
|
+
value: function onPointerDown(event) {
|
|
157
|
+
this.getPointerPosition(event);
|
|
158
|
+
emitter.emit('pointerdown');
|
|
159
|
+
this.updateRaycaster();
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* handle pointermove event
|
|
164
|
+
* @param event
|
|
165
|
+
*/
|
|
166
|
+
}, {
|
|
167
|
+
key: "onPointerMove",
|
|
168
|
+
value: function onPointerMove(event) {
|
|
169
|
+
this.getPointerPosition(event);
|
|
170
|
+
emitter.emit('pointermove');
|
|
171
|
+
this.updateRaycaster();
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* handle pointerleave event
|
|
176
|
+
* @param event
|
|
177
|
+
*/
|
|
178
|
+
}, {
|
|
179
|
+
key: "onPointerLeave",
|
|
180
|
+
value: function onPointerLeave(event) {
|
|
181
|
+
this.getPointerPosition(event);
|
|
182
|
+
emitter.emit('pointerleave');
|
|
183
|
+
this.updateRaycaster();
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* handle event register
|
|
188
|
+
* @param target
|
|
189
|
+
*/
|
|
190
|
+
}, {
|
|
191
|
+
key: "registerEvent",
|
|
192
|
+
value: function registerEvent(target) {
|
|
193
|
+
var _this2 = this;
|
|
194
|
+
target.addEventListener('pointerup', function (e) {
|
|
195
|
+
return _this2.onPointerPointerup(e);
|
|
196
|
+
});
|
|
197
|
+
target.addEventListener('pointerdown', function (e) {
|
|
198
|
+
return _this2.onPointerDown(e);
|
|
199
|
+
});
|
|
200
|
+
target.addEventListener('pointermove', function (e) {
|
|
201
|
+
return _this2.onPointerMove(e);
|
|
202
|
+
});
|
|
203
|
+
target.addEventListener('pointerleave', function (e) {
|
|
204
|
+
return _this2.onPointerLeave(e);
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}, {
|
|
208
|
+
key: "render",
|
|
209
|
+
value: function render(target) {
|
|
210
|
+
var _this3 = this;
|
|
211
|
+
var camera = this.initDefaultPerspectiveCamera();
|
|
212
|
+
var renderer = this.initRenderer();
|
|
213
|
+
if (this.opts.orbitControls) this.controls = new OrbitControls(camera, renderer.domElement);
|
|
214
|
+
if (this.opts.ambientLight) {
|
|
215
|
+
var ambientLight = this.initAmbientLight();
|
|
216
|
+
this.scene.add(ambientLight);
|
|
217
|
+
}
|
|
218
|
+
target.appendChild(renderer.domElement);
|
|
219
|
+
this.registerEvent(renderer.domElement);
|
|
220
|
+
target.addEventListener('resize', function () {
|
|
221
|
+
return _this3.resetScene(camera, renderer);
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
}, {
|
|
225
|
+
key: "destroy",
|
|
226
|
+
value: function destroy() {
|
|
227
|
+
var _this4 = this;
|
|
228
|
+
window.removeEventListener('resize', function () {
|
|
229
|
+
return _this4.resetScene(_this4.camera, _this4.renderer);
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
}]);
|
|
233
|
+
return Anov3DScene;
|
|
234
|
+
}();
|
|
235
|
+
export default Anov3DScene;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import Anove3DScene from './core/scene';
|
|
2
|
+
import Anov3DMesh from './core/mesh';
|
|
3
|
+
import { Anov3DPerspectiveCamera } from './core/camera';
|
|
4
|
+
import Anov3DModelLoader from './core/model';
|
|
5
|
+
import { ModelType } from './commonEnu';
|
|
6
|
+
export { Anove3DScene, Anov3DMesh, Anov3DPerspectiveCamera, Anov3DModelLoader, ModelType, };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import Anove3DScene from "./core/scene";
|
|
2
|
+
import Anov3DMesh from "./core/mesh";
|
|
3
|
+
import { Anov3DPerspectiveCamera } from "./core/camera";
|
|
4
|
+
import Anov3DModelLoader from "./core/model";
|
|
5
|
+
import { ModelType } from "./commonEnu";
|
|
6
|
+
export { Anove3DScene, Anov3DMesh, Anov3DPerspectiveCamera, Anov3DModelLoader, ModelType };
|
package/dist/type.d.ts
ADDED
package/dist/type.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const emitter: {
|
|
2
|
+
on: {
|
|
3
|
+
<Key extends import("mitt").EventType>(type: Key, handler: import("mitt").Handler<Record<import("mitt").EventType, unknown>[Key]>): void;
|
|
4
|
+
(type: "*", handler: import("mitt").WildcardHandler<Record<import("mitt").EventType, unknown>>): void;
|
|
5
|
+
};
|
|
6
|
+
off: {
|
|
7
|
+
<Key_1 extends import("mitt").EventType>(type: Key_1, handler?: import("mitt").Handler<Record<import("mitt").EventType, unknown>[Key_1]> | undefined): void;
|
|
8
|
+
(type: "*", handler: import("mitt").WildcardHandler<Record<import("mitt").EventType, unknown>>): void;
|
|
9
|
+
};
|
|
10
|
+
emit: {
|
|
11
|
+
<Key_2 extends import("mitt").EventType>(type: Key_2, event: Record<import("mitt").EventType, unknown>[Key_2]): void;
|
|
12
|
+
<Key_3 extends import("mitt").EventType>(type: undefined extends Record<import("mitt").EventType, unknown>[Key_3] ? Key_3 : never): void;
|
|
13
|
+
};
|
|
14
|
+
all: import("mitt").EventHandlerMap<Record<import("mitt").EventType, unknown>>;
|
|
15
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@anov/3d",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "",
|
|
5
|
+
"author": "",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"keywords": [],
|
|
8
|
+
"module": "dist/index.js",
|
|
9
|
+
"publishConfig": {
|
|
10
|
+
"access": "public"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist",
|
|
14
|
+
"readme.md",
|
|
15
|
+
"package.json"
|
|
16
|
+
],
|
|
17
|
+
"peerDependencies": {
|
|
18
|
+
"three": "^0.155.0"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/lodash": "^4.14.196",
|
|
22
|
+
"@types/three": "^0.155.0",
|
|
23
|
+
"three": "^0.155.0"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"lodash": "^4.17.21",
|
|
27
|
+
"mitt": "^3.0.1"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "father build",
|
|
31
|
+
"build:deps": "father prebundle",
|
|
32
|
+
"test": "jest --maxWorkers 2"
|
|
33
|
+
}
|
|
34
|
+
}
|