cesium
Version:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
117 lines (113 loc) • 3.92 kB
JavaScript
/**
* @license
* Cesium - https://github.com/CesiumGS/cesium
* Version 1.136.0
*
* Copyright 2011-2022 Cesium Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import {
EllipsoidGeometry_default
} from "./chunk-YZWA5B4R.js";
import "./chunk-GKWOUMYA.js";
import {
VertexFormat_default
} from "./chunk-QUAH3XOT.js";
import "./chunk-A6YFUGJO.js";
import "./chunk-KROSQJUA.js";
import "./chunk-CW7W27IZ.js";
import "./chunk-GDU4RZSZ.js";
import "./chunk-23T2IPHV.js";
import "./chunk-AOIO5VUS.js";
import "./chunk-W4XUEDU5.js";
import "./chunk-I4REFVXB.js";
import "./chunk-YSYSXSHF.js";
import "./chunk-5JKH4AMT.js";
import "./chunk-TDSVSW5A.js";
import {
Cartesian3_default
} from "./chunk-3YTMGEXW.js";
import "./chunk-IL5F6WEE.js";
import {
Check_default
} from "./chunk-QEANVUGT.js";
import {
defined_default
} from "./chunk-2RCIRXNI.js";
// packages/engine/Source/Core/SphereGeometry.js
function SphereGeometry(options) {
const radius = options.radius ?? 1;
const radii = new Cartesian3_default(radius, radius, radius);
const ellipsoidOptions = {
radii,
stackPartitions: options.stackPartitions,
slicePartitions: options.slicePartitions,
vertexFormat: options.vertexFormat
};
this._ellipsoidGeometry = new EllipsoidGeometry_default(ellipsoidOptions);
this._workerName = "createSphereGeometry";
}
SphereGeometry.packedLength = EllipsoidGeometry_default.packedLength;
SphereGeometry.pack = function(value, array, startingIndex) {
Check_default.typeOf.object("value", value);
return EllipsoidGeometry_default.pack(value._ellipsoidGeometry, array, startingIndex);
};
var scratchEllipsoidGeometry = new EllipsoidGeometry_default();
var scratchOptions = {
radius: void 0,
radii: new Cartesian3_default(),
vertexFormat: new VertexFormat_default(),
stackPartitions: void 0,
slicePartitions: void 0
};
SphereGeometry.unpack = function(array, startingIndex, result) {
const ellipsoidGeometry = EllipsoidGeometry_default.unpack(
array,
startingIndex,
scratchEllipsoidGeometry
);
scratchOptions.vertexFormat = VertexFormat_default.clone(
ellipsoidGeometry._vertexFormat,
scratchOptions.vertexFormat
);
scratchOptions.stackPartitions = ellipsoidGeometry._stackPartitions;
scratchOptions.slicePartitions = ellipsoidGeometry._slicePartitions;
if (!defined_default(result)) {
scratchOptions.radius = ellipsoidGeometry._radii.x;
return new SphereGeometry(scratchOptions);
}
Cartesian3_default.clone(ellipsoidGeometry._radii, scratchOptions.radii);
result._ellipsoidGeometry = new EllipsoidGeometry_default(scratchOptions);
return result;
};
SphereGeometry.createGeometry = function(sphereGeometry) {
return EllipsoidGeometry_default.createGeometry(sphereGeometry._ellipsoidGeometry);
};
var SphereGeometry_default = SphereGeometry;
// packages/engine/Source/Workers/createSphereGeometry.js
function createSphereGeometry(sphereGeometry, offset) {
if (defined_default(offset)) {
sphereGeometry = SphereGeometry_default.unpack(sphereGeometry, offset);
}
return SphereGeometry_default.createGeometry(sphereGeometry);
}
var createSphereGeometry_default = createSphereGeometry;
export {
createSphereGeometry_default as default
};