@hatiolab/things-scene 3.4.39 → 3.4.41
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/db.sqlite +0 -0
- package/package.json +1 -1
- package/schema.graphql +3966 -0
- package/things-scene-ie.js +1 -1
- package/things-scene-min.js +1 -1
- package/things-scene.mjs +2 -2
- package/dist/animation/animate.d.ts +0 -4
- package/dist/animation/animations/animation.d.ts +0 -14
- package/dist/animation/animations/fade.d.ts +0 -4
- package/dist/animation/animations/heartbeat.d.ts +0 -4
- package/dist/animation/animations/moving.d.ts +0 -4
- package/dist/animation/animations/outline.d.ts +0 -10
- package/dist/animation/animations/rotation.d.ts +0 -4
- package/dist/animation/animations/vibration.d.ts +0 -4
- package/dist/animation/compile.d.ts +0 -1
- package/dist/animation/delta.d.ts +0 -19
- package/dist/animation/index.d.ts +0 -1
- package/dist/command/command-change.d.ts +0 -7
- package/dist/command/command-migrate.d.ts +0 -4
- package/dist/command/command-migrate.js +0 -85
- package/dist/command/command-migrate.js.map +0 -1
- package/dist/command/command.d.ts +0 -5
- package/dist/command/snapshot-commander.d.ts +0 -15
- package/dist/components/anchor/anchor.d.ts +0 -128
- package/dist/components/anchor/ellipse-anchors.d.ts +0 -2
- package/dist/components/anchor/ellipse-anchors.js +0 -38
- package/dist/components/anchor/ellipse-anchors.js.map +0 -1
- package/dist/components/anchor/rect-anchors.d.ts +0 -10
- package/dist/components/audio.d.ts +0 -25
- package/dist/components/audio.js +0 -141
- package/dist/components/audio.js.map +0 -1
- package/dist/components/cloud.d.ts +0 -13
- package/dist/components/cloud.js +0 -31
- package/dist/components/cloud.js.map +0 -1
- package/dist/components/component.d.ts +0 -227
- package/dist/components/component.js +0 -912
- package/dist/components/component.js.map +0 -1
- package/dist/components/container-abstract.d.ts +0 -51
- package/dist/components/container-abstract.js +0 -372
- package/dist/components/container-abstract.js.map +0 -1
- package/dist/components/container.d.ts +0 -38
- package/dist/components/container.js +0 -75
- package/dist/components/container.js.map +0 -1
- package/dist/components/data/data-mapping.d.ts +0 -16
- package/dist/components/data/data.d.ts +0 -8
- package/dist/components/data/evaluator.d.ts +0 -1
- package/dist/components/donut.d.ts +0 -15
- package/dist/components/donut.js +0 -74
- package/dist/components/donut.js.map +0 -1
- package/dist/components/drawer/draw-image-pendable.d.ts +0 -1
- package/dist/components/drawer/effect.d.ts +0 -1
- package/dist/components/drawer/fill.d.ts +0 -14
- package/dist/components/drawer/format.d.ts +0 -1
- package/dist/components/drawer/line.d.ts +0 -3
- package/dist/components/drawer/stroke.d.ts +0 -1
- package/dist/components/drawer/text-wrapper.d.ts +0 -10
- package/dist/components/drawer/text.d.ts +0 -3
- package/dist/components/ellipse.d.ts +0 -35
- package/dist/components/ellipse.js +0 -99
- package/dist/components/ellipse.js.map +0 -1
- package/dist/components/file/ondropfile.d.ts +0 -1
- package/dist/components/fit/fit.d.ts +0 -15
- package/dist/components/geometry/transcoord.d.ts +0 -41
- package/dist/components/geometry/union.d.ts +0 -6
- package/dist/components/gif-view.d.ts +0 -18
- package/dist/components/gif-view.js +0 -116
- package/dist/components/gif-view.js.map +0 -1
- package/dist/components/global-ref.d.ts +0 -36
- package/dist/components/global-ref.js +0 -128
- package/dist/components/global-ref.js.map +0 -1
- package/dist/components/group.d.ts +0 -15
- package/dist/components/group.js +0 -145
- package/dist/components/group.js.map +0 -1
- package/dist/components/html/elements.d.ts +0 -2
- package/dist/components/html/fill.d.ts +0 -1
- package/dist/components/html/reposition.d.ts +0 -1
- package/dist/components/html/shadow.d.ts +0 -1
- package/dist/components/html-overlay-container.d.ts +0 -27
- package/dist/components/html-overlay-container.js +0 -14
- package/dist/components/html-overlay-container.js.map +0 -1
- package/dist/components/html-overlay-element.d.ts +0 -25
- package/dist/components/html-overlay-element.js +0 -9
- package/dist/components/html-overlay-element.js.map +0 -1
- package/dist/components/image-view.d.ts +0 -19
- package/dist/components/image-view.js +0 -180
- package/dist/components/image-view.js.map +0 -1
- package/dist/components/index.d.ts +0 -32
- package/dist/components/index.js +0 -39
- package/dist/components/index.js.map +0 -1
- package/dist/components/info-window.d.ts +0 -41
- package/dist/components/info-window.js +0 -425
- package/dist/components/info-window.js.map +0 -1
- package/dist/components/line.d.ts +0 -91
- package/dist/components/line.js +0 -303
- package/dist/components/line.js.map +0 -1
- package/dist/components/local-ref.d.ts +0 -47
- package/dist/components/local-ref.js +0 -103
- package/dist/components/local-ref.js.map +0 -1
- package/dist/components/mixins/connectable.d.ts +0 -45
- package/dist/components/mixins/data-source.d.ts +0 -9
- package/dist/components/mixins/html-element.d.ts +0 -24
- package/dist/components/mixins/move-handle.d.ts +0 -11
- package/dist/components/mixins/rect-path.d.ts +0 -13
- package/dist/components/mixins/value-holder.d.ts +0 -18
- package/dist/components/mutater/bounds.d.ts +0 -10
- package/dist/components/mutater/path.d.ts +0 -5
- package/dist/components/ortholine.d.ts +0 -21
- package/dist/components/ortholine.js +0 -814
- package/dist/components/ortholine.js.map +0 -1
- package/dist/components/outline/ellipse-outline.d.ts +0 -4
- package/dist/components/outline/ellipse-outline.js +0 -11
- package/dist/components/outline/ellipse-outline.js.map +0 -1
- package/dist/components/outline/path-outline.d.ts +0 -1
- package/dist/components/path.d.ts +0 -5
- package/dist/components/path.js +0 -40
- package/dist/components/path.js.map +0 -1
- package/dist/components/polygon.d.ts +0 -40
- package/dist/components/polygon.js +0 -157
- package/dist/components/polygon.js.map +0 -1
- package/dist/components/polyline.d.ts +0 -18
- package/dist/components/polyline.js +0 -102
- package/dist/components/polyline.js.map +0 -1
- package/dist/components/popup.d.ts +0 -48
- package/dist/components/popup.js +0 -138
- package/dist/components/popup.js.map +0 -1
- package/dist/components/rect.d.ts +0 -26
- package/dist/components/rect.js +0 -91
- package/dist/components/rect.js.map +0 -1
- package/dist/components/retention/retention-manager.d.ts +0 -8
- package/dist/components/root-container.d.ts +0 -90
- package/dist/components/root-container.js +0 -478
- package/dist/components/root-container.js.map +0 -1
- package/dist/components/ruler.d.ts +0 -16
- package/dist/components/ruler.js +0 -77
- package/dist/components/ruler.js.map +0 -1
- package/dist/components/shape.d.ts +0 -25
- package/dist/components/shape.js +0 -80
- package/dist/components/shape.js.map +0 -1
- package/dist/components/star.d.ts +0 -13
- package/dist/components/star.js +0 -80
- package/dist/components/star.js.map +0 -1
- package/dist/components/text/substitutor.d.ts +0 -3
- package/dist/components/text.d.ts +0 -8
- package/dist/components/text.js +0 -15
- package/dist/components/text.js.map +0 -1
- package/dist/components/three-container.d.ts +0 -60
- package/dist/components/three-container.js +0 -515
- package/dist/components/three-container.js.map +0 -1
- package/dist/components/triangle.d.ts +0 -15
- package/dist/components/triangle.js +0 -76
- package/dist/components/triangle.js.map +0 -1
- package/dist/const.d.ts +0 -39
- package/dist/core/collection.d.ts +0 -8
- package/dist/core/debug.d.ts +0 -1
- package/dist/core/deep-equals.d.ts +0 -1
- package/dist/core/dom-to-image.d.ts +0 -127
- package/dist/core/event.d.ts +0 -92
- package/dist/core/index.d.ts +0 -2
- package/dist/core/list.d.ts +0 -32
- package/dist/core/logger.d.ts +0 -3
- package/dist/core/memoize.d.ts +0 -6
- package/dist/core/mixin.d.ts +0 -1
- package/dist/core/obj-accessor.d.ts +0 -1
- package/dist/core/reference-map.d.ts +0 -14
- package/dist/core/round-rect.d.ts +0 -19
- package/dist/core/script-loader.d.ts +0 -3
- package/dist/core/snapshot-taker.d.ts +0 -12
- package/dist/core/stack.d.ts +0 -2
- package/dist/core/timecapsule.d.ts +0 -18
- package/dist/core/utils.d.ts +0 -9
- package/dist/decorator/anchors-decorator.d.ts +0 -31
- package/dist/decorator/data-spread-decorator.d.ts +0 -1
- package/dist/decorator/decotag-decorator.d.ts +0 -1
- package/dist/decorator/index.d.ts +0 -2
- package/dist/decorator/link-decorator.d.ts +0 -1
- package/dist/effect/gradation.d.ts +0 -1
- package/dist/effect/index.d.ts +0 -1
- package/dist/effect/shadow.d.ts +0 -2
- package/dist/effect/turn.d.ts +0 -1
- package/dist/event/event-engine.d.ts +0 -12
- package/dist/event/event-pump.d.ts +0 -11
- package/dist/event/event-tracker.d.ts +0 -21
- package/dist/event/index.d.ts +0 -2
- package/dist/event/ua-event-handler.d.ts +0 -32
- package/dist/event-map/event-map.d.ts +0 -9
- package/dist/event-map/index.d.ts +0 -1
- package/dist/event-map/move-handler.d.ts +0 -1
- package/dist/event-map/text-editor-lite.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +0 -1
- package/dist/layer/action/emphasize.d.ts +0 -2
- package/dist/layer/action/popup.d.ts +0 -5
- package/dist/layer/action/pressed.d.ts +0 -2
- package/dist/layer/add-layer.d.ts +0 -42
- package/dist/layer/add-layer.js +0 -142
- package/dist/layer/add-layer.js.map +0 -1
- package/dist/layer/decotag-layer.d.ts +0 -27
- package/dist/layer/decotag-layer.js +0 -105
- package/dist/layer/decotag-layer.js.map +0 -1
- package/dist/layer/guide-layer.d.ts +0 -44
- package/dist/layer/guide-layer.js +0 -261
- package/dist/layer/guide-layer.js.map +0 -1
- package/dist/layer/index.d.ts +0 -7
- package/dist/layer/index.js +0 -11
- package/dist/layer/index.js.map +0 -1
- package/dist/layer/layer.d.ts +0 -32
- package/dist/layer/layer.js +0 -155
- package/dist/layer/layer.js.map +0 -1
- package/dist/layer/model-layer.d.ts +0 -46
- package/dist/layer/model-layer.js +0 -402
- package/dist/layer/model-layer.js.map +0 -1
- package/dist/layer/modeler/anchor-handler.d.ts +0 -36
- package/dist/layer/modeler/control-handler.d.ts +0 -18
- package/dist/layer/modeler/focus-outline.d.ts +0 -5
- package/dist/layer/modeler/group-outline.d.ts +0 -5
- package/dist/layer/modeler/index.d.ts +0 -7
- package/dist/layer/modeler/path-handler.d.ts +0 -22
- package/dist/layer/modeler/resizer.d.ts +0 -13
- package/dist/layer/modeler/rotator.d.ts +0 -15
- package/dist/layer/modeler/rotator.js +0 -120
- package/dist/layer/modeler/rotator.js.map +0 -1
- package/dist/layer/modeling-layer.d.ts +0 -66
- package/dist/layer/modeling-layer.js +0 -451
- package/dist/layer/modeling-layer.js.map +0 -1
- package/dist/layer/selection/selected-finder.d.ts +0 -1
- package/dist/layer/selection-layer.d.ts +0 -42
- package/dist/layer/selection-layer.js +0 -307
- package/dist/layer/selection-layer.js.map +0 -1
- package/dist/layer/shift-layer.d.ts +0 -18
- package/dist/layer/shift-layer.js +0 -61
- package/dist/layer/shift-layer.js.map +0 -1
- package/dist/layout/absolute.d.ts +0 -8
- package/dist/layout/card.d.ts +0 -7
- package/dist/layout/html-absolute.d.ts +0 -8
- package/dist/layout/index.d.ts +0 -8
- package/dist/layout/index.js +0 -12
- package/dist/layout/index.js.map +0 -1
- package/dist/layout/layout.d.ts +0 -11
- package/dist/layout/linear-horizontal.d.ts +0 -7
- package/dist/layout/linear-vertical.d.ts +0 -7
- package/dist/layout/table.d.ts +0 -9
- package/dist/layout/three.d.ts +0 -8
- package/dist/layout/three.js +0 -20
- package/dist/layout/three.js.map +0 -1
- package/dist/license/license.d.ts +0 -18
- package/dist/model/compile.d.ts +0 -1
- package/dist/model/compile.js +0 -28
- package/dist/model/compile.js.map +0 -1
- package/dist/model/duplicate.d.ts +0 -1
- package/dist/model/index.d.ts +0 -3
- package/dist/model/selector.d.ts +0 -2
- package/dist/style/compile.d.ts +0 -1
- package/dist/style/index.d.ts +0 -1
- package/dist/things-scene/api/add-start.d.ts +0 -1
- package/dist/things-scene/api/add.d.ts +0 -5
- package/dist/things-scene/api/align.d.ts +0 -1
- package/dist/things-scene/api/change.d.ts +0 -2
- package/dist/things-scene/api/clipboard.d.ts +0 -3
- package/dist/things-scene/api/distribute.d.ts +0 -1
- package/dist/things-scene/api/duplicate.d.ts +0 -4
- package/dist/things-scene/api/fullscreen.d.ts +0 -1
- package/dist/things-scene/api/group.d.ts +0 -8
- package/dist/things-scene/api/group.js +0 -78
- package/dist/things-scene/api/group.js.map +0 -1
- package/dist/things-scene/api/ids.d.ts +0 -4
- package/dist/things-scene/api/index.d.ts +0 -15
- package/dist/things-scene/api/listener.d.ts +0 -3
- package/dist/things-scene/api/remove.d.ts +0 -4
- package/dist/things-scene/api/symmetry.d.ts +0 -2
- package/dist/things-scene/api/symmetry.js +0 -39
- package/dist/things-scene/api/symmetry.js.map +0 -1
- package/dist/things-scene/api/to-data-url.d.ts +0 -1
- package/dist/things-scene/api/to-data-url.js +0 -69
- package/dist/things-scene/api/to-data-url.js.map +0 -1
- package/dist/things-scene/api/zorder.d.ts +0 -2
- package/dist/things-scene/application-context.d.ts +0 -40
- package/dist/things-scene/config.d.ts +0 -4
- package/dist/things-scene/create.d.ts +0 -20
- package/dist/things-scene/fps.d.ts +0 -1
- package/dist/things-scene/index.d.ts +0 -17
- package/dist/things-scene/index.js +0 -23
- package/dist/things-scene/index.js.map +0 -1
- package/dist/things-scene/polyfill.d.ts +0 -2
- package/dist/things-scene/scene.d.ts +0 -155
- package/dist/things-scene/version.d.ts +0 -2
- package/dist/threed/common.d.ts +0 -22
- package/dist/threed/control/three-controls.d.ts +0 -11
- package/dist/threed/control/three-controls.js +0 -620
- package/dist/threed/control/three-controls.js.map +0 -1
- package/dist/threed/html/elements.d.ts +0 -2
- package/dist/threed/real-object-camera-meshed.d.ts +0 -12
- package/dist/threed/real-object-camera-meshed.js +0 -49
- package/dist/threed/real-object-camera-meshed.js.map +0 -1
- package/dist/threed/real-object-camera.d.ts +0 -9
- package/dist/threed/real-object-camera.js +0 -31
- package/dist/threed/real-object-camera.js.map +0 -1
- package/dist/threed/real-object-dom-element.d.ts +0 -20
- package/dist/threed/real-object-dom-element.js +0 -78
- package/dist/threed/real-object-dom-element.js.map +0 -1
- package/dist/threed/real-object-dummy.d.ts +0 -6
- package/dist/threed/real-object-dummy.js +0 -11
- package/dist/threed/real-object-dummy.js.map +0 -1
- package/dist/threed/real-object-extrude.d.ts +0 -19
- package/dist/threed/real-object-extrude.js +0 -171
- package/dist/threed/real-object-extrude.js.map +0 -1
- package/dist/threed/real-object-gltf.d.ts +0 -15
- package/dist/threed/real-object-gltf.js +0 -97
- package/dist/threed/real-object-gltf.js.map +0 -1
- package/dist/threed/real-object-group.d.ts +0 -5
- package/dist/threed/real-object-group.js +0 -11
- package/dist/threed/real-object-group.js.map +0 -1
- package/dist/threed/real-object-mesh.d.ts +0 -11
- package/dist/threed/real-object-mesh.js +0 -55
- package/dist/threed/real-object-mesh.js.map +0 -1
- package/dist/threed/real-object-plane.d.ts +0 -6
- package/dist/threed/real-object-plane.js +0 -23
- package/dist/threed/real-object-plane.js.map +0 -1
- package/dist/threed/real-object-scene.d.ts +0 -21
- package/dist/threed/real-object-scene.js +0 -89
- package/dist/threed/real-object-scene.js.map +0 -1
- package/dist/threed/real-object-sprite.d.ts +0 -12
- package/dist/threed/real-object-sprite.js +0 -35
- package/dist/threed/real-object-sprite.js.map +0 -1
- package/dist/threed/real-object-text.d.ts +0 -16
- package/dist/threed/real-object-text.js +0 -70
- package/dist/threed/real-object-text.js.map +0 -1
- package/dist/threed/real-object.d.ts +0 -48
- package/dist/threed/real-object.js +0 -199
- package/dist/threed/real-object.js.map +0 -1
- package/dist/threed/texture/text-texture.d.ts +0 -8
- package/dist/threed/three-dimensional-container.d.ts +0 -7
- package/dist/threed/three-dimensional-container.js +0 -2
- package/dist/threed/three-dimensional-container.js.map +0 -1
- package/dist/threed/utils/bound-uv-generator.d.ts +0 -16
- package/dist/types.d.ts +0 -53
- package/dist/types.js +0 -368
- package/dist/types.js.map +0 -1
package/dist/components/shape.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { Component } from '@hatiolab/things-scene';
|
|
5
|
-
/**
|
|
6
|
-
* Shape 컴포넌트는 단순한 형태의 컴포넌트의 공통 기능을 정의한 추상클래스이다.
|
|
7
|
-
* 단순한 형태의 컴포넌트란
|
|
8
|
-
* - 컴포넌트 전체에서 라인 스타일이 하나만 사용된다.
|
|
9
|
-
* - 컴포넌트 전체에서 FILL 스타일이 하나만 사용된다.
|
|
10
|
-
*
|
|
11
|
-
* 이런 단순한 컴포넌트는 render 메쏘드에서 모든 패스를 lineTo로 그리기만 하고
|
|
12
|
-
* postrender에서 Fill, Stroke을 일괄적으로 한다.
|
|
13
|
-
*/
|
|
14
|
-
export default class Shape extends Component {
|
|
15
|
-
set rotationX(angle) {
|
|
16
|
-
this.setState('rotationX', angle);
|
|
17
|
-
}
|
|
18
|
-
get rotationX() {
|
|
19
|
-
return this.getState('rotationX');
|
|
20
|
-
}
|
|
21
|
-
set rotationY(angle) {
|
|
22
|
-
this.setState('rotationY', angle);
|
|
23
|
-
}
|
|
24
|
-
get rotationY() {
|
|
25
|
-
return this.getState('rotationY');
|
|
26
|
-
}
|
|
27
|
-
set rotationZ(angle) {
|
|
28
|
-
this.setState('rotation', angle);
|
|
29
|
-
}
|
|
30
|
-
get rotationZ() {
|
|
31
|
-
return this.getState('rotation');
|
|
32
|
-
}
|
|
33
|
-
set zPos(zPos) {
|
|
34
|
-
this.setState('zPos', zPos);
|
|
35
|
-
}
|
|
36
|
-
get zPos() {
|
|
37
|
-
return this.getState('zPos');
|
|
38
|
-
}
|
|
39
|
-
set depth(depth) {
|
|
40
|
-
this.setState('depth', depth);
|
|
41
|
-
}
|
|
42
|
-
get depth() {
|
|
43
|
-
return this.getState('depth');
|
|
44
|
-
}
|
|
45
|
-
postrender(context) {
|
|
46
|
-
this.drawFill(context);
|
|
47
|
-
this.drawStroke(context);
|
|
48
|
-
super.postrender(context);
|
|
49
|
-
}
|
|
50
|
-
render(ctx) {
|
|
51
|
-
var path = this.drawPath;
|
|
52
|
-
var { round = 0 } = this.state;
|
|
53
|
-
if (path.length <= 1) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
ctx.beginPath();
|
|
57
|
-
for (var i = 0; i < path.length; i++) {
|
|
58
|
-
const prev = path[(i - 1 + path.length) % path.length];
|
|
59
|
-
const cursor = path[(i + path.length) % path.length];
|
|
60
|
-
const next = path[(i + 1) % path.length];
|
|
61
|
-
if (prev.x === cursor.x && prev.y === cursor.y) {
|
|
62
|
-
continue;
|
|
63
|
-
}
|
|
64
|
-
var length = Math.sqrt((prev.x - cursor.x) * (prev.x - cursor.x) + (prev.y - cursor.y) * (prev.y - cursor.y));
|
|
65
|
-
var theta = length !== 0 ? Math.atan2(prev.x - cursor.x, prev.y - cursor.y) : 0;
|
|
66
|
-
var x = Math.sin(theta) * Math.min(round, length / 2) + cursor.x;
|
|
67
|
-
var y = Math.cos(theta) * Math.min(round, length / 2) + cursor.y;
|
|
68
|
-
const p1 = round > 0 || length !== 0 ? { x, y } : cursor;
|
|
69
|
-
var length = Math.sqrt((next.x - cursor.x) * (next.x - cursor.x) + (next.y - cursor.y) * (next.y - cursor.y));
|
|
70
|
-
theta = length !== 0 ? Math.atan2(next.x - cursor.x, next.y - cursor.y) : 0;
|
|
71
|
-
x = Math.sin(theta) * Math.min(round, length / 2) + cursor.x;
|
|
72
|
-
y = Math.cos(theta) * Math.min(round, length / 2) + cursor.y;
|
|
73
|
-
const p2 = round > 0 || length !== 0 ? { x, y } : cursor;
|
|
74
|
-
i == 0 ? ctx.moveTo(p1.x, p1.y) : ctx.lineTo(p1.x, p1.y);
|
|
75
|
-
round > 0 && ctx.quadraticCurveTo(cursor.x, cursor.y, p2.x, p2.y);
|
|
76
|
-
}
|
|
77
|
-
ctx.closePath();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=shape.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/components/shape.js"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component } from '@hatiolab/things-scene'\n\n/**\n * Shape 컴포넌트는 단순한 형태의 컴포넌트의 공통 기능을 정의한 추상클래스이다.\n * 단순한 형태의 컴포넌트란\n * - 컴포넌트 전체에서 라인 스타일이 하나만 사용된다.\n * - 컴포넌트 전체에서 FILL 스타일이 하나만 사용된다.\n *\n * 이런 단순한 컴포넌트는 render 메쏘드에서 모든 패스를 lineTo로 그리기만 하고\n * postrender에서 Fill, Stroke을 일괄적으로 한다.\n */\nexport default class Shape extends Component {\n set rotationX(angle) {\n this.setState('rotationX', angle)\n }\n\n get rotationX() {\n return this.getState('rotationX')\n }\n\n set rotationY(angle) {\n this.setState('rotationY', angle)\n }\n\n get rotationY() {\n return this.getState('rotationY')\n }\n\n set rotationZ(angle) {\n this.setState('rotation', angle)\n }\n\n get rotationZ() {\n return this.getState('rotation')\n }\n\n set zPos(zPos) {\n this.setState('zPos', zPos)\n }\n\n get zPos() {\n return this.getState('zPos')\n }\n\n set depth(depth) {\n this.setState('depth', depth)\n }\n\n get depth() {\n return this.getState('depth')\n }\n\n postrender(context) {\n this.drawFill(context)\n this.drawStroke(context)\n super.postrender(context)\n }\n\n render(ctx) {\n var path = this.drawPath\n var { round = 0 } = this.state\n\n if (path.length <= 1) {\n return\n }\n\n ctx.beginPath()\n\n for (var i = 0; i < path.length; i++) {\n const prev = path[(i - 1 + path.length) % path.length]\n const cursor = path[(i + path.length) % path.length]\n const next = path[(i + 1) % path.length]\n\n if (prev.x === cursor.x && prev.y === cursor.y) {\n continue\n }\n\n var length = Math.sqrt((prev.x - cursor.x) * (prev.x - cursor.x) + (prev.y - cursor.y) * (prev.y - cursor.y))\n var theta = length !== 0 ? Math.atan2(prev.x - cursor.x, prev.y - cursor.y) : 0\n var x = Math.sin(theta) * Math.min(round, length / 2) + cursor.x\n var y = Math.cos(theta) * Math.min(round, length / 2) + cursor.y\n\n const p1 = round > 0 || length !== 0 ? { x, y } : cursor\n\n var length = Math.sqrt((next.x - cursor.x) * (next.x - cursor.x) + (next.y - cursor.y) * (next.y - cursor.y))\n theta = length !== 0 ? Math.atan2(next.x - cursor.x, next.y - cursor.y) : 0\n x = Math.sin(theta) * Math.min(round, length / 2) + cursor.x\n y = Math.cos(theta) * Math.min(round, length / 2) + cursor.y\n\n const p2 = round > 0 || length !== 0 ? { x, y } : cursor\n\n i == 0 ? ctx.moveTo(p1.x, p1.y) : ctx.lineTo(p1.x, p1.y)\n round > 0 && ctx.quadraticCurveTo(cursor.x, cursor.y, p2.x, p2.y)\n }\n\n ctx.closePath()\n }\n}\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Component, ComponentNature, Ellipse } from '@hatiolab/things-scene';
|
|
2
|
-
export default class Star extends Ellipse {
|
|
3
|
-
is3dish(): boolean;
|
|
4
|
-
render(ctx: CanvasRenderingContext2D): void;
|
|
5
|
-
get controls(): {
|
|
6
|
-
x: any;
|
|
7
|
-
y: number;
|
|
8
|
-
handler: {
|
|
9
|
-
ondragmove: (point: import("@hatiolab/things-scene").DIMENSION, index: number, component: Component) => void;
|
|
10
|
-
};
|
|
11
|
-
}[];
|
|
12
|
-
get nature(): ComponentNature;
|
|
13
|
-
}
|
package/dist/components/star.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { Component, Ellipse } from '@hatiolab/things-scene';
|
|
5
|
-
const NATURE = {
|
|
6
|
-
mutable: false,
|
|
7
|
-
resizable: true,
|
|
8
|
-
rotatable: true,
|
|
9
|
-
properties: [
|
|
10
|
-
{
|
|
11
|
-
type: 'number',
|
|
12
|
-
label: 'ratio',
|
|
13
|
-
name: 'ratio',
|
|
14
|
-
property: 'ratio'
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
type: 'number',
|
|
18
|
-
label: 'wing',
|
|
19
|
-
name: 'wing',
|
|
20
|
-
property: 'wing'
|
|
21
|
-
}
|
|
22
|
-
],
|
|
23
|
-
help: 'scene/component/star'
|
|
24
|
-
};
|
|
25
|
-
var controlHandler = {
|
|
26
|
-
ondragmove: function (point, index, component) {
|
|
27
|
-
var controls = component.controls;
|
|
28
|
-
var { cy, ry } = component.model;
|
|
29
|
-
var transcoorded = component.transcoordP2S(point.x, point.y);
|
|
30
|
-
var ratio = ((transcoorded.y - cy) / ry) * 100 + 100;
|
|
31
|
-
if (ratio >= 100)
|
|
32
|
-
ratio = 100;
|
|
33
|
-
else if (ratio <= 0)
|
|
34
|
-
ratio = 0;
|
|
35
|
-
component.set({ ratio }); // ratio: ratio => ratio
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
export default class Star extends Ellipse {
|
|
39
|
-
is3dish() {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
render(ctx) {
|
|
43
|
-
var { ratio = 30, wing = 5, cx, cy, rx, ry, startAngle, endAngle, anticlockwise } = this.state;
|
|
44
|
-
// 박스 그리기
|
|
45
|
-
if (wing < 3)
|
|
46
|
-
return;
|
|
47
|
-
const RADIAN = 1.5707963267948966; // 90도 뒤틀기
|
|
48
|
-
var a = (Math.PI * 2) / wing;
|
|
49
|
-
var xRatio = rx - (ratio / 100) * rx;
|
|
50
|
-
var yRatio = ry - (ratio / 100) * ry;
|
|
51
|
-
ctx.save();
|
|
52
|
-
ctx.beginPath();
|
|
53
|
-
ctx.translate(cx, cy);
|
|
54
|
-
ctx.moveTo(rx * Math.cos(-RADIAN), ry * Math.sin(-RADIAN));
|
|
55
|
-
ctx.lineTo(((rx - xRatio) * (Math.cos(a - RADIAN) + Math.cos(0 - RADIAN))) / 2, ((ry - yRatio) * (Math.sin(a - RADIAN) + Math.sin(0 - RADIAN))) / 2);
|
|
56
|
-
for (var i = 1; i < wing; i++) {
|
|
57
|
-
ctx.lineTo(rx * Math.cos(a * i - RADIAN), ry * Math.sin(a * i - RADIAN));
|
|
58
|
-
ctx.lineTo(((rx - xRatio) * (Math.cos(a * (i + 1) - RADIAN) + Math.cos(a * i - RADIAN))) / 2, ((ry - yRatio) * (Math.sin(a * (i + 1) - RADIAN) + Math.sin(a * i - RADIAN))) / 2);
|
|
59
|
-
}
|
|
60
|
-
// ratio /= 1.5;
|
|
61
|
-
ctx.closePath();
|
|
62
|
-
ctx.restore();
|
|
63
|
-
}
|
|
64
|
-
get controls() {
|
|
65
|
-
var { cx, cy, ry, ratio } = this.state;
|
|
66
|
-
return [
|
|
67
|
-
{
|
|
68
|
-
x: cx,
|
|
69
|
-
y: cy - ry + ry * (ratio / 100),
|
|
70
|
-
handler: controlHandler
|
|
71
|
-
}
|
|
72
|
-
];
|
|
73
|
-
}
|
|
74
|
-
get nature() {
|
|
75
|
-
return NATURE;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
Component.memoize(Star.prototype, 'controls', false);
|
|
79
|
-
Component.register('star', Star);
|
|
80
|
-
//# sourceMappingURL=star.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"star.js","sourceRoot":"","sources":["../../src/components/star.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, Ellipse, POSITION } from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'ratio',\n name: 'ratio',\n property: 'ratio'\n },\n {\n type: 'number',\n label: 'wing',\n name: 'wing',\n property: 'wing'\n }\n ],\n help: 'scene/component/star'\n}\n\nvar controlHandler = {\n ondragmove: function (point: POSITION, index: number, component: Component) {\n var controls = component.controls\n var { cy, ry } = component.model\n\n var transcoorded = component.transcoordP2S(point.x, point.y)\n\n var ratio = ((transcoorded.y - cy) / ry) * 100 + 100\n\n if (ratio >= 100) ratio = 100\n else if (ratio <= 0) ratio = 0\n\n component.set({ ratio }) // ratio: ratio => ratio\n }\n}\n\nexport default class Star extends Ellipse {\n is3dish() {\n return false\n }\n\n render(ctx: CanvasRenderingContext2D) {\n var { ratio = 30, wing = 5, cx, cy, rx, ry, startAngle, endAngle, anticlockwise } = this.state\n\n // 박스 그리기\n\n if (wing < 3) return\n\n const RADIAN = 1.5707963267948966 // 90도 뒤틀기\n var a = (Math.PI * 2) / wing\n var xRatio = rx - (ratio / 100) * rx\n var yRatio = ry - (ratio / 100) * ry\n\n ctx.save()\n ctx.beginPath()\n\n ctx.translate(cx, cy)\n\n ctx.moveTo(rx * Math.cos(-RADIAN), ry * Math.sin(-RADIAN))\n ctx.lineTo(\n ((rx - xRatio) * (Math.cos(a - RADIAN) + Math.cos(0 - RADIAN))) / 2,\n ((ry - yRatio) * (Math.sin(a - RADIAN) + Math.sin(0 - RADIAN))) / 2\n )\n\n for (var i = 1; i < wing; i++) {\n ctx.lineTo(rx * Math.cos(a * i - RADIAN), ry * Math.sin(a * i - RADIAN))\n\n ctx.lineTo(\n ((rx - xRatio) * (Math.cos(a * (i + 1) - RADIAN) + Math.cos(a * i - RADIAN))) / 2,\n ((ry - yRatio) * (Math.sin(a * (i + 1) - RADIAN) + Math.sin(a * i - RADIAN))) / 2\n )\n }\n // ratio /= 1.5;\n ctx.closePath()\n ctx.restore()\n }\n\n get controls() {\n var { cx, cy, ry, ratio } = this.state\n\n return [\n {\n x: cx,\n y: cy - ry + ry * (ratio / 100),\n handler: controlHandler\n }\n ]\n }\n\n get nature() {\n return NATURE\n }\n}\n\nComponent.memoize(Star.prototype, 'controls', false)\n\nComponent.register('star', Star)\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Component } from '@hatiolab/things-scene';
|
|
2
|
-
import RealObject from '../threed/real-object';
|
|
3
|
-
declare const Text_base: typeof Component;
|
|
4
|
-
export default class Text extends Text_base {
|
|
5
|
-
is3dish(): boolean;
|
|
6
|
-
buildRealObject(): RealObject | undefined;
|
|
7
|
-
}
|
|
8
|
-
export {};
|
package/dist/components/text.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
import { Component, RectPath } from '@hatiolab/things-scene';
|
|
5
|
-
import RealObjectText from '../threed/real-object-text';
|
|
6
|
-
export default class Text extends RectPath(Component) {
|
|
7
|
-
is3dish() {
|
|
8
|
-
return true;
|
|
9
|
-
}
|
|
10
|
-
buildRealObject() {
|
|
11
|
-
return new RealObjectText(this);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
Component.register('text', Text);
|
|
15
|
-
//# sourceMappingURL=text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/components/text.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,cAAc,MAAM,4BAA4B,CAAA;AAEvD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ,CAAC,SAAS,CAAC;IACnD,OAAO;QACL,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;QACb,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;CACF;AAED,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { Component, RectPath } from '@hatiolab/things-scene'\nimport RealObject from '../threed/real-object'\nimport RealObjectText from '../threed/real-object-text'\n\nexport default class Text extends RectPath(Component) {\n is3dish() {\n return true\n }\n\n buildRealObject(): RealObject | undefined {\n return new RealObjectText(this)\n }\n}\n\nComponent.register('text', Text)\n"]}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/// <reference path="../../things-scene.d.ts" />
|
|
2
|
-
/// <reference path="../../src/component.d.ts" />
|
|
3
|
-
import { Component, ComponentNature, ContainerAbstract, Properties } from '@hatiolab/things-scene';
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { ThreeDimensionalContainer } from '../threed/three-dimensional-container';
|
|
6
|
-
import './three-layout';
|
|
7
|
-
export default class ThreeContainer extends ContainerAbstract implements ThreeDimensionalContainer {
|
|
8
|
-
_scene3d?: THREE.Scene;
|
|
9
|
-
_initalizeComplete?: Promise<void>;
|
|
10
|
-
_mixer?: THREE.AnimationMixer;
|
|
11
|
-
_camera?: THREE.PerspectiveCamera;
|
|
12
|
-
_canvas?: HTMLCanvasElement;
|
|
13
|
-
_renderer3d?: THREE.WebGLRenderer;
|
|
14
|
-
_mouse?: THREE.Vector2;
|
|
15
|
-
_clock?: THREE.Clock;
|
|
16
|
-
_controls?: any;
|
|
17
|
-
_onFocus?: (e: FocusEvent) => void;
|
|
18
|
-
_noSupportWebgl: boolean;
|
|
19
|
-
_raycaster: THREE.Raycaster;
|
|
20
|
-
_lastFocused?: THREE.Object3D;
|
|
21
|
-
containable(component: Component): boolean;
|
|
22
|
-
is3dContainer(): boolean;
|
|
23
|
-
createObjects(components: Component[]): void;
|
|
24
|
-
destroy_scene3d(): void;
|
|
25
|
-
update(): void;
|
|
26
|
-
init_scene3d(): void;
|
|
27
|
-
threed_animate(): void;
|
|
28
|
-
stop(): void;
|
|
29
|
-
get scene3d(): THREE.Scene | undefined;
|
|
30
|
-
get renderer3d(): THREE.WebGLRenderer | undefined;
|
|
31
|
-
get mixer(): THREE.AnimationMixer | undefined;
|
|
32
|
-
render_threed(): void;
|
|
33
|
-
render(ctx: CanvasRenderingContext2D): void;
|
|
34
|
-
postrender(ctx: CanvasRenderingContext2D): void;
|
|
35
|
-
dispose(): void;
|
|
36
|
-
get layout(): import("@hatiolab/things-scene").LAYOUT;
|
|
37
|
-
get nature(): ComponentNature;
|
|
38
|
-
getObjectByRaycast(): THREE.Object3D<THREE.Event> | undefined;
|
|
39
|
-
getObjectsByRaycast(): THREE.Intersection<THREE.Object3D<THREE.Event>>[] | undefined;
|
|
40
|
-
_showWebglNoSupportText(context: CanvasRenderingContext2D): void;
|
|
41
|
-
createFloor(width: number, height: number): void;
|
|
42
|
-
onchange(after: Properties, before: Properties): void;
|
|
43
|
-
onmousedown(e: MouseEvent): void;
|
|
44
|
-
onmouseup(e: MouseEvent): void;
|
|
45
|
-
onmousemove(e: MouseEvent): void;
|
|
46
|
-
onmouseleave(e: MouseEvent): void;
|
|
47
|
-
onwheel(e: WheelEvent): void;
|
|
48
|
-
ondblclick(e: MouseEvent): void;
|
|
49
|
-
ondragstart(e: DragEvent): void;
|
|
50
|
-
ondragmove(e: DragEvent): void;
|
|
51
|
-
ondragend(e: DragEvent): void;
|
|
52
|
-
ontouchstart(e: TouchEvent): void;
|
|
53
|
-
onpan(e: TouchEvent): void;
|
|
54
|
-
ontouchend(e: TouchEvent): void;
|
|
55
|
-
onkeydown(e: KeyboardEvent): void;
|
|
56
|
-
onpinch(e: TouchEvent): void;
|
|
57
|
-
ondoubletap(): void;
|
|
58
|
-
handleMouseWheel(event: WheelEvent): void;
|
|
59
|
-
onredraw(): void;
|
|
60
|
-
}
|