@yangyongtao/gaea 1.0.3 → 1.1.0
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 +158 -67
- package/package.json +28 -7
- package/public/Gaea.apple-touch-icon.png +0 -0
- package/public/Gaea.apple-touch-icon.png.import +35 -0
- package/public/Gaea.audio.worklet.js +211 -0
- package/public/Gaea.html +245 -0
- package/public/Gaea.icon.png +0 -0
- package/public/Gaea.icon.png.import +35 -0
- package/public/Gaea.js +782 -0
- package/public/Gaea.png +0 -0
- package/public/Gaea.png.import +35 -0
- package/public/Gaea.worker.js +1 -0
- package/public/GaeaApp.html +275 -0
- package/public/GaeaMethods.js +4342 -0
- package/public/GaeaModule.html +276 -0
- package/public/config.js +76 -0
- package/public/constants.js +185 -0
- package/public/favicon.ico +0 -0
- package/public/image/1.png +0 -0
- package/public/image/12-min-min.gif +0 -0
- package/public/image/3.png +0 -0
- package/public/image/labelImg//345/217/263/350/276/271.png +0 -0
- package/public/image/labelImg//345/267/246/350/276/271.png +0 -0
- package/public/image/labelImg//346/260/264/344/275/215.png +0 -0
- package/public/image/screenIcon//345/205/266/344/273/226.png +0 -0
- package/public/image/screenIcon//345/256/211/345/205/250/347/233/221/346/265/213/350/201/232/345/220/210-/347/272/242.png +0 -0
- package/public/image/screenIcon//345/256/211/345/205/250/347/233/221/346/265/213/350/201/232/345/220/210-/347/273/277.png +0 -0
- package/public/image/screenIcon//346/212/242/351/231/251/345/215/225/344/275/215.png +0 -0
- package/public/image/screenIcon//346/226/255/351/235/242.png +0 -0
- package/public/image/screenIcon//346/227/240/344/272/272/346/234/272.png +0 -0
- package/public/image/screenIcon//346/227/240/344/272/272/346/234/272/345/237/272/345/234/260.png +0 -0
- package/public/image/screenIcon//346/260/264/345/272/223/347/253/231.png +0 -0
- package/public/image/screenIcon//346/260/264/346/226/207/346/265/213/347/253/231.png +0 -0
- package/public/image/screenIcon//346/260/264/351/227/270.png +0 -0
- package/public/image/screenIcon//346/262/263/351/201/223/347/253/231-/346/227/240/346/225/260/346/215/256.png +0 -0
- package/public/image/screenIcon//346/262/263/351/201/223/347/253/231-/346/255/243/345/270/270.png +0 -0
- package/public/image/screenIcon//346/262/263/351/201/223/347/253/231-/350/266/205/344/277/235.png +0 -0
- package/public/image/screenIcon//346/262/263/351/201/223/347/253/231-/350/266/205/350/255/246.png +0 -0
- package/public/image/screenIcon//346/263/265/347/253/231-/347/201/260.png +0 -0
- package/public/image/screenIcon//346/263/265/347/253/231-/347/273/277.png +0 -0
- package/public/image/screenIcon//346/265/201/351/207/217/346/265/213/347/253/231.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230-1/347/272/247.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230-2/347/272/247.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230-3/347/272/247.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230-4/347/272/247.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230-5/347/272/247.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230-/346/251/231.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230-/347/272/242.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230-/347/273/277.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230-/350/247/204/346/250/241/344/273/245/344/270/213.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230-/351/273/204.png +0 -0
- package/public/image/screenIcon//346/265/267/345/241/230.png +0 -0
- package/public/image/screenIcon//346/275/256/344/275/215.png +0 -0
- package/public/image/screenIcon//346/275/256/344/275/215/347/253/231-/346/227/240/346/225/260/346/215/256.png +0 -0
- package/public/image/screenIcon//346/275/256/344/275/215/347/253/231-/346/255/243/345/270/270.png +0 -0
- package/public/image/screenIcon//346/275/256/344/275/215/347/253/231-/350/266/205/344/277/235.png +0 -0
- package/public/image/screenIcon//346/275/256/344/275/215/347/253/231-/350/266/205/350/255/246.png +0 -0
- package/public/image/screenIcon//347/211/251/350/265/204/344/273/223/345/272/223.png +0 -0
- package/public/image/screenIcon//347/220/203/346/234/272-/345/205/263.png +0 -0
- package/public/image/screenIcon//347/220/203/346/234/272-/345/274/200.png +0 -0
- package/public/image/screenIcon//347/220/203/346/234/272-/347/272/242.png +0 -0
- package/public/image/screenIcon//350/247/206/351/242/221/347/233/221/346/216/247.png +0 -0
- package/public/image/screenIcon//351/227/270/351/227/250-/347/201/260.png +0 -0
- package/public/image/screenIcon//351/227/270/351/227/250-/347/273/277.png +0 -0
- package/public/image/screenIcon//351/230/262/346/264/252/344/273/223/345/272/223.png +0 -0
- package/public/image/screenIcon//351/232/220/346/202/243.png +0 -0
- package/public/image/screenIcon//351/233/250/351/207/217/347/253/231-/346/265/205/350/223/235.png +0 -0
- package/public/image/screenIcon//351/233/250/351/207/217/347/253/231-/347/201/260.png +0 -0
- package/public/image/screenIcon//351/233/250/351/207/217/347/253/231-/347/262/211.png +0 -0
- package/public/image/screenIcon//351/233/250/351/207/217/347/253/231-/347/272/242.png +0 -0
- package/public/image/screenIcon//351/233/250/351/207/217/347/253/231-/347/273/277.png +0 -0
- package/public/image/screenIcon//351/233/250/351/207/217/347/253/231-/350/223/235.png +0 -0
- package/public/image/screenIcon//351/233/250/351/207/217/347/253/231-/351/273/204.png +0 -0
- package/public/image/screenIcon//351/233/250/351/207/217/347/253/231-/351/273/221.png +0 -0
- package/public/image/screenIcon//351/243/216/351/200/237.png +0 -0
- package/public/image/screenIcon//351/243/216/351/200/237/346/265/213/347/253/231.png +0 -0
- package/public/image//346/260/264/346/226/207.gif +0 -0
- package/public/image//350/211/262/345/270/246.png +0 -0
- package/public/index.html +22 -0
- package/public/index.js +185662 -0
- package/public/jsWebControl-1.0.0.min.js +31 -0
- package/public/jsencrypt.min.js +1 -0
- package/public/math/Box2.js +203 -0
- package/public/math/Box3.js +532 -0
- package/public/math/Color.js +605 -0
- package/public/math/ColorManagement.js +74 -0
- package/public/math/Cylindrical.js +61 -0
- package/public/math/EngineUtils.js +81 -0
- package/public/math/Euler.js +315 -0
- package/public/math/Frustum.js +162 -0
- package/public/math/Interpolant.js +241 -0
- package/public/math/Line3.js +115 -0
- package/public/math/MathUtils.js +345 -0
- package/public/math/Matrix3.js +365 -0
- package/public/math/Matrix4.js +858 -0
- package/public/math/Plane.js +205 -0
- package/public/math/Quaternion.js +724 -0
- package/public/math/Ray.js +493 -0
- package/public/math/Sphere.js +243 -0
- package/public/math/Spherical.js +86 -0
- package/public/math/SphericalHarmonics3.js +243 -0
- package/public/math/Triangle.js +299 -0
- package/public/math/Vector2.js +464 -0
- package/public/math/Vector3.js +715 -0
- package/public/math/Vector4.js +644 -0
- package/public/math/interpolants/CubicInterpolant.js +151 -0
- package/public/math/interpolants/DiscreteInterpolant.js +26 -0
- package/public/math/interpolants/LinearInterpolant.js +38 -0
- package/public/math/interpolants/QuaternionLinearInterpolant.js +39 -0
- package/public/static/Cloud.png +0 -0
- package/public/static/Global2.jpg +0 -0
- package/public/static/css/main.css +170 -0
- package/public/static/geojson//346/265/267/345/241/230.geojson +99 -0
- package/public/static/img/loading.gif +0 -0
- package/public/static/js/app.js +359 -0
- package/public/static/js/appcontroller.js +207 -0
- package/public/static/js/dist/game.dev.js +137 -0
- package/public/static/js/env.js +74 -0
- package/public/static/js/event/event.js +107 -0
- package/public/static/js/init.js +8 -0
- package/public/static/js/initcloudmorph.js +1 -0
- package/public/static/js/log.js +35 -0
- package/public/static/js/network/ajax.js +29 -0
- package/public/static/js/network/rtcp.js +172 -0
- package/public/static/js/network/socket.js +106 -0
- package/public/web-control.min.js +2 -0
- package/scripts/postinstall.mjs +127 -0
- package/src/GaeaMethods.js +68 -405
- package/src/components/FlyAlongRoute.vue +1 -0
- package/src/components/WeatherControl.vue +2 -0
- package/src/directives/vDrag.js +70 -0
- package/src/index.js +1 -8
- package/src/plugin.js +16 -0
- package/src/utils.js +10 -21
- package/src/vite-plugin.js +117 -0
- package/public/static/1111.res +0 -0
- package/src/config.js +0 -40
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { ZeroCurvatureEnding } from '../../constants.js';
|
|
2
|
+
import { Interpolant } from '../Interpolant.js';
|
|
3
|
+
import { WrapAroundEnding, ZeroSlopeEnding } from '../../constants.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Fast and simple cubic spline interpolant.
|
|
7
|
+
*
|
|
8
|
+
* It was derived from a Hermitian construction setting the first derivative
|
|
9
|
+
* at each sample position to the linear slope between neighboring positions
|
|
10
|
+
* over their parameter interval.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
class CubicInterpolant extends Interpolant {
|
|
14
|
+
|
|
15
|
+
constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {
|
|
16
|
+
|
|
17
|
+
super( parameterPositions, sampleValues, sampleSize, resultBuffer );
|
|
18
|
+
|
|
19
|
+
this._weightPrev = - 0;
|
|
20
|
+
this._offsetPrev = - 0;
|
|
21
|
+
this._weightNext = - 0;
|
|
22
|
+
this._offsetNext = - 0;
|
|
23
|
+
|
|
24
|
+
this.DefaultSettings_ = {
|
|
25
|
+
|
|
26
|
+
endingStart: ZeroCurvatureEnding,
|
|
27
|
+
endingEnd: ZeroCurvatureEnding
|
|
28
|
+
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
intervalChanged_( i1, t0, t1 ) {
|
|
34
|
+
|
|
35
|
+
const pp = this.parameterPositions;
|
|
36
|
+
let iPrev = i1 - 2,
|
|
37
|
+
iNext = i1 + 1,
|
|
38
|
+
|
|
39
|
+
tPrev = pp[ iPrev ],
|
|
40
|
+
tNext = pp[ iNext ];
|
|
41
|
+
|
|
42
|
+
if ( tPrev === undefined ) {
|
|
43
|
+
|
|
44
|
+
switch ( this.getSettings_().endingStart ) {
|
|
45
|
+
|
|
46
|
+
case ZeroSlopeEnding:
|
|
47
|
+
|
|
48
|
+
// f'(t0) = 0
|
|
49
|
+
iPrev = i1;
|
|
50
|
+
tPrev = 2 * t0 - t1;
|
|
51
|
+
|
|
52
|
+
break;
|
|
53
|
+
|
|
54
|
+
case WrapAroundEnding:
|
|
55
|
+
|
|
56
|
+
// use the other end of the curve
|
|
57
|
+
iPrev = pp.length - 2;
|
|
58
|
+
tPrev = t0 + pp[ iPrev ] - pp[ iPrev + 1 ];
|
|
59
|
+
|
|
60
|
+
break;
|
|
61
|
+
|
|
62
|
+
default: // ZeroCurvatureEnding
|
|
63
|
+
|
|
64
|
+
// f''(t0) = 0 a.k.a. Natural Spline
|
|
65
|
+
iPrev = i1;
|
|
66
|
+
tPrev = t1;
|
|
67
|
+
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if ( tNext === undefined ) {
|
|
73
|
+
|
|
74
|
+
switch ( this.getSettings_().endingEnd ) {
|
|
75
|
+
|
|
76
|
+
case ZeroSlopeEnding:
|
|
77
|
+
|
|
78
|
+
// f'(tN) = 0
|
|
79
|
+
iNext = i1;
|
|
80
|
+
tNext = 2 * t1 - t0;
|
|
81
|
+
|
|
82
|
+
break;
|
|
83
|
+
|
|
84
|
+
case WrapAroundEnding:
|
|
85
|
+
|
|
86
|
+
// use the other end of the curve
|
|
87
|
+
iNext = 1;
|
|
88
|
+
tNext = t1 + pp[ 1 ] - pp[ 0 ];
|
|
89
|
+
|
|
90
|
+
break;
|
|
91
|
+
|
|
92
|
+
default: // ZeroCurvatureEnding
|
|
93
|
+
|
|
94
|
+
// f''(tN) = 0, a.k.a. Natural Spline
|
|
95
|
+
iNext = i1 - 1;
|
|
96
|
+
tNext = t0;
|
|
97
|
+
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const halfDt = ( t1 - t0 ) * 0.5,
|
|
103
|
+
stride = this.valueSize;
|
|
104
|
+
|
|
105
|
+
this._weightPrev = halfDt / ( t0 - tPrev );
|
|
106
|
+
this._weightNext = halfDt / ( tNext - t1 );
|
|
107
|
+
this._offsetPrev = iPrev * stride;
|
|
108
|
+
this._offsetNext = iNext * stride;
|
|
109
|
+
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
interpolate_( i1, t0, t, t1 ) {
|
|
113
|
+
|
|
114
|
+
const result = this.resultBuffer,
|
|
115
|
+
values = this.sampleValues,
|
|
116
|
+
stride = this.valueSize,
|
|
117
|
+
|
|
118
|
+
o1 = i1 * stride, o0 = o1 - stride,
|
|
119
|
+
oP = this._offsetPrev, oN = this._offsetNext,
|
|
120
|
+
wP = this._weightPrev, wN = this._weightNext,
|
|
121
|
+
|
|
122
|
+
p = ( t - t0 ) / ( t1 - t0 ),
|
|
123
|
+
pp = p * p,
|
|
124
|
+
ppp = pp * p;
|
|
125
|
+
|
|
126
|
+
// evaluate polynomials
|
|
127
|
+
|
|
128
|
+
const sP = - wP * ppp + 2 * wP * pp - wP * p;
|
|
129
|
+
const s0 = ( 1 + wP ) * ppp + ( - 1.5 - 2 * wP ) * pp + ( - 0.5 + wP ) * p + 1;
|
|
130
|
+
const s1 = ( - 1 - wN ) * ppp + ( 1.5 + wN ) * pp + 0.5 * p;
|
|
131
|
+
const sN = wN * ppp - wN * pp;
|
|
132
|
+
|
|
133
|
+
// combine data linearly
|
|
134
|
+
|
|
135
|
+
for ( let i = 0; i !== stride; ++ i ) {
|
|
136
|
+
|
|
137
|
+
result[ i ] =
|
|
138
|
+
sP * values[ oP + i ] +
|
|
139
|
+
s0 * values[ o0 + i ] +
|
|
140
|
+
s1 * values[ o1 + i ] +
|
|
141
|
+
sN * values[ oN + i ];
|
|
142
|
+
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return result;
|
|
146
|
+
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export { CubicInterpolant };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Interpolant } from '../Interpolant.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* Interpolant that evaluates to the sample value at the position preceding
|
|
6
|
+
* the parameter.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
class DiscreteInterpolant extends Interpolant {
|
|
10
|
+
|
|
11
|
+
constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {
|
|
12
|
+
|
|
13
|
+
super( parameterPositions, sampleValues, sampleSize, resultBuffer );
|
|
14
|
+
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interpolate_( i1 /*, t0, t, t1 */ ) {
|
|
18
|
+
|
|
19
|
+
return this.copySampleValue_( i1 - 1 );
|
|
20
|
+
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
export { DiscreteInterpolant };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Interpolant } from '../Interpolant.js';
|
|
2
|
+
|
|
3
|
+
class LinearInterpolant extends Interpolant {
|
|
4
|
+
|
|
5
|
+
constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {
|
|
6
|
+
|
|
7
|
+
super( parameterPositions, sampleValues, sampleSize, resultBuffer );
|
|
8
|
+
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interpolate_( i1, t0, t, t1 ) {
|
|
12
|
+
|
|
13
|
+
const result = this.resultBuffer,
|
|
14
|
+
values = this.sampleValues,
|
|
15
|
+
stride = this.valueSize,
|
|
16
|
+
|
|
17
|
+
offset1 = i1 * stride,
|
|
18
|
+
offset0 = offset1 - stride,
|
|
19
|
+
|
|
20
|
+
weight1 = ( t - t0 ) / ( t1 - t0 ),
|
|
21
|
+
weight0 = 1 - weight1;
|
|
22
|
+
|
|
23
|
+
for ( let i = 0; i !== stride; ++ i ) {
|
|
24
|
+
|
|
25
|
+
result[ i ] =
|
|
26
|
+
values[ offset0 + i ] * weight0 +
|
|
27
|
+
values[ offset1 + i ] * weight1;
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return result;
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
export { LinearInterpolant };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Interpolant } from '../Interpolant.js';
|
|
2
|
+
import { Quaternion } from '../Quaternion.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Spherical linear unit quaternion interpolant.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
class QuaternionLinearInterpolant extends Interpolant {
|
|
9
|
+
|
|
10
|
+
constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {
|
|
11
|
+
|
|
12
|
+
super( parameterPositions, sampleValues, sampleSize, resultBuffer );
|
|
13
|
+
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interpolate_( i1, t0, t, t1 ) {
|
|
17
|
+
|
|
18
|
+
const result = this.resultBuffer,
|
|
19
|
+
values = this.sampleValues,
|
|
20
|
+
stride = this.valueSize,
|
|
21
|
+
|
|
22
|
+
alpha = ( t - t0 ) / ( t1 - t0 );
|
|
23
|
+
|
|
24
|
+
let offset = i1 * stride;
|
|
25
|
+
|
|
26
|
+
for ( let end = offset + stride; offset !== end; offset += 4 ) {
|
|
27
|
+
|
|
28
|
+
Quaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha );
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return result;
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
export { QuaternionLinearInterpolant };
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
html, body {
|
|
2
|
+
height: 100%;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
body {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
#app-body {
|
|
11
|
+
/* position: fixed; */
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
display: flex;
|
|
14
|
+
height: 100%;
|
|
15
|
+
width: 100%;
|
|
16
|
+
justify-content: space-between;
|
|
17
|
+
flex-grow: 1;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
#app {
|
|
21
|
+
flex-grow: 1;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
#app-container {
|
|
25
|
+
height: 100%;
|
|
26
|
+
width: 100%;
|
|
27
|
+
border-radius: 5px 5px 5px 5px;
|
|
28
|
+
background-color: #102a43;
|
|
29
|
+
|
|
30
|
+
-webkit-box-shadow: 0px 0px 2px 2px rgba(219, 222, 222, 1);
|
|
31
|
+
-moz-box-shadow: 0px 0px 2px 2px rgba(219, 222, 222, 1);
|
|
32
|
+
box-shadow: 0px 0px 2px 2px rgba(25, 25, 25, 1);
|
|
33
|
+
|
|
34
|
+
-webkit-box-shadow: 0px 0px 2px 2px rgba(219, 222, 222, 1);
|
|
35
|
+
-moz-box-shadow: 0px 0px 2px 2px rgba(219, 222, 222, 1);
|
|
36
|
+
box-shadow: 0px 0px 2px 2px rgba(25, 25, 25, 1);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
#app-screen {
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
#discovery {
|
|
43
|
+
width: 12%;
|
|
44
|
+
flex-grow: 0;
|
|
45
|
+
margin-right: 5px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
#app-meta {
|
|
49
|
+
display: block;
|
|
50
|
+
padding-bottom: 10px;
|
|
51
|
+
flex-grow: 0;
|
|
52
|
+
align-items: center;
|
|
53
|
+
flex-shrink: 1;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
#chat {
|
|
57
|
+
margin-left: 5px;
|
|
58
|
+
width: 25%;
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: column;
|
|
61
|
+
flex-grow: 0;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
#discoverydropdown {
|
|
65
|
+
width: 100%;
|
|
66
|
+
border: 0px;
|
|
67
|
+
outline: 0px;
|
|
68
|
+
overflow: auto;
|
|
69
|
+
overflow-wrap: break-word;
|
|
70
|
+
background-color: #616e7c;
|
|
71
|
+
color: #eeeeee;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* #chatoutput {
|
|
75
|
+
flex-grow: 1;
|
|
76
|
+
margin-top: 0px;
|
|
77
|
+
margin-bottom: 5px;
|
|
78
|
+
border-radius: 2px;
|
|
79
|
+
} */
|
|
80
|
+
|
|
81
|
+
#chatoutput {
|
|
82
|
+
max-height: 100%;
|
|
83
|
+
overflow: auto;
|
|
84
|
+
overflow-wrap: break-word;
|
|
85
|
+
background-color: #616e7c;
|
|
86
|
+
color: #eeeeee;
|
|
87
|
+
flex-grow: 1;
|
|
88
|
+
margin-top: 0px;
|
|
89
|
+
margin-bottom: 5px;
|
|
90
|
+
border-radius: 2px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
#chatinput {
|
|
94
|
+
width: 100%;
|
|
95
|
+
display: flex;
|
|
96
|
+
flex-direction: row;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
#usernamelabel {
|
|
100
|
+
width: 100px;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
input[type="text"] {
|
|
104
|
+
width: 100%;
|
|
105
|
+
display: flex;
|
|
106
|
+
flex-direction: row;
|
|
107
|
+
color: #f0f4f8;
|
|
108
|
+
box-sizing: border-box;
|
|
109
|
+
background-color: #616e7c;
|
|
110
|
+
border: none;
|
|
111
|
+
border-radius: 2px;
|
|
112
|
+
margin: 5px auto;
|
|
113
|
+
transition: background-color 0.5s ease;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
#messagelabel {
|
|
117
|
+
width: 100px;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
#chatmessage {
|
|
121
|
+
width: 100%;
|
|
122
|
+
display: flex;
|
|
123
|
+
flex-direction: row;
|
|
124
|
+
background-color: #616e7c;
|
|
125
|
+
margin: 5px auto;
|
|
126
|
+
color: #f0f4f8;
|
|
127
|
+
border-radius: 2px;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.output-row {
|
|
131
|
+
display: flex;
|
|
132
|
+
flex-direction: row;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.output-user-label {
|
|
136
|
+
width: 80px;
|
|
137
|
+
flex: 0 0 33.33%;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.output-message-label {
|
|
141
|
+
width: 80px;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
label {
|
|
145
|
+
color: #f0f4f8;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
body {
|
|
149
|
+
/* background-color: #121212; */
|
|
150
|
+
background-color: #102a43;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
* {
|
|
154
|
+
/* font-family: Arial, Helvetica, sans-serif; */
|
|
155
|
+
font-family: "Josefin Sans", sans-serif;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
input {
|
|
159
|
+
color: #121212;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
::placeholder {
|
|
163
|
+
/* Chrome, Firefox, Opera, Safari 10.1+ */
|
|
164
|
+
color: #fcdab7;
|
|
165
|
+
opacity: 0.5; /* Firefox */
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
a {
|
|
169
|
+
color: #fcdab7;
|
|
170
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "FeatureCollection",
|
|
3
|
+
"name": "海塘_tamp",
|
|
4
|
+
"crs": {
|
|
5
|
+
"type": "name",
|
|
6
|
+
"properties": {
|
|
7
|
+
"name": "urn:ogc:def:crs:OGC:1.3:CRS84"
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"features": [
|
|
11
|
+
{
|
|
12
|
+
"type": "Feature",
|
|
13
|
+
"properties": {
|
|
14
|
+
"FID_": 0,
|
|
15
|
+
"Entity": "LWPolyline",
|
|
16
|
+
"Layer": "02辅线",
|
|
17
|
+
"Color": 190,
|
|
18
|
+
"Linetype": "CONTINUOUS",
|
|
19
|
+
"Elevation": 0.0,
|
|
20
|
+
"LineWt": 25,
|
|
21
|
+
"RefName": null,
|
|
22
|
+
"height": 0.0,
|
|
23
|
+
"GC": 0.0,
|
|
24
|
+
"GCK": 0.0
|
|
25
|
+
},
|
|
26
|
+
"geometry": {
|
|
27
|
+
"type": "MultiLineString",
|
|
28
|
+
"coordinates": [
|
|
29
|
+
[
|
|
30
|
+
[
|
|
31
|
+
120.462982899356916,
|
|
32
|
+
27.216464200119404
|
|
33
|
+
],
|
|
34
|
+
[
|
|
35
|
+
120.46269492530125,
|
|
36
|
+
27.216436549974826
|
|
37
|
+
],
|
|
38
|
+
[
|
|
39
|
+
120.462541816720318,
|
|
40
|
+
27.216851342841846
|
|
41
|
+
],
|
|
42
|
+
[
|
|
43
|
+
120.46233882985473,
|
|
44
|
+
27.217260417183489
|
|
45
|
+
],
|
|
46
|
+
[
|
|
47
|
+
120.460928315979658,
|
|
48
|
+
27.21945100134317
|
|
49
|
+
],
|
|
50
|
+
[
|
|
51
|
+
120.460739276807431,
|
|
52
|
+
27.219715706444365
|
|
53
|
+
],
|
|
54
|
+
[
|
|
55
|
+
120.460524594947529,
|
|
56
|
+
27.219964292216719
|
|
57
|
+
],
|
|
58
|
+
[
|
|
59
|
+
120.460158283702327,
|
|
60
|
+
27.220302656152327
|
|
61
|
+
],
|
|
62
|
+
[
|
|
63
|
+
120.45974472401339,
|
|
64
|
+
27.220594274514955
|
|
65
|
+
],
|
|
66
|
+
[
|
|
67
|
+
120.45804817100759,
|
|
68
|
+
27.221629531892258
|
|
69
|
+
],
|
|
70
|
+
[
|
|
71
|
+
120.457576848155412,
|
|
72
|
+
27.221853118539915
|
|
73
|
+
],
|
|
74
|
+
[
|
|
75
|
+
120.455646944346682,
|
|
76
|
+
27.222623649714439
|
|
77
|
+
],
|
|
78
|
+
[
|
|
79
|
+
120.455395889756105,
|
|
80
|
+
27.222735263119674
|
|
81
|
+
],
|
|
82
|
+
[
|
|
83
|
+
120.455040835835419,
|
|
84
|
+
27.222936549629328
|
|
85
|
+
],
|
|
86
|
+
[
|
|
87
|
+
120.45421546673326,
|
|
88
|
+
27.223469957614515
|
|
89
|
+
],
|
|
90
|
+
[
|
|
91
|
+
120.453746464811616,
|
|
92
|
+
27.223687884007713
|
|
93
|
+
]
|
|
94
|
+
]
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
Binary file
|