├── .babelrc
├── .gitignore
├── .storybook
├── cesium.config.js
└── main.js
├── API.md
├── CHANGELOG.md
├── LICENSE
├── jest.config.js
├── package.json
├── public
├── index.html
├── plane.glb
└── us-states.topojson
├── readme.md
├── rollup.config.js
├── src
├── context.tsx
├── generated-mapping.ts
├── hooks.tsx
├── index.ts
├── reconciler
│ ├── append-child.ts
│ ├── commit-update.ts
│ ├── create-instance.ts
│ ├── finalize-initial-children.ts
│ ├── get-child-host-context.ts
│ ├── get-public-instance.ts
│ ├── get-root-host-context.ts
│ ├── index.ts
│ ├── insert-before.ts
│ ├── prepare-update.ts
│ ├── remove-child.ts
│ ├── should-set-text-content.ts
│ └── types.ts
├── stories
│ ├── data-source.stories.tsx
│ ├── entity.stories.tsx
│ ├── model.stories.tsx
│ ├── remove-child.stories.tsx
│ ├── tileset.stories.tsx
│ └── viewer.stories.tsx
├── types.ts
├── utils
│ ├── __tests__
│ │ ├── generate-types.ts
│ │ └── update-cesium-object.ts
│ ├── errors.ts
│ ├── generate-types.ts
│ └── update-cesium-object.ts
└── viewer.tsx
├── tsconfig.json
└── yarn.lock
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/react", "@babel/preset-typescript"]
3 | }
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .env
3 | lib
4 | storybook-static
5 | coverage
6 |
--------------------------------------------------------------------------------
/.storybook/cesium.config.js:
--------------------------------------------------------------------------------
1 | const path = require("path");
2 | const webpackModule = require("webpack");
3 | const CopyWebpackPlugin = require("copy-webpack-plugin");
4 |
5 | function webpack(
6 | webpackConfig = {},
7 | { loadPartially, loadCSSinHTML, packageName } = {
8 | loadPartially: false,
9 | loadCSSinHTML: false,
10 | packageName: undefined,
11 | }
12 | ) {
13 | const prod = process.env.NODE_ENV === "production";
14 |
15 | let pnp;
16 |
17 | try {
18 | // @ts-ignore
19 | pnp = require("pnpapi");
20 | } catch (error) {
21 | // not in PnP; not a problem
22 | }
23 |
24 | let cesiumSource;
25 |
26 | if (pnp) {
27 | const topLevelLocation = packageName
28 | ? packageName
29 | : pnp.getPackageInformation(pnp.topLevel).packageLocation;
30 |
31 | cesiumSource = path.resolve(
32 | pnp.resolveToUnqualified("cesium", topLevelLocation, {
33 | considerBuiltins: false,
34 | }),
35 | "Source"
36 | );
37 | } else {
38 | cesiumSource = "node_modules/cesium/Source";
39 | }
40 |
41 | const { module = {}, resolve = {}, resolveLoader = {} } = webpackConfig;
42 |
43 | // if (loadPartially) {
44 | // https://cesium.com/docs/tutorials/cesium-and-webpack/
45 |
46 | // FIXME: throws error at build time
47 | // if (prod) {
48 | // // Strip cesium pragmas
49 | // webpackConfig.module = { ...webpackConfig.module } || {};
50 | // webpackConfig.module.rules = webpackConfig.module.rules || [];
51 | // webpackConfig.module.rules.push({
52 | // test: /.js$/,
53 | // enforce: "pre",
54 | // include: cesiumSource,
55 | // use: [
56 | // {
57 | // loader: "strip-pragma-loader",
58 | // options: {
59 | // pragmas: {
60 | // debug: false,
61 | // },
62 | // },
63 | // },
64 | // ],
65 | // });
66 | // }
67 |
68 | webpackConfig.resolve.alias = {
69 | ...webpackConfig.resolve.alias,
70 | cesium$: "cesium/Cesium",
71 | cesium: "cesium/Source",
72 | };
73 |
74 | webpackConfig.plugins.push(
75 | new CopyWebpackPlugin({
76 | patterns: [
77 | {
78 | from: path.join(cesiumSource, "../Build/Cesium/Workers"),
79 | to: "cesium/Workers",
80 | },
81 | {
82 | from: path.join(cesiumSource, "Assets"),
83 | to: "cesium/Assets",
84 | },
85 | {
86 | from: path.join(cesiumSource, "Widgets"),
87 | to: "cesium/Widgets",
88 | },
89 | {
90 | from: path.join(cesiumSource, "ThirdParty"),
91 | to: "cesium/ThirdParty",
92 | },
93 | ],
94 | }),
95 |
96 | new webpackModule.DefinePlugin({
97 | CESIUM_BASE_URL: JSON.stringify("cesium"),
98 | })
99 | );
100 |
101 | webpackConfig.output = {
102 | ...webpackConfig.output,
103 | // Needed to compile multiline strings in Cesium
104 | sourcePrefix: "",
105 | };
106 |
107 | webpackConfig.amd = {
108 | ...webpackConfig.amd,
109 | // Enable webpack-friendly use of require in Cesium
110 | toUrlUndefined: true,
111 | };
112 |
113 | webpackConfig.node = {
114 | ...webpackConfig.node,
115 | // Resolve node module use of f
116 | fs: "empty",
117 | };
118 |
119 | console.log(webpackConfig.module.rules[3]);
120 | return webpackConfig;
121 | }
122 |
123 | module.exports = { webpack };
124 |
--------------------------------------------------------------------------------
/.storybook/main.js:
--------------------------------------------------------------------------------
1 | const cesiumPlugin = require.resolve("./cesium.config.js");
2 |
3 | module.exports = {
4 | stories: ["../src/**/*.stories.tsx"],
5 | addons: [
6 | "@storybook/react",
7 | "@storybook/addon-actions",
8 | "@storybook/addon-links",
9 | cesiumPlugin,
10 | ],
11 | };
12 |
--------------------------------------------------------------------------------
/API.md:
--------------------------------------------------------------------------------
1 | # API
2 |
3 | ## 1. Viewer
4 |
5 | ## 2. Specific props
6 |
7 | Every react-cesium-fiber component accepts all the editable properties of the CesiumJs object as props.
8 | For example, you can specify wether or not an entity should be displayed like this: `` where `show` is a boolean you provide.
9 |
10 | In addition to this, react-cesium-fiber has a few specific props:
11 |
12 | | Prop | Type | Description |
13 | | ------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
14 | | args | `any[]` | An array of properties to instantiate the CesiumJs object with. The array will be spread in the constructor. For example, for a Cartesian3, according to the doc, you need to do `new Cesium.Cartesian3(x, y, z)`. So, here, we will pass the props `args={[x, y, z]}`. |
15 | | attach | `string or function` | description |
16 | | constructFrom | `string` | Description of constructFrom |
17 | | onUpdate | `function` | Description of onUpdate |
18 | | ref | `ref object` | Description of ref |
19 |
20 | ## 3. Hooks
21 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## v0.3.0
4 |
5 | _Fixes for production._
6 |
7 | - Removed the postinstall script preventing installation of the package.
8 | - Add missing method (`insertBefore`) in the reconciler.
9 | - Possibility to pass `ref` and `className` props to the `Viewer` component.
10 |
11 | ## v0.2.0
12 |
13 | _Small enhancements to improve developer experience._
14 |
15 | - Export typescript types.
16 | - Add Changelog.
17 | - Add beginning of readme.
18 |
19 | ## v0.1.0
20 |
21 | **First release 💙🎉**
22 |
23 | _All lot of features are still in development. More work incoming, soon™️._
24 |
25 | 🚨 **Not tested in production yet - Beware** 🚨
26 |
27 | - Core feature:
28 | - `Viewer` component. Props naming may change.
29 | - Context hook:
30 | - `useViewer`: a hook to get access to the viewer.
31 | - Utility hooks:
32 | - `usePostRender`: a hook to register a function to call after the render of the viewer.
33 | - `usePostUpdate`: a hook to register a function to call after an update of the viewer.
34 | - `usePreRender`: a hook to register a function to call before the render of the viewer.
35 | - `usePreUpdate`: a hook to register a function to call after an update of the viewer.
36 | - Basic Storybook stories.
37 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Hugo Raynal
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | preset: 'ts-jest',
3 | testEnvironment: 'node',
4 | };
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-cesium-fiber",
3 | "version": "0.3.0",
4 | "license": "MIT",
5 | "description": "React-fiber renderer for cesium",
6 | "main": "lib/index.cjs.js",
7 | "module": "lib/index.esm.js",
8 | "types": "lib/index.d.ts",
9 | "files": [
10 | "lib/*"
11 | ],
12 | "author": {
13 | "name": "Hugo Raynal",
14 | "email": "raynalhugo@gmail.com"
15 | },
16 | "sideEffects": false,
17 | "repository": {
18 | "type": "git",
19 | "url": "git+https://github.com/RaynalHugo/react-cesium-fiber.git"
20 | },
21 | "homepage": "https://github.com/RaynalHugo/react-cesium-fiber#readme",
22 | "bugs": {
23 | "url": "https://github.com/RaynalHugo/react-cesium-fiber/issues"
24 | },
25 | "keywords": [
26 | "react",
27 | "renderer",
28 | "fiber",
29 | "cesium",
30 | "cesiumjs",
31 | "map",
32 | "3D",
33 | "globe",
34 | "earth"
35 | ],
36 | "dependencies": {
37 | "lodash": "4.17.21",
38 | "react-reconciler": "0.25.1"
39 | },
40 | "peerDependencies": {
41 | "cesium": "^1.63.0",
42 | "react": "^16.8.0"
43 | },
44 | "devDependencies": {
45 | "@babel/core": "7.10.5",
46 | "@babel/preset-env": "7.10.4",
47 | "@babel/preset-react": "7.10.4",
48 | "@babel/preset-typescript": "7.10.4",
49 | "@hot-loader/react-dom": "16.13.0",
50 | "@rollup/plugin-commonjs": "14.0.0",
51 | "@rollup/plugin-node-resolve": "8.4.0",
52 | "@storybook/addon-actions": "6.0.0-rc.14",
53 | "@storybook/addon-links": "6.0.0-rc.14",
54 | "@storybook/addons": "6.0.0-rc.14",
55 | "@storybook/react": "6.0.0-rc.14",
56 | "@types/cesium": "1.67.10",
57 | "@types/jest": "26.0.10",
58 | "@types/lodash": "4.14.154",
59 | "@types/react": "16.9.35",
60 | "@types/react-dom": "16.9.8",
61 | "@types/react-reconciler": "0.18.0",
62 | "babel-loader": "8.1.0",
63 | "builtin-modules": "3.1.0",
64 | "cesium": "1.70.0",
65 | "copy-webpack-plugin": "6.0.2",
66 | "jest": "26.4.2",
67 | "react": "16.13.0",
68 | "react-dom": "16.13.0",
69 | "react-hot-loader": "4.12.21",
70 | "rollup": "2.23.0",
71 | "rollup-plugin-babel": "4.4.0",
72 | "rollup-plugin-commonjs": "10.1.0",
73 | "rollup-plugin-node-resolve": "5.2.0",
74 | "ts-jest": "26.3.0",
75 | "ts-node": "9.0.0",
76 | "typescript": "3.9.7",
77 | "webpack": "4.44.0"
78 | },
79 | "scripts": {
80 | "build:lib": "rollup -c ./rollup.config.js",
81 | "build:storybook": "build-storybook -s ./public",
82 | "build:types": "yarn run generate:mapping && tsc --emitDeclarationOnly",
83 | "build": "yarn build:lib && yarn build:types",
84 | "storybook": "source ./.env; start-storybook -p 9009 -s ./public;",
85 | "generate:mapping": "ts-node ./src/utils/generate-types.ts",
86 | "test": "jest"
87 | },
88 | "browserslist": [
89 | ">0.2%",
90 | "not dead",
91 | "not ie <= 11",
92 | "not op_mini all"
93 | ]
94 | }
95 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
12 |
13 |
14 |
23 | React App
24 |
25 |
26 |
27 |
30 |
31 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/public/plane.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RaynalHugo/react-cesium-fiber/e16d50f7221448ca3b684d68c19b55132a69580b/public/plane.glb
--------------------------------------------------------------------------------
/public/us-states.topojson:
--------------------------------------------------------------------------------
1 | {
2 | "type" : "Topology",
3 | "transform" : {
4 | "scale" : [0.0035892802775563276, 0.0005250691027211737],
5 | "translate" : [-179.14350338367416, 18.906117143691233]
6 | },
7 | "objects" : {
8 | "states" : {
9 | "type" : "GeometryCollection",
10 | "geometries" : [{
11 | "type" : "MultiPolygon",
12 | "arcs" : [[[0]], [[1]], [[2, 3, 4, 5, 6, 7, 8, 9]]],
13 | "id" : "MA",
14 | "properties" : {
15 | "name" : "Massachusetts",
16 | "Statehood" : "Feb. 6, 1788",
17 | "Population" : 6692824
18 | }
19 | }, {
20 | "type" : "Polygon",
21 | "arcs" : [[10, 11, 12, 13, 14, 15]],
22 | "id" : "MN",
23 | "properties" : {
24 | "name" : "Minnesota",
25 | "Statehood" : "May 11, 1858",
26 | "Population" : 5420380
27 | }
28 | }, {
29 | "type" : "Polygon",
30 | "arcs" : [[16, 17, 18, 19, 20]],
31 | "id" : "MT",
32 | "properties" : {
33 | "name" : "Montana",
34 | "Statehood" : "Nov. 8, 1889",
35 | "Population" : 1015165
36 | }
37 | }, {
38 | "type" : "Polygon",
39 | "arcs" : [[21, -21, 22, -15]],
40 | "id" : "ND",
41 | "properties" : {
42 | "name" : "North Dakota",
43 | "Statehood" : "Nov. 2, 1889",
44 | "Population" : 723393
45 | }
46 | }, {
47 | "type" : "MultiPolygon",
48 | "arcs" : [[[23]], [[24]], [[25]], [[26]], [[27]], [[28]], [[29]], [[30]]],
49 | "id" : "HI",
50 | "properties" : {
51 | "name" : "Hawaii",
52 | "Statehood" : "Aug. 21, 1959",
53 | "Population" : 1404054
54 | }
55 | }, {
56 | "type" : "Polygon",
57 | "arcs" : [[31, 32, 33, 34, 35, 36, -19]],
58 | "id" : "ID",
59 | "properties" : {
60 | "name" : "Idaho",
61 | "Statehood" : "July 3, 1890",
62 | "Population" : 1612136
63 | }
64 | }, {
65 | "type" : "MultiPolygon",
66 | "arcs" : [[[37]], [[38]], [[39]], [[40]], [[41]], [[42]], [[43]], [[-36, 44, 45]]],
67 | "id" : "WA",
68 | "properties" : {
69 | "name" : "Washington",
70 | "Statehood" : "Nov. 11, 1889",
71 | "Population" : 6971406
72 | }
73 | }, {
74 | "type" : "Polygon",
75 | "arcs" : [[46, 47, 48, 49, 50]],
76 | "id" : "AZ",
77 | "properties" : {
78 | "name" : "Arizona",
79 | "Statehood" : "Feb. 14, 1912",
80 | "Population" : 6626624
81 | }
82 | }, {
83 | "type" : "MultiPolygon",
84 | "arcs" : [[[51]], [[52]], [[53]], [[54]], [[-49, 55, 56, 57]]],
85 | "id" : "CA",
86 | "properties" : {
87 | "name" : "California",
88 | "Statehood" : "Sept. 9, 1850",
89 | "Population" : 38332521
90 | }
91 | }, {
92 | "type" : "Polygon",
93 | "arcs" : [[58, 59, 60, 61, 62, 63]],
94 | "id" : "CO",
95 | "properties" : {
96 | "name" : "Colorado",
97 | "Statehood" : "Aug. 1, 1876",
98 | "Population" : 5268367
99 | }
100 | }, {
101 | "type" : "Polygon",
102 | "arcs" : [[-50, -58, 64, -34, 65]],
103 | "id" : "NV",
104 | "properties" : {
105 | "name" : "Nevada",
106 | "Statehood" : "Oct. 31, 1864",
107 | "Population" : 2790136
108 | }
109 | }, {
110 | "type" : "Polygon",
111 | "arcs" : [[66, 67, -47, -61, 68]],
112 | "id" : "NM",
113 | "properties" : {
114 | "name" : "New Mexico",
115 | "Statehood" : "Jan. 6, 1912",
116 | "Population" : 2085287
117 | }
118 | }, {
119 | "type" : "MultiPolygon",
120 | "arcs" : [[[-45, -35, -65, -57, 69]]],
121 | "id" : "OR",
122 | "properties" : {
123 | "name" : "Oregon",
124 | "Statehood" : "Feb. 14, 1859",
125 | "Population" : 3930065
126 | }
127 | }, {
128 | "type" : "Polygon",
129 | "arcs" : [[70, -62, -51, -66, -33]],
130 | "id" : "UT",
131 | "properties" : {
132 | "name" : "Utah",
133 | "Statehood" : "Jan. 4, 1896",
134 | "Population" : 2900872
135 | }
136 | }, {
137 | "type" : "Polygon",
138 | "arcs" : [[71, -63, -71, -32, -18, 72]],
139 | "id" : "WY",
140 | "properties" : {
141 | "name" : "Wyoming",
142 | "Statehood" : "July 10, 1890",
143 | "Population" : 582658
144 | }
145 | }, {
146 | "type" : "Polygon",
147 | "arcs" : [[73, 74, 75, 76, 77, 78]],
148 | "id" : "AR",
149 | "properties" : {
150 | "name" : "Arkansas",
151 | "Statehood" : "June 15, 1836",
152 | "Population" : 2959373
153 | }
154 | }, {
155 | "type" : "Polygon",
156 | "arcs" : [[79, 80, 81, 82, -13, 83]],
157 | "id" : "IA",
158 | "properties" : {
159 | "name" : "Iowa",
160 | "Statehood" : "Dec. 28, 1846",
161 | "Population" : 3090416
162 | }
163 | }, {
164 | "type" : "Polygon",
165 | "arcs" : [[84, -59, 85, 86]],
166 | "id" : "KS",
167 | "properties" : {
168 | "name" : "Kansas",
169 | "Statehood" : "Jan. 29, 1861",
170 | "Population" : 2893957
171 | }
172 | }, {
173 | "type" : "Polygon",
174 | "arcs" : [[87, 88, 89, 90, 91, -79, 92, -87, 93, -81]],
175 | "id" : "MO",
176 | "properties" : {
177 | "name" : "Missouri",
178 | "Statehood" : "Aug. 10, 1821",
179 | "Population" : 6044171
180 | }
181 | }, {
182 | "type" : "Polygon",
183 | "arcs" : [[-82, -94, -86, -64, -72, 94]],
184 | "id" : "NE",
185 | "properties" : {
186 | "name" : "Nebraska",
187 | "Statehood" : "Mar. 1, 1867",
188 | "Population" : 1868516
189 | }
190 | }, {
191 | "type" : "Polygon",
192 | "arcs" : [[-78, 95, -69, -60, -85, -93]],
193 | "id" : "OK",
194 | "properties" : {
195 | "name" : "Oklahoma",
196 | "Statehood" : "Nov. 16, 1907",
197 | "Population" : 3850568
198 | }
199 | }, {
200 | "type" : "Polygon",
201 | "arcs" : [[-14, -83, -95, -73, -17, -22]],
202 | "id" : "SD",
203 | "properties" : {
204 | "name" : "South Dakota",
205 | "Statehood" : "Nov. 2, 1889",
206 | "Population" : 844877
207 | }
208 | }, {
209 | "type" : "MultiPolygon",
210 | "arcs" : [[[96]], [[97]], [[98, 99, -76, 100]]],
211 | "id" : "LA",
212 | "properties" : {
213 | "name" : "Louisiana",
214 | "Statehood" : "Apr. 30, 1812",
215 | "Population" : 4625470
216 | }
217 | }, {
218 | "type" : "MultiPolygon",
219 | "arcs" : [[[101]], [[102]], [[103]], [[104]], [[105]], [[-77, -100, 106, -67, -96]]],
220 | "id" : "TX",
221 | "properties" : {
222 | "name" : "Texas",
223 | "Statehood" : "Dec. 29, 1845",
224 | "Population" : 26448193
225 | }
226 | }, {
227 | "type" : "Polygon",
228 | "arcs" : [[107, 108, 109, -7]],
229 | "id" : "CT",
230 | "properties" : {
231 | "name" : "Connecticut",
232 | "Statehood" : "Jan. 9, 1788",
233 | "Population" : 3596080
234 | }
235 | }, {
236 | "type" : "Polygon",
237 | "arcs" : [[110, -10, 111, 112, 113]],
238 | "id" : "NH",
239 | "properties" : {
240 | "name" : "New Hampshire",
241 | "Statehood" : "June 21, 1788",
242 | "Population" : 1323459
243 | }
244 | }, {
245 | "type" : "MultiPolygon",
246 | "arcs" : [[[114]], [[115, -4]], [[116, -108, -6]]],
247 | "id" : "RI",
248 | "properties" : {
249 | "name" : "Rhode Island",
250 | "Statehood" : "May 29, 1790",
251 | "Population" : 1051511
252 | }
253 | }, {
254 | "type" : "Polygon",
255 | "arcs" : [[-9, 117, 118, -112]],
256 | "id" : "VT",
257 | "properties" : {
258 | "name" : "Vermont",
259 | "Statehood" : "Mar. 4, 1791",
260 | "Population" : 626630
261 | }
262 | }, {
263 | "type" : "MultiPolygon",
264 | "arcs" : [[[119]], [[120, 121, 122, 123, 124]]],
265 | "id" : "AL",
266 | "properties" : {
267 | "name" : "Alabama",
268 | "Statehood" : "Dec. 14, 1819",
269 | "Population" : 4833722
270 | }
271 | }, {
272 | "type" : "MultiPolygon",
273 | "arcs" : [[[125]], [[126]], [[127]], [[128]], [[129]], [[130]], [[131, -122, 132]]],
274 | "id" : "FL",
275 | "properties" : {
276 | "name" : "Florida",
277 | "Statehood" : "Mar. 3, 1845",
278 | "Population" : 19552860
279 | }
280 | }, {
281 | "type" : "MultiPolygon",
282 | "arcs" : [[[133]], [[134]], [[135, -133, -121, 136, 137, 138]]],
283 | "id" : "GA",
284 | "properties" : {
285 | "name" : "Georgia",
286 | "Statehood" : "Jan. 2, 1788",
287 | "Population" : 9992167
288 | }
289 | }, {
290 | "type" : "MultiPolygon",
291 | "arcs" : [[[-124, 139, -101, -75, 140]]],
292 | "id" : "MS",
293 | "properties" : {
294 | "name" : "Mississippi",
295 | "Statehood" : "Dec. 10, 1817",
296 | "Population" : 2991207
297 | }
298 | }, {
299 | "type" : "MultiPolygon",
300 | "arcs" : [[[141, -139, 142]]],
301 | "id" : "SC",
302 | "properties" : {
303 | "name" : "South Carolina",
304 | "Statehood" : "May 23, 1788",
305 | "Population" : 4774839
306 | }
307 | }, {
308 | "type" : "Polygon",
309 | "arcs" : [[143, 144, 145, -88, -80, 146]],
310 | "id" : "IL",
311 | "properties" : {
312 | "name" : "Illinois",
313 | "Statehood" : "Dec. 3, 1818",
314 | "Population" : 12882135
315 | }
316 | }, {
317 | "type" : "Polygon",
318 | "arcs" : [[147, 148, 149, -145]],
319 | "id" : "IN",
320 | "properties" : {
321 | "name" : "Indiana",
322 | "Statehood" : "Dec. 11, 1816",
323 | "Population" : 6570902
324 | }
325 | }, {
326 | "type" : "MultiPolygon",
327 | "arcs" : [[[150, 151, 152, -89, -146, -150, 153]]],
328 | "id" : "KY",
329 | "properties" : {
330 | "name" : "Kentucky",
331 | "Statehood" : "June 1, 1792",
332 | "Population" : 4395295
333 | }
334 | }, {
335 | "type" : "MultiPolygon",
336 | "arcs" : [[[154]], [[155, 156]], [[157, 158, 159, 160]], [[161, -143, -138, 162, 163]]],
337 | "id" : "NC",
338 | "properties" : {
339 | "name" : "North Carolina",
340 | "Statehood" : "Nov. 21, 1789",
341 | "Population" : 9848060
342 | }
343 | }, {
344 | "type" : "Polygon",
345 | "arcs" : [[164, -154, -149, 165, 166, 167]],
346 | "id" : "OH",
347 | "properties" : {
348 | "name" : "Ohio",
349 | "Statehood" : "Mar. 1, 1803",
350 | "Population" : 11570808
351 | }
352 | }, {
353 | "type" : "Polygon",
354 | "arcs" : [[168, -163, -137, -125, -141, -74, -92, -170, -90, -153]],
355 | "id" : "TN",
356 | "properties" : {
357 | "name" : "Tennessee",
358 | "Statehood" : "June 1, 1796",
359 | "Population" : 6495978
360 | }
361 | }, {
362 | "type" : "MultiPolygon",
363 | "arcs" : [[[170, 171, 172, -156, 173, -161, 174, -164, -169, -152, 175]]],
364 | "id" : "VA",
365 | "properties" : {
366 | "name" : "Virginia",
367 | "Statehood" : "June 25, 1788",
368 | "Population" : 8260405
369 | }
370 | }, {
371 | "type" : "Polygon",
372 | "arcs" : [[176, -147, -84, -12]],
373 | "id" : "WI",
374 | "properties" : {
375 | "name" : "Wisconsin",
376 | "Statehood" : "May 29, 1848",
377 | "Population" : 5742713
378 | }
379 | }, {
380 | "type" : "Polygon",
381 | "arcs" : [[177, -176, -151, -165, 178]],
382 | "id" : "WV",
383 | "properties" : {
384 | "name" : "West Virginia",
385 | "Statehood" : "June 20, 1863",
386 | "Population" : 1854304
387 | }
388 | }, {
389 | "type" : "Polygon",
390 | "arcs" : [[179, 180, 181, 182, 183]],
391 | "id" : "DE",
392 | "properties" : {
393 | "name" : "Delaware",
394 | "Statehood" : "Dec. 7, 1787",
395 | "Population" : 925749
396 | }
397 | }, {
398 | "type" : "Polygon",
399 | "arcs" : [[184, -172, 185]],
400 | "id" : "DC",
401 | "properties" : {
402 | "name" : "District of Columbia",
403 | "Statehood" : "July 16, 1790",
404 | "Population" : 646449
405 | }
406 | }, {
407 | "type" : "MultiPolygon",
408 | "arcs" : [[[-183, 186, -186, -171, -178, 187]]],
409 | "id" : "MD",
410 | "properties" : {
411 | "name" : "Maryland",
412 | "Statehood" : "Apr. 28, 1788",
413 | "Population" : 5928814
414 | }
415 | }, {
416 | "type" : "MultiPolygon",
417 | "arcs" : [[[188, 189, 190]]],
418 | "id" : "NJ",
419 | "properties" : {
420 | "name" : "New Jersey",
421 | "Statehood" : "Dec. 18, 1787",
422 | "Population" : 8899339
423 | }
424 | }, {
425 | "type" : "MultiPolygon",
426 | "arcs" : [[[191]], [[192]], [[-118, -8, -110, 193, -190, 194, 195]]],
427 | "id" : "NY",
428 | "properties" : {
429 | "name" : "New York",
430 | "Statehood" : "July 26, 1788",
431 | "Population" : 19651127
432 | }
433 | }, {
434 | "type" : "Polygon",
435 | "arcs" : [[-189, 196, -184, -188, -179, -168, 197, -195]],
436 | "id" : "PA",
437 | "properties" : {
438 | "name" : "Pennsylvania",
439 | "Statehood" : "Dec. 12, 1787",
440 | "Population" : 12773801
441 | }
442 | }, {
443 | "type" : "MultiPolygon",
444 | "arcs" : [[[198]], [[199]], [[200]], [[-114, 201]]],
445 | "id" : "ME",
446 | "properties" : {
447 | "name" : "Maine",
448 | "Statehood" : "Mar. 15, 1820",
449 | "Population" : 1328302
450 | }
451 | }, {
452 | "type" : "Polygon",
453 | "arcs" : [[-166, -148, -144, -177, -11, 202]],
454 | "id" : "MI",
455 | "properties" : {
456 | "name" : "Michigan",
457 | "Statehood" : "Jan. 26, 1837",
458 | "Population" : 9895622
459 | }
460 | }, {
461 | "type" : "MultiPolygon",
462 | "arcs" : [[[203]], [[204]], [[205]], [[206]], [[207]], [[208]], [[209]], [[210]], [[211]], [[212]], [[213]], [[214]], [[215]], [[216]], [[217]], [[218]], [[219]], [[220]], [[221]], [[222]], [[223]], [[224]], [[225]], [[226]], [[227]], [[228]], [[229]], [[230]], [[231]], [[232]], [[233]], [[234]], [[235]], [[236]], [[237]], [[238]], [[239]], [[240]], [[241]], [[242]], [[243]], [[244]], [[245]], [[246]], [[247]], [[248]], [[249]], [[250]], [[251]], [[252]], [[253]], [[254]], [[255]], [[256]], [[257]], [[258]], [[259]], [[260]], [[261]], [[262]], [[263]], [[264]], [[265]], [[266]], [[267]], [[268]], [[269]], [[270]], [[271]], [[272]], [[273]], [[274]], [[275]], [[276]], [[277]], [[278]], [[279]], [[280]], [[281]], [[282]], [[283]], [[284]], [[285]], [[286]], [[287]], [[288]]],
463 | "id" : "AK",
464 | "properties" : {
465 | "name" : "Alaska",
466 | "Statehood" : "Jan. 3, 1959",
467 | "Population" : 735132
468 | }
469 | }]
470 | }
471 | },
472 | "arcs" : [
473 | [[30403, 42783], [17, -180], [-50, -54], [-39, 115], [50, -34], [22, 153]],
474 | [[30242, 42976], [25, -207], [-77, -16], [52, 223]],
475 | [[30181, 45653], [11, -306], [36, -213], [-60, -110], [7, -91], [-38, -141], [-20, -197], [27, -151], [14, 145], [51, -203], [23, -227], [-6, -259], [25, -3], [9, -264], [72, -193], [76, 193], [4, 185], [-23, -39], [5, 278], [19, -164], [14, -305], [-2, -226], [-136, -80], [-21, -130], [-43, -82], [7, 362], [-24, 67], [-16, -190], [-36, -13], [-6, -170], [-54, -71]],
476 | [[30096, 43055], [-3, 282], [-17, 30]],
477 | [[30076, 43367], [23, 229], [-36, -167]],
478 | [[30063, 43429], [-29, 179], [-12, 404], [-116, -10]],
479 | [[29906, 44002], [0, 22], [-266, 21], [-202, 41]],
480 | [[29438, 44086], [-7, 47], [67, 1270]],
481 | [[29498, 45403], [223, -32]],
482 | [[29721, 45371], [323, -54], [106, 354], [31, -18]],
483 | [[24976, 55400], [-128, -1350]],
484 | [[24848, 54050], [-194, 41], [-227, -731], [-138, -373], [-41, 78], [-29, -200], [-21, -2], [-1, -1104], [-19, -106], [-95, -218], [-19, -207], [-31, -169], [0, -266], [37, -32], [23, -217], [-26, -309], [3, -255], [-15, -136], [13, -289], [-18, -321], [66, -285], [63, -92], [24, -178], [47, -55], [43, -193], [31, -294], [49, -206], [71, -114], [33, -199], [11, -266], [0, -511]],
485 | [[24488, 46841], [-272, 0], [-244, -1], [-391, 0], [-271, 0], [-272, 0]],
486 | [[23038, 46840], [0, 3421], [-31, 185], [-40, 53], [-43, 340], [9, 103], [54, 208], [22, 340]],
487 | [[23009, 51490], [-10, 687], [-43, 373], [-15, 562], [12, 242], [-19, 129], [-9, 1178], [-43, 515], [-32, 558], [2, 492], [-10, 201], [16, 222], [-35, 651]],
488 | [[22823, 57300], [203, 0], [368, 0], [4, 718], [90, -116], [35, -751], [3, -237], [62, -170], [47, 25], [22, -118], [99, -31], [33, -227], [74, 49], [11, 105], [54, 63], [78, -24], [92, -155], [-15, -174], [49, 1], [40, -407], [22, 151], [73, 45], [14, -165], [63, -116], [20, -170], [33, -95], [83, 32], [99, 309], [23, -13], [15, -228], [71, -31], [98, 60], [30, -28], [47, -219], [39, 60], [74, -43]],
489 | [[20923, 51490], [2, -1794], [-5, 0]],
490 | [[20920, 49696], [-419, 0], [-303, 0], [-243, 0], [-364, 0], [-364, 0], [-256, 0], [0, -957]],
491 | [[18971, 48739], [-43, 176], [-32, 283], [-37, -32], [-15, -242], [15, -81], [-64, 26], [-32, -72], [-32, 68], [-47, -47], [-42, 57], [-37, -195], [-94, 71], [-34, -130], [5, -80], [-52, 127], [-14, 366], [-27, 236], [-55, 41], [-40, 250], [14, 122], [-23, 250], [-57, 360], [-25, 412], [4, 134], [-58, 183], [-31, -240], [-63, -162], [-58, 166], [14, 253], [-15, 149], [45, 214], [-23, 211], [11, 352], [-6, 159], [32, 488], [4, 255], [-68, -40], [-14, 131], [-80, 245], [-3, 155], [-38, 141], [-81, 518], [-45, 74], [-23, 154], [-37, 91], [21, 64], [-24, 154], [15, 119], [-12, 165], [-91, 578], [0, 1884]],
492 | [[17579, 57300], [426, 0], [244, 0], [307, 0], [245, 0], [490, 0], [428, 0], [368, 0], [490, 0], [345, 0]],
493 | [[20922, 57300], [1, -362], [0, -5448]],
494 | [[23009, 51490], [-454, 0], [-260, 0], [-324, 0], [-454, 0], [-325, 0], [-269, 0]],
495 | [[20922, 57300], [389, 0], [307, 0], [490, 0], [245, 0], [470, 0]],
496 | [[6558, 2346], [76, -175], [46, -190], [21, -165], [2, -253], [17, 36], [20, -257], [37, -250], [-17, -127], [-60, -242], [-56, -51], [-71, -307], [0, -99], [-34, -266], [-58, 233], [-11, 210], [9, 372], [-26, 521], [-22, 235], [37, 262], [28, 289], [-15, 160], [3, 301], [37, -35], [37, -202]],
497 | [[6299, 3095], [-47, -12], [39, 138], [8, -126]],
498 | [[6192, 3482], [-18, 48], [-2, 165], [-18, 124], [44, 4], [22, -138], [-5, -148], [-23, -55]],
499 | [[6283, 4041], [31, -235], [51, 92], [49, -223], [33, -68], [0, -217], [-36, -118], [-47, -83], [-30, 13], [-15, 369], [-45, 48], [-20, 207], [5, 138], [24, 77]],
500 | [[6100, 4410], [97, -108], [54, -16], [-45, -198], [-57, 89], [-57, -24], [8, 257]],
501 | [[5919, 5127], [16, -261], [29, -107], [25, -189], [-42, -98], [-49, 151], [-34, -76], [-37, 455], [-14, 81], [44, 21], [30, 220], [14, 7], [18, -204]],
502 | [[5277, 5480], [-9, 173], [49, 239], [-7, -202], [-33, -210]],
503 | [[5504, 6328], [26, -157], [-11, -343], [-29, -187], [-46, 44], [-45, 165], [-6, 167], [18, 174], [45, 145], [48, -8]],
504 | [[18971, 48739], [0, -4757]],
505 | [[18971, 43982], [-417, 0], [-416, 1]],
506 | [[18138, 43983], [-156, -1], [-362, 0], [-311, 0]],
507 | [[17309, 43982], [-1, 3400], [35, 746], [-22, 174], [-63, 56], [5, 412], [17, 77], [25, 341], [32, 132], [23, 223], [3, 221], [29, 220], [19, 374], [52, 446], [-18, 323], [-65, 165], [-34, 311]],
508 | [[17346, 51603], [-20, 176], [13, 131], [-38, 410], [1, 147], [1, 4833]],
509 | [[17303, 57300], [276, 0]],
510 | [[15681, 53844], [-17, 97], [20, 132], [-3, -229]],
511 | [[15803, 54284], [-31, -99], [12, 238], [19, -139]],
512 | [[15783, 54651], [-23, 0], [4, 213], [19, -213]],
513 | [[15757, 56154], [20, -132], [-59, -168], [37, -54], [13, -358], [9, 139], [46, -265], [-25, -77], [-10, 146], [-33, 73], [-8, 263], [-37, 165], [28, 257], [19, 11]],
514 | [[15684, 56288], [-25, -5], [17, 204], [8, -199]],
515 | [[15644, 56388], [-8, -119], [-37, 104], [7, 218], [38, -203]],
516 | [[15681, 56759], [32, -85], [-33, -118], [-44, 77], [45, 126]],
517 | [[17346, 51603], [-324, -2], [-267, -1], [-25, -98], [-134, -39], [-24, -106], [-76, -65], [-82, -192], [-68, -51], [-41, 39], [-78, -170], [-77, -20], [-28, 148], [-83, 39], [-62, -15], [-48, -151], [-81, -144], [-133, 183], [-19, 600], [-30, 248], [-56, 150], [-18, -15]],
518 | [[15592, 51941], [-33, -53], [-51, 238], [-34, -30], [-26, 86], [-49, -124], [-53, 221], [0, 569], [12, -165], [1, -349], [16, -14], [18, 293], [-2, 411], [-20, -89], [-34, 81], [-11, 272], [88, 138], [-92, 126], [-30, 527], [-17, 107], [-9, 361], [-20, 370], [-60, 317], [-27, 500], [20, 283], [-18, 131], [42, -33], [49, -147], [48, -67], [49, -155], [98, -22], [77, -91], [49, -5], [26, 118], [44, -263], [38, 164], [65, -448], [-48, -214], [-62, -404], [-40, -396], [60, 456], [48, 122], [40, 341], [19, -10], [-13, 212], [22, -76], [11, -325], [-28, -82], [0, -182], [23, -145], [-21, -351], [4, -137], [-43, 142], [-14, -315], [-3, 337], [-37, -138], [-31, -297], [60, 84], [25, -146], [43, 229], [10, 203], [24, -91], [31, 149], [-20, 417], [20, 63], [-25, 118], [30, 535], [29, 86], [-34, 196], [-28, 275], [-20, -166], [-6, 196], [40, 103], [-54, 254], [-18, -64], [-16, 158], [20, 57], [43, -100], [-13, 226], [23, 40], [-42, 325], [-14, -100], [-44, 458], [13, 58], [519, 0], [244, 0], [429, 0], [401, 0]],
519 | [[19530, 34460], [-1, -1012], [0, -9793]],
520 | [[19529, 23655], [-208, 0], [-337, 0], [-17, 13], [-465, 992], [-228, 481], [-354, 748], [28, 406]],
521 | [[17948, 26295], [11, 67], [41, -19], [22, 263], [-3, 184], [-19, 118], [-45, 104], [7, 220], [-14, 192], [2, 211], [25, 39], [25, 238], [13, 311], [-9, 411], [39, 348], [44, 142], [28, 247], [-67, 264], [-1, 121], [-36, 425], [-33, 240], [-4, 237]],
522 | [[17974, 30658], [-2, 254], [18, 102], [-6, 309], [-21, 313], [7, 216], [-13, 169], [6, 315], [-20, 191], [6, 214], [48, 119], [56, -39], [16, -156], [46, -22], [23, 313], [0, 1510]],
523 | [[18138, 34466], [348, -2], [217, -1], [435, -2], [392, -1]],
524 | [[16869, 26908], [60, -357], [-33, 6], [-27, 351]],
525 | [[16886, 27750], [45, -128], [19, -192], [-44, 27], [-20, 293]],
526 | [[16466, 28799], [12, -165], [-31, -91], [-38, 205], [57, 51]],
527 | [[16524, 28868], [77, -132], [-45, -68], [-37, 16], [-18, 213], [23, -29]],
528 | [[17948, 26295], [-421, -218], [-249, -127], [-1, 301], [-36, 22], [2, 350], [-19, 426], [-52, 430], [-76, 371], [-55, 203], [-31, 181], [-46, 66], [-10, -119], [-34, 72], [6, 181], [-26, 310], [-17, 77], [-57, -15], [-17, -62], [-113, 279], [-15, 209], [-81, 304], [-88, -16], [-71, 127], [-95, -44], [-11, 135], [-38, 124], [12, 227], [-3, 291], [-17, 95], [9, 441], [-34, 39], [-37, 172], [19, 164], [-22, 213], [-26, 24], [-46, 336], [-33, 53], [-14, 232], [-35, 191], [-8, 182], [-21, 72], [-39, 309], [-54, 232], [-12, 345], [1, 293], [29, -8], [13, 325], [-19, 232], [-23, 96], [-29, -58], [-31, 55], [-68, 390], [0, 340], [-34, 445], [2, 358], [29, 55], [9, -392], [36, -69], [42, -215], [19, 15], [-32, 221], [-5, 162], [-47, 225], [1, 238], [-17, 0], [6, 200], [39, 88], [17, -58], [74, 48], [-43, 152], [-22, -173], [-38, 61], [-36, 150], [-28, -75], [-1, -360], [18, -81], [-26, -126], [-48, 145], [-37, 218], [-49, -11], [18, 273], [-7, 232], [-24, 57], [-19, 292], [-58, 224], [-21, 190], [-87, 479], [10, 209], [-39, 608], [17, 376], [-25, 550], [-72, 522], [-70, 294], [-12, 347], [25, 352], [26, 109], [1, 135], [31, 492], [-14, 236], [11, 81], [17, 483], [-27, 574], [-30, 76], [16, 218], [-1, 207]],
529 | [[15304, 43982], [372, 0], [437, 0], [365, 0]],
530 | [[16478, 43982], [0, -5714], [130, -623], [261, -1247], [131, -621], [153, -788], [255, -1312], [224, -1201], [185, -991], [157, -827]],
531 | [[21478, 40174], [4, -5714]],
532 | [[21482, 34460], [-268, 0]],
533 | [[21214, 34460], [-421, 0], [-263, 0], [-264, 0], [-473, 0], [-263, 0]],
534 | [[19530, 34460], [0, 7617]],
535 | [[19530, 42077], [481, 0], [262, 0], [349, 0], [299, 0]],
536 | [[20921, 42077], [274, -1], [283, 0], [0, -1902]],
537 | [[16478, 43982], [260, 0], [363, 0], [208, 0]],
538 | [[18138, 43983], [0, -9517]],
539 | [[21214, 33508], [-12, -1], [0, -1153], [-6, -7413], [-248, -1], [-434, -1], [-320, -1], [16, -313], [27, -125]],
540 | [[20237, 24500], [-476, 14], [0, -858], [-232, -1]],
541 | [[21214, 34460], [0, -952]],
542 | [[15304, 43982], [-41, 216], [-15, 259], [-7, 362], [11, 243], [-4, 182], [-28, 165], [-10, 184], [31, 400], [14, 395], [42, 540], [24, 638], [28, 1430], [-4, 364], [13, 177], [16, 690], [-12, 111], [24, 154], [6, 271], [-17, 30], [5, 288], [-12, 77], [12, 598], [-23, 284], [62, -244], [-16, 165], [36, -36], [68, 114], [28, -160], [41, -17], [16, 79]],
543 | [[18971, 43982], [0, -1905], [210, 0], [349, 0]],
544 | [[20921, 45888], [0, -3811]],
545 | [[20920, 49696], [1, -3808]],
546 | [[24913, 32555], [14, -197], [-32, -37], [18, -83], [-60, -186], [6, -357], [-23, -50], [-32, -290], [8, -421], [-25, -37], [-36, -246]],
547 | [[24751, 30651], [9, -148], [-53, -181], [-4, -171], [-21, 4], [-11, -185], [0, -414], [-47, -85], [-54, -479], [13, -178], [-49, -74], [13, -127], [-2, -221], [-52, -236], [22, -108], [-23, -127], [30, -170], [-15, -300], [19, -77], [6, -213], [-20, -93], [-1, -199]],
548 | [[24511, 26869], [-253, -3], [-299, -2], [-249, -1]],
549 | [[23710, 26863], [-2, 1033], [-40, 76], [-38, -67], [-43, 170]],
550 | [[23587, 28075], [12, 3311], [-50, 2121]],
551 | [[23549, 33507], [459, 0], [305, 0], [478, 0], [28, -260], [-23, -289], [-41, -174], [-23, -256], [181, 27]],
552 | [[24657, 44957], [50, -258], [17, -250], [65, -245], [8, -163], [-13, -373], [-37, -203], [-7, -235], [-27, -117], [-45, -63], [-28, -113], [-80, -34], [-24, -171], [-2, -293], [37, -217], [-4, -246], [-36, -235], [-16, -287], [-64, -141], [0, -392], [-17, -25]],
553 | [[24434, 40896], [-67, 327], [-13, 129], [-60, -25], [-320, -46], [-130, 8], [-256, -24], [-359, 52]],
554 | [[23229, 41317], [-21, 167], [4, 202], [-9, 593], [-27, 444], [8, 239], [-42, 162], [-6, 267], [11, 203], [-20, 132], [-6, 233], [-29, 134], [-25, 281], [4, 148], [-19, 163], [2, 243], [-24, 42]],
555 | [[23030, 44970], [-11, 248], [-32, 220], [20, 153], [31, 528], [-6, 174], [-27, 28], [10, 301], [-16, 215], [39, 3]],
556 | [[24488, 46841], [9, -224], [37, -196], [-23, -228], [7, -443], [29, -379], [93, -140], [17, -274]],
557 | [[23549, 34460], [-321, 0], [-322, 0], [-194, 0], [-321, 0], [-387, 0], [-257, 0], [-265, 0]],
558 | [[21478, 40174], [242, 0], [408, 0], [291, 0], [352, 0], [233, 0], [351, 0]],
559 | [[23355, 40174], [32, -167], [37, -90], [30, 79], [24, -314], [-24, 0], [-39, -403], [53, -311], [22, -285], [61, -123], [-2, -695], [0, -3405]],
560 | [[24434, 40896], [-22, -389], [21, -602], [26, -282], [74, -367], [10, -125], [65, -253], [20, -148], [12, -470], [21, -201], [24, 8], [31, 140], [69, -161], [16, -101], [-20, -164], [0, -201], [-46, -513], [5, -308], [65, -363], [53, -122], [56, -220], [20, -198], [28, -67], [6, -259], [21, -232], [-20, -254], [36, -465], [33, -118], [4, 157], [38, -198]],
561 | [[25080, 34420], [-2, -415], [-26, -344], [-37, 110], [-19, -265]],
562 | [[24996, 33506], [-20, 4]],
563 | [[24976, 33510], [-17, -2]],
564 | [[24959, 33508], [8, -222], [-27, -81], [12, -165], [-31, -14], [23, -202], [-31, -269]],
565 | [[23549, 33507], [0, 953]],
566 | [[23355, 40174], [-26, 63], [2, 154], [-63, 440], [-19, 330], [-20, 156]],
567 | [[20921, 45888], [339, 0], [237, 0], [427, -2], [238, 0], [310, 0], [113, -375], [35, -35], [32, 166], [50, -34], [100, 64], [48, -186], [76, -94], [41, -120], [27, -273], [36, -29]],
568 | [[23587, 28075], [-63, 84], [-46, 122], [-28, 197], [-68, 198], [-38, -181], [-54, 53], [-14, 107], [-48, -172], [-46, 65], [-98, -253], [-11, -116], [-23, 160], [-24, 0], [-43, 246], [-11, -116], [-45, 33], [-17, 161], [-45, -180], [-5, -228], [-21, -9], [-12, 329], [-45, -152], [-55, 131], [-9, 152], [-22, 9], [-33, -183], [-42, -9], [-2, 215], [-36, 60], [-1, 212], [-78, -2], [-34, -119], [-23, 146], [-40, -28], [-65, 143], [-67, 38], [0, 171], [-20, 171], [-32, 97], [-10, -157], [-37, 62], [-32, -43], [-61, 333], [-33, 20], [-1, 3665], [-350, 1], [-485, 0]],
569 | [[24334, 20156], [-61, 151], [29, 150], [55, -125], [-23, -176]],
570 | [[25053, 21267], [-35, -13], [42, 169], [-7, -156]],
571 | [[24968, 21496], [-51, -34], [-12, 119], [-60, 52], [-25, 182], [-46, 51], [-51, -318], [-8, -147], [15, -119], [59, -108], [37, 30], [42, 218], [24, -105], [44, 78], [-24, -221], [-30, 4], [4, -131], [29, 6], [15, -162], [17, 29], [10, 210], [24, 151], [24, -45], [-17, -153], [34, -184], [-20, -206], [-9, 85], [-46, -156], [18, -139], [-44, 72], [21, -136], [-38, 12], [24, -213], [41, -100], [-6, -117], [57, -34], [27, -142], [15, 58], [46, -378], [-35, -189], [-23, 97], [-49, -249], [31, 306], [-24, -79], [-32, 269], [-35, 107], [-54, 58], [19, 146], [-92, 276], [-36, 2], [39, -150], [9, -229], [-16, -106], [12, -104], [-22, -185], [-28, -87], [-6, 264], [-41, 165], [-50, -51], [-18, -243], [-18, -71], [-39, 119], [-10, -92], [-30, 143], [-25, -25], [-69, 188], [19, 138], [39, -55], [-40, 249], [9, 265], [-19, -237], [-65, 95], [-8, 208], [-22, -15], [-12, 225], [-49, -65], [3, 214], [-38, 1], [-38, -167], [-23, 38], [27, -274], [23, 14], [-70, -179], [-113, 134], [-96, 246], [-48, 76], [-83, -7], [-68, -62], [-25, -70], [-16, 203], [29, 95], [-4, 246]],
572 | [[23778, 21101], [22, 179], [1, 395], [-10, 201], [13, 169], [-7, 161], [31, 283], [22, 429], [-11, 130], [18, 65], [-46, 550], [7, 82], [-25, 188], [3, 94], [-28, 154], [6, 201], [-31, 366], [-33, 174], [0, 1941]],
573 | [[24511, 26869], [26, -173], [-23, -320], [16, -359], [-3, -163], [54, -270], [-34, -367], [-14, 4], [-1, -257], [-46, -252], [-22, -45], [-19, -228], [-9, -315], [-20, -83], [3, -214], [-12, -257], [-26, -7], [2, -260], [12, -163], [-21, -107], [264, 0], [272, 0], [-31, -605], [16, -248], [32, -195], [10, -281], [31, -208]],
574 | [[22840, 13727], [-7, 67], [-20, 607], [-38, 691], [-2, 561], [6, 120], [2, -489], [9, -333], [29, -592], [21, -632]],
575 | [[22836, 16657], [-39, -561], [-9, -234], [-13, -12], [8, 227], [31, 467], [56, 442], [-34, -329]],
576 | [[22878, 17074], [14, 264], [31, 240], [5, -124], [-50, -380]],
577 | [[23051, 17975], [-82, -302], [-37, -186], [7, 189], [24, 41], [81, 343], [7, -85]],
578 | [[23495, 19896], [25, -39], [-109, -464], [84, 503]],
579 | [[23778, 21101], [-16, 2], [-22, -401], [16, -192], [-63, -9], [-154, -416], [26, 233], [-54, -96], [18, 328], [-15, 164], [-23, -27], [-13, -195], [-50, 159], [19, -142], [-11, -252], [33, -88], [-16, -51], [21, -179], [-49, -326], [-24, -56], [-2, -246], [-58, -302], [-66, -235], [-97, -143], [0, -118], [65, 169], [-51, -186], [-35, 62], [-56, -120], [11, 197], [-44, -106], [-20, 180], [0, -164], [-38, 7], [-27, 157], [23, -294], [46, -268], [-70, -220], [-39, 306], [3, -453], [-45, -220], [7, 261], [-18, -256], [-10, 152], [-55, -255], [25, -112], [30, 160], [-1, -112], [-44, -390], [-19, 73], [-76, -3], [37, -52], [5, -174], [31, -143], [-46, -670], [-27, -95], [10, 233], [-33, -191], [-48, 321], [31, -300], [-13, -83], [53, -67], [23, 75], [-11, -475], [-20, -25], [-1, -350], [19, -95], [16, -491], [-5, -185], [37, -297], [1, -269], [28, -62], [-7, -204], [26, 121], [1, -155], [-32, -5], [-28, -97], [-3, -130], [-44, 130], [-38, 226], [-40, 62], [-118, 23], [-40, 225], [-59, 131], [-16, -39], [-45, 248], [-79, 68], [-8, 223], [-14, 29], [-24, 547], [-59, 437], [6, 358], [-23, 127], [14, 219], [-11, 281], [-25, 138], [-29, 24], [-44, 277], [-4, 185], [-28, 173], [-27, 308], [-56, 233], [-35, 620], [-26, 202], [-12, 243], [-24, 169], [-12, 365], [-29, 135], [-12, 160], [-58, 247], [-4, 112], [-53, 181], [-2, 130], [-22, -47], [-27, 318], [-31, 1], [-7, 104], [-24, -85], [-133, 51], [-59, 173], [-23, -221], [-31, 14], [-45, -76], [-28, -291], [-34, -601], [11, -91], [-36, -98], [-44, -366], [-43, 33], [-49, 152], [-22, 140], [-32, 33], [-34, 200], [-63, 81], [-40, 183], [-29, 210], [-23, 21], [-47, 222], [-14, 254], [-30, 284], [-7, 225], [6, 263], [-49, 427], [-8, 256], [-34, 238], [-62, 254], [-41, 94], [-50, 273], [-10, 131], [-49, 207], [-66, 413], [-57, 153], [-51, 511], [-32, 47]],
580 | [[29906, 44002], [2, -937], [-14, -395]],
581 | [[29894, 42670], [-15, 67], [-108, -120], [-17, 46], [-45, -97], [-27, 52], [-80, -73], [-5, 114], [-62, -302], [-14, 52], [-128, -330]],
582 | [[29393, 42079], [-22, 196], [66, 218], [-16, 147], [17, 1446]],
583 | [[30201, 46046], [10, -35], [-30, -358]],
584 | [[29721, 45371], [-22, 178], [18, 317], [9, 421], [13, 172], [1, 440], [26, 358], [25, 124], [45, 610], [3, 337], [17, 110], [39, 33], [46, 169], [36, 268], [-24, 294], [36, 341], [0, 179]],
585 | [[29989, 49722], [27, 364], [32, 167], [42, -77], [16, 100]],
586 | [[30106, 50276], [35, -3261], [-4, -398], [45, -317], [19, -254]],
587 | [[30063, 43031], [-30, -87], [35, 392], [-5, -305]],
588 | [[30096, 43055], [-23, -20], [3, 332]],
589 | [[30063, 43429], [-6, -111], [-36, 319], [1, -275], [-16, -190], [6, -168], [-21, -228], [-97, -106]],
590 | [[29498, 45403], [6, 1535], [-14, 129], [-31, -94], [11, 337], [-20, 595], [32, 346], [9, 424], [-22, 226], [10, 393], [-12, 117], [7, 294]],
591 | [[29474, 49705], [265, 9], [250, 8]],
592 | [[25368, 21594], [-61, -15], [56, 75], [5, -60]],
593 | [[26060, 30622], [82, -2762], [31, -1141], [33, -611], [32, -345], [-7, -184], [27, -130], [-34, -162], [-12, -349], [-23, -336], [28, -524], [-16, -698], [23, -182], [3, -165]],
594 | [[26227, 23033], [-310, 0], [-411, -1], [-9, -241], [32, -268], [27, -99], [-1, -382]],
595 | [[25555, 22042], [8, -57], [-56, -332], [-54, -74], [6, 82], [-37, 226], [-12, 193], [8, 160], [-27, 272], [-22, -304], [-9, -435], [-51, 119], [-29, -26]],
596 | [[25280, 21866], [-22, 2861], [30, 1543], [81, 4206], [-26, 171]],
597 | [[25343, 30647], [-1, 22], [406, -37], [312, -10]],
598 | [[27521, 11909], [-60, -399], [62, 529], [-2, 123], [31, 100], [-31, -353]],
599 | [[27042, 14480], [-27, 365], [18, -89], [9, -276]],
600 | [[27576, 15790], [-35, 409], [-13, 371], [48, -780]],
601 | [[27452, 18403], [-13, -250], [-2, -353], [-14, 224], [-5, 333], [34, 46]],
602 | [[26205, 20530], [-6, -100], [-29, 106], [35, -6]],
603 | [[25779, 21913], [15, -22], [-189, -141], [97, 127], [77, 36]],
604 | [[27204, 22485], [20, -58], [-7, -281], [11, -131], [5, -318], [61, -1358], [68, -923], [102, -1034], [11, -163], [-18, -126], [0, -378], [17, -360], [-25, 359], [6, 749], [-50, 50], [8, 219], [-27, 93], [5, -246], [25, -548], [100, -1348], [10, -288], [41, -607], [34, -425], [10, -308], [2, -426], [-22, -988], [-5, -560], [-3, 240], [-16, -279], [-30, -259], [-11, -272], [9, -198], [-38, -244], [-37, -3], [-36, -185], [-40, 80], [-15, -80], [-50, -45], [-25, 204], [8, 197], [57, -227], [-10, 202], [-45, 126], [-38, 609], [-22, 93], [-4, 158], [-69, 190], [-24, -55], [-32, 502], [-8, 502], [-45, 95], [64, 439], [-22, -50], [-25, -266], [-25, -39], [-12, 333], [8, 264], [-13, 104], [23, 145], [-38, -85], [-19, 72], [20, -309], [-46, 88], [-57, 697], [-15, 341], [-37, 180], [32, 93], [13, 214], [41, 278], [-7, 231], [-29, -176], [-20, 301], [-33, -106], [31, -87], [-9, -344], [-13, 0], [-42, 352], [17, 402], [-5, 120], [36, 548], [9, 810], [-27, 164], [-20, 411], [-67, 10], [-12, 174], [-47, 325], [-42, 171], [-2, 258], [-33, 93], [-42, 391], [-96, 352], [-43, -64], [-23, 50], [-36, -143], [11, -232], [-44, 38], [-66, -259], [-39, -107], [2, 142], [-35, -168], [-34, 10], [-61, -83], [12, 229], [-15, 173], [-88, 446], [52, -124], [-3, 156], [-24, -30], [-39, 136], [-9, 235], [-28, -103], [24, -46], [7, -193], [-90, 317], [-83, 143], [12, 105], [60, -69], [-28, 200], [-80, -62], [-52, -95], [-102, -63], [34, 154], [-25, 78], [-15, -97], [-31, 237], [6, -211], [-48, -294], [-33, -13], [29, 219], [-21, 99]],
605 | [[26227, 23033], [36, -536], [302, -118], [433, -175], [13, -364], [30, -21], [21, 429], [-8, 300], [21, 139], [71, -147], [58, -55]],
606 | [[27217, 22527], [-8, 324], [18, 40], [-10, -364]],
607 | [[27271, 23771], [2, 223], [22, 32], [-24, -255]],
608 | [[27374, 24999], [15, -57], [-40, -261], [-45, -20], [28, -53], [-18, -161], [-25, -48], [-29, -279], [-18, -296], [11, -127], [-40, -2], [55, -139], [-32, -253], [-20, 93], [9, -316], [-26, -348], [5, -247]],
609 | [[26060, 30622], [357, 3]],
610 | [[26417, 30625], [337, 27]],
611 | [[26754, 30652], [-54, -344], [-13, -212], [95, -433], [44, -39], [27, -321], [7, -205], [36, -245], [13, -189], [87, -393], [15, -220], [37, -115], [34, -187], [2, -219], [48, -391], [70, -254], [2, -174], [18, -158], [7, -427], [59, -267], [19, -373], [-7, -180], [22, -203], [52, -104]],
612 | [[25280, 21866], [-18, -121], [-33, 136], [-42, -78], [-29, 130], [-111, -194], [-22, 115], [-2, -149], [-26, -87], [-6, -128], [-23, 6]],
613 | [[24751, 30651], [362, -3], [230, -1]],
614 | [[28020, 28522], [0, -65], [-53, -132], [-49, -261], [-54, -427], [-14, -336], [-33, 106], [33, -215], [-25, -52], [-32, -266], [-29, -49], [-8, 95], [-29, -163], [10, -79], [-44, -218], [-29, -79], [-25, 183], [-1, -175], [18, -60], [-35, -228], [-56, -96], [-35, -141], [-56, 62], [15, -93], [-31, -26], [44, -90], [-11, -166], [-46, -106], [-34, 180], [-7, 249], [-20, 91], [16, -419], [33, -200], [-59, -347]],
615 | [[26754, 30652], [123, 241], [108, 150], [338, -99], [13, -176], [28, 89], [37, -279], [5, -259], [299, -38], [14, -19], [209, -1212], [92, -528]],
616 | [[25667, 44928], [-14, -294], [-39, -1109]],
617 | [[25614, 43525], [-87, 0], [-3, -4219], [-1, -348], [-25, -118], [7, -180], [-19, -167], [35, -281], [8, -394], [-42, -366], [5, -97], [-33, -113], [-25, -327], [-26, 19], [-13, -170], [17, -95], [-27, -118], [-2, -367], [-21, -13], [19, -175]],
618 | [[25381, 35996], [-33, -317], [22, -229], [-11, -86], [-91, -113], [-18, -213], [22, -257], [-14, -183], [-117, 281], [-40, -23], [-36, -277], [15, -159]],
619 | [[24657, 44957], [495, -24], [297, -14], [218, 9]],
620 | [[25614, 43525], [391, -1], [278, -2], [0, -118]],
621 | [[26283, 43404], [2, -767], [-7, -4182]],
622 | [[26278, 38455], [-15, -340], [26, -50], [-6, -186], [-54, -46], [-52, -147], [-20, 89], [-55, -27], [8, -359], [-54, -202], [-12, -234], [-42, -38], [-24, -208], [-4, -221], [-38, -179], [-65, 218], [1, 110], [-31, -47], [-36, -188], [1, -124], [-62, -96], [-22, 174], [-56, -143], [-27, -250], [-13, 111], [-73, 190], [-34, -62], [-30, -168], [-8, 154], [-32, -55], [-35, 87], [7, -178], [-40, -44]],
623 | [[26901, 37163], [5, -327], [-19, -164], [46, -332], [-3, -87], [47, -370], [5, -112], [51, -238], [42, -47]],
624 | [[27075, 35486], [-108, -496], [-78, -218], [-24, -229], [-37, -122], [-5, -150], [-60, -127], [-15, -161], [-104, -154], [-44, -124]],
625 | [[26600, 33705], [-17, -34], [-388, 75], [-85, -12], [-178, 29], [-135, 44], [-357, -25], [-65, 86], [6, -363], [-385, 1]],
626 | [[26278, 38455], [26, 92], [26, -131], [54, 47], [34, -138], [35, -417], [92, -92], [54, -251], [38, 147], [47, -92], [17, -111], [43, 34], [34, 184], [39, 55], [18, -301], [35, -97], [31, -221]],
627 | [[28864, 31094], [-45, -70], [52, 180], [-7, -110]],
628 | [[28770, 33602], [6, -1]],
629 | [[28776, 33601], [20, -509], [20, -289], [42, -447], [-44, 312], [-44, 934]],
630 | [[28746, 33603], [6, -1]],
631 | [[28752, 33602], [10, 0]],
632 | [[28762, 33602], [-29, 1]],
633 | [[28733, 33603], [13, 0]],
634 | [[28728, 33603], [-2, -94], [44, -381], [26, -418], [-10, 2], [-31, 391], [7, -233], [-31, 50], [-51, 210], [34, -237], [-32, -140], [-67, 117], [35, -131], [-53, -148], [-52, 70], [-18, 302], [-1, -186], [19, -209], [-12, -117], [48, -14], [24, 66], [46, -29], [31, 68], [40, -18], [-9, -229], [15, -405], [11, 450], [23, 97], [33, -10], [19, -232], [-1, -214], [-16, -233], [-32, 6], [-36, -305], [-34, -137], [-33, 2], [-38, 212], [-11, -106], [-37, 178], [32, 84], [-34, 16], [-5, -295], [-13, 82], [-31, -37], [-65, 150], [83, -273], [54, -81], [2, -155], [-51, -113], [32, -89], [-56, -257], [-21, 7], [-67, 312], [39, -337], [49, -128], [34, 135], [28, -97], [24, 268], [10, -166], [26, -19], [-3, -146], [-64, -306], [-14, 148], [-24, -174], [-54, 27], [-55, -118], [-8, 59], [-37, -217], [-41, -10], [18, 116], [-27, 196], [14, -230], [-18, -45], [19, -155], [-43, -111], [-37, -177], [-46, -322], [-28, -491], [3, 304], [-14, -297], [-17, -115], [-61, 63], [-89, -82]],
635 | [[26417, 30625], [7, 437], [18, 98], [38, -19], [24, 318], [67, 251], [76, 27], [71, 279], [47, 139], [26, -3], [21, 301], [29, -20], [9, 122], [39, 109], [9, -145], [32, 33], [34, 219], [46, 86], [31, -110], [45, 369], [50, 189], [24, 411]],
636 | [[27160, 33716], [5, -29], [115, -47], [153, -14], [164, -43], [395, 4], [216, 0], [520, 16]],
637 | [[27477, 41405], [-41, -72], [18, -234], [-3, -380], [-35, -430], [-8, -269], [-20, -245], [-10, -308], [-51, -189], [-42, -236], [-50, -83], [-25, 73], [-28, -239], [-29, -8], [-17, -148], [-5, -488], [-20, 23], [-19, -142], [-10, 221], [-25, 60], [-18, -102], [-33, -392], [10, -268], [-24, -47], [-24, -303], [-67, -36]],
638 | [[26283, 43404], [140, 21], [248, 53], [79, 387]],
639 | [[26750, 43865], [17, -172], [112, -342], [68, 16], [319, 1013], [211, 219]],
640 | [[27477, 44599], [0, -3194]],
641 | [[26600, 33705], [477, -13], [83, 24]],
642 | [[24976, 33510], [-17, -2]],
643 | [[28253, 38900], [49, -62], [26, -105], [-12, -203], [24, -120], [42, -50], [43, -217]],
644 | [[28425, 38143], [14, -61]],
645 | [[28439, 38082], [6, -355], [-51, -113], [-34, -469], [29, -152], [58, 125], [22, -338], [22, -78], [74, -51], [24, -239], [78, -232], [-18, -87], [8, -279], [-10, -166], [-41, 162], [-13, -76], [-19, 206], [-69, 316], [-25, 208], [-1, -136], [36, -169], [22, -199], [29, -92], [17, -214], [34, -5], [40, -104], [-30, -52], [41, -177], [-3, -217], [-18, 96], [-34, -26], [18, -190], [-34, -45], [-78, 546], [49, -458], [38, -154], [18, 37], [31, -197], [3, -194], [-41, -100], [-7, 103], [-46, 192], [-10, 196], [-21, -26], [-72, 191], [-19, -63], [-54, 119], [21, -117], [44, 12], [12, -105], [85, -105], [3, -269], [46, -171], [5, -86], [44, -47], [14, 149], [78, -95], [36, -691]],
646 | [[28770, 33602], [-22, 323], [-2, -322]],
647 | [[28733, 33603], [-5, 0]],
648 | [[27075, 35486], [-6, -128], [45, -353], [50, -147], [27, 6], [51, 233], [39, -172], [77, 96], [19, 205], [40, -37], [65, 166], [8, -75], [50, 150], [19, 201], [-18, 114], [23, 266], [58, 357], [22, 329], [36, 200], [44, 595], [23, -47], [12, -167], [59, -105], [30, 209], [12, 196], [42, 398], [32, -113], [38, 273], [20, -9], [72, 451], [1, 203], [25, 347], [135, -584], [28, 356]],
649 | [[24848, 54050], [-127, -1338], [51, -142], [31, -321], [278, -367], [79, -215], [60, -54], [26, 36], [113, -179], [6, -254], [56, -75], [28, -148], [-1, -345], [-16, -271], [46, 57], [12, -69], [-23, -304], [23, -135], [60, -80], [9, 240], [25, 72], [62, 383], [92, 0], [143, -395], [-56, -231], [-74, -515], [-49, -720], [-30, -569], [-32, -767], [-12, -540], [7, -466], [32, -1410]],
650 | [[27768, 39644], [-3, -976], [97, 395], [21, 125], [25, -61], [57, 355], [5, -111], [48, -94], [31, 8], [9, 173], [43, 21], [40, 125], [47, -189], [34, 18], [-4, -182], [21, -45], [14, -306]],
651 | [[27477, 41405], [0, -1762], [291, 1]],
652 | [[28897, 39805], [-47, -299], [11, -206], [-10, -150], [43, -281], [11, -172], [0, -322], [23, -243], [41, -255], [23, 3], [11, -652]],
653 | [[29003, 37228], [-4, -1]],
654 | [[28999, 37227], [-7, 0]],
655 | [[28992, 37227], [-170, 14], [-27, 2261], [0, 141]],
656 | [[28795, 39643], [52, 222], [50, -60]],
657 | [[28452, 37892], [-13, 190]],
658 | [[28425, 38143], [20, 119], [38, -197], [-31, -173]],
659 | [[28992, 37227], [-3, -224], [-17, -180], [-22, -3], [-56, -529], [-10, -210], [-97, -756], [-23, -246], [-10, -362], [-18, 113], [-2, 232], [24, 561], [29, 117], [12, 180], [23, 68], [17, 299], [-43, 32], [-20, -87], [4, 292], [18, 136], [-38, -6], [27, 156], [-24, 71], [17, 254], [-31, -280], [-20, -30], [-69, 430], [27, 215], [-30, -34], [2, 118], [74, -112], [-52, 208], [-10, 157], [-21, 7], [14, 149], [24, -158], [-4, 172], [23, 60], [-39, 139], [-23, -67], [4, 216], [27, -106], [42, 327], [-30, -41], [-20, -174], [-7, 258], [46, 389], [20, 39], [28, 403], [-42, -89], [5, -165], [-40, -202], [-12, 170], [-9, -273], [-7, 175], [-24, -315], [-47, 52], [41, -334], [-23, -20], [29, -123], [-39, -234], [12, -125], [-8, -192], [6, -436], [33, -212], [-10, -120], [-61, 291], [70, -471], [18, -169], [-1, -180], [-66, 295], [-77, 111], [-38, 166], [-20, 195], [-44, -157], [-15, 279], [21, 180], [41, 196], [4, 179]],
660 | [[27768, 39644], [225, -1], [321, 0], [481, 0]],
661 | [[29009, 40204], [82, 279], [-69, 480], [-25, 74], [-7, 200], [-26, 23], [-4, 248], [38, 363], [-22, 173], [32, 123], [39, 255], [11, 176], [41, 159]],
662 | [[29099, 42757], [221, -696]],
663 | [[29320, 42061], [-35, -528], [-50, -152], [-20, -260], [7, -71], [74, -110], [5, -142], [-21, -520], [-21, -140], [-11, -528], [-54, -293], [-31, -287], [15, -81], [-32, -88], [-35, -208], [-25, -280], [-36, -211], [-26, -15], [23, 401], [-43, 130], [-25, -52], [-34, 209], [-30, 78], [-48, 266], [-7, 273], [41, 346], [74, 136], [34, 270]],
664 | [[29273, 41381], [-8, -151], [-39, -105], [20, 274], [27, -18]],
665 | [[29782, 42336], [-46, -134], [6, -65], [-65, -235], [47, 4], [25, 162], [72, 12], [45, 138], [25, -3], [-153, -400], [-68, -124], [-22, 21], [-42, -118], [-37, 7], [-41, -95], [-182, -221], [-49, -28], [-8, 207], [30, 212], [36, 6], [17, 141], [65, 150], [72, -70], [21, 104], [103, 5], [49, 47], [73, 287], [27, -10]],
666 | [[29393, 42079], [-34, -173], [-9, -184], [-36, -16], [6, 355]],
667 | [[29099, 42757], [-10, 128], [-42, 47], [-31, 125], [-19, 194], [-4, 404], [-48, 104], [-24, 219], [-465, 1], [-265, 1], [-265, 1], [-238, 1], [0, 1025]],
668 | [[27688, 45007], [207, 504], [29, 276], [-32, 126], [-6, 470], [-34, 389], [136, 317], [514, -11], [12, 38], [96, 836], [35, 184], [40, 85], [33, 233], [55, 116], [47, 329], [120, 538], [112, 278], [48, -23], [374, 13]],
669 | [[29009, 40204], [-31, -197], [-72, -139], [-9, -63]],
670 | [[27477, 44599], [76, 80], [135, 328]],
671 | [[30741, 47862], [-27, 147], [36, -61], [-9, -86]],
672 | [[30794, 48218], [-29, -99], [14, 186], [15, -87]],
673 | [[30910, 48379], [-34, -45], [-1, -112], [-31, 140], [23, 236], [22, 30], [21, -249]],
674 | [[30106, 50276], [37, 52], [13, -163], [31, 351], [40, -7], [-23, 123], [40, 305], [51, 152], [-3, 138], [37, 164], [-8, 361], [35, 531], [35, 166], [15, 493], [206, 1401], [59, -41], [5, -324], [37, -112], [73, 106], [82, 216], [43, -33], [108, -508], [6, -2122], [-4, -496], [39, -119], [59, -51], [-12, -224], [18, -202], [-12, -230], [41, -214], [41, 47], [38, -391], [-22, -47], [39, -248], [-61, -332], [-36, 25], [-50, -91], [-18, -134], [-47, 93], [-38, -88], [-7, -275], [-24, 132], [1, -159], [-22, -105], [-14, 290], [-89, 12], [-40, -145], [10, -330], [-74, 252], [18, 320], [-17, 43], [-12, -202], [-39, -62], [11, -198], [-15, -43], [-25, -301], [4, -160], [-53, -234], [-29, 81], [1, 168], [-41, -431], [-13, 248], [-22, -229], [-5, 313], [-29, -233], [15, -113], [-14, -128], [-17, 526], [8, -577], [-24, 155], [-33, -169], [11, 235], [-43, -81], [-50, -311], [23, -156], [-39, -41], [3, -176], [-69, -328], [-22, -345], [-23, -20]],
675 | [[24976, 55400], [44, -21], [194, 519], [83, 80], [365, -983], [601, -1684], [29, -504], [51, -302], [28, -34], [19, 104], [87, 27], [-14, -176], [20, -442], [39, -269], [30, 112], [63, -6], [41, -234], [-36, -336], [281, -848], [16, -148], [26, -801], [80, -2403], [-1, -117], [-72, -950], [-20, -443], [0, -189], [-18, -245], [-27, -62], [-43, -267], [-67, -164], [-25, -174], [-8, -369], [8, -206]],
676 | [[99717, 62342], [61, -118], [81, -342], [-56, 105], [-38, 184], [-57, 66], [9, 105]],
677 | [[777, 62716], [26, -103], [-38, -77], [12, 180]],
678 | [[362, 62745], [54, -60], [-43, -46], [-25, -367], [-58, 118], [40, 187], [-71, 215], [72, 91], [31, -138]],
679 | [[560, 62515], [-40, -97], [-30, 89], [-89, -40], [114, 147], [34, 291], [32, -50], [-23, -166], [2, -174]],
680 | [[720, 62952], [-23, -196], [60, -44], [2, -151], [-48, -132], [-34, 0], [-25, -143], [-7, 207], [-28, -234], [-11, 139], [22, 78], [-8, 154], [52, -18], [6, 148], [-21, 146], [63, 46]],
681 | [[99653, 62831], [-22, 91], [40, 16], [-18, -107]],
682 | [[99968, 62794], [-48, 74], [-3, 110], [49, 104], [33, -118], [-31, -170]],
683 | [[876, 63090], [-12, -132], [-42, 183], [34, 92], [20, -143]],
684 | [[99385, 63007], [-3, -147], [-56, 0], [-12, -162], [-27, 124], [45, 165], [35, 43], [23, 235], [27, -66], [-32, -192]],
685 | [[1546, 63317], [66, -118], [62, 39], [49, -39], [-97, -50], [-49, -75], [-99, 36], [-62, 154], [130, 53]],
686 | [[1882, 63591], [-68, -66], [53, 262], [38, -104], [-23, -92]],
687 | [[1399, 63788], [34, -203], [-57, -153], [28, -189], [-91, -7], [-79, -177], [-48, 50], [-41, -73], [-81, 6], [45, 78], [40, -32], [31, 158], [34, -72], [51, 53], [12, 142], [60, 13], [31, 155], [-57, 105], [68, 182], [20, -36]],
688 | [[98330, 63982], [-22, -96], [9, -170], [-95, 67], [60, 194], [48, 5]],
689 | [[2381, 64192], [-56, -135], [-14, 84], [28, 179], [49, 0], [-7, -128]],
690 | [[2607, 64726], [30, -65], [-17, -151], [-76, 113], [63, 103]],
691 | [[98083, 64934], [62, -11], [55, -151], [-17, -84], [50, -27], [-34, -89], [-64, 37], [-41, -153], [-50, 87], [13, 155], [-51, -10], [3, 107], [-45, -2], [51, 155], [68, -14]],
692 | [[3101, 66018], [56, -95], [-11, -257], [-80, -213], [-42, -58], [-57, -383], [-26, -22], [-54, -222], [-60, -80], [63, 398], [3, 202], [43, 168], [48, -51], [19, 418], [46, 138], [52, 57]],
693 | [[3637, 66541], [-25, -202], [-34, 82], [59, 120]],
694 | [[3453, 66789], [23, 74], [16, -348], [41, 104], [16, 197], [52, -105], [-14, -114], [-46, -82], [-40, -222], [63, 130], [22, -182], [-82, -132], [-8, -156], [-60, 39], [16, -201], [-34, 58], [-144, -261], [-32, -161], [-45, -34], [-51, 129], [37, 136], [68, 101], [43, -34], [8, 114], [37, 2], [0, 277], [46, -9], [-20, 123], [42, 63], [32, -160], [-3, 187], [-63, 49], [-36, 194], [39, 198], [77, 26]],
695 | [[3958, 67075], [-11, -94], [-70, 29], [25, 79], [56, -14]],
696 | [[3697, 67169], [60, -94], [-65, -169], [-41, 0], [-24, 156], [42, 193], [28, -86]],
697 | [[3796, 67351], [21, -133], [-41, -170], [-27, 236], [16, 117], [31, -50]],
698 | [[4603, 67703], [20, -131], [-70, 71], [-4, 154], [54, -94]],
699 | [[4698, 68459], [-41, 165], [52, 56], [-11, -221]],
700 | [[13345, 68693], [12, -141], [-37, -75], [-40, 159], [65, 57]],
701 | [[4286, 68856], [51, -6], [36, -197], [20, -307], [65, -42], [26, -202], [-54, 36], [-36, 155], [-16, -161], [-55, -130], [-46, 50], [-95, -28], [-56, -169], [-20, -188], [-70, -84], [-40, 23], [-31, 136], [-13, 209], [72, 178], [43, 398], [40, 77], [48, -63], [20, 118], [111, 197]],
702 | [[4851, 69047], [25, -78], [-31, -117], [-43, 146], [49, 49]],
703 | [[12913, 69071], [35, -233], [-23, -106], [-34, 78], [22, 261]],
704 | [[5465, 68969], [0, -138], [-37, 34], [5, 131], [32, -27]],
705 | [[12839, 69091], [33, -448], [50, -236], [26, -280], [-48, 31], [0, 92], [-81, 383], [-24, 297], [10, 260], [34, -99]],
706 | [[13314, 68975], [-6, -200], [-70, -1], [27, 489], [38, -112], [11, -176]],
707 | [[5354, 69164], [6, -156], [-78, -421], [26, 251], [-29, 135], [52, -4], [-17, 156], [40, 39]],
708 | [[12775, 69347], [23, -91], [-27, -128], [-39, 50], [2, 162], [41, 7]],
709 | [[5240, 69412], [0, -197], [-55, 145], [55, 52]],
710 | [[5141, 69327], [42, 108], [-11, -245], [11, -195], [-62, 106], [-17, -132], [-9, 404], [45, 143], [1, -189]],
711 | [[13184, 69529], [51, -218], [-29, -298], [-22, 105], [-12, 333], [12, 78]],
712 | [[12697, 69549], [35, -84], [-34, -115], [-11, -160], [-15, 261], [25, 98]],
713 | [[12718, 69559], [-29, 35], [26, 143], [3, -178]],
714 | [[12762, 69626], [-28, 121], [32, 55], [-4, -176]],
715 | [[12675, 69774], [-1, -180], [-42, 0], [43, 180]],
716 | [[12692, 70287], [77, -56], [-49, -144], [-39, 44], [11, 156]],
717 | [[6567, 70232], [-41, -15], [-7, 108], [53, 158], [-5, -251]],
718 | [[12508, 70495], [41, 0], [-44, -195], [-24, 176], [27, 19]],
719 | [[13354, 70541], [68, -465], [-3, -597], [-22, -217], [-37, -167], [-34, 95], [28, 166], [-20, 92], [-11, -198], [-35, 20], [49, 323], [-26, 373], [6, -430], [-51, -225], [-45, 105], [-34, 233], [45, 140], [-14, 126], [8, 425], [56, -14], [-30, 143], [83, 110], [19, -38]],
720 | [[12746, 70951], [25, -18], [0, -264], [-47, 10], [-64, -218], [-27, 77], [33, 239], [48, 17], [32, 157]],
721 | [[12999, 71016], [34, 45], [76, -213], [-24, -269], [-40, -96], [-30, 104], [12, 117], [-90, 165], [8, 213], [43, 217], [34, 14], [8, -150], [-31, -147]],
722 | [[12692, 71318], [82, -75], [31, 36], [43, -320], [-31, -86], [20, -128], [91, -106], [77, -418], [9, -256], [19, 42], [20, -243], [-62, 42], [-41, -159], [72, 78], [8, -258], [34, 62], [45, -261], [-40, -60], [34, -83], [38, 84], [-28, -375], [-41, -113], [24, -37], [48, 115], [3, -366], [-15, -275], [-40, 9], [-41, 183], [-30, 420], [-53, -89], [23, 275], [-35, 243], [3, -178], [-43, 79], [-5, 156], [-108, 12], [-8, 198], [96, -41], [-65, 196], [11, 230], [26, 109], [-77, -105], [-37, 86], [22, 255], [43, 104], [-25, 156], [-14, 509], [-80, 33], [-3, 320]],
723 | [[12956, 71488], [-3, -304], [-47, -89], [-61, 180], [18, 199], [93, 14]],
724 | [[13092, 71316], [35, 4], [28, -273], [-42, -174], [-77, 302], [-3, 413], [59, -272]],
725 | [[6152, 71755], [23, -87], [-92, -12], [14, 101], [55, -2]],
726 | [[6876, 71799], [-8, -169], [-69, -226], [11, 252], [66, 143]],
727 | [[6981, 71800], [9, -91], [-43, -104], [-36, 30], [16, 149], [54, 16]],
728 | [[2618, 71827], [76, -52], [-45, -92], [-31, 144]],
729 | [[12888, 72172], [19, -8], [78, -375], [-72, -197], [-40, 39], [15, 541]],
730 | [[12581, 72294], [29, -299], [6, 193], [40, -74], [-16, -137], [18, -181], [-42, -31], [-17, -141], [22, -313], [-18, -139], [-10, -330], [-27, 18], [1, 370], [-29, -501], [-27, 142], [-12, 466], [28, 149], [35, -140], [5, 206], [-76, 170], [23, 81], [-46, 212], [3, 282], [20, 59], [56, -98], [-43, 182], [77, -146]],
731 | [[12643, 72697], [125, -164], [58, 15], [48, -251], [-17, -112], [15, -346], [-19, -39], [-95, 431], [36, -353], [40, -222], [-20, -130], [-142, 4], [6, 270], [-17, 101], [5, 371], [-16, -86], [-28, 211], [-50, 187], [4, 87], [67, 26]],
732 | [[7232, 72884], [84, -48], [-91, -135], [-37, -143], [-19, 143], [42, 241], [21, -58]],
733 | [[2509, 72978], [-34, -159], [-42, 106], [76, 53]],
734 | [[12140, 73010], [7, -191], [-23, -249], [-60, -39], [5, 171], [32, 169], [-42, 104], [5, 194], [32, 8], [44, -167]],
735 | [[12184, 73405], [74, 39], [85, -403], [63, -1008], [-3, -889], [-9, -166], [-63, 295], [-48, 397], [29, 94], [-47, 143], [24, 215], [-43, -187], [19, 295], [-41, -82], [-29, 76], [-1, 216], [58, 190], [-40, 10], [-28, 211], [22, 176], [-56, -26], [-40, 215], [83, 389], [28, -81], [-37, -119]],
736 | [[7211, 74241], [-6, -131], [-73, 222], [17, 80], [62, -171]],
737 | [[7280, 74320], [57, -40], [-32, -267], [18, -53], [11, 229], [22, -64], [37, 206], [34, -46], [35, -213], [-31, -139], [13, -214], [77, 17], [-45, -216], [-8, -145], [-55, 17], [-59, 128], [-63, 17], [94, -214], [-8, -202], [-49, -55], [-11, 156], [-82, -91], [59, -91], [-37, -74], [-45, 35], [-68, -309], [-47, -122], [-19, -231], [-63, -268], [-45, -14], [17, 203], [63, 237], [-37, -17], [45, 364], [-82, -361], [-9, 75], [48, 221], [-110, 53], [-38, -65], [23, -121], [38, 128], [42, 12], [-9, -294], [-42, -128], [-62, 170], [-1, 349], [-19, 160], [-58, 167], [49, 319], [77, 256], [39, 52], [60, -87], [32, -423], [39, -199], [-28, 487], [39, -38], [-50, 208], [79, -20], [-89, 175], [0, 154], [55, 174], [42, -119], [7, -268], [36, 131], [-15, 136], [74, -102], [24, 211], [-44, 218], [75, -155]],
738 | [[11925, 74483], [-31, -320], [-26, 407], [20, 71], [37, -158]],
739 | [[7226, 74643], [88, -193], [-31, -26], [-117, 156], [34, 154], [26, -91]],
740 | [[12100, 74892], [63, -129], [-50, -365], [64, 208], [13, 117], [130, -216], [-12, -269], [-65, 120], [74, -260], [-91, -32], [-164, 374], [16, -111], [117, -245], [43, -187], [85, 93], [28, -492], [-68, -59], [-198, 558], [16, -212], [28, -79], [15, -292], [-43, -166], [-40, 53], [-45, 236], [50, -56], [-87, 297], [17, 84], [-92, 261], [29, 323], [71, -276], [-104, 488], [44, 0], [-23, 215], [26, -5], [27, -219], [8, 231], [42, -106], [48, 203], [28, -85]],
741 | [[12471, 74972], [34, -143], [-101, 95], [-11, 140], [50, 26], [28, -118]],
742 | [[12322, 75166], [29, -82], [32, -309], [141, 0], [6, -172], [77, -532], [9, -268], [-29, 66], [-74, 706], [-25, -127], [14, -207], [93, -513], [12, -245], [-49, -54], [49, -50], [8, -152], [-33, -89], [-55, 150], [29, -209], [-23, -144], [-56, -130], [2, -90], [-73, -145], [10, 275], [-12, 143], [46, 156], [-28, 164], [68, -125], [1, 118], [-44, 0], [-23, 141], [55, 145], [-60, -63], [-28, 209], [-9, 365], [-28, 424], [0, 148], [-31, 168], [-17, 309], [16, 19]],
743 | [[7340, 75002], [11, 139], [-35, 92], [69, 145], [73, -266], [3, 133], [48, -116], [21, 90], [13, -234], [18, 140], [9, -218], [-40, -171], [-57, 193], [-6, -271], [-57, -39], [-5, 209], [-23, -236], [-37, -17], [-8, -136], [-100, 227], [-6, 207], [78, -83], [-57, 182], [19, 65], [69, -35]],
744 | [[7428, 75370], [-48, 119], [79, 181], [2, -164], [-33, -136]],
745 | [[5104, 75701], [-12, -119], [-59, -86], [5, 293], [103, 225], [-37, -313]],
746 | [[7171, 77004], [-42, 9], [43, 124], [-1, -133]],
747 | [[9629, 77917], [66, 317], [37, 52], [-103, -369]],
748 | [[8689, 78510], [20, -42], [-68, -196], [48, 238]],
749 | [[8654, 78521], [-25, -185], [-28, 124], [53, 61]],
750 | [[8924, 78943], [1, -134], [51, 52], [-86, -344], [-71, -369], [6, -119], [-125, -160], [60, 390], [88, 271], [53, 212], [23, 201]],
751 | [[9479, 78882], [-46, 32], [52, 143], [-6, -175]],
752 | [[3632, 79010], [33, -136], [49, 49], [35, -88], [-12, -445], [48, -251], [-56, -18], [-111, -186], [-12, -125], [-57, 177], [-74, 59], [-178, 351], [-35, 239], [40, 82], [116, -53], [23, 155], [60, 44], [32, 137], [22, -73], [77, 82]],
753 | [[9083, 79156], [52, 5], [-3, -117], [60, 55], [-20, -166], [-31, 2], [-74, -204], [-23, 78], [53, 143], [-64, 47], [50, 157]],
754 | [[8763, 79223], [20, -127], [-34, -337], [-48, -41], [42, 196], [-28, 68], [48, 241]],
755 | [[7552, 78931], [23, 301], [25, -21], [-48, -280]],
756 | [[1842, 79009], [40, -83], [-51, -39], [-131, 340], [32, 192], [5, -149], [105, -261]],
757 | [[9206, 79177], [-54, -47], [2, 119], [146, 133], [-94, -205]],
758 | [[8668, 80036], [32, -200], [-56, -53], [24, 253]],
759 | [[4669, 85164], [-1, -116], [-93, 25], [37, 101], [57, -10]],
760 | [[2081, 85494], [16, -196], [188, -232], [82, 216], [97, 20], [60, -153], [12, -159], [71, -184], [53, -20], [12, -117], [232, -98], [-36, -284], [-122, 58], [-80, -269], [-26, -203], [-42, 346], [-75, 148], [-50, -12], [8, 162], [-173, 337], [-63, -29], [-99, -239], [-82, 107], [-31, 383], [48, 418]],
761 | [[6327, 99988], [-47, -101], [48, -169], [224, -155], [17, -194], [-74, -188], [-67, -17], [37, -231], [78, -55], [38, 244], [114, 378], [141, -247], [-26, -256], [158, -182], [67, 205], [106, -22], [59, 80], [270, -137], [31, -75], [-82, -245], [19, -120], [103, -89], [-123, 26], [-31, -65], [242, 15], [-62, -225], [147, -18], [77, -114], [0, 132], [108, 104], [114, -12], [-11, -144], [84, 40], [63, 134], [113, 19], [225, -196], [83, -204], [65, 84], [97, -126], [-1, -104], [190, -130], [69, 43], [276, -29], [162, -334], [198, -33], [146, 197], [213, 59], [196, -197], [91, -299], [173, -179], [67, -213], [114, 1], [0, -14159], [0, -3610], [6, -48], [125, -147], [31, 142], [112, -201], [109, 279], [146, 24], [8, -89], [-30, -431], [50, -184], [85, -159], [28, -266], [274, -980], [37, -471], [-1, -175], [180, 472], [62, 12], [42, 254], [0, 331], [52, 48], [-20, 201], [119, 142], [122, 240], [131, -444], [-23, -268], [29, -70], [17, -212], [63, -58], [71, -271], [37, -370], [27, -116], [98, -204], [68, -361], [65, -271], [6, -215], [57, -274], [26, -265], [44, -243], [102, -726], [89, -576], [-31, -222], [87, -99], [-22, -323], [65, -124], [21, -392], [59, 14], [136, -357], [72, -67], [54, -210], [42, -57], [26, -210], [80, -31], [28, -271], [-44, -407], [7, -386], [45, -501], [-32, -102], [-73, -615], [-85, -258], [-18, 113], [-37, -111], [-19, 98], [-1, 256], [-20, 88], [55, 270], [-52, -117], [-16, 216], [33, 168], [86, 7], [-11, 113], [-57, -15], [-3, 698], [-88, 500], [53, 269], [-93, -289], [-19, 94], [-91, -235], [-44, -60], [32, -57], [-12, -300], [-39, -318], [-57, 167], [-28, 320], [28, -64], [26, 152], [9, 289], [28, 100], [-6, 286], [90, 94], [-65, 32], [-26, 254], [-53, 45], [-12, 173], [-40, 110], [12, 212], [-48, -68], [-18, 293], [-62, 166], [-45, 262], [13, 73], [-189, 305], [31, 196], [53, -6], [-39, 103], [-31, 288], [19, 158], [-47, 18], [-12, 236], [20, 25], [113, -261], [3, 92], [-108, 261], [-2, 287], [115, -115], [-18, 76], [-98, 66], [-36, -264], [-48, 316], [44, -32], [9, 148], [-66, -64], [-42, 168], [-8, 237], [29, 227], [-6, 177], [-66, -370], [-71, 266], [-66, 38], [-51, 536], [-10, 314], [-20, -158], [-58, 740], [-37, 276], [9, 344], [-23, -287], [-39, 36], [54, -202], [-54, 32], [48, -247], [-1, -279], [61, -609], [-17, -42], [48, -497], [-11, -217], [-60, 28], [-42, 259], [-46, 73], [-79, -86], [17, 315], [-63, 506], [17, 88], [-37, 283], [14, -248], [-31, -240], [-68, 140], [-12, 279], [-39, -151], [-111, 335], [34, -216], [-29, -60], [60, -157], [17, 64], [71, -141], [-23, -26], [63, -180], [-32, -130], [35, -44], [9, 131], [47, -187], [29, -348], [-97, -169], [-63, 114], [10, -168], [-28, -97], [-60, 320], [-71, 25], [-126, 379], [29, 157], [-52, -94], [-73, 309], [-15, 237], [-85, 306], [-60, 84], [15, 127], [-57, -52], [-91, 211], [-63, 85], [-181, 432], [79, 130], [28, 196], [-41, 329], [41, 197], [46, -246], [-9, -275], [34, 287], [-81, 334], [-21, -174], [-74, -258], [-131, -225], [-82, 14], [-226, 311], [47, 233], [-34, 282], [-28, -60], [26, -145], [-97, -136], [-65, 123], [-231, 161], [-111, -85], [-115, -35], [-86, -100], [-93, 300], [17, 75], [-106, -6], [-59, 219], [-44, 2], [41, 301], [-11, 116], [20, 280], [-132, -580], [-43, -11], [-36, 140], [-117, 38], [88, 394], [-62, -79], [-19, 157], [-80, -128], [-18, 44], [58, 177], [-71, -15], [-35, -93], [-57, 4], [125, 233], [-88, -3], [-48, 116], [-20, 161], [29, 209], [102, 14], [-12, 105], [-73, 0], [-100, -356], [-28, 115], [-112, -204], [-27, 20], [10, 450], [-34, -327], [10, -207], [-37, 39], [-40, -99], [-49, 214], [46, 323], [51, 178], [-14, 120], [-89, -479], [-28, -2], [-45, -389], [-68, -71], [-35, -201], [74, 197], [21, -67], [-20, -221], [47, 252], [18, -252], [-32, -150], [11, -105], [54, 210], [41, -274], [-143, -528], [51, 92], [21, -186], [-40, 68], [-15, -213], [-50, -193], [-86, -38], [-65, 61], [19, 159], [-45, -84], [-25, -230], [-3, 258], [-37, 174], [12, -223], [-66, -322], [-31, 229], [-3, -536], [-48, 213], [-26, -287], [-45, -64], [0, -119], [-54, -120], [40, 469], [-71, -473], [-27, 28], [-95, -296], [-13, -175], [-24, 123], [-49, 33], [36, -129], [-17, -78], [-71, 98], [-91, -175], [-42, 101], [-26, 176], [23, 164], [69, 166], [53, -15], [54, 156], [77, 417], [-31, 14], [-102, -287], [-100, 153], [-14, 134], [49, 486], [67, 278], [52, 612], [-37, 368], [45, 139], [49, 19], [87, 270], [86, 204], [33, -2], [30, -182], [51, -39], [62, 117], [51, -74], [142, -106], [5, 85], [-62, 4], [-79, 122], [-125, 307], [48, 145], [66, 337], [93, 134], [-29, 65], [-93, -114], [-63, -395], [-130, 12], [-25, 223], [-52, -220], [-93, -173], [-26, -188], [-114, -133], [-51, -148], [-14, -169], [25, -195], [-45, 63], [-51, -163], [-79, -375], [25, -153], [-102, -327], [-77, 52], [83, -304], [-40, -350], [-137, -76], [-17, -92], [77, 23], [-12, -232], [-40, -107], [-70, 264], [-6, -248], [-66, -58], [38, -44], [-61, -126], [10, -195], [-108, -113], [33, -75], [-33, -114], [-15, -207], [9, -281], [40, 111], [93, -38], [99, -248], [-30, -381], [-71, -213], [-57, -10], [-9, -200], [-43, -31], [23, -209], [-53, -47], [-44, -201], [52, -73], [-38, -39], [-10, -212], [-29, 113], [-40, -228], [-31, 84], [-26, -124], [-70, 26], [-9, -229], [-71, -110], [-18, -217], [-59, 127], [-3, -241], [-43, -40], [7, -176], [-57, -34], [-20, 81], [-11, -279], [-30, 82], [-47, -111], [-57, -259], [54, 62], [-28, -156], [28, -99], [-57, -371], [-63, 131], [-14, -294], [-31, 32], [-69, -263], [-65, 174], [4, -179], [-46, -108], [33, -140], [-59, -61], [-25, 120], [-45, -39], [-60, -235], [70, 76], [1, -176], [-77, 67], [3, -91], [-77, -36], [-60, -282], [45, 85], [74, -113], [-39, -104], [8, -104], [-50, -130], [19, -190], [-48, 65], [31, 296], [-60, -171], [11, -261], [-54, 83], [-19, -175], [-43, 10], [-88, -127], [-45, 39], [14, -227], [-32, -347], [0, 430], [-62, 89], [-86, -218], [6, -118], [-87, -53], [22, -64], [-46, -262], [-19, 249], [-23, -270], [-28, -33], [-40, 137], [-28, -175], [-71, -138], [-66, 54], [37, 360], [57, -93], [-71, 220], [-51, -49], [-28, -191], [0, -228], [-52, -334], [-40, 22], [26, -197], [-28, -90], [-48, 65], [8, -139], [-69, 1], [-19, 142], [43, -18], [-61, 373], [-39, -159], [29, -98], [16, -391], [-31, 171], [-31, -219], [-39, 41], [-33, 270], [-44, 65], [-6, -167], [48, -198], [-77, -243], [12, 335], [-15, 247], [86, 240], [-11, -133], [65, 102], [-17, 71], [67, 181], [44, 23], [-15, 162], [89, 455], [113, 347], [187, 261], [-59, -117], [82, -27], [54, 99], [5, -112], [-47, -83], [63, -334], [5, 328], [76, -34], [14, -141], [54, -45], [7, 126], [-78, 184], [-16, 104], [59, 547], [49, 210], [124, 366], [80, 95], [79, 256], [63, 151], [86, -151], [-14, 464], [22, 179], [83, 407], [59, 125], [45, 223], [72, 143], [23, -151], [0, 249], [-29, 26], [26, 866], [42, 244], [-31, 191], [19, 272], [123, 500], [28, 452], [-34, -147], [-110, -165], [-26, -99], [-162, -255], [-31, 18], [-40, 279], [-45, 116], [51, 396], [-20, 71], [-77, -385], [-22, -246], [-29, 58], [43, -510], [-18, -195], [-62, 38], [-94, 630], [-56, 289], [-43, 40], [-14, -244], [-32, -67], [-39, 224], [-34, -35], [-46, 166], [-6, 227], [-116, -332], [-17, -160], [-15, 137], [-82, -194], [-31, 19], [-20, -253], [-111, -191], [15, 104], [-103, 13], [-12, 82], [74, 11], [-2, 89], [57, 172], [-34, 97], [-7, 306], [54, 119], [-8, 117], [-71, -127], [-43, 371], [29, 224], [65, 216], [-102, 717], [-74, 650], [-12, 210], [46, 492], [86, 240], [-102, -192], [-38, -439], [-53, -105], [39, -233], [-17, -395], [-62, 14], [-17, -119], [-77, -159], [-148, -111], [-72, -2], [-70, 82], [-23, 214], [26, 95], [-65, 117], [-74, 315], [-103, 209], [-43, 208], [32, 35], [5, 163], [-59, -106], [-60, 103], [122, 302], [-10, 144], [102, 256], [0, -183], [110, -72], [31, -250], [57, 235], [42, -86], [3, -287], [92, 176], [16, 145], [-39, 109], [-88, 86], [79, 124], [-40, 23], [6, 129], [-85, -262], [-156, -14], [-6, 105], [-74, 78], [-63, -64], [-33, 116], [68, 79], [-114, 368], [38, 88], [19, 304], [88, 153], [-68, -57], [-57, -257], [18, -117], [-49, -147], [8, -236], [-70, 137], [0, 260], [-57, 62], [-26, 165], [40, 222], [-40, 88], [-51, -121], [-26, 166], [23, 96], [93, 91], [-42, 48], [-48, 213], [139, 58], [-43, 332], [136, 784], [71, 197], [88, 136], [63, 254], [-93, -239], [-20, 422], [60, 362], [93, -44], [-12, 118], [-62, 113], [65, 189], [61, 63], [116, -87], [26, -136], [79, -218], [73, 51], [80, 308], [57, 109], [100, 514], [59, -114], [-40, -105], [274, 141], [110, 459], [8, 148], [-45, 427], [-14, 385], [-126, 348], [-30, -81], [26, 264], [98, -51], [80, 268], [-23, 318], [-82, 246], [-60, -291], [-90, 16], [-49, -159], [-51, 18], [-49, -183], [-98, -226], [-10, -214], [-39, -96], [-12, 299], [-116, 282], [-42, -98], [99, -145], [-28, -207], [-111, 289], [-79, 50], [-158, -40], [-73, -128], [-85, -15], [-23, -87], [-114, 120], [-207, 140], [-82, 275], [25, 322], [-82, 159], [-77, 328], [59, -73], [60, 41], [14, 185], [37, 77], [63, -79], [-3, 99], [-224, 190], [-128, 30], [-190, 363], [73, 245], [89, 39], [-17, 130], [60, 171], [81, -41], [51, 133], [-28, 52], [191, 391], [54, -104], [94, -38], [71, 90], [-108, 169], [34, 157], [128, 216], [76, -72], [88, 299], [125, 88], [150, 2], [-45, -389], [12, -209], [-94, -184], [80, 27], [62, -245], [91, 37], [65, -53], [94, 67], [40, -120], [70, -12], [58, 75], [101, -67], [66, 409], [131, -8], [12, -214], [19, 196], [-39, 194], [-103, 123], [-66, -4], [-59, -132], [25, 275], [-19, 144], [-91, 317], [-49, 16], [-56, 321], [87, 116], [86, -358], [-17, -202], [57, -256], [74, -149], [116, 157], [119, -316], [143, 61], [8, 247], [-60, 198], [-26, -82], [-98, 151], [-71, -39], [-49, -222], [-46, -2], [-108, 328], [-5, 195], [43, 276], [65, 32], [-94, 161], [-168, -122], [29, 305], [-63, -250], [-315, 159], [-22, 69], [-12, 373], [-42, 311], [-52, 230], [-151, 391], [-45, 47], [-162, 402], [-138, 146], [-103, 308], [-142, 116], [73, -2], [49, 155], [40, 266], [-3, 561], [159, -24], [173, 38],
762 | [196, 91], [105, 139], [95, 222], [139, 516], [22, 566], [28, 197], [122, 355], [168, 654], [49, -133], [108, 16], [135, 168], [196, 494], [58, -18], [6, -205], [-48, -320], [59, 148], [23, 190], [-18, 191], [-64, 84], [73, 122], [46, 186], [139, 93], [-77, -146], [128, 0], [264, 114], [134, 218], [91, 228], [116, 448], [107, 191]]]
763 | }
764 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # react-cesium-fiber
2 |
3 | [](https://badge.fury.io/js/react-cesium-fiber)
4 |
5 | react-cesium-fiber is a React renderer for CesiumJs on the web.
6 |
7 | ### What is it?
8 |
9 | react-cesium-fiber is a custom React renderer which lets you create cesium components.
10 |
11 | With react-cesium-fiber, you can easily create a 3D globe of the Earth and add custom imagery or terrain providers, add 3D geometries, labels or even point-clouds.
12 |
13 | Every feature proposed by CesiumJs is available in react-cesium-fiber.
14 | See the details of what you can do with CesiumJs on their website.
15 |
16 | ### Why do you need it?
17 |
18 | By default, CesiumJs has an imperative API. react-cesium-fiber transforms this in a declarative API. You simply specify what you want and react-cesium-fiber deals with the creation, updates and deletion of your components.
19 |
20 | With `react-cesium-fiber`, you can profit from all the features React and its ecosystem bring, such as encapsulating and reusing logic in components. Your CesiumJs app now reacts easily to state changes, abstracting all the tedious work of maintaining your state and CesiumJs up to-date.
21 |
22 | ## Getting started
23 |
24 | ### 1. Create your react app and add basic cesium configuration.
25 |
26 | You can follow craco-cesium really nice tutorial. But note that you don't need to add `resium`.
27 |
28 | ### 2. Add react-cesium-fiber with your favorite provider.
29 |
30 | ```shell
31 | npm install react-cesium-fiber
32 | ```
33 |
34 | or
35 |
36 | ```shell
37 | yarn add react-cesium-fiber
38 | ```
39 |
40 | ### 3. Add a Viewer in your app
41 |
42 | ```jsx
43 | import React from "react";
44 | import { Viewer } from "react-cesium-fiber";
45 |
46 | export const App = () => ;
47 | ```
48 |
49 | ### 4. Add more components in your Viewer
50 |
51 | ```jsx
52 | import React from "react";
53 | import { Color } from "cesium";
54 | import { Viewer } from "react-cesium-fiber";
55 |
56 | export const App = () => (
57 |
58 |
59 |
64 |
65 |
66 |
67 |
68 |
69 | );
70 | ```
71 |
72 | Note that you don't need to import `entity`, `cartesian3` or `boxGraphics`. That's the magic of the react-reconciler.
73 |
74 | ## Core concepts
75 |
76 | - 📖 You need some basic knowledge of CesiumJs. react-cesium-fiber has a few specificities, such as the `args` and `attach` props, but once you grab those basic concepts, it quickly falls back to vanilla CesiumJs.
77 | - 🧩 Every CesiumJs object can be instanced as a children of the Viewer. They don't need to have a Capitalized name as react-cesium-fiber recognize them as native components.
78 | - 🚪 react-cesium-fiber is built in a way that always let you fallback to vanilla CesiumJs if you need. Using React `ref`, you can access the CesiumJs objects and manually update them.
79 | - 🔍 TypeScript types and props autocomplete should help you to get started.
80 |
81 | More details about the ➡️ API here ⬅️
82 |
83 | ## A few notes
84 |
85 | - Greatly inspired by the amazing react-three-fiber package and this mind-blowing video of Sophie Alpert.
86 | - Based on the work of the Cesium team and the CesiumJS library.
87 | - react-cesium-fiber is a very young project. If you are looking for something more production-ready, you can have a look at resium (even if I think that react-cesium-fiber conception is way easier to maintain.)
88 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import commonjs from "rollup-plugin-commonjs";
2 | import nodeResolve from "rollup-plugin-node-resolve";
3 | import babel from "rollup-plugin-babel";
4 | import fp from "lodash/fp";
5 | import {
6 | dependencies,
7 | devDependencies,
8 | peerDependencies,
9 | browserslist,
10 | } from "./package.json";
11 |
12 | export const extensions = [".js", ".jsx", ".ts", ".tsx"];
13 |
14 | export default {
15 | input: "./src/index.ts",
16 | external: fp.uniq([
17 | // Do not package dependencies
18 | ...Object.keys(dependencies || {}),
19 | // Do not package dev dependencies
20 | ...Object.keys(devDependencies || {}),
21 | // Do not package peer dependencies
22 | ...Object.keys(peerDependencies || {}),
23 | "lodash/fp",
24 | ]),
25 | plugins: [
26 | nodeResolve({ extensions, mainFields: ["module"] }),
27 | babel({
28 | babelrc: false,
29 | extensions,
30 | exclude: "**/node_modules/**",
31 | runtimeHelpers: true,
32 | presets: [
33 | [
34 | "@babel/preset-env",
35 | { loose: true, modules: false, targets: browserslist.join(",") },
36 | ],
37 | "@babel/preset-react",
38 | "@babel/preset-typescript",
39 | ],
40 | }),
41 | commonjs({
42 | extensions,
43 | }),
44 | ],
45 | output: [
46 | {
47 | dir: "lib",
48 | entryFileNames: "[name].cjs.js",
49 | chunkFileNames: "[name]-[hash].cjs.js",
50 | format: "cjs",
51 | },
52 | {
53 | dir: "lib",
54 | entryFileNames: "[name].esm.js",
55 | chunkFileNames: "[name]-[hash].esm.js",
56 | format: "es",
57 | },
58 | ],
59 | };
60 |
--------------------------------------------------------------------------------
/src/context.tsx:
--------------------------------------------------------------------------------
1 | import { createContext, useContext } from "react";
2 |
3 | export const ViewerContext = createContext(null);
4 |
5 | export const useViewer = () => useContext(ViewerContext);
6 |
7 | export const ViewerProvider = ViewerContext.Provider;
8 |
--------------------------------------------------------------------------------
/src/generated-mapping.ts:
--------------------------------------------------------------------------------
1 | // @ts-nocheck
2 | // Generated Code, do not edit manually
3 | import * as Cesium from "cesium";
4 |
5 | export type MappingExported = {
6 | animation: Cesium.Animation;
7 | animationViewModel: Cesium.AnimationViewModel;
8 | appearance: Cesium.Appearance;
9 | approximateTerrainHeights: Cesium.ApproximateTerrainHeights;
10 | arcGisTiledElevationTerrainProvider: Cesium.ArcGISTiledElevationTerrainProvider;
11 | arcGisMapServerImageryProvider: Cesium.ArcGisMapServerImageryProvider;
12 | arcType: Cesium.ArcType;
13 | associativeArray: Cesium.AssociativeArray;
14 | attributeCompression: Cesium.AttributeCompression;
15 | attributeType: Cesium.AttributeType;
16 | autoExposure: Cesium.AutoExposure;
17 | autolinker: Cesium.Autolinker;
18 | automaticUniforms: Cesium.AutomaticUniforms;
19 | axis: Cesium.Axis;
20 | axisAlignedBoundingBox: Cesium.AxisAlignedBoundingBox;
21 | baseLayerPicker: Cesium.BaseLayerPicker;
22 | baseLayerPickerViewModel: Cesium.BaseLayerPickerViewModel;
23 | batchTable: Cesium.BatchTable;
24 | batched3DModel3DTileContent: Cesium.Batched3DModel3DTileContent;
25 | billboard: Cesium.Billboard;
26 | billboardCollection: Cesium.BillboardCollection;
27 | billboardGraphics: Cesium.BillboardGraphics;
28 | billboardVisualizer: Cesium.BillboardVisualizer;
29 | bingMapsApi: Cesium.BingMapsApi;
30 | bingMapsGeocoderService: Cesium.BingMapsGeocoderService;
31 | bingMapsImageryProvider: Cesium.BingMapsImageryProvider;
32 | bingMapsStyle: Cesium.BingMapsStyle;
33 | blendEquation: Cesium.BlendEquation;
34 | blendFunction: Cesium.BlendFunction;
35 | blendOption: Cesium.BlendOption;
36 | blendingState: Cesium.BlendingState;
37 | boundingRectangle: Cesium.BoundingRectangle;
38 | boundingSphere: Cesium.BoundingSphere;
39 | boundingSphereState: Cesium.BoundingSphereState;
40 | boxEmitter: Cesium.BoxEmitter;
41 | boxGeometry: Cesium.BoxGeometry;
42 | boxGeometryUpdater: Cesium.BoxGeometryUpdater;
43 | boxGraphics: Cesium.BoxGraphics;
44 | boxOutlineGeometry: Cesium.BoxOutlineGeometry;
45 | brdfLutGenerator: Cesium.BrdfLutGenerator;
46 | buffer: Cesium.Buffer;
47 | bufferUsage: Cesium.BufferUsage;
48 | callbackProperty: Cesium.CallbackProperty;
49 | camera: Cesium.Camera;
50 | cameraEventAggregator: Cesium.CameraEventAggregator;
51 | cameraEventType: Cesium.CameraEventType;
52 | cameraFlightPath: Cesium.CameraFlightPath;
53 | cartesian2: Cesium.Cartesian2;
54 | cartesian3: Cesium.Cartesian3;
55 | cartesian4: Cesium.Cartesian4;
56 | cartographic: Cesium.Cartographic;
57 | cartographicGeocoderService: Cesium.CartographicGeocoderService;
58 | catmullRomSpline: Cesium.CatmullRomSpline;
59 | cesium3DTile: Cesium.Cesium3DTile;
60 | cesium3DTileBatchTable: Cesium.Cesium3DTileBatchTable;
61 | cesium3DTileColorBlendMode: Cesium.Cesium3DTileColorBlendMode;
62 | cesium3DTileContent: Cesium.Cesium3DTileContent;
63 | cesium3DTileContentFactory: Cesium.Cesium3DTileContentFactory;
64 | cesium3DTileContentState: Cesium.Cesium3DTileContentState;
65 | cesium3DTileFeature: Cesium.Cesium3DTileFeature;
66 | cesium3DTileFeatureTable: Cesium.Cesium3DTileFeatureTable;
67 | cesium3DTileOptimizationHint: Cesium.Cesium3DTileOptimizationHint;
68 | cesium3DTileOptimizations: Cesium.Cesium3DTileOptimizations;
69 | cesium3DTilePass: Cesium.Cesium3DTilePass;
70 | cesium3DTilePassState: Cesium.Cesium3DTilePassState;
71 | cesium3DTilePointFeature: Cesium.Cesium3DTilePointFeature;
72 | cesium3DTileRefine: Cesium.Cesium3DTileRefine;
73 | cesium3DTileStyle: Cesium.Cesium3DTileStyle;
74 | cesium3DTileStyleEngine: Cesium.Cesium3DTileStyleEngine;
75 | cesium3DTilesInspector: Cesium.Cesium3DTilesInspector;
76 | cesium3DTilesInspectorViewModel: Cesium.Cesium3DTilesInspectorViewModel;
77 | cesium3DTileset: Cesium.Cesium3DTileset;
78 | cesium3DTilesetCache: Cesium.Cesium3DTilesetCache;
79 | cesium3DTilesetGraphics: Cesium.Cesium3DTilesetGraphics;
80 | cesium3DTilesetHeatmap: Cesium.Cesium3DTilesetHeatmap;
81 | cesium3DTilesetMostDetailedTraversal: Cesium.Cesium3DTilesetMostDetailedTraversal;
82 | cesium3DTilesetStatistics: Cesium.Cesium3DTilesetStatistics;
83 | cesium3DTilesetTraversal: Cesium.Cesium3DTilesetTraversal;
84 | cesium3DTilesetVisualizer: Cesium.Cesium3DTilesetVisualizer;
85 | cesiumInspector: Cesium.CesiumInspector;
86 | cesiumInspectorViewModel: Cesium.CesiumInspectorViewModel;
87 | cesiumTerrainProvider: Cesium.CesiumTerrainProvider;
88 | cesiumWidget: Cesium.CesiumWidget;
89 | check: Cesium.Check;
90 | checkerboardMaterialProperty: Cesium.CheckerboardMaterialProperty;
91 | circleEmitter: Cesium.CircleEmitter;
92 | circleGeometry: Cesium.CircleGeometry;
93 | circleOutlineGeometry: Cesium.CircleOutlineGeometry;
94 | classificationModel: Cesium.ClassificationModel;
95 | classificationPrimitive: Cesium.ClassificationPrimitive;
96 | classificationType: Cesium.ClassificationType;
97 | clearCommand: Cesium.ClearCommand;
98 | clippingPlane: Cesium.ClippingPlane;
99 | clippingPlaneCollection: Cesium.ClippingPlaneCollection;
100 | clock: Cesium.Clock;
101 | clockRange: Cesium.ClockRange;
102 | clockStep: Cesium.ClockStep;
103 | clockViewModel: Cesium.ClockViewModel;
104 | color: Cesium.Color;
105 | colorBlendMode: Cesium.ColorBlendMode;
106 | colorGeometryInstanceAttribute: Cesium.ColorGeometryInstanceAttribute;
107 | colorMaterialProperty: Cesium.ColorMaterialProperty;
108 | command: Cesium.Command;
109 | componentDatatype: Cesium.ComponentDatatype;
110 | composite3DTileContent: Cesium.Composite3DTileContent;
111 | compositeEntityCollection: Cesium.CompositeEntityCollection;
112 | compositeMaterialProperty: Cesium.CompositeMaterialProperty;
113 | compositePositionProperty: Cesium.CompositePositionProperty;
114 | compositeProperty: Cesium.CompositeProperty;
115 | compressedTextureBuffer: Cesium.CompressedTextureBuffer;
116 | computeCommand: Cesium.ComputeCommand;
117 | computeEngine: Cesium.ComputeEngine;
118 | conditionsExpression: Cesium.ConditionsExpression;
119 | coneEmitter: Cesium.ConeEmitter;
120 | constantPositionProperty: Cesium.ConstantPositionProperty;
121 | constantProperty: Cesium.ConstantProperty;
122 | context: Cesium.Context;
123 | contextLimits: Cesium.ContextLimits;
124 | coplanarPolygonGeometry: Cesium.CoplanarPolygonGeometry;
125 | coplanarPolygonGeometryLibrary: Cesium.CoplanarPolygonGeometryLibrary;
126 | coplanarPolygonOutlineGeometry: Cesium.CoplanarPolygonOutlineGeometry;
127 | cornerType: Cesium.CornerType;
128 | corridorGeometry: Cesium.CorridorGeometry;
129 | corridorGeometryLibrary: Cesium.CorridorGeometryLibrary;
130 | corridorGeometryUpdater: Cesium.CorridorGeometryUpdater;
131 | corridorGraphics: Cesium.CorridorGraphics;
132 | corridorOutlineGeometry: Cesium.CorridorOutlineGeometry;
133 | credit: Cesium.Credit;
134 | creditDisplay: Cesium.CreditDisplay;
135 | cubeMap: Cesium.CubeMap;
136 | cubeMapFace: Cesium.CubeMapFace;
137 | cubicRealPolynomial: Cesium.CubicRealPolynomial;
138 | cullFace: Cesium.CullFace;
139 | cullingVolume: Cesium.CullingVolume;
140 | customDataSource: Cesium.CustomDataSource;
141 | cylinderGeometry: Cesium.CylinderGeometry;
142 | cylinderGeometryLibrary: Cesium.CylinderGeometryLibrary;
143 | cylinderGeometryUpdater: Cesium.CylinderGeometryUpdater;
144 | cylinderGraphics: Cesium.CylinderGraphics;
145 | cylinderOutlineGeometry: Cesium.CylinderOutlineGeometry;
146 | czmlDataSource: Cesium.CzmlDataSource;
147 | dataSource: Cesium.DataSource;
148 | dataSourceClock: Cesium.DataSourceClock;
149 | dataSourceCollection: Cesium.DataSourceCollection;
150 | dataSourceDisplay: Cesium.DataSourceDisplay;
151 | debugAppearance: Cesium.DebugAppearance;
152 | debugCameraPrimitive: Cesium.DebugCameraPrimitive;
153 | debugModelMatrixPrimitive: Cesium.DebugModelMatrixPrimitive;
154 | defaultProxy: Cesium.DefaultProxy;
155 | depthFunction: Cesium.DepthFunction;
156 | depthPlane: Cesium.DepthPlane;
157 | derivedCommand: Cesium.DerivedCommand;
158 | developerError: Cesium.DeveloperError;
159 | deviceOrientationCameraController: Cesium.DeviceOrientationCameraController;
160 | directionalLight: Cesium.DirectionalLight;
161 | discardEmptyTileImagePolicy: Cesium.DiscardEmptyTileImagePolicy;
162 | discardMissingTileImagePolicy: Cesium.DiscardMissingTileImagePolicy;
163 | distanceDisplayCondition: Cesium.DistanceDisplayCondition;
164 | distanceDisplayConditionGeometryInstanceAttribute: Cesium.DistanceDisplayConditionGeometryInstanceAttribute;
165 | doublyLinkedList: Cesium.DoublyLinkedList;
166 | dracoLoader: Cesium.DracoLoader;
167 | drawCommand: Cesium.DrawCommand;
168 | dynamicGeometryBatch: Cesium.DynamicGeometryBatch;
169 | dynamicGeometryUpdater: Cesium.DynamicGeometryUpdater;
170 | earthOrientationParameters: Cesium.EarthOrientationParameters;
171 | earthOrientationParametersSample: Cesium.EarthOrientationParametersSample;
172 | easingFunction: Cesium.EasingFunction;
173 | ellipseGeometry: Cesium.EllipseGeometry;
174 | ellipseGeometryLibrary: Cesium.EllipseGeometryLibrary;
175 | ellipseGeometryUpdater: Cesium.EllipseGeometryUpdater;
176 | ellipseGraphics: Cesium.EllipseGraphics;
177 | ellipseOutlineGeometry: Cesium.EllipseOutlineGeometry;
178 | ellipsoid: Cesium.Ellipsoid;
179 | ellipsoidGeodesic: Cesium.EllipsoidGeodesic;
180 | ellipsoidGeometry: Cesium.EllipsoidGeometry;
181 | ellipsoidGeometryUpdater: Cesium.EllipsoidGeometryUpdater;
182 | ellipsoidGraphics: Cesium.EllipsoidGraphics;
183 | ellipsoidOutlineGeometry: Cesium.EllipsoidOutlineGeometry;
184 | ellipsoidPrimitive: Cesium.EllipsoidPrimitive;
185 | ellipsoidRhumbLine: Cesium.EllipsoidRhumbLine;
186 | ellipsoidSurfaceAppearance: Cesium.EllipsoidSurfaceAppearance;
187 | ellipsoidTangentPlane: Cesium.EllipsoidTangentPlane;
188 | ellipsoidTerrainProvider: Cesium.EllipsoidTerrainProvider;
189 | ellipsoidalOccluder: Cesium.EllipsoidalOccluder;
190 | empty3DTileContent: Cesium.Empty3DTileContent;
191 | encodedCartesian3: Cesium.EncodedCartesian3;
192 | entity: Cesium.Entity;
193 | entityCluster: Cesium.EntityCluster;
194 | entityCollection: Cesium.EntityCollection;
195 | entityView: Cesium.EntityView;
196 | event: Cesium.Event;
197 | eventHelper: Cesium.EventHelper;
198 | expression: Cesium.Expression;
199 | expressionNodeType: Cesium.ExpressionNodeType;
200 | extrapolationType: Cesium.ExtrapolationType;
201 | fxaa311: Cesium.FXAA3_11;
202 | featureDetection: Cesium.FeatureDetection;
203 | fog: Cesium.Fog;
204 | forEach: Cesium.ForEach;
205 | frameRateMonitor: Cesium.FrameRateMonitor;
206 | frameState: Cesium.FrameState;
207 | framebuffer: Cesium.Framebuffer;
208 | frustumCommands: Cesium.FrustumCommands;
209 | frustumGeometry: Cesium.FrustumGeometry;
210 | frustumOutlineGeometry: Cesium.FrustumOutlineGeometry;
211 | fullscreen: Cesium.Fullscreen;
212 | fullscreenButton: Cesium.FullscreenButton;
213 | fullscreenButtonViewModel: Cesium.FullscreenButtonViewModel;
214 | geoJsonDataSource: Cesium.GeoJsonDataSource;
215 | geocodeType: Cesium.GeocodeType;
216 | geocoder: Cesium.Geocoder;
217 | geocoderService: Cesium.GeocoderService;
218 | geocoderViewModel: Cesium.GeocoderViewModel;
219 | geographicProjection: Cesium.GeographicProjection;
220 | geographicTilingScheme: Cesium.GeographicTilingScheme;
221 | geometry: Cesium.Geometry;
222 | geometry3DTileContent: Cesium.Geometry3DTileContent;
223 | geometryAttribute: Cesium.GeometryAttribute;
224 | geometryAttributes: Cesium.GeometryAttributes;
225 | geometryInstance: Cesium.GeometryInstance;
226 | geometryInstanceAttribute: Cesium.GeometryInstanceAttribute;
227 | geometryOffsetAttribute: Cesium.GeometryOffsetAttribute;
228 | geometryPipeline: Cesium.GeometryPipeline;
229 | geometryType: Cesium.GeometryType;
230 | geometryUpdater: Cesium.GeometryUpdater;
231 | geometryVisualizer: Cesium.GeometryVisualizer;
232 | getFeatureInfoFormat: Cesium.GetFeatureInfoFormat;
233 | globe: Cesium.Globe;
234 | globeDepth: Cesium.GlobeDepth;
235 | globeSurfaceShaderSet: Cesium.GlobeSurfaceShaderSet;
236 | globeSurfaceTile: Cesium.GlobeSurfaceTile;
237 | globeSurfaceTileProvider: Cesium.GlobeSurfaceTileProvider;
238 | globeTranslucency: Cesium.GlobeTranslucency;
239 | globeTranslucencyFramebuffer: Cesium.GlobeTranslucencyFramebuffer;
240 | globeTranslucencyState: Cesium.GlobeTranslucencyState;
241 | googleEarthEnterpriseImageryProvider: Cesium.GoogleEarthEnterpriseImageryProvider;
242 | googleEarthEnterpriseMapsProvider: Cesium.GoogleEarthEnterpriseMapsProvider;
243 | googleEarthEnterpriseMetadata: Cesium.GoogleEarthEnterpriseMetadata;
244 | googleEarthEnterpriseTerrainData: Cesium.GoogleEarthEnterpriseTerrainData;
245 | googleEarthEnterpriseTerrainProvider: Cesium.GoogleEarthEnterpriseTerrainProvider;
246 | googleEarthEnterpriseTileInformation: Cesium.GoogleEarthEnterpriseTileInformation;
247 | gregorianDate: Cesium.GregorianDate;
248 | gridImageryProvider: Cesium.GridImageryProvider;
249 | gridMaterialProperty: Cesium.GridMaterialProperty;
250 | groundGeometryUpdater: Cesium.GroundGeometryUpdater;
251 | groundPolylineGeometry: Cesium.GroundPolylineGeometry;
252 | groundPolylinePrimitive: Cesium.GroundPolylinePrimitive;
253 | groundPrimitive: Cesium.GroundPrimitive;
254 | headingPitchRange: Cesium.HeadingPitchRange;
255 | headingPitchRoll: Cesium.HeadingPitchRoll;
256 | heap: Cesium.Heap;
257 | heightReference: Cesium.HeightReference;
258 | heightmapEncoding: Cesium.HeightmapEncoding;
259 | heightmapTerrainData: Cesium.HeightmapTerrainData;
260 | heightmapTessellator: Cesium.HeightmapTessellator;
261 | hermitePolynomialApproximation: Cesium.HermitePolynomialApproximation;
262 | hermiteSpline: Cesium.HermiteSpline;
263 | homeButton: Cesium.HomeButton;
264 | homeButtonViewModel: Cesium.HomeButtonViewModel;
265 | horizontalOrigin: Cesium.HorizontalOrigin;
266 | iau2000Orientation: Cesium.Iau2000Orientation;
267 | iau2006XysData: Cesium.Iau2006XysData;
268 | iau2006XysSample: Cesium.Iau2006XysSample;
269 | iauOrientationAxes: Cesium.IauOrientationAxes;
270 | iauOrientationParameters: Cesium.IauOrientationParameters;
271 | imageMaterialProperty: Cesium.ImageMaterialProperty;
272 | imagery: Cesium.Imagery;
273 | imageryLayer: Cesium.ImageryLayer;
274 | imageryLayerCollection: Cesium.ImageryLayerCollection;
275 | imageryLayerFeatureInfo: Cesium.ImageryLayerFeatureInfo;
276 | imageryProvider: Cesium.ImageryProvider;
277 | imagerySplitDirection: Cesium.ImagerySplitDirection;
278 | imageryState: Cesium.ImageryState;
279 | indexDatatype: Cesium.IndexDatatype;
280 | infoBox: Cesium.InfoBox;
281 | infoBoxViewModel: Cesium.InfoBoxViewModel;
282 | inspectorShared: Cesium.InspectorShared;
283 | instanced3DModel3DTileContent: Cesium.Instanced3DModel3DTileContent;
284 | interpolationAlgorithm: Cesium.InterpolationAlgorithm;
285 | intersect: Cesium.Intersect;
286 | intersectionTests: Cesium.IntersectionTests;
287 | intersections2D: Cesium.Intersections2D;
288 | interval: Cesium.Interval;
289 | invertClassification: Cesium.InvertClassification;
290 | ion: Cesium.Ion;
291 | ionGeocoderService: Cesium.IonGeocoderService;
292 | ionImageryProvider: Cesium.IonImageryProvider;
293 | ionResource: Cesium.IonResource;
294 | ionWorldImageryStyle: Cesium.IonWorldImageryStyle;
295 | iso8601: Cesium.Iso8601;
296 | jobScheduler: Cesium.JobScheduler;
297 | jobType: Cesium.JobType;
298 | julianDate: Cesium.JulianDate;
299 | keyboardEventModifier: Cesium.KeyboardEventModifier;
300 | kmlCamera: Cesium.KmlCamera;
301 | kmlDataSource: Cesium.KmlDataSource;
302 | kmlLookAt: Cesium.KmlLookAt;
303 | kmlTour: Cesium.KmlTour;
304 | kmlTourFlyTo: Cesium.KmlTourFlyTo;
305 | kmlTourWait: Cesium.KmlTourWait;
306 | label: Cesium.Label;
307 | labelCollection: Cesium.LabelCollection;
308 | labelGraphics: Cesium.LabelGraphics;
309 | labelStyle: Cesium.LabelStyle;
310 | labelVisualizer: Cesium.LabelVisualizer;
311 | lagrangePolynomialApproximation: Cesium.LagrangePolynomialApproximation;
312 | leapSecond: Cesium.LeapSecond;
313 | lercDecode: Cesium.LercDecode;
314 | light: Cesium.Light;
315 | linearApproximation: Cesium.LinearApproximation;
316 | linearSpline: Cesium.LinearSpline;
317 | managedArray: Cesium.ManagedArray;
318 | mapMode2D: Cesium.MapMode2D;
319 | mapProjection: Cesium.MapProjection;
320 | mapboxApi: Cesium.MapboxApi;
321 | mapboxImageryProvider: Cesium.MapboxImageryProvider;
322 | mapboxStyleImageryProvider: Cesium.MapboxStyleImageryProvider;
323 | material: Cesium.Material;
324 | materialAppearance: Cesium.MaterialAppearance;
325 | materialProperty: Cesium.MaterialProperty;
326 | math: Cesium.Math;
327 | matrix2: Cesium.Matrix2;
328 | matrix3: Cesium.Matrix3;
329 | matrix4: Cesium.Matrix4;
330 | mipmapHint: Cesium.MipmapHint;
331 | model: Cesium.Model;
332 | modelAnimation: Cesium.ModelAnimation;
333 | modelAnimationCache: Cesium.ModelAnimationCache;
334 | modelAnimationCollection: Cesium.ModelAnimationCollection;
335 | modelAnimationLoop: Cesium.ModelAnimationLoop;
336 | modelAnimationState: Cesium.ModelAnimationState;
337 | modelGraphics: Cesium.ModelGraphics;
338 | modelInstance: Cesium.ModelInstance;
339 | modelInstanceCollection: Cesium.ModelInstanceCollection;
340 | modelLoadResources: Cesium.ModelLoadResources;
341 | modelMaterial: Cesium.ModelMaterial;
342 | modelMesh: Cesium.ModelMesh;
343 | modelNode: Cesium.ModelNode;
344 | modelOutlineLoader: Cesium.ModelOutlineLoader;
345 | modelUtility: Cesium.ModelUtility;
346 | modelVisualizer: Cesium.ModelVisualizer;
347 | moon: Cesium.Moon;
348 | navigationHelpButton: Cesium.NavigationHelpButton;
349 | navigationHelpButtonViewModel: Cesium.NavigationHelpButtonViewModel;
350 | nearFarScalar: Cesium.NearFarScalar;
351 | neverTileDiscardPolicy: Cesium.NeverTileDiscardPolicy;
352 | noSleep: Cesium.NoSleep;
353 | nodeTransformationProperty: Cesium.NodeTransformationProperty;
354 | oit: Cesium.OIT;
355 | occluder: Cesium.Occluder;
356 | octahedralProjectedCubeMap: Cesium.OctahedralProjectedCubeMap;
357 | offsetGeometryInstanceAttribute: Cesium.OffsetGeometryInstanceAttribute;
358 | openCageGeocoderService: Cesium.OpenCageGeocoderService;
359 | openStreetMapImageryProvider: Cesium.OpenStreetMapImageryProvider;
360 | orderedGroundPrimitiveCollection: Cesium.OrderedGroundPrimitiveCollection;
361 | orientedBoundingBox: Cesium.OrientedBoundingBox;
362 | orthographicFrustum: Cesium.OrthographicFrustum;
363 | orthographicOffCenterFrustum: Cesium.OrthographicOffCenterFrustum;
364 | packable: Cesium.Packable;
365 | packableForInterpolation: Cesium.PackableForInterpolation;
366 | particle: Cesium.Particle;
367 | particleBurst: Cesium.ParticleBurst;
368 | particleEmitter: Cesium.ParticleEmitter;
369 | particleSystem: Cesium.ParticleSystem;
370 | pass: Cesium.Pass;
371 | passState: Cesium.PassState;
372 | pathGraphics: Cesium.PathGraphics;
373 | pathVisualizer: Cesium.PathVisualizer;
374 | peliasGeocoderService: Cesium.PeliasGeocoderService;
375 | perInstanceColorAppearance: Cesium.PerInstanceColorAppearance;
376 | performanceDisplay: Cesium.PerformanceDisplay;
377 | performanceWatchdog: Cesium.PerformanceWatchdog;
378 | performanceWatchdogViewModel: Cesium.PerformanceWatchdogViewModel;
379 | perspectiveFrustum: Cesium.PerspectiveFrustum;
380 | perspectiveOffCenterFrustum: Cesium.PerspectiveOffCenterFrustum;
381 | pickDepth: Cesium.PickDepth;
382 | pickDepthFramebuffer: Cesium.PickDepthFramebuffer;
383 | pickFramebuffer: Cesium.PickFramebuffer;
384 | picking: Cesium.Picking;
385 | pinBuilder: Cesium.PinBuilder;
386 | pixelDatatype: Cesium.PixelDatatype;
387 | pixelFormat: Cesium.PixelFormat;
388 | plane: Cesium.Plane;
389 | planeGeometry: Cesium.PlaneGeometry;
390 | planeGeometryUpdater: Cesium.PlaneGeometryUpdater;
391 | planeGraphics: Cesium.PlaneGraphics;
392 | planeOutlineGeometry: Cesium.PlaneOutlineGeometry;
393 | pointCloud: Cesium.PointCloud;
394 | pointCloud3DTileContent: Cesium.PointCloud3DTileContent;
395 | pointCloudEyeDomeLighting: Cesium.PointCloudEyeDomeLighting;
396 | pointCloudShading: Cesium.PointCloudShading;
397 | pointGraphics: Cesium.PointGraphics;
398 | pointPrimitive: Cesium.PointPrimitive;
399 | pointPrimitiveCollection: Cesium.PointPrimitiveCollection;
400 | pointVisualizer: Cesium.PointVisualizer;
401 | polygonGeometry: Cesium.PolygonGeometry;
402 | polygonGeometryLibrary: Cesium.PolygonGeometryLibrary;
403 | polygonGeometryUpdater: Cesium.PolygonGeometryUpdater;
404 | polygonGraphics: Cesium.PolygonGraphics;
405 | polygonHierarchy: Cesium.PolygonHierarchy;
406 | polygonOutlineGeometry: Cesium.PolygonOutlineGeometry;
407 | polygonPipeline: Cesium.PolygonPipeline;
408 | polyline: Cesium.Polyline;
409 | polylineArrowMaterialProperty: Cesium.PolylineArrowMaterialProperty;
410 | polylineCollection: Cesium.PolylineCollection;
411 | polylineColorAppearance: Cesium.PolylineColorAppearance;
412 | polylineDashMaterialProperty: Cesium.PolylineDashMaterialProperty;
413 | polylineGeometry: Cesium.PolylineGeometry;
414 | polylineGeometryUpdater: Cesium.PolylineGeometryUpdater;
415 | polylineGlowMaterialProperty: Cesium.PolylineGlowMaterialProperty;
416 | polylineGraphics: Cesium.PolylineGraphics;
417 | polylineMaterialAppearance: Cesium.PolylineMaterialAppearance;
418 | polylineOutlineMaterialProperty: Cesium.PolylineOutlineMaterialProperty;
419 | polylinePipeline: Cesium.PolylinePipeline;
420 | polylineVisualizer: Cesium.PolylineVisualizer;
421 | polylineVolumeGeometry: Cesium.PolylineVolumeGeometry;
422 | polylineVolumeGeometryLibrary: Cesium.PolylineVolumeGeometryLibrary;
423 | polylineVolumeGeometryUpdater: Cesium.PolylineVolumeGeometryUpdater;
424 | polylineVolumeGraphics: Cesium.PolylineVolumeGraphics;
425 | polylineVolumeOutlineGeometry: Cesium.PolylineVolumeOutlineGeometry;
426 | positionProperty: Cesium.PositionProperty;
427 | positionPropertyArray: Cesium.PositionPropertyArray;
428 | postProcessStage: Cesium.PostProcessStage;
429 | postProcessStageCollection: Cesium.PostProcessStageCollection;
430 | postProcessStageComposite: Cesium.PostProcessStageComposite;
431 | postProcessStageLibrary: Cesium.PostProcessStageLibrary;
432 | postProcessStageSampleMode: Cesium.PostProcessStageSampleMode;
433 | postProcessStageTextureCache: Cesium.PostProcessStageTextureCache;
434 | primitive: Cesium.Primitive;
435 | primitiveCollection: Cesium.PrimitiveCollection;
436 | primitivePipeline: Cesium.PrimitivePipeline;
437 | primitiveState: Cesium.PrimitiveState;
438 | primitiveType: Cesium.PrimitiveType;
439 | projectionPicker: Cesium.ProjectionPicker;
440 | projectionPickerViewModel: Cesium.ProjectionPickerViewModel;
441 | property: Cesium.Property;
442 | propertyArray: Cesium.PropertyArray;
443 | propertyBag: Cesium.PropertyBag;
444 | providerViewModel: Cesium.ProviderViewModel;
445 | proxy: Cesium.Proxy;
446 | quadraticRealPolynomial: Cesium.QuadraticRealPolynomial;
447 | quadtreeOccluders: Cesium.QuadtreeOccluders;
448 | quadtreePrimitive: Cesium.QuadtreePrimitive;
449 | quadtreeTile: Cesium.QuadtreeTile;
450 | quadtreeTileLoadState: Cesium.QuadtreeTileLoadState;
451 | quadtreeTileProvider: Cesium.QuadtreeTileProvider;
452 | quantizedMeshTerrainData: Cesium.QuantizedMeshTerrainData;
453 | quarticRealPolynomial: Cesium.QuarticRealPolynomial;
454 | quaternion: Cesium.Quaternion;
455 | quaternionSpline: Cesium.QuaternionSpline;
456 | queue: Cesium.Queue;
457 | ray: Cesium.Ray;
458 | rectangle: Cesium.Rectangle;
459 | rectangleCollisionChecker: Cesium.RectangleCollisionChecker;
460 | rectangleGeometry: Cesium.RectangleGeometry;
461 | rectangleGeometryLibrary: Cesium.RectangleGeometryLibrary;
462 | rectangleGeometryUpdater: Cesium.RectangleGeometryUpdater;
463 | rectangleGraphics: Cesium.RectangleGraphics;
464 | rectangleOutlineGeometry: Cesium.RectangleOutlineGeometry;
465 | referenceFrame: Cesium.ReferenceFrame;
466 | referenceProperty: Cesium.ReferenceProperty;
467 | renderState: Cesium.RenderState;
468 | renderbuffer: Cesium.Renderbuffer;
469 | renderbufferFormat: Cesium.RenderbufferFormat;
470 | request: Cesium.Request;
471 | requestErrorEvent: Cesium.RequestErrorEvent;
472 | requestScheduler: Cesium.RequestScheduler;
473 | requestState: Cesium.RequestState;
474 | requestType: Cesium.RequestType;
475 | resource: Cesium.Resource;
476 | rotation: Cesium.Rotation;
477 | runtimeError: Cesium.RuntimeError;
478 | sdfSettings: Cesium.SDFSettings;
479 | sampledPositionProperty: Cesium.SampledPositionProperty;
480 | sampledProperty: Cesium.SampledProperty;
481 | sampler: Cesium.Sampler;
482 | scaledPositionProperty: Cesium.ScaledPositionProperty;
483 | scene: Cesium.Scene;
484 | sceneFramebuffer: Cesium.SceneFramebuffer;
485 | sceneMode: Cesium.SceneMode;
486 | sceneModePicker: Cesium.SceneModePicker;
487 | sceneModePickerViewModel: Cesium.SceneModePickerViewModel;
488 | sceneTransforms: Cesium.SceneTransforms;
489 | sceneTransitioner: Cesium.SceneTransitioner;
490 | screenSpaceCameraController: Cesium.ScreenSpaceCameraController;
491 | screenSpaceEventHandler: Cesium.ScreenSpaceEventHandler;
492 | screenSpaceEventType: Cesium.ScreenSpaceEventType;
493 | selectionIndicator: Cesium.SelectionIndicator;
494 | selectionIndicatorViewModel: Cesium.SelectionIndicatorViewModel;
495 | shaderCache: Cesium.ShaderCache;
496 | shaderProgram: Cesium.ShaderProgram;
497 | shaderSource: Cesium.ShaderSource;
498 | shadowMap: Cesium.ShadowMap;
499 | shadowMapShader: Cesium.ShadowMapShader;
500 | shadowMode: Cesium.ShadowMode;
501 | shadowVolumeAppearance: Cesium.ShadowVolumeAppearance;
502 | showGeometryInstanceAttribute: Cesium.ShowGeometryInstanceAttribute;
503 | simon1994PlanetaryPositions: Cesium.Simon1994PlanetaryPositions;
504 | simplePolylineGeometry: Cesium.SimplePolylineGeometry;
505 | singleTileImageryProvider: Cesium.SingleTileImageryProvider;
506 | skyAtmosphere: Cesium.SkyAtmosphere;
507 | skyBox: Cesium.SkyBox;
508 | sphereEmitter: Cesium.SphereEmitter;
509 | sphereGeometry: Cesium.SphereGeometry;
510 | sphereOutlineGeometry: Cesium.SphereOutlineGeometry;
511 | spherical: Cesium.Spherical;
512 | spline: Cesium.Spline;
513 | staticGeometryColorBatch: Cesium.StaticGeometryColorBatch;
514 | staticGeometryPerMaterialBatch: Cesium.StaticGeometryPerMaterialBatch;
515 | staticGroundGeometryColorBatch: Cesium.StaticGroundGeometryColorBatch;
516 | staticGroundGeometryPerMaterialBatch: Cesium.StaticGroundGeometryPerMaterialBatch;
517 | staticGroundPolylinePerMaterialBatch: Cesium.StaticGroundPolylinePerMaterialBatch;
518 | staticOutlineGeometryBatch: Cesium.StaticOutlineGeometryBatch;
519 | stencilConstants: Cesium.StencilConstants;
520 | stencilFunction: Cesium.StencilFunction;
521 | stencilOperation: Cesium.StencilOperation;
522 | stripeMaterialProperty: Cesium.StripeMaterialProperty;
523 | stripeOrientation: Cesium.StripeOrientation;
524 | styleExpression: Cesium.StyleExpression;
525 | sun: Cesium.Sun;
526 | sunLight: Cesium.SunLight;
527 | sunPostProcess: Cesium.SunPostProcess;
528 | svgPathBindingHandler: Cesium.SvgPathBindingHandler;
529 | taskProcessor: Cesium.TaskProcessor;
530 | terrainData: Cesium.TerrainData;
531 | terrainEncoding: Cesium.TerrainEncoding;
532 | terrainFillMesh: Cesium.TerrainFillMesh;
533 | terrainMesh: Cesium.TerrainMesh;
534 | terrainOffsetProperty: Cesium.TerrainOffsetProperty;
535 | terrainProvider: Cesium.TerrainProvider;
536 | terrainQuantization: Cesium.TerrainQuantization;
537 | terrainState: Cesium.TerrainState;
538 | texture: Cesium.Texture;
539 | textureAtlas: Cesium.TextureAtlas;
540 | textureCache: Cesium.TextureCache;
541 | textureMagnificationFilter: Cesium.TextureMagnificationFilter;
542 | textureMinificationFilter: Cesium.TextureMinificationFilter;
543 | textureWrap: Cesium.TextureWrap;
544 | tileAvailability: Cesium.TileAvailability;
545 | tileBoundingRegion: Cesium.TileBoundingRegion;
546 | tileBoundingSphere: Cesium.TileBoundingSphere;
547 | tileBoundingVolume: Cesium.TileBoundingVolume;
548 | tileCoordinatesImageryProvider: Cesium.TileCoordinatesImageryProvider;
549 | tileDiscardPolicy: Cesium.TileDiscardPolicy;
550 | tileEdge: Cesium.TileEdge;
551 | tileImagery: Cesium.TileImagery;
552 | tileMapServiceImageryProvider: Cesium.TileMapServiceImageryProvider;
553 | tileOrientedBoundingBox: Cesium.TileOrientedBoundingBox;
554 | tileProviderError: Cesium.TileProviderError;
555 | tileReplacementQueue: Cesium.TileReplacementQueue;
556 | tileSelectionResult: Cesium.TileSelectionResult;
557 | tileState: Cesium.TileState;
558 | tileset3DTileContent: Cesium.Tileset3DTileContent;
559 | tilingScheme: Cesium.TilingScheme;
560 | timeConstants: Cesium.TimeConstants;
561 | timeDynamicImagery: Cesium.TimeDynamicImagery;
562 | timeDynamicPointCloud: Cesium.TimeDynamicPointCloud;
563 | timeInterval: Cesium.TimeInterval;
564 | timeIntervalCollection: Cesium.TimeIntervalCollection;
565 | timeIntervalCollectionPositionProperty: Cesium.TimeIntervalCollectionPositionProperty;
566 | timeIntervalCollectionProperty: Cesium.TimeIntervalCollectionProperty;
567 | timeStandard: Cesium.TimeStandard;
568 | timeline: Cesium.Timeline;
569 | timelineHighlightRange: Cesium.TimelineHighlightRange;
570 | timelineTrack: Cesium.TimelineTrack;
571 | tipsify: Cesium.Tipsify;
572 | toggleButtonViewModel: Cesium.ToggleButtonViewModel;
573 | tonemapper: Cesium.Tonemapper;
574 | transforms: Cesium.Transforms;
575 | translationRotationScale: Cesium.TranslationRotationScale;
576 | tridiagonalSystemSolver: Cesium.TridiagonalSystemSolver;
577 | trustedServers: Cesium.TrustedServers;
578 | tween: Cesium.Tween;
579 | tweenCollection: Cesium.TweenCollection;
580 | uniformState: Cesium.UniformState;
581 | uri: Cesium.Uri;
582 | urlTemplateImageryProvider: Cesium.UrlTemplateImageryProvider;
583 | version: Cesium.VERSION;
584 | vrButton: Cesium.VRButton;
585 | vrButtonViewModel: Cesium.VRButtonViewModel;
586 | vrTheWorldTerrainProvider: Cesium.VRTheWorldTerrainProvider;
587 | vector3DTileBatch: Cesium.Vector3DTileBatch;
588 | vector3DTileContent: Cesium.Vector3DTileContent;
589 | vector3DTileGeometry: Cesium.Vector3DTileGeometry;
590 | vector3DTilePoints: Cesium.Vector3DTilePoints;
591 | vector3DTilePolygons: Cesium.Vector3DTilePolygons;
592 | vector3DTilePolylines: Cesium.Vector3DTilePolylines;
593 | vector3DTilePrimitive: Cesium.Vector3DTilePrimitive;
594 | velocityOrientationProperty: Cesium.VelocityOrientationProperty;
595 | velocityVectorProperty: Cesium.VelocityVectorProperty;
596 | vertexArray: Cesium.VertexArray;
597 | vertexArrayFacade: Cesium.VertexArrayFacade;
598 | vertexFormat: Cesium.VertexFormat;
599 | verticalOrigin: Cesium.VerticalOrigin;
600 | videoSynchronizer: Cesium.VideoSynchronizer;
601 | view: Cesium.View;
602 | viewer: Cesium.Viewer;
603 | viewportQuad: Cesium.ViewportQuad;
604 | visibility: Cesium.Visibility;
605 | visualizer: Cesium.Visualizer;
606 | wallGeometry: Cesium.WallGeometry;
607 | wallGeometryLibrary: Cesium.WallGeometryLibrary;
608 | wallGeometryUpdater: Cesium.WallGeometryUpdater;
609 | wallGraphics: Cesium.WallGraphics;
610 | wallOutlineGeometry: Cesium.WallOutlineGeometry;
611 | webGlConstants: Cesium.WebGLConstants;
612 | webMapServiceImageryProvider: Cesium.WebMapServiceImageryProvider;
613 | webMapTileServiceImageryProvider: Cesium.WebMapTileServiceImageryProvider;
614 | webMercatorProjection: Cesium.WebMercatorProjection;
615 | webMercatorTilingScheme: Cesium.WebMercatorTilingScheme;
616 | weightSpline: Cesium.WeightSpline;
617 | windingOrder: Cesium.WindingOrder;
618 | };
619 |
620 | export type MappingTypeofExport = {
621 | animation: typeof Cesium["Animation"];
622 | animationViewModel: typeof Cesium["AnimationViewModel"];
623 | appearance: typeof Cesium["Appearance"];
624 | approximateTerrainHeights: typeof Cesium["ApproximateTerrainHeights"];
625 | arcGisTiledElevationTerrainProvider: typeof Cesium["ArcGISTiledElevationTerrainProvider"];
626 | arcGisMapServerImageryProvider: typeof Cesium["ArcGisMapServerImageryProvider"];
627 | arcType: typeof Cesium["ArcType"];
628 | associativeArray: typeof Cesium["AssociativeArray"];
629 | attributeCompression: typeof Cesium["AttributeCompression"];
630 | attributeType: typeof Cesium["AttributeType"];
631 | autoExposure: typeof Cesium["AutoExposure"];
632 | autolinker: typeof Cesium["Autolinker"];
633 | automaticUniforms: typeof Cesium["AutomaticUniforms"];
634 | axis: typeof Cesium["Axis"];
635 | axisAlignedBoundingBox: typeof Cesium["AxisAlignedBoundingBox"];
636 | baseLayerPicker: typeof Cesium["BaseLayerPicker"];
637 | baseLayerPickerViewModel: typeof Cesium["BaseLayerPickerViewModel"];
638 | batchTable: typeof Cesium["BatchTable"];
639 | batched3DModel3DTileContent: typeof Cesium["Batched3DModel3DTileContent"];
640 | billboard: typeof Cesium["Billboard"];
641 | billboardCollection: typeof Cesium["BillboardCollection"];
642 | billboardGraphics: typeof Cesium["BillboardGraphics"];
643 | billboardVisualizer: typeof Cesium["BillboardVisualizer"];
644 | bingMapsApi: typeof Cesium["BingMapsApi"];
645 | bingMapsGeocoderService: typeof Cesium["BingMapsGeocoderService"];
646 | bingMapsImageryProvider: typeof Cesium["BingMapsImageryProvider"];
647 | bingMapsStyle: typeof Cesium["BingMapsStyle"];
648 | blendEquation: typeof Cesium["BlendEquation"];
649 | blendFunction: typeof Cesium["BlendFunction"];
650 | blendOption: typeof Cesium["BlendOption"];
651 | blendingState: typeof Cesium["BlendingState"];
652 | boundingRectangle: typeof Cesium["BoundingRectangle"];
653 | boundingSphere: typeof Cesium["BoundingSphere"];
654 | boundingSphereState: typeof Cesium["BoundingSphereState"];
655 | boxEmitter: typeof Cesium["BoxEmitter"];
656 | boxGeometry: typeof Cesium["BoxGeometry"];
657 | boxGeometryUpdater: typeof Cesium["BoxGeometryUpdater"];
658 | boxGraphics: typeof Cesium["BoxGraphics"];
659 | boxOutlineGeometry: typeof Cesium["BoxOutlineGeometry"];
660 | brdfLutGenerator: typeof Cesium["BrdfLutGenerator"];
661 | buffer: typeof Cesium["Buffer"];
662 | bufferUsage: typeof Cesium["BufferUsage"];
663 | callbackProperty: typeof Cesium["CallbackProperty"];
664 | camera: typeof Cesium["Camera"];
665 | cameraEventAggregator: typeof Cesium["CameraEventAggregator"];
666 | cameraEventType: typeof Cesium["CameraEventType"];
667 | cameraFlightPath: typeof Cesium["CameraFlightPath"];
668 | cartesian2: typeof Cesium["Cartesian2"];
669 | cartesian3: typeof Cesium["Cartesian3"];
670 | cartesian4: typeof Cesium["Cartesian4"];
671 | cartographic: typeof Cesium["Cartographic"];
672 | cartographicGeocoderService: typeof Cesium["CartographicGeocoderService"];
673 | catmullRomSpline: typeof Cesium["CatmullRomSpline"];
674 | cesium3DTile: typeof Cesium["Cesium3DTile"];
675 | cesium3DTileBatchTable: typeof Cesium["Cesium3DTileBatchTable"];
676 | cesium3DTileColorBlendMode: typeof Cesium["Cesium3DTileColorBlendMode"];
677 | cesium3DTileContent: typeof Cesium["Cesium3DTileContent"];
678 | cesium3DTileContentFactory: typeof Cesium["Cesium3DTileContentFactory"];
679 | cesium3DTileContentState: typeof Cesium["Cesium3DTileContentState"];
680 | cesium3DTileFeature: typeof Cesium["Cesium3DTileFeature"];
681 | cesium3DTileFeatureTable: typeof Cesium["Cesium3DTileFeatureTable"];
682 | cesium3DTileOptimizationHint: typeof Cesium["Cesium3DTileOptimizationHint"];
683 | cesium3DTileOptimizations: typeof Cesium["Cesium3DTileOptimizations"];
684 | cesium3DTilePass: typeof Cesium["Cesium3DTilePass"];
685 | cesium3DTilePassState: typeof Cesium["Cesium3DTilePassState"];
686 | cesium3DTilePointFeature: typeof Cesium["Cesium3DTilePointFeature"];
687 | cesium3DTileRefine: typeof Cesium["Cesium3DTileRefine"];
688 | cesium3DTileStyle: typeof Cesium["Cesium3DTileStyle"];
689 | cesium3DTileStyleEngine: typeof Cesium["Cesium3DTileStyleEngine"];
690 | cesium3DTilesInspector: typeof Cesium["Cesium3DTilesInspector"];
691 | cesium3DTilesInspectorViewModel: typeof Cesium["Cesium3DTilesInspectorViewModel"];
692 | cesium3DTileset: typeof Cesium["Cesium3DTileset"];
693 | cesium3DTilesetCache: typeof Cesium["Cesium3DTilesetCache"];
694 | cesium3DTilesetGraphics: typeof Cesium["Cesium3DTilesetGraphics"];
695 | cesium3DTilesetHeatmap: typeof Cesium["Cesium3DTilesetHeatmap"];
696 | cesium3DTilesetMostDetailedTraversal: typeof Cesium["Cesium3DTilesetMostDetailedTraversal"];
697 | cesium3DTilesetStatistics: typeof Cesium["Cesium3DTilesetStatistics"];
698 | cesium3DTilesetTraversal: typeof Cesium["Cesium3DTilesetTraversal"];
699 | cesium3DTilesetVisualizer: typeof Cesium["Cesium3DTilesetVisualizer"];
700 | cesiumInspector: typeof Cesium["CesiumInspector"];
701 | cesiumInspectorViewModel: typeof Cesium["CesiumInspectorViewModel"];
702 | cesiumTerrainProvider: typeof Cesium["CesiumTerrainProvider"];
703 | cesiumWidget: typeof Cesium["CesiumWidget"];
704 | check: typeof Cesium["Check"];
705 | checkerboardMaterialProperty: typeof Cesium["CheckerboardMaterialProperty"];
706 | circleEmitter: typeof Cesium["CircleEmitter"];
707 | circleGeometry: typeof Cesium["CircleGeometry"];
708 | circleOutlineGeometry: typeof Cesium["CircleOutlineGeometry"];
709 | classificationModel: typeof Cesium["ClassificationModel"];
710 | classificationPrimitive: typeof Cesium["ClassificationPrimitive"];
711 | classificationType: typeof Cesium["ClassificationType"];
712 | clearCommand: typeof Cesium["ClearCommand"];
713 | clippingPlane: typeof Cesium["ClippingPlane"];
714 | clippingPlaneCollection: typeof Cesium["ClippingPlaneCollection"];
715 | clock: typeof Cesium["Clock"];
716 | clockRange: typeof Cesium["ClockRange"];
717 | clockStep: typeof Cesium["ClockStep"];
718 | clockViewModel: typeof Cesium["ClockViewModel"];
719 | color: typeof Cesium["Color"];
720 | colorBlendMode: typeof Cesium["ColorBlendMode"];
721 | colorGeometryInstanceAttribute: typeof Cesium["ColorGeometryInstanceAttribute"];
722 | colorMaterialProperty: typeof Cesium["ColorMaterialProperty"];
723 | command: typeof Cesium["Command"];
724 | componentDatatype: typeof Cesium["ComponentDatatype"];
725 | composite3DTileContent: typeof Cesium["Composite3DTileContent"];
726 | compositeEntityCollection: typeof Cesium["CompositeEntityCollection"];
727 | compositeMaterialProperty: typeof Cesium["CompositeMaterialProperty"];
728 | compositePositionProperty: typeof Cesium["CompositePositionProperty"];
729 | compositeProperty: typeof Cesium["CompositeProperty"];
730 | compressedTextureBuffer: typeof Cesium["CompressedTextureBuffer"];
731 | computeCommand: typeof Cesium["ComputeCommand"];
732 | computeEngine: typeof Cesium["ComputeEngine"];
733 | conditionsExpression: typeof Cesium["ConditionsExpression"];
734 | coneEmitter: typeof Cesium["ConeEmitter"];
735 | constantPositionProperty: typeof Cesium["ConstantPositionProperty"];
736 | constantProperty: typeof Cesium["ConstantProperty"];
737 | context: typeof Cesium["Context"];
738 | contextLimits: typeof Cesium["ContextLimits"];
739 | coplanarPolygonGeometry: typeof Cesium["CoplanarPolygonGeometry"];
740 | coplanarPolygonGeometryLibrary: typeof Cesium["CoplanarPolygonGeometryLibrary"];
741 | coplanarPolygonOutlineGeometry: typeof Cesium["CoplanarPolygonOutlineGeometry"];
742 | cornerType: typeof Cesium["CornerType"];
743 | corridorGeometry: typeof Cesium["CorridorGeometry"];
744 | corridorGeometryLibrary: typeof Cesium["CorridorGeometryLibrary"];
745 | corridorGeometryUpdater: typeof Cesium["CorridorGeometryUpdater"];
746 | corridorGraphics: typeof Cesium["CorridorGraphics"];
747 | corridorOutlineGeometry: typeof Cesium["CorridorOutlineGeometry"];
748 | credit: typeof Cesium["Credit"];
749 | creditDisplay: typeof Cesium["CreditDisplay"];
750 | cubeMap: typeof Cesium["CubeMap"];
751 | cubeMapFace: typeof Cesium["CubeMapFace"];
752 | cubicRealPolynomial: typeof Cesium["CubicRealPolynomial"];
753 | cullFace: typeof Cesium["CullFace"];
754 | cullingVolume: typeof Cesium["CullingVolume"];
755 | customDataSource: typeof Cesium["CustomDataSource"];
756 | cylinderGeometry: typeof Cesium["CylinderGeometry"];
757 | cylinderGeometryLibrary: typeof Cesium["CylinderGeometryLibrary"];
758 | cylinderGeometryUpdater: typeof Cesium["CylinderGeometryUpdater"];
759 | cylinderGraphics: typeof Cesium["CylinderGraphics"];
760 | cylinderOutlineGeometry: typeof Cesium["CylinderOutlineGeometry"];
761 | czmlDataSource: typeof Cesium["CzmlDataSource"];
762 | dataSource: typeof Cesium["DataSource"];
763 | dataSourceClock: typeof Cesium["DataSourceClock"];
764 | dataSourceCollection: typeof Cesium["DataSourceCollection"];
765 | dataSourceDisplay: typeof Cesium["DataSourceDisplay"];
766 | debugAppearance: typeof Cesium["DebugAppearance"];
767 | debugCameraPrimitive: typeof Cesium["DebugCameraPrimitive"];
768 | debugModelMatrixPrimitive: typeof Cesium["DebugModelMatrixPrimitive"];
769 | defaultProxy: typeof Cesium["DefaultProxy"];
770 | depthFunction: typeof Cesium["DepthFunction"];
771 | depthPlane: typeof Cesium["DepthPlane"];
772 | derivedCommand: typeof Cesium["DerivedCommand"];
773 | developerError: typeof Cesium["DeveloperError"];
774 | deviceOrientationCameraController: typeof Cesium["DeviceOrientationCameraController"];
775 | directionalLight: typeof Cesium["DirectionalLight"];
776 | discardEmptyTileImagePolicy: typeof Cesium["DiscardEmptyTileImagePolicy"];
777 | discardMissingTileImagePolicy: typeof Cesium["DiscardMissingTileImagePolicy"];
778 | distanceDisplayCondition: typeof Cesium["DistanceDisplayCondition"];
779 | distanceDisplayConditionGeometryInstanceAttribute: typeof Cesium["DistanceDisplayConditionGeometryInstanceAttribute"];
780 | doublyLinkedList: typeof Cesium["DoublyLinkedList"];
781 | dracoLoader: typeof Cesium["DracoLoader"];
782 | drawCommand: typeof Cesium["DrawCommand"];
783 | dynamicGeometryBatch: typeof Cesium["DynamicGeometryBatch"];
784 | dynamicGeometryUpdater: typeof Cesium["DynamicGeometryUpdater"];
785 | earthOrientationParameters: typeof Cesium["EarthOrientationParameters"];
786 | earthOrientationParametersSample: typeof Cesium["EarthOrientationParametersSample"];
787 | easingFunction: typeof Cesium["EasingFunction"];
788 | ellipseGeometry: typeof Cesium["EllipseGeometry"];
789 | ellipseGeometryLibrary: typeof Cesium["EllipseGeometryLibrary"];
790 | ellipseGeometryUpdater: typeof Cesium["EllipseGeometryUpdater"];
791 | ellipseGraphics: typeof Cesium["EllipseGraphics"];
792 | ellipseOutlineGeometry: typeof Cesium["EllipseOutlineGeometry"];
793 | ellipsoid: typeof Cesium["Ellipsoid"];
794 | ellipsoidGeodesic: typeof Cesium["EllipsoidGeodesic"];
795 | ellipsoidGeometry: typeof Cesium["EllipsoidGeometry"];
796 | ellipsoidGeometryUpdater: typeof Cesium["EllipsoidGeometryUpdater"];
797 | ellipsoidGraphics: typeof Cesium["EllipsoidGraphics"];
798 | ellipsoidOutlineGeometry: typeof Cesium["EllipsoidOutlineGeometry"];
799 | ellipsoidPrimitive: typeof Cesium["EllipsoidPrimitive"];
800 | ellipsoidRhumbLine: typeof Cesium["EllipsoidRhumbLine"];
801 | ellipsoidSurfaceAppearance: typeof Cesium["EllipsoidSurfaceAppearance"];
802 | ellipsoidTangentPlane: typeof Cesium["EllipsoidTangentPlane"];
803 | ellipsoidTerrainProvider: typeof Cesium["EllipsoidTerrainProvider"];
804 | ellipsoidalOccluder: typeof Cesium["EllipsoidalOccluder"];
805 | empty3DTileContent: typeof Cesium["Empty3DTileContent"];
806 | encodedCartesian3: typeof Cesium["EncodedCartesian3"];
807 | entity: typeof Cesium["Entity"];
808 | entityCluster: typeof Cesium["EntityCluster"];
809 | entityCollection: typeof Cesium["EntityCollection"];
810 | entityView: typeof Cesium["EntityView"];
811 | event: typeof Cesium["Event"];
812 | eventHelper: typeof Cesium["EventHelper"];
813 | expression: typeof Cesium["Expression"];
814 | expressionNodeType: typeof Cesium["ExpressionNodeType"];
815 | extrapolationType: typeof Cesium["ExtrapolationType"];
816 | fxaa311: typeof Cesium["FXAA3_11"];
817 | featureDetection: typeof Cesium["FeatureDetection"];
818 | fog: typeof Cesium["Fog"];
819 | forEach: typeof Cesium["ForEach"];
820 | frameRateMonitor: typeof Cesium["FrameRateMonitor"];
821 | frameState: typeof Cesium["FrameState"];
822 | framebuffer: typeof Cesium["Framebuffer"];
823 | frustumCommands: typeof Cesium["FrustumCommands"];
824 | frustumGeometry: typeof Cesium["FrustumGeometry"];
825 | frustumOutlineGeometry: typeof Cesium["FrustumOutlineGeometry"];
826 | fullscreen: typeof Cesium["Fullscreen"];
827 | fullscreenButton: typeof Cesium["FullscreenButton"];
828 | fullscreenButtonViewModel: typeof Cesium["FullscreenButtonViewModel"];
829 | geoJsonDataSource: typeof Cesium["GeoJsonDataSource"];
830 | geocodeType: typeof Cesium["GeocodeType"];
831 | geocoder: typeof Cesium["Geocoder"];
832 | geocoderService: typeof Cesium["GeocoderService"];
833 | geocoderViewModel: typeof Cesium["GeocoderViewModel"];
834 | geographicProjection: typeof Cesium["GeographicProjection"];
835 | geographicTilingScheme: typeof Cesium["GeographicTilingScheme"];
836 | geometry: typeof Cesium["Geometry"];
837 | geometry3DTileContent: typeof Cesium["Geometry3DTileContent"];
838 | geometryAttribute: typeof Cesium["GeometryAttribute"];
839 | geometryAttributes: typeof Cesium["GeometryAttributes"];
840 | geometryInstance: typeof Cesium["GeometryInstance"];
841 | geometryInstanceAttribute: typeof Cesium["GeometryInstanceAttribute"];
842 | geometryOffsetAttribute: typeof Cesium["GeometryOffsetAttribute"];
843 | geometryPipeline: typeof Cesium["GeometryPipeline"];
844 | geometryType: typeof Cesium["GeometryType"];
845 | geometryUpdater: typeof Cesium["GeometryUpdater"];
846 | geometryVisualizer: typeof Cesium["GeometryVisualizer"];
847 | getFeatureInfoFormat: typeof Cesium["GetFeatureInfoFormat"];
848 | globe: typeof Cesium["Globe"];
849 | globeDepth: typeof Cesium["GlobeDepth"];
850 | globeSurfaceShaderSet: typeof Cesium["GlobeSurfaceShaderSet"];
851 | globeSurfaceTile: typeof Cesium["GlobeSurfaceTile"];
852 | globeSurfaceTileProvider: typeof Cesium["GlobeSurfaceTileProvider"];
853 | globeTranslucency: typeof Cesium["GlobeTranslucency"];
854 | globeTranslucencyFramebuffer: typeof Cesium["GlobeTranslucencyFramebuffer"];
855 | globeTranslucencyState: typeof Cesium["GlobeTranslucencyState"];
856 | googleEarthEnterpriseImageryProvider: typeof Cesium["GoogleEarthEnterpriseImageryProvider"];
857 | googleEarthEnterpriseMapsProvider: typeof Cesium["GoogleEarthEnterpriseMapsProvider"];
858 | googleEarthEnterpriseMetadata: typeof Cesium["GoogleEarthEnterpriseMetadata"];
859 | googleEarthEnterpriseTerrainData: typeof Cesium["GoogleEarthEnterpriseTerrainData"];
860 | googleEarthEnterpriseTerrainProvider: typeof Cesium["GoogleEarthEnterpriseTerrainProvider"];
861 | googleEarthEnterpriseTileInformation: typeof Cesium["GoogleEarthEnterpriseTileInformation"];
862 | gregorianDate: typeof Cesium["GregorianDate"];
863 | gridImageryProvider: typeof Cesium["GridImageryProvider"];
864 | gridMaterialProperty: typeof Cesium["GridMaterialProperty"];
865 | groundGeometryUpdater: typeof Cesium["GroundGeometryUpdater"];
866 | groundPolylineGeometry: typeof Cesium["GroundPolylineGeometry"];
867 | groundPolylinePrimitive: typeof Cesium["GroundPolylinePrimitive"];
868 | groundPrimitive: typeof Cesium["GroundPrimitive"];
869 | headingPitchRange: typeof Cesium["HeadingPitchRange"];
870 | headingPitchRoll: typeof Cesium["HeadingPitchRoll"];
871 | heap: typeof Cesium["Heap"];
872 | heightReference: typeof Cesium["HeightReference"];
873 | heightmapEncoding: typeof Cesium["HeightmapEncoding"];
874 | heightmapTerrainData: typeof Cesium["HeightmapTerrainData"];
875 | heightmapTessellator: typeof Cesium["HeightmapTessellator"];
876 | hermitePolynomialApproximation: typeof Cesium["HermitePolynomialApproximation"];
877 | hermiteSpline: typeof Cesium["HermiteSpline"];
878 | homeButton: typeof Cesium["HomeButton"];
879 | homeButtonViewModel: typeof Cesium["HomeButtonViewModel"];
880 | horizontalOrigin: typeof Cesium["HorizontalOrigin"];
881 | iau2000Orientation: typeof Cesium["Iau2000Orientation"];
882 | iau2006XysData: typeof Cesium["Iau2006XysData"];
883 | iau2006XysSample: typeof Cesium["Iau2006XysSample"];
884 | iauOrientationAxes: typeof Cesium["IauOrientationAxes"];
885 | iauOrientationParameters: typeof Cesium["IauOrientationParameters"];
886 | imageMaterialProperty: typeof Cesium["ImageMaterialProperty"];
887 | imagery: typeof Cesium["Imagery"];
888 | imageryLayer: typeof Cesium["ImageryLayer"];
889 | imageryLayerCollection: typeof Cesium["ImageryLayerCollection"];
890 | imageryLayerFeatureInfo: typeof Cesium["ImageryLayerFeatureInfo"];
891 | imageryProvider: typeof Cesium["ImageryProvider"];
892 | imagerySplitDirection: typeof Cesium["ImagerySplitDirection"];
893 | imageryState: typeof Cesium["ImageryState"];
894 | indexDatatype: typeof Cesium["IndexDatatype"];
895 | infoBox: typeof Cesium["InfoBox"];
896 | infoBoxViewModel: typeof Cesium["InfoBoxViewModel"];
897 | inspectorShared: typeof Cesium["InspectorShared"];
898 | instanced3DModel3DTileContent: typeof Cesium["Instanced3DModel3DTileContent"];
899 | interpolationAlgorithm: typeof Cesium["InterpolationAlgorithm"];
900 | intersect: typeof Cesium["Intersect"];
901 | intersectionTests: typeof Cesium["IntersectionTests"];
902 | intersections2D: typeof Cesium["Intersections2D"];
903 | interval: typeof Cesium["Interval"];
904 | invertClassification: typeof Cesium["InvertClassification"];
905 | ion: typeof Cesium["Ion"];
906 | ionGeocoderService: typeof Cesium["IonGeocoderService"];
907 | ionImageryProvider: typeof Cesium["IonImageryProvider"];
908 | ionResource: typeof Cesium["IonResource"];
909 | ionWorldImageryStyle: typeof Cesium["IonWorldImageryStyle"];
910 | iso8601: typeof Cesium["Iso8601"];
911 | jobScheduler: typeof Cesium["JobScheduler"];
912 | jobType: typeof Cesium["JobType"];
913 | julianDate: typeof Cesium["JulianDate"];
914 | keyboardEventModifier: typeof Cesium["KeyboardEventModifier"];
915 | kmlCamera: typeof Cesium["KmlCamera"];
916 | kmlDataSource: typeof Cesium["KmlDataSource"];
917 | kmlLookAt: typeof Cesium["KmlLookAt"];
918 | kmlTour: typeof Cesium["KmlTour"];
919 | kmlTourFlyTo: typeof Cesium["KmlTourFlyTo"];
920 | kmlTourWait: typeof Cesium["KmlTourWait"];
921 | label: typeof Cesium["Label"];
922 | labelCollection: typeof Cesium["LabelCollection"];
923 | labelGraphics: typeof Cesium["LabelGraphics"];
924 | labelStyle: typeof Cesium["LabelStyle"];
925 | labelVisualizer: typeof Cesium["LabelVisualizer"];
926 | lagrangePolynomialApproximation: typeof Cesium["LagrangePolynomialApproximation"];
927 | leapSecond: typeof Cesium["LeapSecond"];
928 | lercDecode: typeof Cesium["LercDecode"];
929 | light: typeof Cesium["Light"];
930 | linearApproximation: typeof Cesium["LinearApproximation"];
931 | linearSpline: typeof Cesium["LinearSpline"];
932 | managedArray: typeof Cesium["ManagedArray"];
933 | mapMode2D: typeof Cesium["MapMode2D"];
934 | mapProjection: typeof Cesium["MapProjection"];
935 | mapboxApi: typeof Cesium["MapboxApi"];
936 | mapboxImageryProvider: typeof Cesium["MapboxImageryProvider"];
937 | mapboxStyleImageryProvider: typeof Cesium["MapboxStyleImageryProvider"];
938 | material: typeof Cesium["Material"];
939 | materialAppearance: typeof Cesium["MaterialAppearance"];
940 | materialProperty: typeof Cesium["MaterialProperty"];
941 | math: typeof Cesium["Math"];
942 | matrix2: typeof Cesium["Matrix2"];
943 | matrix3: typeof Cesium["Matrix3"];
944 | matrix4: typeof Cesium["Matrix4"];
945 | mipmapHint: typeof Cesium["MipmapHint"];
946 | model: typeof Cesium["Model"];
947 | modelAnimation: typeof Cesium["ModelAnimation"];
948 | modelAnimationCache: typeof Cesium["ModelAnimationCache"];
949 | modelAnimationCollection: typeof Cesium["ModelAnimationCollection"];
950 | modelAnimationLoop: typeof Cesium["ModelAnimationLoop"];
951 | modelAnimationState: typeof Cesium["ModelAnimationState"];
952 | modelGraphics: typeof Cesium["ModelGraphics"];
953 | modelInstance: typeof Cesium["ModelInstance"];
954 | modelInstanceCollection: typeof Cesium["ModelInstanceCollection"];
955 | modelLoadResources: typeof Cesium["ModelLoadResources"];
956 | modelMaterial: typeof Cesium["ModelMaterial"];
957 | modelMesh: typeof Cesium["ModelMesh"];
958 | modelNode: typeof Cesium["ModelNode"];
959 | modelOutlineLoader: typeof Cesium["ModelOutlineLoader"];
960 | modelUtility: typeof Cesium["ModelUtility"];
961 | modelVisualizer: typeof Cesium["ModelVisualizer"];
962 | moon: typeof Cesium["Moon"];
963 | navigationHelpButton: typeof Cesium["NavigationHelpButton"];
964 | navigationHelpButtonViewModel: typeof Cesium["NavigationHelpButtonViewModel"];
965 | nearFarScalar: typeof Cesium["NearFarScalar"];
966 | neverTileDiscardPolicy: typeof Cesium["NeverTileDiscardPolicy"];
967 | noSleep: typeof Cesium["NoSleep"];
968 | nodeTransformationProperty: typeof Cesium["NodeTransformationProperty"];
969 | oit: typeof Cesium["OIT"];
970 | occluder: typeof Cesium["Occluder"];
971 | octahedralProjectedCubeMap: typeof Cesium["OctahedralProjectedCubeMap"];
972 | offsetGeometryInstanceAttribute: typeof Cesium["OffsetGeometryInstanceAttribute"];
973 | openCageGeocoderService: typeof Cesium["OpenCageGeocoderService"];
974 | openStreetMapImageryProvider: typeof Cesium["OpenStreetMapImageryProvider"];
975 | orderedGroundPrimitiveCollection: typeof Cesium["OrderedGroundPrimitiveCollection"];
976 | orientedBoundingBox: typeof Cesium["OrientedBoundingBox"];
977 | orthographicFrustum: typeof Cesium["OrthographicFrustum"];
978 | orthographicOffCenterFrustum: typeof Cesium["OrthographicOffCenterFrustum"];
979 | packable: typeof Cesium["Packable"];
980 | packableForInterpolation: typeof Cesium["PackableForInterpolation"];
981 | particle: typeof Cesium["Particle"];
982 | particleBurst: typeof Cesium["ParticleBurst"];
983 | particleEmitter: typeof Cesium["ParticleEmitter"];
984 | particleSystem: typeof Cesium["ParticleSystem"];
985 | pass: typeof Cesium["Pass"];
986 | passState: typeof Cesium["PassState"];
987 | pathGraphics: typeof Cesium["PathGraphics"];
988 | pathVisualizer: typeof Cesium["PathVisualizer"];
989 | peliasGeocoderService: typeof Cesium["PeliasGeocoderService"];
990 | perInstanceColorAppearance: typeof Cesium["PerInstanceColorAppearance"];
991 | performanceDisplay: typeof Cesium["PerformanceDisplay"];
992 | performanceWatchdog: typeof Cesium["PerformanceWatchdog"];
993 | performanceWatchdogViewModel: typeof Cesium["PerformanceWatchdogViewModel"];
994 | perspectiveFrustum: typeof Cesium["PerspectiveFrustum"];
995 | perspectiveOffCenterFrustum: typeof Cesium["PerspectiveOffCenterFrustum"];
996 | pickDepth: typeof Cesium["PickDepth"];
997 | pickDepthFramebuffer: typeof Cesium["PickDepthFramebuffer"];
998 | pickFramebuffer: typeof Cesium["PickFramebuffer"];
999 | picking: typeof Cesium["Picking"];
1000 | pinBuilder: typeof Cesium["PinBuilder"];
1001 | pixelDatatype: typeof Cesium["PixelDatatype"];
1002 | pixelFormat: typeof Cesium["PixelFormat"];
1003 | plane: typeof Cesium["Plane"];
1004 | planeGeometry: typeof Cesium["PlaneGeometry"];
1005 | planeGeometryUpdater: typeof Cesium["PlaneGeometryUpdater"];
1006 | planeGraphics: typeof Cesium["PlaneGraphics"];
1007 | planeOutlineGeometry: typeof Cesium["PlaneOutlineGeometry"];
1008 | pointCloud: typeof Cesium["PointCloud"];
1009 | pointCloud3DTileContent: typeof Cesium["PointCloud3DTileContent"];
1010 | pointCloudEyeDomeLighting: typeof Cesium["PointCloudEyeDomeLighting"];
1011 | pointCloudShading: typeof Cesium["PointCloudShading"];
1012 | pointGraphics: typeof Cesium["PointGraphics"];
1013 | pointPrimitive: typeof Cesium["PointPrimitive"];
1014 | pointPrimitiveCollection: typeof Cesium["PointPrimitiveCollection"];
1015 | pointVisualizer: typeof Cesium["PointVisualizer"];
1016 | polygonGeometry: typeof Cesium["PolygonGeometry"];
1017 | polygonGeometryLibrary: typeof Cesium["PolygonGeometryLibrary"];
1018 | polygonGeometryUpdater: typeof Cesium["PolygonGeometryUpdater"];
1019 | polygonGraphics: typeof Cesium["PolygonGraphics"];
1020 | polygonHierarchy: typeof Cesium["PolygonHierarchy"];
1021 | polygonOutlineGeometry: typeof Cesium["PolygonOutlineGeometry"];
1022 | polygonPipeline: typeof Cesium["PolygonPipeline"];
1023 | polyline: typeof Cesium["Polyline"];
1024 | polylineArrowMaterialProperty: typeof Cesium["PolylineArrowMaterialProperty"];
1025 | polylineCollection: typeof Cesium["PolylineCollection"];
1026 | polylineColorAppearance: typeof Cesium["PolylineColorAppearance"];
1027 | polylineDashMaterialProperty: typeof Cesium["PolylineDashMaterialProperty"];
1028 | polylineGeometry: typeof Cesium["PolylineGeometry"];
1029 | polylineGeometryUpdater: typeof Cesium["PolylineGeometryUpdater"];
1030 | polylineGlowMaterialProperty: typeof Cesium["PolylineGlowMaterialProperty"];
1031 | polylineGraphics: typeof Cesium["PolylineGraphics"];
1032 | polylineMaterialAppearance: typeof Cesium["PolylineMaterialAppearance"];
1033 | polylineOutlineMaterialProperty: typeof Cesium["PolylineOutlineMaterialProperty"];
1034 | polylinePipeline: typeof Cesium["PolylinePipeline"];
1035 | polylineVisualizer: typeof Cesium["PolylineVisualizer"];
1036 | polylineVolumeGeometry: typeof Cesium["PolylineVolumeGeometry"];
1037 | polylineVolumeGeometryLibrary: typeof Cesium["PolylineVolumeGeometryLibrary"];
1038 | polylineVolumeGeometryUpdater: typeof Cesium["PolylineVolumeGeometryUpdater"];
1039 | polylineVolumeGraphics: typeof Cesium["PolylineVolumeGraphics"];
1040 | polylineVolumeOutlineGeometry: typeof Cesium["PolylineVolumeOutlineGeometry"];
1041 | positionProperty: typeof Cesium["PositionProperty"];
1042 | positionPropertyArray: typeof Cesium["PositionPropertyArray"];
1043 | postProcessStage: typeof Cesium["PostProcessStage"];
1044 | postProcessStageCollection: typeof Cesium["PostProcessStageCollection"];
1045 | postProcessStageComposite: typeof Cesium["PostProcessStageComposite"];
1046 | postProcessStageLibrary: typeof Cesium["PostProcessStageLibrary"];
1047 | postProcessStageSampleMode: typeof Cesium["PostProcessStageSampleMode"];
1048 | postProcessStageTextureCache: typeof Cesium["PostProcessStageTextureCache"];
1049 | primitive: typeof Cesium["Primitive"];
1050 | primitiveCollection: typeof Cesium["PrimitiveCollection"];
1051 | primitivePipeline: typeof Cesium["PrimitivePipeline"];
1052 | primitiveState: typeof Cesium["PrimitiveState"];
1053 | primitiveType: typeof Cesium["PrimitiveType"];
1054 | projectionPicker: typeof Cesium["ProjectionPicker"];
1055 | projectionPickerViewModel: typeof Cesium["ProjectionPickerViewModel"];
1056 | property: typeof Cesium["Property"];
1057 | propertyArray: typeof Cesium["PropertyArray"];
1058 | propertyBag: typeof Cesium["PropertyBag"];
1059 | providerViewModel: typeof Cesium["ProviderViewModel"];
1060 | proxy: typeof Cesium["Proxy"];
1061 | quadraticRealPolynomial: typeof Cesium["QuadraticRealPolynomial"];
1062 | quadtreeOccluders: typeof Cesium["QuadtreeOccluders"];
1063 | quadtreePrimitive: typeof Cesium["QuadtreePrimitive"];
1064 | quadtreeTile: typeof Cesium["QuadtreeTile"];
1065 | quadtreeTileLoadState: typeof Cesium["QuadtreeTileLoadState"];
1066 | quadtreeTileProvider: typeof Cesium["QuadtreeTileProvider"];
1067 | quantizedMeshTerrainData: typeof Cesium["QuantizedMeshTerrainData"];
1068 | quarticRealPolynomial: typeof Cesium["QuarticRealPolynomial"];
1069 | quaternion: typeof Cesium["Quaternion"];
1070 | quaternionSpline: typeof Cesium["QuaternionSpline"];
1071 | queue: typeof Cesium["Queue"];
1072 | ray: typeof Cesium["Ray"];
1073 | rectangle: typeof Cesium["Rectangle"];
1074 | rectangleCollisionChecker: typeof Cesium["RectangleCollisionChecker"];
1075 | rectangleGeometry: typeof Cesium["RectangleGeometry"];
1076 | rectangleGeometryLibrary: typeof Cesium["RectangleGeometryLibrary"];
1077 | rectangleGeometryUpdater: typeof Cesium["RectangleGeometryUpdater"];
1078 | rectangleGraphics: typeof Cesium["RectangleGraphics"];
1079 | rectangleOutlineGeometry: typeof Cesium["RectangleOutlineGeometry"];
1080 | referenceFrame: typeof Cesium["ReferenceFrame"];
1081 | referenceProperty: typeof Cesium["ReferenceProperty"];
1082 | renderState: typeof Cesium["RenderState"];
1083 | renderbuffer: typeof Cesium["Renderbuffer"];
1084 | renderbufferFormat: typeof Cesium["RenderbufferFormat"];
1085 | request: typeof Cesium["Request"];
1086 | requestErrorEvent: typeof Cesium["RequestErrorEvent"];
1087 | requestScheduler: typeof Cesium["RequestScheduler"];
1088 | requestState: typeof Cesium["RequestState"];
1089 | requestType: typeof Cesium["RequestType"];
1090 | resource: typeof Cesium["Resource"];
1091 | rotation: typeof Cesium["Rotation"];
1092 | runtimeError: typeof Cesium["RuntimeError"];
1093 | sdfSettings: typeof Cesium["SDFSettings"];
1094 | sampledPositionProperty: typeof Cesium["SampledPositionProperty"];
1095 | sampledProperty: typeof Cesium["SampledProperty"];
1096 | sampler: typeof Cesium["Sampler"];
1097 | scaledPositionProperty: typeof Cesium["ScaledPositionProperty"];
1098 | scene: typeof Cesium["Scene"];
1099 | sceneFramebuffer: typeof Cesium["SceneFramebuffer"];
1100 | sceneMode: typeof Cesium["SceneMode"];
1101 | sceneModePicker: typeof Cesium["SceneModePicker"];
1102 | sceneModePickerViewModel: typeof Cesium["SceneModePickerViewModel"];
1103 | sceneTransforms: typeof Cesium["SceneTransforms"];
1104 | sceneTransitioner: typeof Cesium["SceneTransitioner"];
1105 | screenSpaceCameraController: typeof Cesium["ScreenSpaceCameraController"];
1106 | screenSpaceEventHandler: typeof Cesium["ScreenSpaceEventHandler"];
1107 | screenSpaceEventType: typeof Cesium["ScreenSpaceEventType"];
1108 | selectionIndicator: typeof Cesium["SelectionIndicator"];
1109 | selectionIndicatorViewModel: typeof Cesium["SelectionIndicatorViewModel"];
1110 | shaderCache: typeof Cesium["ShaderCache"];
1111 | shaderProgram: typeof Cesium["ShaderProgram"];
1112 | shaderSource: typeof Cesium["ShaderSource"];
1113 | shadowMap: typeof Cesium["ShadowMap"];
1114 | shadowMapShader: typeof Cesium["ShadowMapShader"];
1115 | shadowMode: typeof Cesium["ShadowMode"];
1116 | shadowVolumeAppearance: typeof Cesium["ShadowVolumeAppearance"];
1117 | showGeometryInstanceAttribute: typeof Cesium["ShowGeometryInstanceAttribute"];
1118 | simon1994PlanetaryPositions: typeof Cesium["Simon1994PlanetaryPositions"];
1119 | simplePolylineGeometry: typeof Cesium["SimplePolylineGeometry"];
1120 | singleTileImageryProvider: typeof Cesium["SingleTileImageryProvider"];
1121 | skyAtmosphere: typeof Cesium["SkyAtmosphere"];
1122 | skyBox: typeof Cesium["SkyBox"];
1123 | sphereEmitter: typeof Cesium["SphereEmitter"];
1124 | sphereGeometry: typeof Cesium["SphereGeometry"];
1125 | sphereOutlineGeometry: typeof Cesium["SphereOutlineGeometry"];
1126 | spherical: typeof Cesium["Spherical"];
1127 | spline: typeof Cesium["Spline"];
1128 | staticGeometryColorBatch: typeof Cesium["StaticGeometryColorBatch"];
1129 | staticGeometryPerMaterialBatch: typeof Cesium["StaticGeometryPerMaterialBatch"];
1130 | staticGroundGeometryColorBatch: typeof Cesium["StaticGroundGeometryColorBatch"];
1131 | staticGroundGeometryPerMaterialBatch: typeof Cesium["StaticGroundGeometryPerMaterialBatch"];
1132 | staticGroundPolylinePerMaterialBatch: typeof Cesium["StaticGroundPolylinePerMaterialBatch"];
1133 | staticOutlineGeometryBatch: typeof Cesium["StaticOutlineGeometryBatch"];
1134 | stencilConstants: typeof Cesium["StencilConstants"];
1135 | stencilFunction: typeof Cesium["StencilFunction"];
1136 | stencilOperation: typeof Cesium["StencilOperation"];
1137 | stripeMaterialProperty: typeof Cesium["StripeMaterialProperty"];
1138 | stripeOrientation: typeof Cesium["StripeOrientation"];
1139 | styleExpression: typeof Cesium["StyleExpression"];
1140 | sun: typeof Cesium["Sun"];
1141 | sunLight: typeof Cesium["SunLight"];
1142 | sunPostProcess: typeof Cesium["SunPostProcess"];
1143 | svgPathBindingHandler: typeof Cesium["SvgPathBindingHandler"];
1144 | taskProcessor: typeof Cesium["TaskProcessor"];
1145 | terrainData: typeof Cesium["TerrainData"];
1146 | terrainEncoding: typeof Cesium["TerrainEncoding"];
1147 | terrainFillMesh: typeof Cesium["TerrainFillMesh"];
1148 | terrainMesh: typeof Cesium["TerrainMesh"];
1149 | terrainOffsetProperty: typeof Cesium["TerrainOffsetProperty"];
1150 | terrainProvider: typeof Cesium["TerrainProvider"];
1151 | terrainQuantization: typeof Cesium["TerrainQuantization"];
1152 | terrainState: typeof Cesium["TerrainState"];
1153 | texture: typeof Cesium["Texture"];
1154 | textureAtlas: typeof Cesium["TextureAtlas"];
1155 | textureCache: typeof Cesium["TextureCache"];
1156 | textureMagnificationFilter: typeof Cesium["TextureMagnificationFilter"];
1157 | textureMinificationFilter: typeof Cesium["TextureMinificationFilter"];
1158 | textureWrap: typeof Cesium["TextureWrap"];
1159 | tileAvailability: typeof Cesium["TileAvailability"];
1160 | tileBoundingRegion: typeof Cesium["TileBoundingRegion"];
1161 | tileBoundingSphere: typeof Cesium["TileBoundingSphere"];
1162 | tileBoundingVolume: typeof Cesium["TileBoundingVolume"];
1163 | tileCoordinatesImageryProvider: typeof Cesium["TileCoordinatesImageryProvider"];
1164 | tileDiscardPolicy: typeof Cesium["TileDiscardPolicy"];
1165 | tileEdge: typeof Cesium["TileEdge"];
1166 | tileImagery: typeof Cesium["TileImagery"];
1167 | tileMapServiceImageryProvider: typeof Cesium["TileMapServiceImageryProvider"];
1168 | tileOrientedBoundingBox: typeof Cesium["TileOrientedBoundingBox"];
1169 | tileProviderError: typeof Cesium["TileProviderError"];
1170 | tileReplacementQueue: typeof Cesium["TileReplacementQueue"];
1171 | tileSelectionResult: typeof Cesium["TileSelectionResult"];
1172 | tileState: typeof Cesium["TileState"];
1173 | tileset3DTileContent: typeof Cesium["Tileset3DTileContent"];
1174 | tilingScheme: typeof Cesium["TilingScheme"];
1175 | timeConstants: typeof Cesium["TimeConstants"];
1176 | timeDynamicImagery: typeof Cesium["TimeDynamicImagery"];
1177 | timeDynamicPointCloud: typeof Cesium["TimeDynamicPointCloud"];
1178 | timeInterval: typeof Cesium["TimeInterval"];
1179 | timeIntervalCollection: typeof Cesium["TimeIntervalCollection"];
1180 | timeIntervalCollectionPositionProperty: typeof Cesium["TimeIntervalCollectionPositionProperty"];
1181 | timeIntervalCollectionProperty: typeof Cesium["TimeIntervalCollectionProperty"];
1182 | timeStandard: typeof Cesium["TimeStandard"];
1183 | timeline: typeof Cesium["Timeline"];
1184 | timelineHighlightRange: typeof Cesium["TimelineHighlightRange"];
1185 | timelineTrack: typeof Cesium["TimelineTrack"];
1186 | tipsify: typeof Cesium["Tipsify"];
1187 | toggleButtonViewModel: typeof Cesium["ToggleButtonViewModel"];
1188 | tonemapper: typeof Cesium["Tonemapper"];
1189 | transforms: typeof Cesium["Transforms"];
1190 | translationRotationScale: typeof Cesium["TranslationRotationScale"];
1191 | tridiagonalSystemSolver: typeof Cesium["TridiagonalSystemSolver"];
1192 | trustedServers: typeof Cesium["TrustedServers"];
1193 | tween: typeof Cesium["Tween"];
1194 | tweenCollection: typeof Cesium["TweenCollection"];
1195 | uniformState: typeof Cesium["UniformState"];
1196 | uri: typeof Cesium["Uri"];
1197 | urlTemplateImageryProvider: typeof Cesium["UrlTemplateImageryProvider"];
1198 | version: typeof Cesium["VERSION"];
1199 | vrButton: typeof Cesium["VRButton"];
1200 | vrButtonViewModel: typeof Cesium["VRButtonViewModel"];
1201 | vrTheWorldTerrainProvider: typeof Cesium["VRTheWorldTerrainProvider"];
1202 | vector3DTileBatch: typeof Cesium["Vector3DTileBatch"];
1203 | vector3DTileContent: typeof Cesium["Vector3DTileContent"];
1204 | vector3DTileGeometry: typeof Cesium["Vector3DTileGeometry"];
1205 | vector3DTilePoints: typeof Cesium["Vector3DTilePoints"];
1206 | vector3DTilePolygons: typeof Cesium["Vector3DTilePolygons"];
1207 | vector3DTilePolylines: typeof Cesium["Vector3DTilePolylines"];
1208 | vector3DTilePrimitive: typeof Cesium["Vector3DTilePrimitive"];
1209 | velocityOrientationProperty: typeof Cesium["VelocityOrientationProperty"];
1210 | velocityVectorProperty: typeof Cesium["VelocityVectorProperty"];
1211 | vertexArray: typeof Cesium["VertexArray"];
1212 | vertexArrayFacade: typeof Cesium["VertexArrayFacade"];
1213 | vertexFormat: typeof Cesium["VertexFormat"];
1214 | verticalOrigin: typeof Cesium["VerticalOrigin"];
1215 | videoSynchronizer: typeof Cesium["VideoSynchronizer"];
1216 | view: typeof Cesium["View"];
1217 | viewer: typeof Cesium["Viewer"];
1218 | viewportQuad: typeof Cesium["ViewportQuad"];
1219 | visibility: typeof Cesium["Visibility"];
1220 | visualizer: typeof Cesium["Visualizer"];
1221 | wallGeometry: typeof Cesium["WallGeometry"];
1222 | wallGeometryLibrary: typeof Cesium["WallGeometryLibrary"];
1223 | wallGeometryUpdater: typeof Cesium["WallGeometryUpdater"];
1224 | wallGraphics: typeof Cesium["WallGraphics"];
1225 | wallOutlineGeometry: typeof Cesium["WallOutlineGeometry"];
1226 | webGlConstants: typeof Cesium["WebGLConstants"];
1227 | webMapServiceImageryProvider: typeof Cesium["WebMapServiceImageryProvider"];
1228 | webMapTileServiceImageryProvider: typeof Cesium["WebMapTileServiceImageryProvider"];
1229 | webMercatorProjection: typeof Cesium["WebMercatorProjection"];
1230 | webMercatorTilingScheme: typeof Cesium["WebMercatorTilingScheme"];
1231 | weightSpline: typeof Cesium["WeightSpline"];
1232 | windingOrder: typeof Cesium["WindingOrder"];
1233 | };
--------------------------------------------------------------------------------
/src/hooks.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useCallback } from "react";
2 |
3 | import { useViewer } from "./context";
4 |
5 | export const usePostUpdate = (callback, dependencyArray) => {
6 | const viewer = useViewer();
7 | const memoisedCallback = useCallback(callback, dependencyArray);
8 |
9 | useEffect(() => {
10 | if (viewer != null) {
11 | const { scene } = viewer;
12 | return scene.postUpdate.addEventListener(memoisedCallback);
13 | // returns a function to remove the event listener
14 | }
15 | }, [callback, viewer]);
16 | };
17 |
18 | export const usePostRender = (callback, dependencyArray) => {
19 | const viewer = useViewer();
20 | const memoisedCallback = useCallback(callback, dependencyArray);
21 |
22 | useEffect(() => {
23 | if (viewer != null) {
24 | const { scene } = viewer;
25 | return scene.postRender.addEventListener(memoisedCallback);
26 | // returns a function to remove the event listener
27 | }
28 | }, [callback, viewer]);
29 | };
30 |
31 | export const usePreUpdate = (callback, dependencyArray) => {
32 | const viewer = useViewer();
33 | const memoisedCallback = useCallback(callback, dependencyArray);
34 |
35 | useEffect(() => {
36 | if (viewer != null) {
37 | const { scene } = viewer;
38 | return scene.preUpdate.addEventListener(memoisedCallback);
39 | // returns a function to remove the event listener
40 | }
41 | }, [callback, viewer]);
42 | };
43 |
44 | export const usePreRender = (callback, dependencyArray) => {
45 | const viewer = useViewer();
46 | const memoisedCallback = useCallback(callback, dependencyArray);
47 |
48 | useEffect(() => {
49 | if (viewer != null) {
50 | const { scene } = viewer;
51 | return scene.preRender.addEventListener(memoisedCallback);
52 | // returns a function to remove the event listener
53 | }
54 | }, [callback, viewer]);
55 | };
56 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | export { Viewer } from "./viewer";
2 |
3 | export {
4 | usePostRender,
5 | usePostUpdate,
6 | usePreRender,
7 | usePreUpdate,
8 | } from "./hooks";
9 |
10 | export { useViewer } from "./context";
11 |
12 | export * from "./types";
13 |
--------------------------------------------------------------------------------
/src/reconciler/append-child.ts:
--------------------------------------------------------------------------------
1 | import { Reconciler, CesiumObject, Detach } from "./types";
2 | import { Entity, DataSource, Viewer, Primitive } from "cesium";
3 |
4 | import { error001, error002 } from "../utils/errors";
5 |
6 | const defaultAttach = (
7 | container: CesiumObject,
8 | child: CesiumObject
9 | ): Detach => {
10 | const containerType = container.constructor.name;
11 | const childType = child.constructor.name;
12 |
13 | switch (containerType) {
14 | case "CustomDataSource":
15 | case "GeoJsonDataSource": {
16 | switch (childType) {
17 | case "Entity":
18 | (container as DataSource).entities.add(child as Entity);
19 | return (container, child) =>
20 | (container as DataSource).entities.remove(child as Entity);
21 | default:
22 | throw error002;
23 | }
24 | }
25 | case "Viewer": {
26 | switch (childType) {
27 | case "Entity":
28 | (container as Viewer).entities.add(child as Entity);
29 | return (container, child) =>
30 | (container as Viewer).entities.remove(child as Entity);
31 | case "GeoJsonDataSource":
32 | case "CustomDataSource":
33 | (container as Viewer).dataSources.add(child as DataSource);
34 | return (container, child) =>
35 | (container as Viewer).dataSources.remove(child as DataSource, true);
36 |
37 | case "Cesium3DTileset":
38 | (container as Viewer).scene.primitives.add(child as Primitive);
39 | return (container, child) =>
40 | (container as Viewer).scene.primitives.remove(child as Primitive);
41 |
42 | default:
43 | throw error002(containerType, childType);
44 | }
45 | }
46 |
47 | default:
48 | throw error002(containerType, childType);
49 | }
50 | };
51 |
52 | export const appendChild = ((containerNode, childNode) => {
53 | const { cesiumObject: container } = containerNode;
54 | const { cesiumObject: child, attach = defaultAttach } = childNode;
55 | switch (typeof attach) {
56 | case "string":
57 | container[attach] = child;
58 | break;
59 |
60 | case "function":
61 | childNode.detach = attach(container, child);
62 | break;
63 | default:
64 | throw error001;
65 | }
66 | }) as Reconciler["appendChild"];
67 |
--------------------------------------------------------------------------------
/src/reconciler/commit-update.ts:
--------------------------------------------------------------------------------
1 | import { updateCesiumObject } from "../utils/update-cesium-object";
2 | import { Reconciler } from "./types";
3 |
4 | export const commitUpdate = ((
5 | instance,
6 | updatePayload,
7 | type,
8 | oldProps,
9 | newProps: React.PropsWithChildren<{
10 | args?: any;
11 | onUpdate?: any;
12 | [key: string]: any;
13 | }>
14 | ) => {
15 | const { cesiumObject } = instance;
16 | const { children, args, onUpdate, ...props } = newProps;
17 |
18 | updateCesiumObject(cesiumObject, oldProps, props);
19 |
20 | if (typeof onUpdate === "function") {
21 | onUpdate(cesiumObject);
22 | }
23 | }) as Reconciler["commitUpdate"];
24 |
--------------------------------------------------------------------------------
/src/reconciler/create-instance.ts:
--------------------------------------------------------------------------------
1 | import { upperFirst } from "lodash/fp";
2 | import * as Cesium from "cesium";
3 | import { error004, error005 } from "../utils/errors";
4 | import { isFunction, isNil } from "lodash/fp";
5 |
6 | import { updateCesiumObject } from "../utils/update-cesium-object";
7 |
8 | import { Reconciler } from "./types";
9 |
10 | export const createInstance = ((
11 | type,
12 | props,
13 | rootContainerInstance,
14 | getChildHostContext,
15 | internalInstanceHandle
16 | ) => {
17 | const { args = [], constructFrom, attach } = props;
18 |
19 | const name = upperFirst(type);
20 | const target = Cesium[name];
21 |
22 | let cesiumObject;
23 |
24 | if (isNil(target)) {
25 | throw error004(name);
26 | } else if (isNil(constructFrom)) {
27 | cesiumObject = new target(...args);
28 | } else if (isFunction(target[constructFrom])) {
29 | cesiumObject = target[constructFrom](...args);
30 | } else {
31 | throw error005(constructFrom, target);
32 | }
33 |
34 | updateCesiumObject(cesiumObject, {}, props);
35 | return { cesiumObject, attach: attach };
36 | }) as Reconciler["createInstance"];
37 |
--------------------------------------------------------------------------------
/src/reconciler/finalize-initial-children.ts:
--------------------------------------------------------------------------------
1 | import { Reconciler } from "./types";
2 |
3 | export const finalizeInitialChildren = (() =>
4 | false) as Reconciler["finalizeInitialChildren"];
5 |
--------------------------------------------------------------------------------
/src/reconciler/get-child-host-context.ts:
--------------------------------------------------------------------------------
1 | // Not used as of today, feel free to implement something cool instead of this
2 | export const getChildHostContext = (
3 | parentHostContext,
4 | type,
5 | rootContainerInstance
6 | ) => {
7 | return typeof parentHostContext === "string"
8 | ? parentHostContext + "." + type
9 | : type;
10 | };
11 |
--------------------------------------------------------------------------------
/src/reconciler/get-public-instance.ts:
--------------------------------------------------------------------------------
1 | import { Reconciler } from "./types";
2 |
3 | export const getPublicInstance = ((instance) => {
4 | return instance.cesiumObject;
5 | }) as Reconciler["getPublicInstance"];
6 |
--------------------------------------------------------------------------------
/src/reconciler/get-root-host-context.ts:
--------------------------------------------------------------------------------
1 | // Not used as of today, feel free to implement something cool instead of this
2 | export const getRootHostContext = (rootContainerInstance) =>
3 | rootContainerInstance;
4 |
--------------------------------------------------------------------------------
/src/reconciler/index.ts:
--------------------------------------------------------------------------------
1 | import ReactReconciler from "react-reconciler";
2 |
3 | import { appendChild } from "./append-child";
4 | import { commitUpdate } from "./commit-update";
5 | import { createInstance } from "./create-instance";
6 | import { finalizeInitialChildren } from "./finalize-initial-children";
7 | import { getChildHostContext } from "./get-child-host-context";
8 | import { getPublicInstance } from "./get-public-instance";
9 | import { getRootHostContext } from "./get-root-host-context";
10 | import { insertBefore } from "./insert-before";
11 | import { prepareUpdate } from "./prepare-update";
12 | import { removeChild } from "./remove-child";
13 | import { shouldSetTextContent } from "./should-set-text-content";
14 |
15 | const instances = new Map();
16 | import {
17 | Type,
18 | Props,
19 | Container,
20 | Instance,
21 | TextInstance,
22 | HydratableInstance,
23 | PublicInstance,
24 | HostContext,
25 | UpdatePayload,
26 | ChildSet,
27 | TimeoutHandle,
28 | NoTimeout,
29 | } from "./types";
30 |
31 | const reconciler = ReactReconciler<
32 | Type,
33 | Props,
34 | Container,
35 | Instance,
36 | TextInstance,
37 | HydratableInstance,
38 | PublicInstance,
39 | HostContext,
40 | UpdatePayload,
41 | ChildSet,
42 | TimeoutHandle,
43 | NoTimeout
44 | >({
45 | supportsMutation: true,
46 |
47 | appendChild,
48 | appendInitialChild: appendChild,
49 | commitUpdate,
50 | createInstance,
51 | finalizeInitialChildren,
52 | getChildHostContext,
53 | getPublicInstance,
54 | getRootHostContext,
55 | insertBefore,
56 | insertInContainerBefore: insertBefore,
57 | prepareUpdate,
58 | removeChild,
59 | shouldSetTextContent,
60 |
61 | appendChildToContainer() {},
62 | // createTextInstance() {},
63 | prepareForCommit() {},
64 | removeChildFromContainer() {},
65 | replaceContainerChildren() {},
66 | resetAfterCommit() {},
67 | // @ts-ignore
68 | switchInstance() {},
69 | });
70 |
71 | export function render(what: React.ReactNode, where: HTMLElement) {
72 | let container;
73 | if (instances.has(where)) {
74 | container = instances.get(where);
75 | } else {
76 | container = reconciler.createContainer(where, false, false);
77 | instances.set(where, container);
78 | }
79 |
80 | reconciler.updateContainer(what, container, null, () => null);
81 | return reconciler.getPublicRootInstance(container);
82 | }
83 |
--------------------------------------------------------------------------------
/src/reconciler/insert-before.ts:
--------------------------------------------------------------------------------
1 | import { appendChild } from "./append-child";
2 | import { Reconciler } from "./types";
3 |
4 | export const insertBefore = ((parentInstance, child, beforeChild) => {
5 | //TODO: Handle ordering (for example for layers)
6 | if (child) {
7 | appendChild(parentInstance, child);
8 | }
9 | }) as Reconciler["insertBefore"];
10 |
--------------------------------------------------------------------------------
/src/reconciler/prepare-update.ts:
--------------------------------------------------------------------------------
1 | import { Reconciler } from "./types";
2 |
3 | export const prepareUpdate = ((
4 | instance,
5 | type,
6 | oldProps: object,
7 | newProps: object,
8 | rootContainerInstance,
9 | host
10 | ) => {
11 | const oldKeys = Object.keys(oldProps);
12 | const newKeys = Object.keys(newProps);
13 |
14 | // keys have same length
15 | if (oldKeys.length !== newKeys.length) {
16 | return true;
17 | } // keys are the same
18 | else if (oldKeys.some((value, index) => newKeys[index] !== value)) {
19 | return true;
20 | } else {
21 | return oldKeys
22 | .filter((key) => key !== "children")
23 | .some((key) => oldProps[key] !== newProps[key]);
24 | }
25 | }) as Reconciler["prepareUpdate"];
26 |
--------------------------------------------------------------------------------
/src/reconciler/remove-child.ts:
--------------------------------------------------------------------------------
1 | import { isString } from "lodash/fp";
2 | import { destroyObject } from "cesium";
3 | import { error003 } from "../utils/errors";
4 | import { isFunction } from "lodash/fp";
5 |
6 | import { Reconciler } from "./types";
7 |
8 | export const removeChild = ((
9 | { cesiumObject: container },
10 | { cesiumObject: child, attach, detach }
11 | ) => {
12 | if (isFunction(detach)) {
13 | detach(container, child);
14 | } else if (isString(attach)) {
15 | container[attach] = null;
16 | } else {
17 | throw error003(container.constructor.name, child.constructor.name);
18 | }
19 |
20 | destroyObject(child);
21 | }) as Reconciler["removeChild"];
22 |
--------------------------------------------------------------------------------
/src/reconciler/should-set-text-content.ts:
--------------------------------------------------------------------------------
1 | import { Reconciler } from "./types";
2 |
3 | export const shouldSetTextContent = (() => {
4 | return false;
5 | }) as Reconciler["shouldSetTextContent"];
6 |
--------------------------------------------------------------------------------
/src/reconciler/types.ts:
--------------------------------------------------------------------------------
1 | import { PropsWithChildren } from "react";
2 | import { HostConfig } from "react-reconciler";
3 |
4 | //FIXME: Maybe something more explicit
5 | export type CesiumObject = object;
6 |
7 | export type Detach = (container: CesiumObject, child: CesiumObject) => void;
8 | export type Attach =
9 | | string
10 | | ((container: CesiumObject, child: CesiumObject) => Detach);
11 |
12 | // Types for React-reconciler
13 | export type Type = string;
14 |
15 | export type Props = PropsWithChildren<{
16 | args?: any[];
17 | attach?: Attach;
18 | onUpdate?: any;
19 | constructFrom: string;
20 | [key: string]: any;
21 | }>;
22 |
23 | export type Container = CesiumObject;
24 |
25 | export type Instance = {
26 | cesiumObject: CesiumObject;
27 | attach?: Attach;
28 | detach: (container: Container, child: Container) => void;
29 | };
30 |
31 | export type TextInstance = null;
32 |
33 | export type HydratableInstance = Instance;
34 |
35 | export type PublicInstance = Instance["cesiumObject"];
36 |
37 | export type HostContext = any;
38 |
39 | export type UpdatePayload = boolean;
40 |
41 | //FIXME: No idea what this is
42 | export type ChildSet = unknown;
43 | export type TimeoutHandle = unknown;
44 | export type NoTimeout = -1;
45 |
46 | export type Reconciler = HostConfig<
47 | Type,
48 | Props,
49 | Container,
50 | Instance,
51 | TextInstance,
52 | HydratableInstance,
53 | PublicInstance,
54 | HostContext,
55 | UpdatePayload,
56 | ChildSet,
57 | TimeoutHandle,
58 | NoTimeout
59 | >;
60 |
--------------------------------------------------------------------------------
/src/stories/data-source.stories.tsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect, useRef, useState } from "react";
2 | import { Cartesian3, Color, GeoJsonDataSource } from "cesium";
3 | import { Viewer } from "../viewer";
4 |
5 | import "../types";
6 |
7 | require("cesium/Widgets/widgets.css");
8 |
9 | export default {
10 | title: "Data Source",
11 | component: Viewer,
12 | };
13 |
14 | const UsaGeojson = () => {
15 | const geojsonRef = useRef(null);
16 |
17 | useEffect(() => {
18 | geojsonRef.current.load(process.env.PUBLIC_URL + "./us-states.topojson");
19 | }, [geojsonRef.current]);
20 |
21 | return ;
22 | };
23 |
24 | export const GeoJson = () => (
25 |
26 |
27 |
28 | );
29 |
30 | const pos2 = Cartesian3.fromDegrees(-114.0, 30.0, 300000.0);
31 | const pos3 = Cartesian3.fromDegrees(-114.0, 20.0, 300000.0);
32 |
33 | const dimensions = new Cartesian3(400000.0, 300000.0, 500000.0);
34 |
35 | const greenWithOpacity = Color.GREEN.withAlpha(0.5);
36 |
37 | const BlinkingCollection = () => {
38 | const [show, setShow] = useState(true);
39 |
40 | useEffect(() => {
41 | const interval = setInterval(() => {
42 | setShow((current) => !current);
43 | }, 1500);
44 |
45 | return () => clearInterval(interval);
46 | }, []);
47 |
48 | return (
49 |
50 |
51 |
55 |
60 |
61 |
62 |
67 |
68 |
69 |
78 |
79 |
80 | );
81 | };
82 |
83 | export const CustomDataSource = () => (
84 |
85 |
86 |
87 | );
88 |
--------------------------------------------------------------------------------
/src/stories/entity.stories.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { Color } from "cesium";
3 | import { Viewer } from "../viewer";
4 |
5 | import "../types";
6 |
7 | require("cesium/Widgets/widgets.css");
8 |
9 | export default {
10 | title: "Entity",
11 | component: Viewer,
12 | };
13 |
14 | const greenWithOpacity = Color.GREEN.withAlpha(0.5);
15 |
16 | export const Various = () => (
17 |
18 |
19 |
23 |
24 |
25 |
26 |
27 |
28 |
33 |
34 |
35 |
36 |
37 |
38 |
43 |
51 |
52 |
53 | );
54 |
--------------------------------------------------------------------------------
/src/stories/model.stories.tsx:
--------------------------------------------------------------------------------
1 | import React, { useRef, useMemo } from "react";
2 | import {
3 | Cartesian3,
4 | ExtrapolationType,
5 | JulianDate,
6 | SampledPositionProperty,
7 | } from "cesium";
8 | import { Viewer } from "../viewer";
9 | import { usePreRender } from "../hooks";
10 |
11 | import "../types";
12 |
13 | require("cesium/Widgets/widgets.css");
14 |
15 | export default {
16 | title: "Model",
17 | component: Viewer,
18 | };
19 |
20 | const PlaneModel = () => {
21 | const previousDate = useRef(JulianDate.now());
22 |
23 | const actualPosition = useRef<[number, number, number]>([
24 | -114.0,
25 | 30.0,
26 | 1500000.0,
27 | ]);
28 |
29 | const samples = useMemo(() => new SampledPositionProperty(), []);
30 |
31 | usePreRender((_scene, time) => {
32 | const increment = JulianDate.secondsDifference(time, previousDate.current);
33 |
34 | samples.addSample(time, Cartesian3.fromDegrees(...actualPosition.current));
35 |
36 | samples.backwardExtrapolationType = ExtrapolationType.EXTRAPOLATE;
37 | samples.forwardExtrapolationType = ExtrapolationType.EXTRAPOLATE;
38 |
39 | actualPosition.current = [
40 | actualPosition.current[0] + increment * 5,
41 | actualPosition.current[1],
42 | actualPosition.current[2],
43 | ];
44 |
45 | previousDate.current = time.clone();
46 | }, []);
47 |
48 | return (
49 |
53 |
54 |
55 | );
56 | };
57 |
58 | export const Plane = () => (
59 |
60 |
61 |
62 | );
63 |
--------------------------------------------------------------------------------
/src/stories/remove-child.stories.tsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect, useState } from "react";
2 | import { Color, IonResource, Ion } from "cesium";
3 | import { Viewer } from "../viewer";
4 |
5 | import "../types";
6 |
7 | require("cesium/Widgets/widgets.css");
8 | if (typeof process.env.CESIUM_ION_ACCESS_TOKEN === "string")
9 | Ion.defaultAccessToken = process.env.CESIUM_ION_ACCESS_TOKEN;
10 |
11 | export default {
12 | title: "Remove child",
13 | component: Viewer,
14 | };
15 |
16 | const useBlink = (duration = 1500) => {
17 | const [show, setShow] = useState(true);
18 |
19 | useEffect(() => {
20 | const interval = setInterval(() => {
21 | setShow((current) => !current);
22 | }, duration);
23 |
24 | return () => clearInterval(interval);
25 | }, []);
26 |
27 | return show;
28 | };
29 |
30 | export const Single = () => {
31 | const show = useBlink();
32 | return (
33 |
34 | {show && (
35 |
36 |
40 |
41 |
45 |
46 |
47 | )}
48 |
49 | );
50 | };
51 |
52 | export const Collection = () => {
53 | const show = useBlink();
54 | return (
55 |
56 | {show && (
57 |
58 |
59 |
67 |
68 |
72 |
73 |
74 |
75 | )}
76 |
77 | );
78 | };
79 |
80 | export const Property = () => {
81 | const show = useBlink();
82 | const show2 = useBlink(3000);
83 | return (
84 |
85 |
86 |
87 |
91 | {show && (
92 |
95 |
99 |
100 | )}
101 |
102 |
103 |
104 | );
105 | };
106 |
107 | export const Tileset = () => {
108 | const show = useBlink(5000);
109 |
110 | return (
111 |
112 | {show && (
113 |
119 |
127 |
128 | )}
129 |
130 | );
131 | };
132 |
--------------------------------------------------------------------------------
/src/stories/tileset.stories.tsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect } from "react";
2 | import {
3 | Cartesian3,
4 | createWorldTerrain,
5 | HeadingPitchRoll,
6 | Ion,
7 | IonResource,
8 | } from "cesium";
9 | import { Viewer, useViewer } from "../viewer";
10 |
11 | import "../types";
12 |
13 | require("cesium/Widgets/widgets.css");
14 | if (typeof process.env.CESIUM_ION_ACCESS_TOKEN === "string")
15 | Ion.defaultAccessToken = process.env.CESIUM_ION_ACCESS_TOKEN;
16 |
17 | export default {
18 | title: "3D Tiles",
19 | component: Viewer,
20 | };
21 |
22 | const ZoomTo = () => {
23 | const viewer = useViewer();
24 |
25 | useEffect(() => {
26 | viewer &&
27 | viewer.scene.camera.setView({
28 | destination: new Cartesian3(
29 | 4401744.644145314,
30 | 225051.41078911052,
31 | 4595420.374784433
32 | ),
33 | orientation: new HeadingPitchRoll(
34 | 5.646733805039757,
35 | -0.276607153839886,
36 | 6.281110875400085
37 | ),
38 | });
39 | }, [viewer]);
40 | return null;
41 | };
42 |
43 | export const Tileset = () => (
44 |
46 |
47 |
53 |
61 |
62 |
63 | );
64 |
--------------------------------------------------------------------------------
/src/stories/viewer.stories.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { Viewer } from "../viewer";
3 |
4 | require("cesium/Widgets/widgets.css");
5 |
6 | export default {
7 | title: "Viewer",
8 | component: Viewer,
9 | };
10 |
11 | export const Basic = () => ;
12 |
13 | export const LowResolution = () => (
14 |
15 | );
16 |
--------------------------------------------------------------------------------
/src/types.ts:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import * as Cesium from "cesium";
3 |
4 | import { MappingExported, MappingTypeofExport } from "./generated-mapping";
5 |
6 | export declare namespace ReactCesiumFiber {
7 | type IfEquals = (() => T extends X
8 | ? 1
9 | : 2) extends () => T extends Y ? 1 : 2
10 | ? A
11 | : B;
12 |
13 | type WritableKeys = {
14 | [P in keyof T]-?: IfEquals<
15 | { [Q in P]: T[P] },
16 | { -readonly [Q in P]: T[P] },
17 | P
18 | >;
19 | }[keyof T];
20 |
21 | type Writable = Pick>;
22 |
23 | type NonFunctionKeys = {
24 | [K in keyof T]: T[K] extends Function ? never : K;
25 | }[keyof T];
26 |
27 | type WithoutFunctionKeys = Pick>;
28 |
29 | // set the values of type `property` to type any
30 | type TransformProperty