@tetacom/ng-threejs-chart 1.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/.eslintrc.json +43 -0
- package/README.md +7 -0
- package/common/model/base-3d-point.d.ts +5 -0
- package/component/three/custom-series/custom-series.component.d.ts +20 -0
- package/component/three/public-api.d.ts +11 -0
- package/component/three/three-chart/area-3d/area-3d.component.d.ts +13 -0
- package/component/three/three-chart/axes-3d/axes-3d.component.d.ts +28 -0
- package/component/three/three-chart/base-3d-series/base3d-series.component.d.ts +15 -0
- package/component/three/three-chart/block-3d/block-3d.component.d.ts +28 -0
- package/component/three/three-chart/canvas/canvas.component.d.ts +11 -0
- package/component/three/three-chart/directive/canvas-3d-host.d.ts +19 -0
- package/component/three/three-chart/directive/public-api.d.ts +2 -0
- package/component/three/three-chart/directive/series-3d-host.d.ts +16 -0
- package/component/three/three-chart/line-3d/line-3d.component.d.ts +19 -0
- package/component/three/three-chart/model/axes-3d-min-max.d.ts +5 -0
- package/component/three/three-chart/model/axis-3d-point.d.ts +4 -0
- package/component/three/three-chart/model/base-3d-series.d.ts +11 -0
- package/component/three/three-chart/model/base-3d-three-point.d.ts +8 -0
- package/component/three/three-chart/model/block-3d-series.d.ts +6 -0
- package/component/three/three-chart/model/block3d-point.d.ts +5 -0
- package/component/three/three-chart/model/enum/public-api.d.ts +1 -0
- package/component/three/three-chart/model/enum/series-3d-type.d.ts +4 -0
- package/component/three/three-chart/model/i-3d-chart-config.d.ts +14 -0
- package/component/three/three-chart/model/line-3d-point.d.ts +5 -0
- package/component/three/three-chart/model/line-3d-series.d.ts +6 -0
- package/component/three/three-chart/model/public-api.d.ts +10 -0
- package/component/three/three-chart/scene/scene.component.d.ts +20 -0
- package/component/three/three-chart/service/chart-3d.service.d.ts +21 -0
- package/component/three/three-chart/three-chart.component.d.ts +19 -0
- package/esm2022/common/model/base-3d-point.mjs +2 -0
- package/esm2022/component/three/custom-series/custom-series.component.mjs +32 -0
- package/esm2022/component/three/public-api.mjs +12 -0
- package/esm2022/component/three/three-chart/area-3d/area-3d.component.mjs +54 -0
- package/esm2022/component/three/three-chart/axes-3d/axes-3d.component.mjs +59 -0
- package/esm2022/component/three/three-chart/base-3d-series/base3d-series.component.mjs +28 -0
- package/esm2022/component/three/three-chart/block-3d/block-3d.component.mjs +74 -0
- package/esm2022/component/three/three-chart/canvas/canvas.component.mjs +22 -0
- package/esm2022/component/three/three-chart/directive/canvas-3d-host.mjs +45 -0
- package/esm2022/component/three/three-chart/directive/public-api.mjs +3 -0
- package/esm2022/component/three/three-chart/directive/series-3d-host.mjs +45 -0
- package/esm2022/component/three/three-chart/line-3d/line-3d.component.mjs +40 -0
- package/esm2022/component/three/three-chart/model/axes-3d-min-max.mjs +2 -0
- package/esm2022/component/three/three-chart/model/axis-3d-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/base-3d-series.mjs +2 -0
- package/esm2022/component/three/three-chart/model/base-3d-three-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/block-3d-series.mjs +2 -0
- package/esm2022/component/three/three-chart/model/block3d-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/enum/public-api.mjs +2 -0
- package/esm2022/component/three/three-chart/model/enum/series-3d-type.mjs +6 -0
- package/esm2022/component/three/three-chart/model/i-3d-chart-config.mjs +2 -0
- package/esm2022/component/three/three-chart/model/line-3d-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/line-3d-series.mjs +2 -0
- package/esm2022/component/three/three-chart/model/public-api.mjs +11 -0
- package/esm2022/component/three/three-chart/scene/scene.component.mjs +45 -0
- package/esm2022/component/three/three-chart/service/chart-3d.service.mjs +83 -0
- package/esm2022/component/three/three-chart/three-chart.component.mjs +45 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/tetacom-ng-threejs-chart.mjs +5 -0
- package/fesm2022/tetacom-ng-threejs-chart.mjs +496 -0
- package/fesm2022/tetacom-ng-threejs-chart.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/package.json +29 -0
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": ["../../.eslintrc.json"],
|
|
3
|
+
"ignorePatterns": ["!**/*"],
|
|
4
|
+
"overrides": [
|
|
5
|
+
{
|
|
6
|
+
"files": ["*.ts"],
|
|
7
|
+
"extends": [
|
|
8
|
+
"plugin:@nx/angular",
|
|
9
|
+
"plugin:@angular-eslint/template/process-inline-templates"
|
|
10
|
+
],
|
|
11
|
+
"rules": {
|
|
12
|
+
"@angular-eslint/directive-selector": [
|
|
13
|
+
"error",
|
|
14
|
+
{
|
|
15
|
+
"type": "attribute",
|
|
16
|
+
"prefix": "ngComponents",
|
|
17
|
+
"style": "camelCase"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"@angular-eslint/component-selector": [
|
|
21
|
+
"error",
|
|
22
|
+
{
|
|
23
|
+
"type": "element",
|
|
24
|
+
"prefix": "ng-components",
|
|
25
|
+
"style": "kebab-case"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"files": ["*.html"],
|
|
32
|
+
"extends": ["plugin:@nx/angular-template"],
|
|
33
|
+
"rules": {}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"files": ["*.json"],
|
|
37
|
+
"parser": "jsonc-eslint-parser",
|
|
38
|
+
"rules": {
|
|
39
|
+
"@nx/dependency-checks": "error"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { Base3dSeriesComponent } from '../three-chart/base-3d-series/base3d-series.component';
|
|
3
|
+
import { Base3dPoint } from '../../../common/model/base-3d-point';
|
|
4
|
+
import { Chart3dService } from '../three-chart/service/chart-3d.service';
|
|
5
|
+
import { NgtStore } from 'angular-three';
|
|
6
|
+
import { Observable } from 'rxjs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class CustomSeriesComponent extends Base3dSeriesComponent<Base3dPoint> implements OnInit {
|
|
9
|
+
svc: Chart3dService;
|
|
10
|
+
ngtStore: NgtStore;
|
|
11
|
+
scales: Observable<{
|
|
12
|
+
x: any;
|
|
13
|
+
y: any;
|
|
14
|
+
z: any;
|
|
15
|
+
}>;
|
|
16
|
+
constructor(svc: Chart3dService, ngtStore: NgtStore);
|
|
17
|
+
ngOnInit(): void;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CustomSeriesComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CustomSeriesComponent, "teta-custom-series", never, {}, {}, never, never, true, never>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './custom-series/custom-series.component';
|
|
2
|
+
export * from './three-chart/area-3d/area-3d.component';
|
|
3
|
+
export * from './three-chart/axes-3d/axes-3d.component';
|
|
4
|
+
export * from './three-chart/base-3d-series/base3d-series.component';
|
|
5
|
+
export * from './three-chart/block-3d/block-3d.component';
|
|
6
|
+
export * from './three-chart/directive/public-api';
|
|
7
|
+
export * from './three-chart/line-3d/line-3d.component';
|
|
8
|
+
export * from './three-chart/model/public-api';
|
|
9
|
+
export * from './three-chart/canvas/canvas.component';
|
|
10
|
+
export * from './three-chart/scene/scene.component';
|
|
11
|
+
export * from './three-chart/three-chart.component';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { GridHelper } from 'three';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class Area3dComponent implements OnInit {
|
|
5
|
+
area: GridHelper[];
|
|
6
|
+
protected readonly THREE: any;
|
|
7
|
+
createArea(): GridHelper[];
|
|
8
|
+
getMainGrid(): any;
|
|
9
|
+
createGrid(gridsCount: number, gridSize: number, rectsInGrid: number, direction: 'vertical' | 'horizontal'): GridHelper[];
|
|
10
|
+
ngOnInit(): void;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Area3dComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Area3dComponent, "teta-area-3d", never, {}, {}, never, never, true, never>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { Euler } from 'three';
|
|
3
|
+
import { Axis3dPoint } from '../model/axis-3d-point';
|
|
4
|
+
import { Chart3dService } from '../service/chart-3d.service';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
6
|
+
import { Axes3dMinMax } from '../model/axes-3d-min-max';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class Axes3dComponent implements OnDestroy {
|
|
9
|
+
rotation: Euler;
|
|
10
|
+
axes: Observable<{
|
|
11
|
+
z: Axis3dPoint[];
|
|
12
|
+
y: Axis3dPoint[];
|
|
13
|
+
x: Axis3dPoint[];
|
|
14
|
+
}>;
|
|
15
|
+
private _alive;
|
|
16
|
+
protected readonly chartService: Chart3dService;
|
|
17
|
+
constructor();
|
|
18
|
+
createAxes(scales: any, minMax: Axes3dMinMax): {
|
|
19
|
+
z: any;
|
|
20
|
+
y: any;
|
|
21
|
+
x: any;
|
|
22
|
+
};
|
|
23
|
+
generateTicks(extremes: number[], count?: number): any;
|
|
24
|
+
trackBy(i: any): any;
|
|
25
|
+
ngOnDestroy(): void;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Axes3dComponent, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Axes3dComponent, "teta-axes-3d", never, { "rotation": { "alias": "rotation"; "required": false; }; }, {}, never, never, true, never>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Chart3dService } from '../service/chart-3d.service';
|
|
2
|
+
import { Base3dThreePoint } from '../model/base-3d-three-point';
|
|
3
|
+
import { Base3dSeries } from '../model/base-3d-series';
|
|
4
|
+
import { NgtStore } from 'angular-three';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class Base3dSeriesComponent<T extends Base3dThreePoint> {
|
|
7
|
+
protected svc: Chart3dService;
|
|
8
|
+
protected ngtStore: NgtStore;
|
|
9
|
+
set series(series: Base3dSeries<T>);
|
|
10
|
+
get series(): Base3dSeries<T>;
|
|
11
|
+
protected _series: Base3dSeries<T>;
|
|
12
|
+
constructor(svc: Chart3dService, ngtStore: NgtStore);
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Base3dSeriesComponent<any>, never>;
|
|
14
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Base3dSeriesComponent<any>, "teta-base3d-series", never, { "series": { "alias": "series"; "required": false; }; }, {}, never, never, true, never>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { NgtStore } from 'angular-three';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
import { Texture } from 'three';
|
|
6
|
+
import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
|
|
7
|
+
import { Block3dPoint } from '../model/block3d-point';
|
|
8
|
+
import { Chart3dService } from '../service/chart-3d.service';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class Block3dComponent<T extends Block3dPoint> extends Base3dSeriesComponent<T> implements OnDestroy {
|
|
11
|
+
svc: Chart3dService;
|
|
12
|
+
ngtStore: NgtStore;
|
|
13
|
+
blocks: Observable<{
|
|
14
|
+
component: THREE.Mesh<THREE.PlaneGeometry, THREE.MeshBasicMaterial>;
|
|
15
|
+
position: number;
|
|
16
|
+
}[][]>;
|
|
17
|
+
private _alive;
|
|
18
|
+
protected readonly Math: Math;
|
|
19
|
+
constructor(svc: Chart3dService, ngtStore: NgtStore);
|
|
20
|
+
createSVGTexture(y: number, y1: number, iconId: number): {
|
|
21
|
+
component: any;
|
|
22
|
+
position: number;
|
|
23
|
+
}[];
|
|
24
|
+
createTexturedPlane(texture: Texture, width: number, height: number, visible: boolean): any;
|
|
25
|
+
ngOnDestroy(): void;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Block3dComponent<any>, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Block3dComponent<any>, "teta-block-3d", never, {}, {}, never, never, true, never>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SceneComponent } from '../scene/scene.component';
|
|
2
|
+
import { I3dChartConfig } from '../model/i-3d-chart-config';
|
|
3
|
+
import { Camera } from 'three';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class CanvasComponent {
|
|
6
|
+
scene: typeof SceneComponent;
|
|
7
|
+
camera: Camera;
|
|
8
|
+
data: I3dChartConfig;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CanvasComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CanvasComponent, "teta-canvas", never, { "scene": { "alias": "scene"; "required": false; }; "camera": { "alias": "camera"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, {}, never, never, true, never>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OnChanges, OnInit, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Camera } from 'three';
|
|
3
|
+
import { I3dChartConfig } from '../model/i-3d-chart-config';
|
|
4
|
+
import { SceneComponent } from '../scene/scene.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class Canvas3dHost implements OnInit, OnChanges {
|
|
7
|
+
private viewContainerRef;
|
|
8
|
+
scene: typeof SceneComponent;
|
|
9
|
+
camera: Camera;
|
|
10
|
+
data: I3dChartConfig;
|
|
11
|
+
private _init;
|
|
12
|
+
private _componentRef;
|
|
13
|
+
constructor(viewContainerRef: ViewContainerRef);
|
|
14
|
+
ngOnInit(): void;
|
|
15
|
+
ngOnChanges(): void;
|
|
16
|
+
createCanvas(): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Canvas3dHost, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Canvas3dHost, "[teta-canvas-3d-host]", never, { "scene": { "alias": "scene"; "required": false; }; "camera": { "alias": "camera"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, {}, never, never, true, never>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OnInit, SimpleChanges, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { Base3dSeries } from '../model/base-3d-series';
|
|
3
|
+
import { Base3dThreePoint } from '../model/base-3d-three-point';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class Series3dHost<T extends Base3dThreePoint> implements OnInit {
|
|
6
|
+
private viewContainerRef;
|
|
7
|
+
series: Base3dSeries<T>;
|
|
8
|
+
private seriesMap;
|
|
9
|
+
private _init;
|
|
10
|
+
private _componentRef;
|
|
11
|
+
constructor(viewContainerRef: ViewContainerRef);
|
|
12
|
+
ngOnInit(): void;
|
|
13
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Series3dHost<any>, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Series3dHost<any>, "[teta-series-3d-host]", never, { "series": { "alias": "series"; "required": false; }; }, {}, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { NgtStore } from 'angular-three';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { Chart3dService } from '../service/chart-3d.service';
|
|
5
|
+
import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
|
|
6
|
+
import { Line3dPoint } from '../model/line-3d-point';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class Line3dComponent extends Base3dSeriesComponent<Line3dPoint> implements OnDestroy {
|
|
9
|
+
svc: Chart3dService;
|
|
10
|
+
ngtStore: NgtStore;
|
|
11
|
+
points: Observable<[number, number, number]>;
|
|
12
|
+
private _alive;
|
|
13
|
+
protected readonly Math: Math;
|
|
14
|
+
constructor(svc: Chart3dService, ngtStore: NgtStore);
|
|
15
|
+
getPoints(scales: any): [number, number, number];
|
|
16
|
+
ngOnDestroy(): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Line3dComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Line3dComponent, "teta-line-3d", never, {}, {}, never, never, true, never>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Base3dThreePoint } from './base-3d-three-point';
|
|
2
|
+
import { Series3dType } from './enum/series-3d-type';
|
|
3
|
+
import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
|
|
4
|
+
export interface Base3dSeries<T extends Base3dThreePoint> {
|
|
5
|
+
name?: string;
|
|
6
|
+
type: Series3dType;
|
|
7
|
+
component?: typeof Base3dSeriesComponent;
|
|
8
|
+
data: T[];
|
|
9
|
+
visible?: boolean;
|
|
10
|
+
color?: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './series-3d-type';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Base3dSeries } from './base-3d-series';
|
|
2
|
+
import { Base3dThreePoint } from './base-3d-three-point';
|
|
3
|
+
export interface I3dChartConfig {
|
|
4
|
+
series?: Base3dSeries<Base3dThreePoint>[];
|
|
5
|
+
noDataText?: string;
|
|
6
|
+
xAxis?: minMax;
|
|
7
|
+
yAxis?: minMax;
|
|
8
|
+
zAxis?: minMax;
|
|
9
|
+
}
|
|
10
|
+
interface minMax {
|
|
11
|
+
min?: number;
|
|
12
|
+
max?: number;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './axes-3d-min-max';
|
|
2
|
+
export * from './axis-3d-point';
|
|
3
|
+
export * from './base-3d-series';
|
|
4
|
+
export * from './base-3d-three-point';
|
|
5
|
+
export * from './block3d-point';
|
|
6
|
+
export * from './enum/public-api';
|
|
7
|
+
export * from './i-3d-chart-config';
|
|
8
|
+
export * from './line-3d-point';
|
|
9
|
+
export * from './line-3d-series';
|
|
10
|
+
export * from './block-3d-series';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ChangeDetectorRef, OnInit } from '@angular/core';
|
|
2
|
+
import { NgtStore } from 'angular-three';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { Euler } from 'three';
|
|
5
|
+
import { I3dChartConfig } from '../model/i-3d-chart-config';
|
|
6
|
+
import { Chart3dService } from '../service/chart-3d.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class SceneComponent implements OnInit {
|
|
9
|
+
data: Observable<I3dChartConfig>;
|
|
10
|
+
rotation: Euler;
|
|
11
|
+
readonly store: NgtStore;
|
|
12
|
+
protected readonly Math: Math;
|
|
13
|
+
protected readonly chartService: Chart3dService;
|
|
14
|
+
protected readonly _cdr: ChangeDetectorRef;
|
|
15
|
+
constructor();
|
|
16
|
+
setRotation(): void;
|
|
17
|
+
ngOnInit(): void;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SceneComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SceneComponent, "teta-scene", never, {}, {}, never, never, true, never>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Axes3dMinMax } from '../model/axes-3d-min-max';
|
|
3
|
+
import { I3dChartConfig } from '../model/i-3d-chart-config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class Chart3dService {
|
|
6
|
+
minMax: Observable<Axes3dMinMax>;
|
|
7
|
+
data: Observable<I3dChartConfig>;
|
|
8
|
+
scales: Observable<{
|
|
9
|
+
x: any;
|
|
10
|
+
y: any;
|
|
11
|
+
z: any;
|
|
12
|
+
}>;
|
|
13
|
+
private data$;
|
|
14
|
+
constructor();
|
|
15
|
+
setData(data: any): void;
|
|
16
|
+
private getAxesMinMax;
|
|
17
|
+
private getMinMaxRange;
|
|
18
|
+
private getScales;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Chart3dService, never>;
|
|
20
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<Chart3dService>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChangeDetectorRef, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { NgtStore } from 'angular-three';
|
|
3
|
+
import { OrthographicCamera } from 'three';
|
|
4
|
+
import { I3dChartConfig } from './model/i-3d-chart-config';
|
|
5
|
+
import { SceneComponent } from './scene/scene.component';
|
|
6
|
+
import { Chart3dService } from './service/chart-3d.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class ThreeChartComponent implements OnInit, OnChanges {
|
|
9
|
+
data: I3dChartConfig;
|
|
10
|
+
scene: typeof SceneComponent;
|
|
11
|
+
camera: OrthographicCamera;
|
|
12
|
+
protected readonly chartService: Chart3dService;
|
|
13
|
+
protected readonly store: NgtStore;
|
|
14
|
+
protected readonly cdr: ChangeDetectorRef;
|
|
15
|
+
ngOnInit(): void;
|
|
16
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ThreeChartComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ThreeChartComponent, "teta-three-chart", never, { "data": { "alias": "data"; "required": false; }; }, {}, never, never, true, never>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS0zZC1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vbW9kZWwvYmFzZS0zZC1wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCYXNlM2RQb2ludCB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB6OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { Base3dSeriesComponent } from '../three-chart/base-3d-series/base3d-series.component';
|
|
4
|
+
import { Chart3dService } from '../three-chart/service/chart-3d.service';
|
|
5
|
+
import { extend, NgtArgs, NgtStore } from 'angular-three';
|
|
6
|
+
import * as THREE from 'three';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../three-chart/service/chart-3d.service";
|
|
9
|
+
import * as i2 from "angular-three";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
extend(THREE);
|
|
12
|
+
export class CustomSeriesComponent extends Base3dSeriesComponent {
|
|
13
|
+
constructor(svc, ngtStore) {
|
|
14
|
+
super(svc, ngtStore);
|
|
15
|
+
this.svc = svc;
|
|
16
|
+
this.ngtStore = ngtStore;
|
|
17
|
+
this.scales = this.svc.scales;
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
this.ngtStore.get('camera').zoom = 2;
|
|
22
|
+
this.ngtStore.get('camera').updateProjectionMatrix();
|
|
23
|
+
}, 1000);
|
|
24
|
+
}
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CustomSeriesComponent, deps: [{ token: i1.Chart3dService }, { token: i2.NgtStore }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: CustomSeriesComponent, isStandalone: true, selector: "teta-custom-series", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\" {scales:scales|async} as scales\">\n <ngt-mesh [position]=\"[scales.scales.x(this.series.data[0].x),scales.scales.y(this.series.data[0].y),scales.scales.z(this.series.data[0].z) ]\">\n <ngt-box-geometry *args=\"[5,5,5]\"></ngt-box-geometry>\n <ngt-mesh-basic-material></ngt-mesh-basic-material>\n </ngt-mesh>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CustomSeriesComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'teta-custom-series', standalone: true, imports: [CommonModule, NgtArgs], schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\" {scales:scales|async} as scales\">\n <ngt-mesh [position]=\"[scales.scales.x(this.series.data[0].x),scales.scales.y(this.series.data[0].y),scales.scales.z(this.series.data[0].z) ]\">\n <ngt-box-geometry *args=\"[5,5,5]\"></ngt-box-geometry>\n <ngt-mesh-basic-material></ngt-mesh-basic-material>\n </ngt-mesh>\n</ng-container>\n" }]
|
|
31
|
+
}], ctorParameters: () => [{ type: i1.Chart3dService }, { type: i2.NgtStore }] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlcmllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL2N1c3RvbS1zZXJpZXMvY3VzdG9tLXNlcmllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL2N1c3RvbS1zZXJpZXMvY3VzdG9tLXNlcmllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsR0FFdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBRTVGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7Ozs7O0FBRS9CLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQVVkLE1BQU0sT0FBTyxxQkFDWCxTQUFRLHFCQUFrQztJQUkxQyxZQUFxQixHQUFtQixFQUFXLFFBQWtCO1FBQ25FLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFERixRQUFHLEdBQUgsR0FBRyxDQUFnQjtRQUFXLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFbkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDdkQsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0FmVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixxR0N4QmxDLGtYQU1BLDJDRGFZLFlBQVksd0xBQUUsT0FBTzs7MkZBS3BCLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxXQUN2QixDQUFDLHNCQUFzQixDQUFDLG1CQUNoQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtCYXNlM2RTZXJpZXNDb21wb25lbnR9IGZyb20gJy4uL3RocmVlLWNoYXJ0L2Jhc2UtM2Qtc2VyaWVzL2Jhc2UzZC1zZXJpZXMuY29tcG9uZW50JztcbmltcG9ydCB7QmFzZTNkUG9pbnR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9tb2RlbC9iYXNlLTNkLXBvaW50JztcbmltcG9ydCB7Q2hhcnQzZFNlcnZpY2V9IGZyb20gJy4uL3RocmVlLWNoYXJ0L3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5pbXBvcnQge2V4dGVuZCwgTmd0QXJncywgTmd0U3RvcmV9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuZXh0ZW5kKFRIUkVFKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1jdXN0b20tc2VyaWVzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmd0QXJnc10sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tc2VyaWVzLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tU2VyaWVzQ29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZTNkU2VyaWVzQ29tcG9uZW50PEJhc2UzZFBvaW50PlxuICBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBzY2FsZXM6IE9ic2VydmFibGU8eyB4OyB5OyB6IH0+O1xuXG4gIGNvbnN0cnVjdG9yKG92ZXJyaWRlIHN2YzogQ2hhcnQzZFNlcnZpY2UsIG92ZXJyaWRlIG5ndFN0b3JlOiBOZ3RTdG9yZSkge1xuICAgIHN1cGVyKHN2Yywgbmd0U3RvcmUpO1xuICAgIHRoaXMuc2NhbGVzID0gdGhpcy5zdmMuc2NhbGVzO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm5ndFN0b3JlLmdldCgnY2FtZXJhJykuem9vbSA9IDI7XG4gICAgICB0aGlzLm5ndFN0b3JlLmdldCgnY2FtZXJhJykudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO1xuICAgIH0sIDEwMDApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIHtzY2FsZXM6c2NhbGVzfGFzeW5jfSBhcyBzY2FsZXNcIj5cbiAgICA8bmd0LW1lc2ggW3Bvc2l0aW9uXT1cIltzY2FsZXMuc2NhbGVzLngodGhpcy5zZXJpZXMuZGF0YVswXS54KSxzY2FsZXMuc2NhbGVzLnkodGhpcy5zZXJpZXMuZGF0YVswXS55KSxzY2FsZXMuc2NhbGVzLnoodGhpcy5zZXJpZXMuZGF0YVswXS56KSBdXCI+XG4gICAgICA8bmd0LWJveC1nZW9tZXRyeSAgICphcmdzPVwiWzUsNSw1XVwiPjwvbmd0LWJveC1nZW9tZXRyeT5cbiAgICAgIDxuZ3QtbWVzaC1iYXNpYy1tYXRlcmlhbD48L25ndC1tZXNoLWJhc2ljLW1hdGVyaWFsPlxuICAgIDwvbmd0LW1lc2g+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './custom-series/custom-series.component';
|
|
2
|
+
export * from './three-chart/area-3d/area-3d.component';
|
|
3
|
+
export * from './three-chart/axes-3d/axes-3d.component';
|
|
4
|
+
export * from './three-chart/base-3d-series/base3d-series.component';
|
|
5
|
+
export * from './three-chart/block-3d/block-3d.component';
|
|
6
|
+
export * from './three-chart/directive/public-api';
|
|
7
|
+
export * from './three-chart/line-3d/line-3d.component';
|
|
8
|
+
export * from './three-chart/model/public-api';
|
|
9
|
+
export * from './three-chart/canvas/canvas.component';
|
|
10
|
+
export * from './three-chart/scene/scene.component';
|
|
11
|
+
export * from './three-chart/three-chart.component';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2N1c3RvbS1zZXJpZXMvY3VzdG9tLXNlcmllcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aHJlZS1jaGFydC9hcmVhLTNkL2FyZWEtM2QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvYXhlcy0zZC9heGVzLTNkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2Jhc2UtM2Qtc2VyaWVzL2Jhc2UzZC1zZXJpZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvYmxvY2stM2QvYmxvY2stM2QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvZGlyZWN0aXZlL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90aHJlZS1jaGFydC9saW5lLTNkL2xpbmUtM2QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvbW9kZWwvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2NhbnZhcy9jYW52YXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvc2NlbmUvc2NlbmUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvdGhyZWUtY2hhcnQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
import { GridHelper } from 'three';
|
|
5
|
+
import { extend, NgtArgs } from 'angular-three';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
extend(THREE);
|
|
9
|
+
export class Area3dComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.THREE = THREE;
|
|
12
|
+
}
|
|
13
|
+
createArea() {
|
|
14
|
+
const grids = [];
|
|
15
|
+
grids.push(this.getMainGrid());
|
|
16
|
+
grids.push(...this.createGrid(4, 25, 3, 'vertical'));
|
|
17
|
+
grids.push(...this.createGrid(4, 25, 3, 'horizontal'));
|
|
18
|
+
return grids;
|
|
19
|
+
}
|
|
20
|
+
getMainGrid() {
|
|
21
|
+
const mainGrid = new GridHelper(100, 12);
|
|
22
|
+
mainGrid.position.set(0, 0, 0);
|
|
23
|
+
mainGrid.rotateZ(Math.PI / 2);
|
|
24
|
+
return mainGrid;
|
|
25
|
+
}
|
|
26
|
+
createGrid(gridsCount, gridSize, rectsInGrid, direction) {
|
|
27
|
+
const plane = [];
|
|
28
|
+
for (let p = 0; p <= gridsCount - 1; p++) {
|
|
29
|
+
plane[p] = new THREE.GridHelper(gridSize, rectsInGrid, '#666', '#666');
|
|
30
|
+
plane[p].renderOrder = -1;
|
|
31
|
+
switch (direction) {
|
|
32
|
+
case 'horizontal':
|
|
33
|
+
plane[p].position.set(gridSize / 2, -50, gridSize * p + gridSize / 2 - 50);
|
|
34
|
+
break;
|
|
35
|
+
case 'vertical':
|
|
36
|
+
plane[p].position.set(gridSize / 2, gridSize * p + gridSize / 2 - 50, -50);
|
|
37
|
+
plane[p].rotateZ(Math.PI / 2);
|
|
38
|
+
plane[p].rotateX(Math.PI / 2);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return plane;
|
|
43
|
+
}
|
|
44
|
+
ngOnInit() {
|
|
45
|
+
this.area = this.createArea();
|
|
46
|
+
}
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Area3dComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: Area3dComponent, isStandalone: true, selector: "teta-area-3d", ngImport: i0, template: "<ngt-mesh>\n <ngt-mesh-basic-material [side]=\"THREE.DoubleSide\"></ngt-mesh-basic-material>\n <ng-container *ngFor=\"let rect of area\">\n <ngt-primitive *args=\"[rect]\"></ngt-primitive>\n </ng-container>\n</ngt-mesh>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Area3dComponent, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{ selector: 'teta-area-3d', standalone: true, imports: [CommonModule, NgtArgs], changeDetection: ChangeDetectionStrategy.OnPush, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ngt-mesh>\n <ngt-mesh-basic-material [side]=\"THREE.DoubleSide\"></ngt-mesh-basic-material>\n <ng-container *ngFor=\"let rect of area\">\n <ngt-primitive *args=\"[rect]\"></ngt-primitive>\n </ng-container>\n</ngt-mesh>\n" }]
|
|
53
|
+
}] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS0zZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2FyZWEtM2QvYXJlYS0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2FyZWEtM2QvYXJlYS0zZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsR0FFdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDbkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVoRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFVZCxNQUFNLE9BQU8sZUFBZTtJQVI1QjtRQVdxQixVQUFLLEdBQUcsS0FBSyxDQUFDO0tBb0RsQztJQWxEQyxVQUFVO1FBQ1IsTUFBTSxLQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUMvQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckQsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUN2RCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxVQUFVLENBQ1IsVUFBa0IsRUFDbEIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsU0FBb0M7UUFFcEMsTUFBTSxLQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUMvQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdkUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQixRQUFRLFNBQVMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLFlBQVk7b0JBQ2YsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ25CLFFBQVEsR0FBRyxDQUFDLEVBQ1osQ0FBQyxFQUFFLEVBQ0gsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FDakMsQ0FBQztvQkFDRixNQUFNO2dCQUNSLEtBQUssVUFBVTtvQkFDYixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDbkIsUUFBUSxHQUFHLENBQUMsRUFDWixRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUNoQyxDQUFDLEVBQUUsQ0FDSixDQUFDO29CQUNGLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDOUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUM5QixNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs4R0F0RFUsZUFBZTtrR0FBZixlQUFlLHdFQ3JCNUIscU9BTUEsMkNEV1ksWUFBWSw0SkFBRSxPQUFPOzsyRkFJcEIsZUFBZTtrQkFSM0IsU0FBUzsrQkFDRSxjQUFjLGNBRVosSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxtQkFDZix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IEdyaWRIZWxwZXIgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBleHRlbmQsIE5ndEFyZ3MgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcblxuZXh0ZW5kKFRIUkVFKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1hcmVhLTNkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FyZWEtM2QuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ3RBcmdzXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgQXJlYTNkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGFyZWE6IEdyaWRIZWxwZXJbXTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgVEhSRUUgPSBUSFJFRTtcblxuICBjcmVhdGVBcmVhKCkge1xuICAgIGNvbnN0IGdyaWRzOiBHcmlkSGVscGVyW10gPSBbXTtcbiAgICBncmlkcy5wdXNoKHRoaXMuZ2V0TWFpbkdyaWQoKSk7XG4gICAgZ3JpZHMucHVzaCguLi50aGlzLmNyZWF0ZUdyaWQoNCwgMjUsIDMsICd2ZXJ0aWNhbCcpKTtcbiAgICBncmlkcy5wdXNoKC4uLnRoaXMuY3JlYXRlR3JpZCg0LCAyNSwgMywgJ2hvcml6b250YWwnKSk7XG4gICAgcmV0dXJuIGdyaWRzO1xuICB9XG5cbiAgZ2V0TWFpbkdyaWQoKSB7XG4gICAgY29uc3QgbWFpbkdyaWQgPSBuZXcgR3JpZEhlbHBlcigxMDAsIDEyKTtcbiAgICBtYWluR3JpZC5wb3NpdGlvbi5zZXQoMCwgMCwgMCk7XG4gICAgbWFpbkdyaWQucm90YXRlWihNYXRoLlBJIC8gMik7XG4gICAgcmV0dXJuIG1haW5HcmlkO1xuICB9XG5cbiAgY3JlYXRlR3JpZChcbiAgICBncmlkc0NvdW50OiBudW1iZXIsXG4gICAgZ3JpZFNpemU6IG51bWJlcixcbiAgICByZWN0c0luR3JpZDogbnVtYmVyLFxuICAgIGRpcmVjdGlvbjogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJ1xuICApIHtcbiAgICBjb25zdCBwbGFuZTogR3JpZEhlbHBlcltdID0gW107XG4gICAgZm9yIChsZXQgcCA9IDA7IHAgPD0gZ3JpZHNDb3VudCAtIDE7IHArKykge1xuICAgICAgcGxhbmVbcF0gPSBuZXcgVEhSRUUuR3JpZEhlbHBlcihncmlkU2l6ZSwgcmVjdHNJbkdyaWQsICcjNjY2JywgJyM2NjYnKTtcbiAgICAgIHBsYW5lW3BdLnJlbmRlck9yZGVyID0gLTE7XG4gICAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgICBjYXNlICdob3Jpem9udGFsJzpcbiAgICAgICAgICBwbGFuZVtwXS5wb3NpdGlvbi5zZXQoXG4gICAgICAgICAgICBncmlkU2l6ZSAvIDIsXG4gICAgICAgICAgICAtNTAsXG4gICAgICAgICAgICBncmlkU2l6ZSAqIHAgKyBncmlkU2l6ZSAvIDIgLSA1MFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgICBwbGFuZVtwXS5wb3NpdGlvbi5zZXQoXG4gICAgICAgICAgICBncmlkU2l6ZSAvIDIsXG4gICAgICAgICAgICBncmlkU2l6ZSAqIHAgKyBncmlkU2l6ZSAvIDIgLSA1MCxcbiAgICAgICAgICAgIC01MFxuICAgICAgICAgICk7XG4gICAgICAgICAgcGxhbmVbcF0ucm90YXRlWihNYXRoLlBJIC8gMik7XG4gICAgICAgICAgcGxhbmVbcF0ucm90YXRlWChNYXRoLlBJIC8gMik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwbGFuZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXJlYSA9IHRoaXMuY3JlYXRlQXJlYSgpO1xuICB9XG59XG4iLCI8bmd0LW1lc2g+XG4gIDxuZ3QtbWVzaC1iYXNpYy1tYXRlcmlhbCBbc2lkZV09XCJUSFJFRS5Eb3VibGVTaWRlXCI+PC9uZ3QtbWVzaC1iYXNpYy1tYXRlcmlhbD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVjdCBvZiBhcmVhXCI+XG4gICAgPG5ndC1wcmltaXRpdmUgKmFyZ3M9XCJbcmVjdF1cIj48L25ndC1wcmltaXRpdmU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZ3QtbWVzaD5cbiJdfQ==
|