diff --git a/Apps/Sandcastle/gallery/3D Tiles Point Cloud Classification.html b/Apps/Sandcastle/gallery/3D Tiles Point Cloud Classification.html
index ec96273c2627..497be0e9510d 100644
--- a/Apps/Sandcastle/gallery/3D Tiles Point Cloud Classification.html
+++ b/Apps/Sandcastle/gallery/3D Tiles Point Cloud Classification.html
@@ -37,7 +37,7 @@
// For more details, see:
// https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/vector-tiles/TileFormats/VectorData
var classification = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
- url: 'https://beta.cesium.com/api/assets/3394?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzZjM4MjljZi0xNTAzLTQ0MzctODhlZi0zOTU3Njg5ODA1Y2QiLCJpZCI6OCwiaWF0IjoxNDgxODI5ODMyfQ.dYlV8_PoXcFNlPHGook5kMzuJMS-Bb9DCMzI1mFVvgE',
+ url: 'https://beta.cesium.com/api/assets/3469?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzZjM4MjljZi0xNTAzLTQ0MzctODhlZi0zOTU3Njg5ODA1Y2QiLCJpZCI6OCwiaWF0IjoxNDgxODI5ODMyfQ.dYlV8_PoXcFNlPHGook5kMzuJMS-Bb9DCMzI1mFVvgE',
skipLevelOfDetail : false,
classificationType : Cesium.ClassificationType.CESIUM_3D_TILE
}));
diff --git a/CHANGES.md b/CHANGES.md
index d5631c35d7f9..82c551f052b6 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -13,7 +13,7 @@ Change Log
* Added `pack` and `unpack` functions to `OrientedBoundingBox` for packing to and unpacking from a flat buffer.
* Added experimental support for [3D Tiles Vector Data](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/vector-tiles/TileFormats/VectorData) ([#4665](https://github.com/AnalyticalGraphicsInc/cesium/pull/4665)). The new and modified Cesium APIs are:
* `Cesium3DTileStyle` has expanded for styling point features. See the [styling specification](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/vector-tiles/Styling#vector-data) for details.
- * `Cesium3DTileFeature` can modify `color` and `show` properties for polygon, polyline, geometry, and mesh features.
+ * `Cesium3DTileFeature` can modify `color` and `show` properties for polygon, polyline, and geometry features.
* `Cesium3DTilePointFeature` can modify the styling options for a point feature.
* Added `Cesium3DTileset.classificationType` to specify if a tileset classifies terrain, another 3D Tiles tileset, or both. This only applies to vector, geometry and batched 3D model tilesets. See [#6033](https://github.com/AnalyticalGraphicsInc/cesium/pull/6033) for limitations on the glTF contained in the b3dm tile.
diff --git a/Source/Scene/Cesium3DTileContentFactory.js b/Source/Scene/Cesium3DTileContentFactory.js
index 4c33baa05ff9..17fc04970aa5 100644
--- a/Source/Scene/Cesium3DTileContentFactory.js
+++ b/Source/Scene/Cesium3DTileContentFactory.js
@@ -1,6 +1,7 @@
define([
'./Batched3DModel3DTileContent',
'./Composite3DTileContent',
+ './Geometry3DTileContent',
'./Instanced3DModel3DTileContent',
'./PointCloud3DTileContent',
'./Tileset3DTileContent',
@@ -8,6 +9,7 @@ define([
], function(
Batched3DModel3DTileContent,
Composite3DTileContent,
+ Geometry3DTileContent,
Instanced3DModel3DTileContent,
PointCloud3DTileContent,
Tileset3DTileContent,
@@ -36,6 +38,9 @@ define([
json : function(tileset, tile, url, arrayBuffer, byteOffset) {
return new Tileset3DTileContent(tileset, tile, url, arrayBuffer, byteOffset);
},
+ geom : function(tileset, tile, url, arrayBuffer, byteOffset) {
+ return new Geometry3DTileContent(tileset, tile, url, arrayBuffer, byteOffset);
+ },
vctr : function(tileset, tile, url, arrayBuffer, byteOffset) {
return new Vector3DTileContent(tileset, tile, url, arrayBuffer, byteOffset);
}
diff --git a/Source/Scene/Cesium3DTilePointFeature.js b/Source/Scene/Cesium3DTilePointFeature.js
index e537204b1171..c71d6b1412ab 100644
--- a/Source/Scene/Cesium3DTilePointFeature.js
+++ b/Source/Scene/Cesium3DTilePointFeature.js
@@ -72,6 +72,8 @@ define([
this._pointOutlineColor = undefined;
this._pointOutlineWidth = undefined;
this._heightOffset = undefined;
+
+ setBillboardImage(this);
}
var scratchCartographic = new Cartographic();
diff --git a/Source/Scene/Geometry3DTileContent.js b/Source/Scene/Geometry3DTileContent.js
new file mode 100644
index 000000000000..d53f97c2b270
--- /dev/null
+++ b/Source/Scene/Geometry3DTileContent.js
@@ -0,0 +1,499 @@
+define([
+ '../Core/Cartesian3',
+ '../Core/defaultValue',
+ '../Core/defined',
+ '../Core/defineProperties',
+ '../Core/destroyObject',
+ '../Core/DeveloperError',
+ '../Core/Ellipsoid',
+ '../Core/FeatureDetection',
+ '../Core/getMagic',
+ '../Core/getStringFromTypedArray',
+ '../Core/Math',
+ '../Core/Matrix4',
+ '../Core/Rectangle',
+ '../Core/RuntimeError',
+ '../ThirdParty/when',
+ './Cesium3DTileBatchTable',
+ './Vector3DTileGeometry'
+], function(
+ Cartesian3,
+ defaultValue,
+ defined,
+ defineProperties,
+ destroyObject,
+ DeveloperError,
+ Ellipsoid,
+ FeatureDetection,
+ getMagic,
+ getStringFromTypedArray,
+ CesiumMath,
+ Matrix4,
+ Rectangle,
+ RuntimeError,
+ when,
+ Cesium3DTileBatchTable,
+ Vector3DTileGeometry) {
+ 'use strict';
+
+ // Bail out if the browser doesn't support typed arrays, to prevent the setup function
+ // from failing, since we won't be able to create a WebGL context anyway.
+ if (!FeatureDetection.supportsTypedArrays()) {
+ return {};
+ }
+
+ /**
+ *
+ * Implements the {@link Cesium3DTileContent} interface.
+ *
+ *
+ * @alias Geometry3DTileContent
+ * @constructor
+ *
+ * @private
+ */
+ function Geometry3DTileContent(tileset, tile, url, arrayBuffer, byteOffset) {
+ this._tileset = tileset;
+ this._tile = tile;
+ this._url = url;
+ this._geometries = undefined;
+
+ this._contentReadyPromise = undefined;
+ this._readyPromise = when.defer();
+
+ this._batchTable = undefined;
+ this._features = undefined;
+
+ /**
+ * Part of the {@link Cesium3DTileContent} interface.
+ */
+ this.featurePropertiesDirty = false;
+
+ initialize(this, arrayBuffer, byteOffset);
+ }
+
+ defineProperties(Geometry3DTileContent.prototype, {
+ /**
+ * @inheritdoc Cesium3DTileContent#featuresLength
+ */
+ featuresLength : {
+ get : function() {
+ return defined(this._batchTable) ? this._batchTable.featuresLength : 0;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#pointsLength
+ */
+ pointsLength : {
+ get : function() {
+ return 0;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#trianglesLength
+ */
+ trianglesLength : {
+ get : function() {
+ if (defined(this._geometries)) {
+ return this._geometries.trianglesLength;
+ }
+ return 0;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#geometryByteLength
+ */
+ geometryByteLength : {
+ get : function() {
+ if (defined(this._geometries)) {
+ return this._geometries.geometryByteLength;
+ }
+ return 0;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#texturesByteLength
+ */
+ texturesByteLength : {
+ get : function() {
+ return 0;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#batchTableByteLength
+ */
+ batchTableByteLength : {
+ get : function() {
+ return defined(this._batchTable) ? this._batchTable.memorySizeInBytes : 0;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#innerContents
+ */
+ innerContents : {
+ get : function() {
+ return undefined;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#readyPromise
+ */
+ readyPromise : {
+ get : function() {
+ return this._readyPromise.promise;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#tileset
+ */
+ tileset : {
+ get : function() {
+ return this._tileset;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#tile
+ */
+ tile : {
+ get : function() {
+ return this._tile;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#url
+ */
+ url : {
+ get : function() {
+ return this._url;
+ }
+ },
+
+ /**
+ * @inheritdoc Cesium3DTileContent#batchTable
+ */
+ batchTable : {
+ get : function() {
+ return this._batchTable;
+ }
+ }
+ });
+
+ function createColorChangedCallback(content) {
+ return function(batchId, color) {
+ if (defined(content._geometries)) {
+ content._geometries.updateCommands(batchId, color);
+ }
+ };
+ }
+
+ function getBatchIds(featureTableJson, featureTableBinary) {
+ var boxBatchIds;
+ var cylinderBatchIds;
+ var ellipsoidBatchIds;
+ var sphereBatchIds;
+ var i;
+
+ var numberOfBoxes = defaultValue(featureTableJson.BOXES_LENGTH, 0);
+ var numberOfCylinders = defaultValue(featureTableJson.CYLINDERS_LENGTH, 0);
+ var numberOfEllipsoids = defaultValue(featureTableJson.ELLIPSOIDS_LENGTH, 0);
+ var numberOfSpheres = defaultValue(featureTableJson.SPHERES_LENGTH, 0);
+
+ if (numberOfBoxes > 0 && defined(featureTableJson.BOX_BATCH_IDS)) {
+ var boxBatchIdsByteOffset = featureTableBinary.byteOffset + featureTableJson.BOX_BATCH_IDS.byteOffset;
+ boxBatchIds = new Uint16Array(featureTableBinary.buffer, boxBatchIdsByteOffset, numberOfBoxes);
+ }
+
+ if (numberOfCylinders > 0 && defined(featureTableJson.CYLINDER_BATCH_IDS)) {
+ var cylinderBatchIdsByteOffset = featureTableBinary.byteOffset + featureTableJson.CYLINDER_BATCH_IDS.byteOffset;
+ cylinderBatchIds = new Uint16Array(featureTableBinary.buffer, cylinderBatchIdsByteOffset, numberOfCylinders);
+ }
+
+ if (numberOfEllipsoids > 0 && defined(featureTableJson.ELLIPSOID_BATCH_IDS)) {
+ var ellipsoidBatchIdsByteOffset = featureTableBinary.byteOffset + featureTableJson.ELLIPSOID_BATCH_IDS.byteOffset;
+ ellipsoidBatchIds = new Uint16Array(featureTableBinary.buffer, ellipsoidBatchIdsByteOffset, numberOfEllipsoids);
+ }
+
+ if (numberOfSpheres > 0 && defined(featureTableJson.SPHERE_BATCH_IDS)) {
+ var sphereBatchIdsByteOffset = featureTableBinary.byteOffset + featureTableJson.SPHERE_BATCH_IDS.byteOffset;
+ sphereBatchIds = new Uint16Array(featureTableBinary.buffer, sphereBatchIdsByteOffset, numberOfSpheres);
+ }
+
+ var atLeastOneDefined = defined(boxBatchIds) || defined(cylinderBatchIds) || defined(ellipsoidBatchIds) || defined(sphereBatchIds);
+ var atLeastOneUndefined = (numberOfBoxes > 0 && !defined(boxBatchIds)) ||
+ (numberOfCylinders > 0 && !defined(cylinderBatchIds)) ||
+ (numberOfEllipsoids > 0 && !defined(ellipsoidBatchIds)) ||
+ (numberOfSpheres > 0 && !defined(sphereBatchIds));
+
+ if (atLeastOneDefined && atLeastOneUndefined) {
+ throw new RuntimeError('If one group of batch ids is defined, then all batch ids must be defined.');
+ }
+
+ var allUndefinedBatchIds = !defined(boxBatchIds) && !defined(cylinderBatchIds) && !defined(ellipsoidBatchIds) && !defined(sphereBatchIds);
+ if (allUndefinedBatchIds) {
+ var id = 0;
+ if (!defined(boxBatchIds) && numberOfBoxes > 0) {
+ boxBatchIds = new Uint16Array(numberOfBoxes);
+ for (i = 0; i < numberOfBoxes; ++i) {
+ boxBatchIds[i] = id++;
+ }
+ }
+ if (!defined(cylinderBatchIds) && numberOfCylinders > 0) {
+ cylinderBatchIds = new Uint16Array(numberOfCylinders);
+ for (i = 0; i < numberOfCylinders; ++i) {
+ cylinderBatchIds[i] = id++;
+ }
+ }
+ if (!defined(ellipsoidBatchIds) && numberOfEllipsoids > 0) {
+ ellipsoidBatchIds = new Uint16Array(numberOfEllipsoids);
+ for (i = 0; i < numberOfEllipsoids; ++i) {
+ ellipsoidBatchIds[i] = id++;
+ }
+ }
+ if (!defined(sphereBatchIds) && numberOfSpheres > 0) {
+ sphereBatchIds = new Uint16Array(numberOfSpheres);
+ for (i = 0; i < numberOfSpheres; ++i) {
+ sphereBatchIds[i] = id++;
+ }
+ }
+ }
+
+ return {
+ boxes : boxBatchIds,
+ cylinders : cylinderBatchIds,
+ ellipsoids : ellipsoidBatchIds,
+ spheres : sphereBatchIds
+ };
+ }
+
+ var sizeOfUint32 = Uint32Array.BYTES_PER_ELEMENT;
+
+ function initialize(content, arrayBuffer, byteOffset) {
+ byteOffset = defaultValue(byteOffset, 0);
+
+ var uint8Array = new Uint8Array(arrayBuffer);
+ var view = new DataView(arrayBuffer);
+ byteOffset += sizeOfUint32; // Skip magic number
+
+ var version = view.getUint32(byteOffset, true);
+ if (version !== 1) {
+ throw new RuntimeError('Only Geometry tile version 1 is supported. Version ' + version + ' is not.');
+ }
+ byteOffset += sizeOfUint32;
+
+ var byteLength = view.getUint32(byteOffset, true);
+ byteOffset += sizeOfUint32;
+
+ if (byteLength === 0) {
+ content._readyPromise.resolve(content);
+ return;
+ }
+
+ var featureTableJSONByteLength = view.getUint32(byteOffset, true);
+ byteOffset += sizeOfUint32;
+
+ if (featureTableJSONByteLength === 0) {
+ throw new RuntimeError('Feature table must have a byte length greater than zero');
+ }
+
+ var featureTableBinaryByteLength = view.getUint32(byteOffset, true);
+ byteOffset += sizeOfUint32;
+ var batchTableJSONByteLength = view.getUint32(byteOffset, true);
+ byteOffset += sizeOfUint32;
+ var batchTableBinaryByteLength = view.getUint32(byteOffset, true);
+ byteOffset += sizeOfUint32;
+
+ var featureTableString = getStringFromTypedArray(uint8Array, byteOffset, featureTableJSONByteLength);
+ var featureTableJson = JSON.parse(featureTableString);
+ byteOffset += featureTableJSONByteLength;
+
+ var featureTableBinary = new Uint8Array(arrayBuffer, byteOffset, featureTableBinaryByteLength);
+ byteOffset += featureTableBinaryByteLength;
+
+ var batchTableJson;
+ var batchTableBinary;
+ if (batchTableJSONByteLength > 0) {
+ // PERFORMANCE_IDEA: is it possible to allocate this on-demand? Perhaps keep the
+ // arraybuffer/string compressed in memory and then decompress it when it is first accessed.
+ //
+ // We could also make another request for it, but that would make the property set/get
+ // API async, and would double the number of numbers in some cases.
+ var batchTableString = getStringFromTypedArray(uint8Array, byteOffset, batchTableJSONByteLength);
+ batchTableJson = JSON.parse(batchTableString);
+ byteOffset += batchTableJSONByteLength;
+
+ if (batchTableBinaryByteLength > 0) {
+ // Has a batch table binary
+ batchTableBinary = new Uint8Array(arrayBuffer, byteOffset, batchTableBinaryByteLength);
+ // Copy the batchTableBinary section and let the underlying ArrayBuffer be freed
+ batchTableBinary = new Uint8Array(batchTableBinary);
+ }
+ }
+
+ var numberOfBoxes = defaultValue(featureTableJson.BOXES_LENGTH, 0);
+ var numberOfCylinders = defaultValue(featureTableJson.CYLINDERS_LENGTH, 0);
+ var numberOfEllipsoids = defaultValue(featureTableJson.ELLIPSOIDS_LENGTH, 0);
+ var numberOfSpheres = defaultValue(featureTableJson.SPHERES_LENGTH, 0);
+
+ var totalPrimitives = numberOfBoxes + numberOfCylinders + numberOfEllipsoids + numberOfSpheres;
+
+ var batchTable = new Cesium3DTileBatchTable(content, totalPrimitives, batchTableJson, batchTableBinary, createColorChangedCallback(content));
+ content._batchTable = batchTable;
+
+ if (totalPrimitives === 0) {
+ return;
+ }
+
+ var modelMatrix = content._tile.computedTransform;
+
+ var center;
+ if (defined(featureTableJson.RTC_CENTER)) {
+ center = Cartesian3.unpack(featureTableJson.RTC_CENTER);
+ Matrix4.multiplyByPoint(modelMatrix, center, center);
+ }
+
+ var batchIds = getBatchIds(featureTableJson, featureTableBinary);
+
+ if (numberOfBoxes > 0 || numberOfCylinders > 0 || numberOfEllipsoids > 0 || numberOfSpheres > 0) {
+ var boxes;
+ var cylinders;
+ var ellipsoids;
+ var spheres;
+
+ if (numberOfBoxes > 0) {
+ var boxesByteOffset = featureTableBinary.byteOffset + featureTableJson.BOXES.byteOffset;
+ boxes = new Float32Array(featureTableBinary.buffer, boxesByteOffset, Vector3DTileGeometry.packedBoxLength * numberOfBoxes);
+ }
+
+ if (numberOfCylinders > 0) {
+ var cylindersByteOffset = featureTableBinary.byteOffset + featureTableJson.CYLINDERS.byteOffset;
+ cylinders = new Float32Array(featureTableBinary.buffer, cylindersByteOffset, Vector3DTileGeometry.packedCylinderLength * numberOfCylinders);
+ }
+
+ if (numberOfEllipsoids > 0) {
+ var ellipsoidsByteOffset = featureTableBinary.byteOffset + featureTableJson.ELLIPSOIDS.byteOffset;
+ ellipsoids = new Float32Array(featureTableBinary.buffer, ellipsoidsByteOffset, Vector3DTileGeometry.packedEllipsoidLength * numberOfEllipsoids);
+ }
+
+ if (numberOfSpheres > 0) {
+ var spheresByteOffset = featureTableBinary.byteOffset + featureTableJson.SPHERES.byteOffset;
+ spheres = new Float32Array(featureTableBinary.buffer, spheresByteOffset, Vector3DTileGeometry.packedSphereLength * numberOfSpheres);
+ }
+
+ content._geometries = new Vector3DTileGeometry({
+ boxes : boxes,
+ boxBatchIds : batchIds.boxes,
+ cylinders : cylinders,
+ cylinderBatchIds : batchIds.cylinders,
+ ellipsoids : ellipsoids,
+ ellipsoidBatchIds : batchIds.ellipsoids,
+ spheres : spheres,
+ sphereBatchIds : batchIds.spheres,
+ center : center,
+ modelMatrix : modelMatrix,
+ batchTable : batchTable,
+ boundingVolume : content._tile._boundingVolume.boundingVolume
+ });
+ }
+ }
+
+ function createFeatures(content) {
+ var featuresLength = content.featuresLength;
+ if (!defined(content._features) && (featuresLength > 0)) {
+ var features = new Array(featuresLength);
+ if (defined(content._geometries)) {
+ content._geometries.createFeatures(content, features);
+ }
+ content._features = features;
+ }
+ }
+
+ /**
+ * @inheritdoc Cesium3DTileContent#hasProperty
+ */
+ Geometry3DTileContent.prototype.hasProperty = function(batchId, name) {
+ return this._batchTable.hasProperty(batchId, name);
+ };
+
+ /**
+ * @inheritdoc Cesium3DTileContent#getFeature
+ */
+ Geometry3DTileContent.prototype.getFeature = function(batchId) {
+ //>>includeStart('debug', pragmas.debug);
+ var featuresLength = this.featuresLength;
+ if (!defined(batchId) || (batchId < 0) || (batchId >= featuresLength)) {
+ throw new DeveloperError('batchId is required and between zero and featuresLength - 1 (' + (featuresLength - 1) + ').');
+ }
+ //>>includeEnd('debug');
+
+ createFeatures(this);
+ return this._features[batchId];
+ };
+
+ /**
+ * @inheritdoc Cesium3DTileContent#applyDebugSettings
+ */
+ Geometry3DTileContent.prototype.applyDebugSettings = function(enabled, color) {
+ if (defined(this._geometries)) {
+ this._geometries.applyDebugSettings(enabled, color);
+ }
+ };
+
+ /**
+ * @inheritdoc Cesium3DTileContent#applyStyle
+ */
+ Geometry3DTileContent.prototype.applyStyle = function(frameState, style) {
+ createFeatures(this);
+ if (defined(this._geometries)) {
+ this._geometries.applyStyle(frameState, style, this._features);
+ }
+ };
+
+ /**
+ * @inheritdoc Cesium3DTileContent#update
+ */
+ Geometry3DTileContent.prototype.update = function(tileset, frameState) {
+ if (defined(this._batchTable)) {
+ this._batchTable.update(tileset, frameState);
+ }
+ if (defined(this._geometries)) {
+ this._geometries.classificationType = this._tileset.classificationType;
+ this._geometries.debugWireframe = this._tileset.debugWireframe;
+ this._geometries.update(frameState);
+ }
+
+ if (!defined(this._contentReadyPromise)) {
+ var that = this;
+ this._contentReadyPromise = this._geometries.readyPromise.then(function() {
+ that._readyPromise.resolve(that);
+ });
+ }
+ };
+
+ /**
+ * @inheritdoc Cesium3DTileContent#isDestroyed
+ */
+ Geometry3DTileContent.prototype.isDestroyed = function() {
+ return false;
+ };
+
+ /**
+ * @inheritdoc Cesium3DTileContent#destroy
+ */
+ Geometry3DTileContent.prototype.destroy = function() {
+ this._geometries = this._geometries && this._geometries.destroy();
+ this._batchTable = this._batchTable && this._batchTable.destroy();
+ return destroyObject(this);
+ };
+
+ return Geometry3DTileContent;
+});
diff --git a/Source/Scene/Vector3DTileContent.js b/Source/Scene/Vector3DTileContent.js
index 2dab9e08ff46..2d7eb7be7c5f 100644
--- a/Source/Scene/Vector3DTileContent.js
+++ b/Source/Scene/Vector3DTileContent.js
@@ -15,8 +15,6 @@ define([
'../Core/RuntimeError',
'../ThirdParty/when',
'./Cesium3DTileBatchTable',
- './Vector3DTileGeometry',
- './Vector3DTileMeshes',
'./Vector3DTilePoints',
'./Vector3DTilePolygons',
'./Vector3DTilePolylines'
@@ -37,8 +35,6 @@ define([
RuntimeError,
when,
Cesium3DTileBatchTable,
- Vector3DTileGeometry,
- Vector3DTileMeshes,
Vector3DTilePoints,
Vector3DTilePolygons,
Vector3DTilePolylines) {
@@ -71,8 +67,6 @@ define([
this._polygons = undefined;
this._polylines = undefined;
this._points = undefined;
- this._meshes = undefined;
- this._geometries = undefined;
this._contentReadyPromise = undefined;
this._readyPromise = when.defer();
@@ -122,12 +116,6 @@ define([
if (defined(this._polylines)) {
trianglesLength += this._polylines.trianglesLength;
}
- if (defined(this._geometries)) {
- trianglesLength += this._geometries.trianglesLength;
- }
- if (defined(this._meshes)) {
- trianglesLength += this._meshes.trianglesLength;
- }
return trianglesLength;
}
},
@@ -144,12 +132,6 @@ define([
if (defined(this._polylines)) {
geometryByteLength += this._polylines.geometryByteLength;
}
- if (defined(this._geometries)) {
- geometryByteLength += this._geometries.geometryByteLength;
- }
- if (defined(this._meshes)) {
- geometryByteLength += this._meshes.geometryByteLength;
- }
return geometryByteLength;
}
},
@@ -235,12 +217,6 @@ define([
if (defined(content._polygons)) {
content._polygons.updateCommands(batchId, color);
}
- if (defined(content._meshes)) {
- content._meshes.updateCommands(batchId, color);
- }
- if (defined(content._geometries)) {
- content._geometries.updateCommands(batchId, color);
- }
};
}
@@ -248,21 +224,11 @@ define([
var polygonBatchIds;
var polylineBatchIds;
var pointBatchIds;
- var meshBatchIds;
- var boxBatchIds;
- var cylinderBatchIds;
- var ellipsoidBatchIds;
- var sphereBatchIds;
var i;
var numberOfPolygons = defaultValue(featureTableJson.POLYGONS_LENGTH, 0);
var numberOfPolylines = defaultValue(featureTableJson.POLYLINES_LENGTH, 0);
var numberOfPoints = defaultValue(featureTableJson.POINTS_LENGTH, 0);
- var numberOfMeshes = defaultValue(featureTableJson.MESHES_LENGTH, 0);
- var numberOfBoxes = defaultValue(featureTableJson.BOXES_LENGTH, 0);
- var numberOfCylinders = defaultValue(featureTableJson.CYLINDERS_LENGTH, 0);
- var numberOfEllipsoids = defaultValue(featureTableJson.ELLIPSOIDS_LENGTH, 0);
- var numberOfSpheres = defaultValue(featureTableJson.SPHERES_LENGTH, 0);
if (numberOfPolygons > 0 && defined(featureTableJson.POLYGON_BATCH_IDS)) {
var polygonBatchIdsByteOffset = featureTableBinary.byteOffset + featureTableJson.POLYGON_BATCH_IDS.byteOffset;
@@ -279,50 +245,16 @@ define([
pointBatchIds = new Uint16Array(featureTableBinary.buffer, pointBatchIdsByteOffset, numberOfPoints);
}
- if (numberOfMeshes > 0 && defined(featureTableJson.MESH_BATCH_IDS)) {
- var meshBatchIdsByteOffset = featureTableBinary.byteOffset + featureTableJson.MESH_BATCH_IDS.byteOffset;
- meshBatchIds = new Uint16Array(featureTableBinary.buffer, meshBatchIdsByteOffset, numberOfMeshes);
- }
-
- if (numberOfBoxes > 0 && defined(featureTableJson.BOX_BATCH_IDS)) {
- var boxBatchIdsByteOffset = featureTableBinary.byteOffset + featureTableJson.BOX_BATCH_IDS.byteOffset;
- boxBatchIds = new Uint16Array(featureTableBinary.buffer, boxBatchIdsByteOffset, numberOfBoxes);
- }
-
- if (numberOfCylinders > 0 && defined(featureTableJson.CYLINDER_BATCH_IDS)) {
- var cylinderBatchIdsByteOffset = featureTableBinary.byteOffset + featureTableJson.CYLINDER_BATCH_IDS.byteOffset;
- cylinderBatchIds = new Uint16Array(featureTableBinary.buffer, cylinderBatchIdsByteOffset, numberOfCylinders);
- }
-
- if (numberOfEllipsoids > 0 && defined(featureTableJson.ELLIPSOID_BATCH_IDS)) {
- var ellipsoidBatchIdsByteOffset = featureTableBinary.byteOffset + featureTableJson.ELLIPSOID_BATCH_IDS.byteOffset;
- ellipsoidBatchIds = new Uint16Array(featureTableBinary.buffer, ellipsoidBatchIdsByteOffset, numberOfEllipsoids);
- }
-
- if (numberOfSpheres > 0 && defined(featureTableJson.SPHERE_BATCH_IDS)) {
- var sphereBatchIdsByteOffset = featureTableBinary.byteOffset + featureTableJson.SPHERE_BATCH_IDS.byteOffset;
- sphereBatchIds = new Uint16Array(featureTableBinary.buffer, sphereBatchIdsByteOffset, numberOfSpheres);
- }
-
- var atLeastOneDefined = defined(polygonBatchIds) || defined(polylineBatchIds) || defined(pointBatchIds) || defined(meshBatchIds);
- atLeastOneDefined = atLeastOneDefined || defined(boxBatchIds) || defined(cylinderBatchIds) || defined(ellipsoidBatchIds) || defined(sphereBatchIds);
-
+ var atLeastOneDefined = defined(polygonBatchIds) || defined(polylineBatchIds) || defined(pointBatchIds);
var atLeastOneUndefined = (numberOfPolygons > 0 && !defined(polygonBatchIds)) ||
(numberOfPolylines > 0 && !defined(polylineBatchIds)) ||
- (numberOfPoints > 0 && !defined(pointBatchIds)) ||
- (numberOfMeshes > 0 && !defined(meshBatchIds)) ||
- (numberOfBoxes > 0 && !defined(boxBatchIds)) ||
- (numberOfCylinders > 0 && !defined(cylinderBatchIds)) ||
- (numberOfEllipsoids > 0 && !defined(ellipsoidBatchIds)) ||
- (numberOfSpheres > 0 && !defined(sphereBatchIds));
+ (numberOfPoints > 0 && !defined(pointBatchIds));
if (atLeastOneDefined && atLeastOneUndefined) {
throw new RuntimeError('If one group of batch ids is defined, then all batch ids must be defined.');
}
- var allUndefinedBatchIds = !defined(polygonBatchIds) && !defined(polylineBatchIds) && !defined(pointBatchIds) && !defined(meshBatchIds);
- allUndefinedBatchIds = allUndefinedBatchIds && !defined(boxBatchIds) && !defined(cylinderBatchIds) && !defined(ellipsoidBatchIds) && !defined(sphereBatchIds);
-
+ var allUndefinedBatchIds = !defined(polygonBatchIds) && !defined(polylineBatchIds) && !defined(pointBatchIds);
if (allUndefinedBatchIds) {
var id = 0;
if (!defined(polygonBatchIds) && numberOfPolygons > 0) {
@@ -343,47 +275,12 @@ define([
pointBatchIds[i] = id++;
}
}
- if (!defined(meshBatchIds) && numberOfMeshes > 0) {
- meshBatchIds = new Uint16Array(numberOfMeshes);
- for (i = 0; i < numberOfMeshes; ++i) {
- meshBatchIds[i] = id++;
- }
- }
- if (!defined(boxBatchIds) && numberOfBoxes > 0) {
- boxBatchIds = new Uint16Array(numberOfBoxes);
- for (i = 0; i < numberOfBoxes; ++i) {
- boxBatchIds[i] = id++;
- }
- }
- if (!defined(cylinderBatchIds) && numberOfCylinders > 0) {
- cylinderBatchIds = new Uint16Array(numberOfCylinders);
- for (i = 0; i < numberOfCylinders; ++i) {
- cylinderBatchIds[i] = id++;
- }
- }
- if (!defined(ellipsoidBatchIds) && numberOfEllipsoids > 0) {
- ellipsoidBatchIds = new Uint16Array(numberOfEllipsoids);
- for (i = 0; i < numberOfEllipsoids; ++i) {
- ellipsoidBatchIds[i] = id++;
- }
- }
- if (!defined(sphereBatchIds) && numberOfSpheres > 0) {
- sphereBatchIds = new Uint16Array(numberOfSpheres);
- for (i = 0; i < numberOfSpheres; ++i) {
- sphereBatchIds[i] = id++;
- }
- }
}
return {
polygons : polygonBatchIds,
polylines : polylineBatchIds,
- points : pointBatchIds,
- meshes : meshBatchIds,
- boxes : boxBatchIds,
- cylinders : cylinderBatchIds,
- ellipsoids : ellipsoidBatchIds,
- spheres : sphereBatchIds
+ points : pointBatchIds
};
}
@@ -464,14 +361,7 @@ define([
var numberOfPolygons = defaultValue(featureTableJson.POLYGONS_LENGTH, 0);
var numberOfPolylines = defaultValue(featureTableJson.POLYLINES_LENGTH, 0);
var numberOfPoints = defaultValue(featureTableJson.POINTS_LENGTH, 0);
- var numberOfMeshes = defaultValue(featureTableJson.MESHES_LENGTH, 0);
- var numberOfBoxes = defaultValue(featureTableJson.BOXES_LENGTH, 0);
- var numberOfCylinders = defaultValue(featureTableJson.CYLINDERS_LENGTH, 0);
- var numberOfEllipsoids = defaultValue(featureTableJson.ELLIPSOIDS_LENGTH, 0);
- var numberOfSpheres = defaultValue(featureTableJson.SPHERES_LENGTH, 0);
-
var totalPrimitives = numberOfPolygons + numberOfPolylines + numberOfPoints;
- totalPrimitives += numberOfMeshes + numberOfBoxes + numberOfCylinders + numberOfEllipsoids + numberOfSpheres;
var batchTable = new Cesium3DTileBatchTable(content, totalPrimitives, batchTableJson, batchTableBinary, createColorChangedCallback(content));
content._batchTable = batchTable;
@@ -580,8 +470,6 @@ define([
if (numberOfPoints > 0) {
var pointPositions = new Uint16Array(arrayBuffer, byteOffset, pointsPositionByteLength / sizeOfUint16);
- byteOffset += pointsPositionByteLength;
-
content._points = new Vector3DTilePoints({
positions : pointPositions,
batchIds : batchIds.points,
@@ -591,72 +479,6 @@ define([
batchTable : batchTable
});
}
-
- if (numberOfMeshes > 0) {
- var meshIndexOffsetsByteOffset = featureTableBinary.byteOffset + featureTableJson.MESH_INDEX_OFFSETS.byteOffset;
- var meshIndexOffsets = new Uint32Array(featureTableBinary.buffer, meshIndexOffsetsByteOffset, numberOfMeshes);
-
- var meshIndexCountsByteOffset = featureTableBinary.byteOffset + featureTableJson.MESH_INDEX_COUNTS.byteOffset;
- var meshIndexCounts = new Uint32Array(featureTableBinary.buffer, meshIndexCountsByteOffset, numberOfMeshes);
-
- var meshPositionCount = featureTableJson.MESH_POSITION_COUNT;
-
- content._meshes = new Vector3DTileMeshes({
- buffer : arrayBuffer,
- byteOffset : byteOffset,
- positionCount : meshPositionCount,
- indexOffsets : meshIndexOffsets,
- indexCounts : meshIndexCounts,
- indexBytesPerElement : Uint32Array.BYTES_PER_ELEMENT,
- batchIds : batchIds.meshes,
- center : center,
- modelMatrix : modelMatrix,
- batchTable : batchTable,
- boundingVolume : content._tile._boundingVolume.boundingVolume
- });
- }
-
- if (numberOfBoxes > 0 || numberOfCylinders > 0 || numberOfEllipsoids > 0 || numberOfSpheres > 0) {
- var boxes;
- var cylinders;
- var ellipsoids;
- var spheres;
-
- if (numberOfBoxes > 0) {
- var boxesByteOffset = featureTableBinary.byteOffset + featureTableJson.BOXES.byteOffset;
- boxes = new Float32Array(featureTableBinary.buffer, boxesByteOffset, Vector3DTileGeometry.packedBoxLength * numberOfBoxes);
- }
-
- if (numberOfCylinders > 0) {
- var cylindersByteOffset = featureTableBinary.byteOffset + featureTableJson.CYLINDERS.byteOffset;
- cylinders = new Float32Array(featureTableBinary.buffer, cylindersByteOffset, Vector3DTileGeometry.packedCylinderLength * numberOfCylinders);
- }
-
- if (numberOfEllipsoids > 0) {
- var ellipsoidsByteOffset = featureTableBinary.byteOffset + featureTableJson.ELLIPSOIDS.byteOffset;
- ellipsoids = new Float32Array(featureTableBinary.buffer, ellipsoidsByteOffset, Vector3DTileGeometry.packedEllipsoidLength * numberOfEllipsoids);
- }
-
- if (numberOfSpheres > 0) {
- var spheresByteOffset = featureTableBinary.byteOffset + featureTableJson.SPHERES.byteOffset;
- spheres = new Float32Array(featureTableBinary.buffer, spheresByteOffset, Vector3DTileGeometry.packedSphereLength * numberOfSpheres);
- }
-
- content._geometries = new Vector3DTileGeometry({
- boxes : boxes,
- boxBatchIds : batchIds.boxes,
- cylinders : cylinders,
- cylinderBatchIds : batchIds.cylinders,
- ellipsoids : ellipsoids,
- ellipsoidBatchIds : batchIds.ellipsoids,
- spheres : spheres,
- sphereBatchIds : batchIds.spheres,
- center : center,
- modelMatrix : modelMatrix,
- batchTable : batchTable,
- boundingVolume : content._tile._boundingVolume.boundingVolume
- });
- }
}
function createFeatures(content) {
@@ -673,12 +495,6 @@ define([
if (defined(content._points)) {
content._points.createFeatures(content, features);
}
- if (defined(content._meshes)) {
- content._meshes.createFeatures(content, features);
- }
- if (defined(content._geometries)) {
- content._geometries.createFeatures(content, features);
- }
content._features = features;
}
}
@@ -718,12 +534,6 @@ define([
if (defined(this._points)) {
this._points.applyDebugSettings(enabled, color);
}
- if (defined(this._meshes)) {
- this._meshes.applyDebugSettings(enabled, color);
- }
- if (defined(this._geometries)) {
- this._geometries.applyDebugSettings(enabled, color);
- }
};
/**
@@ -740,12 +550,6 @@ define([
if (defined(this._points)) {
this._points.applyStyle(frameState, style, this._features);
}
- if (defined(this._meshes)) {
- this._meshes.applyStyle(frameState, style, this._features);
- }
- if (defined(this._geometries)) {
- this._geometries.applyStyle(frameState, style, this._features);
- }
};
/**
@@ -765,26 +569,14 @@ define([
if (defined(this._points)) {
this._points.update(frameState);
}
- if (defined(this._meshes)) {
- this._meshes.classificationType = this._tileset.classificationType;
- this._meshes.debugWireframe = this._tileset.debugWireframe;
- this._meshes.update(frameState);
- }
- if (defined(this._geometries)) {
- this._geometries.classificationType = this._tileset.classificationType;
- this._geometries.debugWireframe = this._tileset.debugWireframe;
- this._geometries.update(frameState);
- }
if (!defined(this._contentReadyPromise)) {
var pointsPromise = defined(this._points) ? this._points.readyPromise : undefined;
var polygonPromise = defined(this._polygons) ? this._polygons.readyPromise : undefined;
var polylinePromise = defined(this._polylines) ? this._polylines.readyPromise : undefined;
- var meshPromise = defined(this._meshes) ? this._meshes.readyPromise : undefined;
- var geometryPromise = defined(this._geometries) ? this._geometries.readyPromise : undefined;
var that = this;
- this._contentReadyPromise = when.all([pointsPromise, polygonPromise, polylinePromise, meshPromise, geometryPromise]).then(function() {
+ this._contentReadyPromise = when.all([pointsPromise, polygonPromise, polylinePromise]).then(function() {
that._readyPromise.resolve(that);
});
}
@@ -804,8 +596,6 @@ define([
this._polygons = this._polygons && this._polygons.destroy();
this._polylines = this._polylines && this._polylines.destroy();
this._points = this._points && this._points.destroy();
- this._meshes = this._meshes && this._meshes.destroy();
- this._geometries = this._geometries && this._geometries.destroy();
this._batchTable = this._batchTable && this._batchTable.destroy();
return destroyObject(this);
};
diff --git a/Source/Scene/Vector3DTileGeometry.js b/Source/Scene/Vector3DTileGeometry.js
index 8841d6d3460c..efb9704963a3 100644
--- a/Source/Scene/Vector3DTileGeometry.js
+++ b/Source/Scene/Vector3DTileGeometry.js
@@ -62,11 +62,19 @@ define([
this._ellipsoidBatchIds = options.ellipsoidBatchIds;
this._spheres = options.spheres;
this._sphereBatchIds = options.sphereBatchIds;
- this._center = options.center;
this._modelMatrix = options.modelMatrix;
this._batchTable = options.batchTable;
this._boundingVolume = options.boundingVolume;
+ this._center = options.center;
+ if (!defined(this._center)) {
+ if (defined(this._boundingVolume)) {
+ this._center = Cartesian3.clone(this._boundingVolume.center);
+ } else {
+ this._center = Cartesian3.clone(Cartesian3.ZERO);
+ }
+ }
+
this._boundingVolumes = undefined;
this._batchedIndices = undefined;
diff --git a/Source/Scene/Vector3DTileMeshes.js b/Source/Scene/Vector3DTileMeshes.js
deleted file mode 100644
index 0392da8fddce..000000000000
--- a/Source/Scene/Vector3DTileMeshes.js
+++ /dev/null
@@ -1,440 +0,0 @@
-define([
- '../Core/BoundingSphere',
- '../Core/Cartesian3',
- '../Core/Color',
- '../Core/defaultValue',
- '../Core/defined',
- '../Core/defineProperties',
- '../Core/destroyObject',
- '../Core/Math',
- '../Core/Matrix4',
- '../Core/TaskProcessor',
- '../ThirdParty/when',
- './ClassificationType',
- './Vector3DTileBatch',
- './Vector3DTilePrimitive'
- ], function(
- BoundingSphere,
- Cartesian3,
- Color,
- defaultValue,
- defined,
- defineProperties,
- destroyObject,
- CesiumMath,
- Matrix4,
- TaskProcessor,
- when,
- ClassificationType,
- Vector3DTileBatch,
- Vector3DTilePrimitive) {
- 'use strict';
-
- /**
- * Creates a batch of meshes intersecting 3D Tiles and/or terrain.
- *
- * @alias Vector3DTileMeshes
- * @constructor
- *
- * @param {Object} options An object with following properties:
- * @param {ArrayBuffer} options.buffer A buffer containing the indices and positions of the mesh.
- * @param {Number} options.byteOffset The offset into buffer to extract the indices and positions.
- * @param {Number} options.positionCount The number of positions of all meshes for extraction from buffer.
- * @param {Uint32Array} options.indexOffsets The offsets into the indices buffer for each mesh.
- * @param {Uint32Array} options.indexCounts The number of indices for each mesh.
- * @param {IndexDatatype} options.indexBytesPerElement The number of bytes per index.
- * @param {Uint16Array} options.batchIds The batch id for each mesh.
- * @param {Cartesian3} options.center The RTC center of all meshes.
- * @param {Matrix4} options.modelMatrix The modelMatrix of all meshes.
- * @param {Cesium3DTileBatchTable} options.batchTable The batch table.
- * @param {BoundingSphere} options.boundingVolume The bounding volume for the entire batch of meshes.
- * @param {Object} options.pickObject The object to place as the owner of the draw commands.
- *
- * @private
- */
- function Vector3DTileMeshes(options) {
- // these will all be released after the primitive is created
- this._buffer = options.buffer;
- this._byteOffset = options.byteOffset;
- this._positionCount = options.positionCount;
- this._indexOffsets = options.indexOffsets;
- this._indexCounts = options.indexCounts;
- this._indexBytesPerElement = options.indexBytesPerElement;
- this._batchIds = options.batchIds;
- this._center = options.center;
- this._modelMatrix = options.modelMatrix;
- this._batchTable = options.batchTable;
- this._boundingVolume = options.boundingVolume;
- this._pickObject = options.pickObject;
-
- this._positions = undefined;
- this._vertexBatchIds = undefined;
- this._indices = undefined;
- this._batchedIndices = undefined;
- this._transferrableBatchIds = undefined;
- this._batchTableColors = undefined;
- this._packedBuffer = undefined;
- this._boundingVolumes = undefined;
-
- this._ready = false;
- this._readyPromise = when.defer();
-
- this._verticesPromise = undefined;
-
- this._primitive = undefined;
-
- /**
- * Draws the wireframe of the classification meshes.
- * @type {Boolean}
- * @default false
- */
- this.debugWireframe = false;
-
- /**
- * Forces a re-batch instead of waiting after a number of frames have been rendered. For testing only.
- * @type {Boolean}
- * @default false
- */
- this.forceRebatch = false;
-
- /**
- * What this tile will classify.
- * @type {ClassificationType}
- * @default ClassificationType.CESIUM_3D_TILE
- */
- this.classificationType = ClassificationType.CESIUM_3D_TILE;
- }
-
- defineProperties(Vector3DTileMeshes.prototype, {
- /**
- * Gets the number of triangles.
- *
- * @memberof Vector3DTileMeshes.prototype
- *
- * @type {Number}
- * @readonly
- */
- trianglesLength : {
- get : function() {
- if (defined(this._primitive)) {
- return this._primitive.trianglesLength;
- }
- return 0;
- }
- },
-
- /**
- * Gets the geometry memory in bytes.
- *
- * @memberof Vector3DTileMeshes.prototype
- *
- * @type {Number}
- * @readonly
- */
- geometryByteLength : {
- get : function() {
- if (defined(this._primitive)) {
- return this._primitive.geometryByteLength;
- }
- return 0;
- }
- },
-
- /**
- * Gets a promise that resolves when the primitive is ready to render.
- * @memberof Vector3DTileMeshes.prototype
- * @type {Promise}
- * @readonly
- */
- readyPromise : {
- get : function() {
- return this._readyPromise.promise;
- }
- }
- });
-
- function packBuffer(meshes) {
- var offset = 0;
- var packedBuffer = new Float64Array(1 + Cartesian3.packedLength + Matrix4.packedLength);
-
- packedBuffer[offset++] = meshes._indexBytesPerElement;
-
- Cartesian3.pack(meshes._center, packedBuffer, offset);
- offset += Cartesian3.packedLength;
-
- Matrix4.pack(meshes._modelMatrix, packedBuffer, offset);
-
- return packedBuffer;
- }
-
- function unpackBuffer(meshes, packedBuffer) {
- var offset = 0;
-
- var numBVS = packedBuffer[offset++];
- var bvs = meshes._boundingVolumes = new Array(numBVS);
-
- for (var i = 0; i < numBVS; ++i) {
- bvs[i] = BoundingSphere.unpack(packedBuffer, offset);
- offset += BoundingSphere.packedLength;
- }
-
- var numBatchedIndices = packedBuffer[offset++];
- var bis = meshes._batchedIndices = new Array(numBatchedIndices);
-
- for (var j = 0; j < numBatchedIndices; ++j) {
- var color = Color.unpack(packedBuffer, offset);
- offset += Color.packedLength;
-
- var indexOffset = packedBuffer[offset++];
- var count = packedBuffer[offset++];
-
- var length = packedBuffer[offset++];
- var batchIds = new Array(length);
-
- for (var k = 0; k < length; ++k) {
- batchIds[k] = packedBuffer[offset++];
- }
-
- bis[j] = new Vector3DTileBatch({
- color : color,
- offset : indexOffset,
- count : count,
- batchIds : batchIds
- });
- }
- }
-
- var createVerticesTaskProcessor = new TaskProcessor('createVectorTileMeshes');
- var scratchColor = new Color();
-
- function createPrimitive(meshes) {
- if (defined(meshes._primitive)) {
- return;
- }
-
- if (!defined(meshes._verticesPromise)) {
- var positions = meshes._positions;
- var indexOffsets = meshes._indexOffsets;
- var indexCounts = meshes._indexCounts;
- var indices = meshes._indices;
-
- var batchIds = meshes._transferrableBatchIds;
- var batchTableColors = meshes._batchTableColors;
-
- var packedBuffer = meshes._packedBuffer;
-
- if (!defined(batchTableColors)) {
- // Copy because they may be the views on the same buffer.
- var buffer = meshes._buffer;
- var byteOffset = meshes._byteOffset;
-
- indexOffsets = meshes._indexOffsets = meshes._indexOffsets.slice();
- indexCounts = meshes._indexCounts = meshes._indexCounts.slice();
-
- var positionCount = meshes._positionCount;
- var batchTable = meshes._batchTable;
-
- var i;
- var indicesLength = 0;
- var numMeshes = indexCounts.length;
- for (i = 0; i < numMeshes; ++i) {
- indicesLength += indexCounts[i];
- }
-
- var start = byteOffset;
- var end = start + indicesLength * meshes._indexBytesPerElement;
- var bufferCopy = buffer.slice(start, end);
- if (meshes._indexBytesPerElement === Uint16Array.BYTES_PER_ELEMENT) {
- indices = meshes._indices = new Uint16Array(bufferCopy);
- } else {
- indices = meshes._indices = new Uint32Array(bufferCopy);
- }
-
- start = end;
- end = start + 3 * positionCount * Float32Array.BYTES_PER_ELEMENT;
- positions = meshes._positions = new Float32Array(buffer.slice(start, end));
-
- batchIds = meshes._transferrableBatchIds = new Uint32Array(meshes._batchIds);
- batchTableColors = meshes._batchTableColors = new Uint32Array(batchIds.length);
-
- var length = batchTableColors.length;
- for (i = 0; i < length; ++i) {
- var color = batchTable.getColor(i, scratchColor);
- batchTableColors[i] = color.toRgba();
- }
-
- packedBuffer = meshes._packedBuffer = packBuffer(meshes);
- }
-
- var transferrableObjects = [positions.buffer, indexOffsets.buffer, indexCounts.buffer, indices.buffer, batchIds.buffer, batchTableColors.buffer, packedBuffer.buffer];
- var parameters = {
- packedBuffer : packedBuffer.buffer,
- positions : positions.buffer,
- indexOffsets : indexOffsets.buffer,
- indexCounts : indexCounts.buffer,
- indices : indices.buffer,
- batchIds : batchIds.buffer,
- batchTableColors : batchTableColors.buffer
- };
-
- var verticesPromise = meshes._verticesPromise = createVerticesTaskProcessor.scheduleTask(parameters, transferrableObjects);
- if (!defined(verticesPromise)) {
- // Postponed
- return;
- }
-
- when(verticesPromise, function(result) {
- var packedBuffer = new Float64Array(result.packedBuffer);
- unpackBuffer(meshes, packedBuffer);
-
- if (meshes._indexBytesPerElement === 2) {
- meshes._indices = new Uint16Array(result.indices);
- } else {
- meshes._indices = new Uint32Array(result.indices);
- }
-
- meshes._indexOffsets = new Uint32Array(result.indexOffsets);
- meshes._indexCounts = new Uint32Array(result.indexCounts);
-
- // will be released
- meshes._positions = new Float32Array(result.positions);
- meshes._vertexBatchIds = new Uint16Array(result.batchIds);
-
- meshes._ready = true;
- });
- }
-
- if (meshes._ready && !defined(meshes._primitive)) {
- meshes._primitive = new Vector3DTilePrimitive({
- batchTable : meshes._batchTable,
- positions : meshes._positions,
- batchIds : meshes._batchIds,
- vertexBatchIds : meshes._vertexBatchIds,
- indices : meshes._indices,
- indexOffsets : meshes._indexOffsets,
- indexCounts : meshes._indexCounts,
- batchedIndices : meshes._batchedIndices,
- boundingVolume : meshes._boundingVolume,
- boundingVolumes : meshes._boundingVolumes,
- center : meshes._center,
- pickObject : defaultValue(meshes._pickObject, meshes)
- });
-
- meshes._buffer = undefined;
- meshes._byteOffset = undefined;
- meshes._positionCount = undefined;
- meshes._indexOffsets = undefined;
- meshes._indexCounts = undefined;
- meshes._batchIds = undefined;
- meshes._center = undefined;
- meshes._modelMatrix = undefined;
- meshes._batchTable = undefined;
- meshes._boundingVolume = undefined;
- meshes._pickObject = undefined;
-
- meshes._positions = undefined;
- meshes._vertexBatchIds = undefined;
- meshes._indices = undefined;
- meshes._batchedIndices = undefined;
- meshes._transferrableBatchIds = undefined;
- meshes._batchTableColors = undefined;
- meshes._packedBuffer = undefined;
- meshes._boundingVolumes = undefined;
-
- meshes._readyPromise.resolve();
- }
- }
-
- /**
- * Creates features for each mesh and places it at the batch id index of features.
- *
- * @param {Vector3DTileContent} content The vector tile content.
- * @param {Cesium3DTileFeature[]} features An array of features where the polygon features will be placed.
- */
- Vector3DTileMeshes.prototype.createFeatures = function(content, features) {
- this._primitive.createFeatures(content, features);
- };
-
- /**
- * Colors the entire tile when enabled is true. The resulting color will be (mesh batch table color * color).
- *
- * @param {Boolean} enabled Whether to enable debug coloring.
- * @param {Color} color The debug color.
- */
- Vector3DTileMeshes.prototype.applyDebugSettings = function(enabled, color) {
- this._primitive.applyDebugSettings(enabled, color);
- };
-
- /**
- * Apply a style to the content.
- *
- * @param {FrameState} frameState The frame state.
- * @param {Cesium3DTileStyle} style The style.
- * @param {Cesium3DTileFeature[]} features The array of features.
- */
- Vector3DTileMeshes.prototype.applyStyle = function(frameState, style, features) {
- this._primitive.applyStyle(frameState, style, features);
- };
-
- /**
- * Call when updating the color of a mesh with batchId changes color. The meshes will need to be re-batched
- * on the next update.
- *
- * @param {Number} batchId The batch id of the meshes whose color has changed.
- * @param {Color} color The new polygon color.
- */
- Vector3DTileMeshes.prototype.updateCommands = function(batchId, color) {
- this._primitive.updateCommands(batchId, color);
- };
-
- /**
- * Updates the batches and queues the commands for rendering.
- *
- * @param {FrameState} frameState The current frame state.
- */
- Vector3DTileMeshes.prototype.update = function(frameState) {
- createPrimitive(this);
-
- if (!this._ready) {
- return;
- }
-
- this._primitive.debugWireframe = this.debugWireframe;
- this._primitive.forceRebatch = this.forceRebatch;
- this._primitive.classificationType = this.classificationType;
- this._primitive.update(frameState);
- };
-
- /**
- * Returns true if this object was destroyed; otherwise, false.
- *
- * If this object was destroyed, it should not be used; calling any function other than
- * isDestroyed
will result in a {@link DeveloperError} exception.
- *
- *
- * @returns {Boolean} true
if this object was destroyed; otherwise, false
.
- */
- Vector3DTileMeshes.prototype.isDestroyed = function() {
- return false;
- };
-
- /**
- * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
- * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
- *
- * Once an object is destroyed, it should not be used; calling any function other than
- * isDestroyed
will result in a {@link DeveloperError} exception. Therefore,
- * assign the return value (undefined
) to the object as done in the example.
- *
- *
- * @returns {undefined}
- *
- * @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
- */
- Vector3DTileMeshes.prototype.destroy = function() {
- this._primitive = this._primitive && this._primitive.destroy();
- return destroyObject(this);
- };
-
- return Vector3DTileMeshes;
-});
diff --git a/Source/Scene/Vector3DTilePolygons.js b/Source/Scene/Vector3DTilePolygons.js
index 9c962a938551..a5cdfbeb7281 100644
--- a/Source/Scene/Vector3DTilePolygons.js
+++ b/Source/Scene/Vector3DTilePolygons.js
@@ -312,7 +312,7 @@ define([
// will be released
polygons._batchedPositions = new Float32Array(result.positions);
- polygons._vertexBatchIds = new Uint32Array(result.batchIds);
+ polygons._vertexBatchIds = new Uint16Array(result.batchIds);
polygons._ready = true;
});
diff --git a/Source/Workers/createVectorTileMeshes.js b/Source/Workers/createVectorTileMeshes.js
deleted file mode 100644
index 727ae9fdae82..000000000000
--- a/Source/Workers/createVectorTileMeshes.js
+++ /dev/null
@@ -1,168 +0,0 @@
-define([
- '../Core/BoundingSphere',
- '../Core/Cartesian3',
- '../Core/Color',
- '../Core/defined',
- '../Core/Matrix4',
- '../Scene/Vector3DTileBatch',
- './createTaskProcessorWorker'
- ], function(
- BoundingSphere,
- Cartesian3,
- Color,
- defined,
- Matrix4,
- Vector3DTileBatch,
- createTaskProcessorWorker) {
- 'use strict';
-
- var scratchCenter = new Cartesian3();
- var scratchMatrix4 = new Matrix4();
-
- function unpackBuffer(buffer) {
- var packedBuffer = new Float64Array(buffer);
-
- var offset = 0;
- var indexBytesPerElement = packedBuffer[offset++];
-
- Cartesian3.unpack(packedBuffer, offset, scratchCenter);
- offset += Cartesian3.packedLength;
-
- Matrix4.unpack(packedBuffer, offset, scratchMatrix4);
-
- return indexBytesPerElement;
- }
-
- function packedBatchedIndicesLength(batchedIndices) {
- var length = batchedIndices.length;
- var count = 0;
- for (var i = 0; i < length; ++i) {
- count += Color.packedLength + 3 + batchedIndices[i].batchIds.length;
- }
- return count;
- }
-
- function packBuffer(batchedIndices, boundingVolumes) {
- var numBVs = boundingVolumes.length;
- var length = 1 + numBVs * BoundingSphere.packedLength + 1 + packedBatchedIndicesLength(batchedIndices);
-
- var packedBuffer = new Float64Array(length);
-
- var offset = 0;
- packedBuffer[offset++] = numBVs;
-
- for (var i = 0; i < numBVs; ++i) {
- BoundingSphere.pack(boundingVolumes[i], packedBuffer, offset);
- offset += BoundingSphere.packedLength;
- }
-
- var indicesLength = batchedIndices.length;
- packedBuffer[offset++] = indicesLength;
-
- for (var j = 0; j < indicesLength; ++j) {
- var batchedIndex = batchedIndices[j];
-
- Color.pack(batchedIndex.color, packedBuffer, offset);
- offset += Color.packedLength;
-
- packedBuffer[offset++] = batchedIndex.offset;
- packedBuffer[offset++] = batchedIndex.count;
-
- var batchIds = batchedIndex.batchIds;
- var batchIdsLength = batchIds.length;
- packedBuffer[offset++] = batchIdsLength;
-
- for (var k = 0; k < batchIdsLength; ++k) {
- packedBuffer[offset++] = batchIds[k];
- }
- }
-
- return packedBuffer;
- }
-
- var scratchPosition = new Cartesian3();
- var scratchMesh = [];
-
- function createVectorTileMeshes(parameters, transferableObjects) {
- var indexBytesPerElement = unpackBuffer(parameters.packedBuffer);
- var indices;
- if (indexBytesPerElement === 2) {
- indices = new Uint16Array(parameters.indices);
- } else {
- indices = new Uint32Array(parameters.indices);
- }
-
- var positions = new Float32Array(parameters.positions);
- var indexOffsets = new Uint32Array(parameters.indexOffsets);
- var indexCounts = new Uint32Array(parameters.indexCounts);
- var batchIds = new Uint32Array(parameters.batchIds);
- var batchTableColors = new Uint32Array(parameters.batchTableColors);
-
- var numMeshes = indexOffsets.length;
- var boundingVolumes = new Array(numMeshes);
-
- var vertexBatchIds = new Uint16Array(positions.length / 3);
-
- var center = scratchCenter;
- var modelMatrix = scratchMatrix4;
-
- var i;
- var length = positions.length;
- for (i = 0; i < length; i += 3) {
- var position = Cartesian3.unpack(positions, i, scratchPosition);
-
- Matrix4.multiplyByPoint(modelMatrix, position, position);
- Cartesian3.subtract(position, center, position);
-
- Cartesian3.pack(position, positions, i);
- }
-
- var batchedIndices = new Array(numMeshes);
- var mesh = scratchMesh;
-
- for (i = 0; i < numMeshes; ++i) {
- var batchId = batchIds[i];
- var offset = indexOffsets[i];
- var count = indexCounts[i];
-
- mesh.length = count;
-
- for (var j = 0; j < count; ++j) {
- var index = indices[offset + j];
- vertexBatchIds[index] = batchId;
-
- var result = mesh[j];
- if (!defined(result)) {
- result = mesh[j] = new Cartesian3();
- }
-
- var meshPosition = Cartesian3.unpack(positions, index * 3, scratchPosition);
- Cartesian3.add(meshPosition, center, result);
- }
-
- batchedIndices[i] = new Vector3DTileBatch({
- offset : offset,
- count : count,
- color : Color.fromRgba(batchTableColors[batchId]),
- batchIds : [batchId]
- });
-
- boundingVolumes[i] = BoundingSphere.fromPoints(mesh);
- }
-
- var packedBuffer = packBuffer(batchedIndices, boundingVolumes);
-
- transferableObjects.push(positions.buffer, indices.buffer, indexOffsets.buffer, indexCounts.buffer, vertexBatchIds.buffer, packedBuffer.buffer);
-
- return {
- positions : positions.buffer,
- indices : indices.buffer,
- indexOffsets : indexOffsets.buffer,
- indexCounts : indexCounts.buffer,
- batchIds : vertexBatchIds.buffer,
- packedBuffer : packedBuffer.buffer
- };
- }
-
- return createTaskProcessorWorker(createVectorTileMeshes);
-});
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/ll.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/ll.geom
new file mode 100644
index 000000000000..9ea82f0234c6
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/ll.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/lr.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/lr.geom
new file mode 100644
index 000000000000..183f251c1dcc
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/lr.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/parent.geom
new file mode 100644
index 000000000000..a7bb938c66b8
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/tileset.json
similarity index 92%
rename from Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/tileset.json
rename to Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/tileset.json
index d56ec9205342..4aed1065eb00 100644
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/tileset.json
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/tileset.json
@@ -35,7 +35,7 @@
"geometricError": 100,
"refine": "REPLACE",
"content": {
- "url": "parent.vctr"
+ "url": "parent.geom"
},
"children": [
{
@@ -51,7 +51,7 @@
},
"geometricError": 0,
"content": {
- "url": "ul.vctr"
+ "url": "ul.geom"
}
},
{
@@ -67,7 +67,7 @@
},
"geometricError": 0,
"content": {
- "url": "ur.vctr"
+ "url": "ur.geom"
}
},
{
@@ -83,7 +83,7 @@
},
"geometricError": 0,
"content": {
- "url": "ll.vctr"
+ "url": "ll.geom"
}
},
{
@@ -99,7 +99,7 @@
},
"geometricError": 0,
"content": {
- "url": "lr.vctr"
+ "url": "lr.geom"
}
}
]
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/ul.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/ul.geom
new file mode 100644
index 000000000000..53a18841da93
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/ul.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/ur.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/ur.geom
new file mode 100644
index 000000000000..18328e0e20b1
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAll/ur.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildren/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildren/children.geom
new file mode 100644
index 000000000000..d3ddd86d4b4e
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildren/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildren/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildren/parent.geom
new file mode 100644
index 000000000000..a7bb938c66b8
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildren/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildren/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildren/tileset.json
similarity index 93%
rename from Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildren/tileset.json
rename to Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildren/tileset.json
index f0f4990724f9..d673ef8ee994 100644
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildren/tileset.json
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildren/tileset.json
@@ -35,7 +35,7 @@
"geometricError": 100,
"refine": "REPLACE",
"content": {
- "url": "parent.vctr"
+ "url": "parent.geom"
},
"children": [
{
@@ -51,7 +51,7 @@
},
"geometricError": 0,
"content": {
- "url": "children.vctr"
+ "url": "children.geom"
}
}
]
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildrenWithBatchTable/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildrenWithBatchTable/children.geom
new file mode 100644
index 000000000000..827c70ff69c1
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildrenWithBatchTable/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildrenWithBatchTable/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildrenWithBatchTable/parent.geom
new file mode 100644
index 000000000000..a7bb938c66b8
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildrenWithBatchTable/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildren/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildrenWithBatchTable/tileset.json
similarity index 93%
rename from Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildren/tileset.json
rename to Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildrenWithBatchTable/tileset.json
index f0f4990724f9..d673ef8ee994 100644
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildren/tileset.json
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildrenWithBatchTable/tileset.json
@@ -35,7 +35,7 @@
"geometricError": 100,
"refine": "REPLACE",
"content": {
- "url": "parent.vctr"
+ "url": "parent.geom"
},
"children": [
{
@@ -51,7 +51,7 @@
},
"geometricError": 0,
"content": {
- "url": "children.vctr"
+ "url": "children.geom"
}
}
]
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchIds/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchIds/children.geom
new file mode 100644
index 000000000000..a7d8bc01a9ab
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchIds/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchIds/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchIds/parent.geom
new file mode 100644
index 000000000000..3ac7002a3218
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchIds/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildrenWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchIds/tileset.json
similarity index 93%
rename from Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildrenWithBatchTable/tileset.json
rename to Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchIds/tileset.json
index f0f4990724f9..d673ef8ee994 100644
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildrenWithBatchTable/tileset.json
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchIds/tileset.json
@@ -35,7 +35,7 @@
"geometricError": 100,
"refine": "REPLACE",
"content": {
- "url": "parent.vctr"
+ "url": "parent.geom"
},
"children": [
{
@@ -51,7 +51,7 @@
},
"geometricError": 0,
"content": {
- "url": "children.vctr"
+ "url": "children.geom"
}
}
]
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/ll.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/ll.geom
new file mode 100644
index 000000000000..10658d39e50b
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/ll.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/lr.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/lr.geom
new file mode 100644
index 000000000000..4124f19fabbd
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/lr.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/parent.geom
new file mode 100644
index 000000000000..e20d3e1cfd29
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/tileset.json
similarity index 92%
rename from Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/tileset.json
rename to Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/tileset.json
index d56ec9205342..4aed1065eb00 100644
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/tileset.json
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/tileset.json
@@ -35,7 +35,7 @@
"geometricError": 100,
"refine": "REPLACE",
"content": {
- "url": "parent.vctr"
+ "url": "parent.geom"
},
"children": [
{
@@ -51,7 +51,7 @@
},
"geometricError": 0,
"content": {
- "url": "ul.vctr"
+ "url": "ul.geom"
}
},
{
@@ -67,7 +67,7 @@
},
"geometricError": 0,
"content": {
- "url": "ur.vctr"
+ "url": "ur.geom"
}
},
{
@@ -83,7 +83,7 @@
},
"geometricError": 0,
"content": {
- "url": "ll.vctr"
+ "url": "ll.geom"
}
},
{
@@ -99,7 +99,7 @@
},
"geometricError": 0,
"content": {
- "url": "lr.vctr"
+ "url": "lr.geom"
}
}
]
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/ul.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/ul.geom
new file mode 100644
index 000000000000..878252d7b172
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/ul.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/ur.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/ur.geom
new file mode 100644
index 000000000000..8577a957d186
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable/ur.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/ll.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/ll.geom
new file mode 100644
index 000000000000..d202f19aa9ab
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/ll.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/lr.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/lr.geom
new file mode 100644
index 000000000000..3ae6ab10b1e9
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/lr.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/parent.geom
new file mode 100644
index 000000000000..a7bb938c66b8
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/tileset.json
similarity index 92%
rename from Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/tileset.json
rename to Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/tileset.json
index d56ec9205342..4aed1065eb00 100644
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/tileset.json
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/tileset.json
@@ -35,7 +35,7 @@
"geometricError": 100,
"refine": "REPLACE",
"content": {
- "url": "parent.vctr"
+ "url": "parent.geom"
},
"children": [
{
@@ -51,7 +51,7 @@
},
"geometricError": 0,
"content": {
- "url": "ul.vctr"
+ "url": "ul.geom"
}
},
{
@@ -67,7 +67,7 @@
},
"geometricError": 0,
"content": {
- "url": "ur.vctr"
+ "url": "ur.geom"
}
},
{
@@ -83,7 +83,7 @@
},
"geometricError": 0,
"content": {
- "url": "ll.vctr"
+ "url": "ll.geom"
}
},
{
@@ -99,7 +99,7 @@
},
"geometricError": 0,
"content": {
- "url": "lr.vctr"
+ "url": "lr.geom"
}
}
]
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/ul.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/ul.geom
new file mode 100644
index 000000000000..53a18841da93
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/ul.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/ur.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/ur.geom
new file mode 100644
index 000000000000..89cf94f7c505
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxes/ur.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildren/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildren/children.geom
new file mode 100644
index 000000000000..c23803f577e0
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildren/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildren/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildren/parent.geom
new file mode 100644
index 000000000000..a7bb938c66b8
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildren/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchIds/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildren/tileset.json
similarity index 93%
rename from Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchIds/tileset.json
rename to Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildren/tileset.json
index f0f4990724f9..d673ef8ee994 100644
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchIds/tileset.json
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildren/tileset.json
@@ -35,7 +35,7 @@
"geometricError": 100,
"refine": "REPLACE",
"content": {
- "url": "parent.vctr"
+ "url": "parent.geom"
},
"children": [
{
@@ -51,7 +51,7 @@
},
"geometricError": 0,
"content": {
- "url": "children.vctr"
+ "url": "children.geom"
}
}
]
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildrenWithBatchTable/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildrenWithBatchTable/children.geom
new file mode 100644
index 000000000000..c23803f577e0
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildrenWithBatchTable/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildrenWithBatchTable/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildrenWithBatchTable/parent.geom
new file mode 100644
index 000000000000..a7bb938c66b8
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildrenWithBatchTable/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildrenWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildrenWithBatchTable/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildrenWithBatchTable/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchIds/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchIds/children.geom
new file mode 100644
index 000000000000..f2dc508d2225
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchIds/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchIds/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchIds/parent.geom
new file mode 100644
index 000000000000..3ac7002a3218
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchIds/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchIds/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchIds/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchIds/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/ll.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/ll.geom
new file mode 100644
index 000000000000..6c9bbfeaa92c
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/ll.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/lr.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/lr.geom
new file mode 100644
index 000000000000..c650b3048ac0
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/lr.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/parent.geom
new file mode 100644
index 000000000000..e20d3e1cfd29
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/tileset.json
similarity index 92%
rename from Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/tileset.json
rename to Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/tileset.json
index d56ec9205342..4aed1065eb00 100644
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/tileset.json
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/tileset.json
@@ -35,7 +35,7 @@
"geometricError": 100,
"refine": "REPLACE",
"content": {
- "url": "parent.vctr"
+ "url": "parent.geom"
},
"children": [
{
@@ -51,7 +51,7 @@
},
"geometricError": 0,
"content": {
- "url": "ul.vctr"
+ "url": "ul.geom"
}
},
{
@@ -67,7 +67,7 @@
},
"geometricError": 0,
"content": {
- "url": "ur.vctr"
+ "url": "ur.geom"
}
},
{
@@ -83,7 +83,7 @@
},
"geometricError": 0,
"content": {
- "url": "ll.vctr"
+ "url": "ll.geom"
}
},
{
@@ -99,7 +99,7 @@
},
"geometricError": 0,
"content": {
- "url": "lr.vctr"
+ "url": "lr.geom"
}
}
]
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/ul.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/ul.geom
new file mode 100644
index 000000000000..878252d7b172
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/ul.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/ur.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/ur.geom
new file mode 100644
index 000000000000..e379f53b128f
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable/ur.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/ll.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/ll.geom
new file mode 100644
index 000000000000..00b4dcc1bae0
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/ll.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/lr.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/lr.geom
new file mode 100644
index 000000000000..9d9e571c4922
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/lr.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/parent.geom
new file mode 100644
index 000000000000..eee6c2f331cc
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/tileset.json
new file mode 100644
index 000000000000..4aed1065eb00
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/tileset.json
@@ -0,0 +1,107 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ 0,
+ 0,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ul.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ 0,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ur.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ll.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "lr.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/ul.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/ul.geom
new file mode 100644
index 000000000000..2a1b4aab6f23
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/ul.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/ur.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/ur.geom
new file mode 100644
index 000000000000..46fdf0cc4977
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylinders/ur.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildren/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildren/children.geom
new file mode 100644
index 000000000000..cb5b296667eb
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildren/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildren/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildren/parent.geom
new file mode 100644
index 000000000000..b28099b03fc1
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildren/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildren/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildren/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildren/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildrenWithBatchTable/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildrenWithBatchTable/children.geom
new file mode 100644
index 000000000000..4a8cc7dfa095
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildrenWithBatchTable/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildrenWithBatchTable/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildrenWithBatchTable/parent.geom
new file mode 100644
index 000000000000..cf6be77c9a0b
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildrenWithBatchTable/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildrenWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildrenWithBatchTable/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildrenWithBatchTable/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchIds/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchIds/children.geom
new file mode 100644
index 000000000000..74cc5f65756d
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchIds/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchIds/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchIds/parent.geom
new file mode 100644
index 000000000000..8cf493c0cee9
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchIds/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchIds/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchIds/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchIds/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/ll.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/ll.geom
new file mode 100644
index 000000000000..a13408f0e0c4
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/ll.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/lr.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/lr.geom
new file mode 100644
index 000000000000..52f0c6f7efbc
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/lr.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/parent.geom
new file mode 100644
index 000000000000..4a7caaf1ba89
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/tileset.json
new file mode 100644
index 000000000000..4aed1065eb00
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/tileset.json
@@ -0,0 +1,107 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ 0,
+ 0,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ul.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ 0,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ur.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ll.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "lr.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/ul.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/ul.geom
new file mode 100644
index 000000000000..b24cf160e5ca
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/ul.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/ur.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/ur.geom
new file mode 100644
index 000000000000..1681ba1a64dd
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable/ur.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/ll.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/ll.geom
new file mode 100644
index 000000000000..9ea82f0234c6
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/ll.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/lr.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/lr.geom
new file mode 100644
index 000000000000..9559dde83e09
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/lr.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/parent.geom
new file mode 100644
index 000000000000..24f5c9891f1d
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/tileset.json
new file mode 100644
index 000000000000..4aed1065eb00
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/tileset.json
@@ -0,0 +1,107 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ 0,
+ 0,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ul.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ 0,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ur.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ll.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "lr.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/ul.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/ul.geom
new file mode 100644
index 000000000000..4a85b8d3e135
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/ul.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/ur.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/ur.geom
new file mode 100644
index 000000000000..8afd69e55698
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids/ur.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildren/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildren/children.geom
new file mode 100644
index 000000000000..bf0ffe7f83e5
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildren/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildren/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildren/parent.geom
new file mode 100644
index 000000000000..24f5c9891f1d
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildren/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildren/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildren/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildren/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildrenWithBatchTable/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildrenWithBatchTable/children.geom
new file mode 100644
index 000000000000..bf0ffe7f83e5
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildrenWithBatchTable/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildrenWithBatchTable/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildrenWithBatchTable/parent.geom
new file mode 100644
index 000000000000..24f5c9891f1d
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildrenWithBatchTable/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildrenWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildrenWithBatchTable/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildrenWithBatchTable/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchIds/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchIds/children.geom
new file mode 100644
index 000000000000..0beec491069f
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchIds/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchIds/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchIds/parent.geom
new file mode 100644
index 000000000000..54f962816f8e
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchIds/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchIds/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchIds/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchIds/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/ll.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/ll.geom
new file mode 100644
index 000000000000..10658d39e50b
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/ll.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/lr.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/lr.geom
new file mode 100644
index 000000000000..f2c3428010ff
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/lr.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/parent.geom
new file mode 100644
index 000000000000..0c7adbf42f3f
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/tileset.json
new file mode 100644
index 000000000000..4aed1065eb00
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/tileset.json
@@ -0,0 +1,107 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ 0,
+ 0,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ul.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ 0,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ur.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ll.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "lr.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/ul.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/ul.geom
new file mode 100644
index 000000000000..017d8b953df6
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/ul.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/ur.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/ur.geom
new file mode 100644
index 000000000000..47886175a354
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable/ur.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/ll.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/ll.geom
new file mode 100644
index 000000000000..c1d359b9a79c
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/ll.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/lr.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/lr.geom
new file mode 100644
index 000000000000..183f251c1dcc
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/lr.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/parent.geom
new file mode 100644
index 000000000000..71bb7c2948fd
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/tileset.json
new file mode 100644
index 000000000000..4aed1065eb00
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/tileset.json
@@ -0,0 +1,107 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ 0,
+ 0,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ul.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ 0,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ur.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ll.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "lr.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/ul.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/ul.geom
new file mode 100644
index 000000000000..930592c9c689
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/ul.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/ur.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/ur.geom
new file mode 100644
index 000000000000..37507bb1680e
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheres/ur.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildren/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildren/children.geom
new file mode 100644
index 000000000000..02232bf034c7
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildren/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildren/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildren/parent.geom
new file mode 100644
index 000000000000..71bb7c2948fd
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildren/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildren/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildren/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildren/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildrenWithBatchTable/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildrenWithBatchTable/children.geom
new file mode 100644
index 000000000000..02232bf034c7
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildrenWithBatchTable/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildrenWithBatchTable/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildrenWithBatchTable/parent.geom
new file mode 100644
index 000000000000..71bb7c2948fd
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildrenWithBatchTable/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildrenWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildrenWithBatchTable/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildrenWithBatchTable/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchIds/children.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchIds/children.geom
new file mode 100644
index 000000000000..3f5984ba5b02
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchIds/children.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchIds/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchIds/parent.geom
new file mode 100644
index 000000000000..fbdaace903d6
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchIds/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchIds/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchIds/tileset.json
new file mode 100644
index 000000000000..d673ef8ee994
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchIds/tileset.json
@@ -0,0 +1,59 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "children.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/ll.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/ll.geom
new file mode 100644
index 000000000000..dd49f7f15d88
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/ll.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/lr.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/lr.geom
new file mode 100644
index 000000000000..4124f19fabbd
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/lr.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/parent.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/parent.geom
new file mode 100644
index 000000000000..0f7ec99b930c
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/parent.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/tileset.json
new file mode 100644
index 000000000000..4aed1065eb00
--- /dev/null
+++ b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/tileset.json
@@ -0,0 +1,107 @@
+{
+ "asset": {
+ "version": "0.0"
+ },
+ "geometricError": 500,
+ "root": {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "transform": [
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 6378137,
+ 0,
+ 0,
+ 1
+ ],
+ "geometricError": 100,
+ "refine": "REPLACE",
+ "content": {
+ "url": "parent.geom"
+ },
+ "children": [
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ 0,
+ 0,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ul.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ 0,
+ 0.00017453292519943296,
+ 0.00017453292519943296,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ur.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ -0.00017453292519943296,
+ -0.00017453292519943296,
+ 0,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "ll.geom"
+ }
+ },
+ {
+ "boundingVolume": {
+ "region": [
+ 0,
+ -0.00017453292519943296,
+ 0.00017453292519943296,
+ 0,
+ -1000,
+ 1000
+ ]
+ },
+ "geometricError": 0,
+ "content": {
+ "url": "lr.geom"
+ }
+ }
+ ]
+ }
+}
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/ul.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/ul.geom
new file mode 100644
index 000000000000..2e4105ea44da
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/ul.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/ur.geom b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/ur.geom
new file mode 100644
index 000000000000..566093603f21
Binary files /dev/null and b/Specs/Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable/ur.geom differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileCombined/tile.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileCombined/tile.vctr
index 3d477260ec79..8e18d0253c68 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileCombined/tile.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTileCombined/tile.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileCombinedWithBatchIds/tile.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileCombinedWithBatchIds/tile.vctr
index 6ad7c23e0d82..e3ae54bf24d8 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileCombinedWithBatchIds/tile.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTileCombinedWithBatchIds/tile.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/ll.vctr
deleted file mode 100644
index 36088beac50d..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/lr.vctr
deleted file mode 100644
index ff920dd97469..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/parent.vctr
deleted file mode 100644
index 337e9867827f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/ul.vctr
deleted file mode 100644
index 62583dcf16d0..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/ur.vctr
deleted file mode 100644
index 6095c26f2e85..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAll/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildren/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildren/children.vctr
deleted file mode 100644
index add4495cf44f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildren/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildren/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildren/parent.vctr
deleted file mode 100644
index 337e9867827f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildren/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildrenWithBatchTable/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildrenWithBatchTable/children.vctr
deleted file mode 100644
index 11ecb88f1b03..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildrenWithBatchTable/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildrenWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildrenWithBatchTable/parent.vctr
deleted file mode 100644
index 337e9867827f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildrenWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchIds/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchIds/children.vctr
deleted file mode 100644
index 59a46548dee0..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchIds/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchIds/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchIds/parent.vctr
deleted file mode 100644
index 6a89304002b3..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchIds/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/ll.vctr
deleted file mode 100644
index 36088beac50d..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/lr.vctr
deleted file mode 100644
index ff920dd97469..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/parent.vctr
deleted file mode 100644
index 337e9867827f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/ul.vctr
deleted file mode 100644
index 62583dcf16d0..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/ur.vctr
deleted file mode 100644
index 5f674ac99547..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/ll.vctr
deleted file mode 100644
index 9cb69aa7dcc0..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/lr.vctr
deleted file mode 100644
index df5236bd4e44..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/parent.vctr
deleted file mode 100644
index 337e9867827f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/ul.vctr
deleted file mode 100644
index 62583dcf16d0..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/ur.vctr
deleted file mode 100644
index 466d55cc2b7d..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildren/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildren/children.vctr
deleted file mode 100644
index ecc818cab929..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildren/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildren/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildren/parent.vctr
deleted file mode 100644
index 337e9867827f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildren/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildrenWithBatchTable/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildrenWithBatchTable/children.vctr
deleted file mode 100644
index ecc818cab929..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildrenWithBatchTable/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildrenWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildrenWithBatchTable/parent.vctr
deleted file mode 100644
index 337e9867827f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildrenWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildrenWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildrenWithBatchTable/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildrenWithBatchTable/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchIds/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchIds/children.vctr
deleted file mode 100644
index c3bf01237689..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchIds/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchIds/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchIds/parent.vctr
deleted file mode 100644
index 8f64dbc8d57d..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchIds/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchIds/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchIds/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchIds/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/ll.vctr
deleted file mode 100644
index 9cb69aa7dcc0..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/lr.vctr
deleted file mode 100644
index df5236bd4e44..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/parent.vctr
deleted file mode 100644
index 337e9867827f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/ul.vctr
deleted file mode 100644
index 62583dcf16d0..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/ur.vctr
deleted file mode 100644
index 466d55cc2b7d..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/ll.vctr
deleted file mode 100644
index 1c1101a5341c..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/lr.vctr
deleted file mode 100644
index 7aaa234723b0..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/parent.vctr
deleted file mode 100644
index 5ad2375c2ed1..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/tileset.json
deleted file mode 100644
index d56ec9205342..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/tileset.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- 0,
- 0,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ul.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- 0,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ur.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ll.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "lr.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/ul.vctr
deleted file mode 100644
index 9d9fe9c88abd..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/ur.vctr
deleted file mode 100644
index 3b6a1d1c1552..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildren/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildren/children.vctr
deleted file mode 100644
index c339ccb4755a..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildren/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildren/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildren/parent.vctr
deleted file mode 100644
index 8bed33a680de..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildren/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildren/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildren/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildren/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildrenWithBatchTable/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildrenWithBatchTable/children.vctr
deleted file mode 100644
index 7cc33366e991..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildrenWithBatchTable/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildrenWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildrenWithBatchTable/parent.vctr
deleted file mode 100644
index 2fc6aac49861..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildrenWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildrenWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildrenWithBatchTable/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildrenWithBatchTable/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchIds/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchIds/children.vctr
deleted file mode 100644
index 3c2aa315dbe2..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchIds/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchIds/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchIds/parent.vctr
deleted file mode 100644
index 8a8fb79ac2b2..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchIds/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchIds/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchIds/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchIds/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/ll.vctr
deleted file mode 100644
index 3f607309384a..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/lr.vctr
deleted file mode 100644
index 959ac34dbafc..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/parent.vctr
deleted file mode 100644
index 496e9d12f24d..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/tileset.json
deleted file mode 100644
index d56ec9205342..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/tileset.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- 0,
- 0,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ul.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- 0,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ur.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ll.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "lr.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/ul.vctr
deleted file mode 100644
index 9af9db96883f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/ur.vctr
deleted file mode 100644
index 8c7cfd21bffc..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/ll.vctr
deleted file mode 100644
index 36088beac50d..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/lr.vctr
deleted file mode 100644
index 3013df9f92ed..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/parent.vctr
deleted file mode 100644
index 0d8ed32a2023..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/tileset.json
deleted file mode 100644
index d56ec9205342..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/tileset.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- 0,
- 0,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ul.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- 0,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ur.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ll.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "lr.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/ul.vctr
deleted file mode 100644
index 28b9b7939c57..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/ur.vctr
deleted file mode 100644
index 565121610432..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildren/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildren/children.vctr
deleted file mode 100644
index 2cf671ff0af4..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildren/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildren/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildren/parent.vctr
deleted file mode 100644
index 0d8ed32a2023..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildren/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildren/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildren/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildren/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildrenWithBatchTable/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildrenWithBatchTable/children.vctr
deleted file mode 100644
index 2cf671ff0af4..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildrenWithBatchTable/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildrenWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildrenWithBatchTable/parent.vctr
deleted file mode 100644
index 0d8ed32a2023..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildrenWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildrenWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildrenWithBatchTable/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildrenWithBatchTable/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchIds/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchIds/children.vctr
deleted file mode 100644
index 164eeaf9b139..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchIds/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchIds/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchIds/parent.vctr
deleted file mode 100644
index 01d1d4ab2643..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchIds/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchIds/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchIds/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchIds/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/ll.vctr
deleted file mode 100644
index 36088beac50d..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/lr.vctr
deleted file mode 100644
index 3013df9f92ed..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/parent.vctr
deleted file mode 100644
index 0d8ed32a2023..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/tileset.json
deleted file mode 100644
index d56ec9205342..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/tileset.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- 0,
- 0,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ul.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- 0,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ur.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ll.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "lr.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/ul.vctr
deleted file mode 100644
index 28b9b7939c57..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/ur.vctr
deleted file mode 100644
index 565121610432..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/ll.vctr
deleted file mode 100644
index 5042566a43b3..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/lr.vctr
deleted file mode 100644
index ff920dd97469..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/parent.vctr
deleted file mode 100644
index 6c1f1cbaf32e..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/tileset.json
deleted file mode 100644
index d56ec9205342..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/tileset.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- 0,
- 0,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ul.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- 0,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ur.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ll.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "lr.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/ul.vctr
deleted file mode 100644
index bc62c7a3ed4e..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/ur.vctr
deleted file mode 100644
index fd203300ba92..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildren/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildren/children.vctr
deleted file mode 100644
index 1eb199b0c475..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildren/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildren/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildren/parent.vctr
deleted file mode 100644
index 6c1f1cbaf32e..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildren/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildren/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildren/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildren/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildrenWithBatchTable/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildrenWithBatchTable/children.vctr
deleted file mode 100644
index 1eb199b0c475..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildrenWithBatchTable/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildrenWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildrenWithBatchTable/parent.vctr
deleted file mode 100644
index 6c1f1cbaf32e..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildrenWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildrenWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildrenWithBatchTable/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildrenWithBatchTable/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchIds/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchIds/children.vctr
deleted file mode 100644
index d01a55c712c2..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchIds/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchIds/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchIds/parent.vctr
deleted file mode 100644
index 5bb71dcc6001..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchIds/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchIds/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchIds/tileset.json
deleted file mode 100644
index f0f4990724f9..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchIds/tileset.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/ll.vctr
deleted file mode 100644
index 5042566a43b3..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/lr.vctr
deleted file mode 100644
index ff920dd97469..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/parent.vctr
deleted file mode 100644
index 6c1f1cbaf32e..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/tileset.json
deleted file mode 100644
index d56ec9205342..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/tileset.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "transform": [
- 0,
- 1,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 1,
- 0,
- 0,
- 0,
- 6378137,
- 0,
- 0,
- 1
- ],
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- 0,
- 0,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ul.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- 0,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ur.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ll.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "lr.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/ul.vctr
deleted file mode 100644
index bc62c7a3ed4e..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/ur.vctr
deleted file mode 100644
index fd203300ba92..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/ll.vctr
deleted file mode 100644
index 9c03a5215cd3..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/lr.vctr
deleted file mode 100644
index f8bf27acd680..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/parent.vctr
deleted file mode 100644
index fbb32948f82f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/tileset.json
deleted file mode 100644
index 404ec0e97e47..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/tileset.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- 0,
- 0,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ul.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- 0,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ur.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ll.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "lr.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/ul.vctr
deleted file mode 100644
index f8b2ae83c6d2..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/ur.vctr
deleted file mode 100644
index 151ad6534446..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMesh/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildren/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildren/children.vctr
deleted file mode 100644
index f9fa7b1f9f5f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildren/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildren/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildren/parent.vctr
deleted file mode 100644
index fbb32948f82f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildren/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildren/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildren/tileset.json
deleted file mode 100644
index a07e7dd4bf19..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildren/tileset.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildrenWithBatchTable/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildrenWithBatchTable/children.vctr
deleted file mode 100644
index f9fa7b1f9f5f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildrenWithBatchTable/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildrenWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildrenWithBatchTable/parent.vctr
deleted file mode 100644
index fbb32948f82f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildrenWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildrenWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildrenWithBatchTable/tileset.json
deleted file mode 100644
index a07e7dd4bf19..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildrenWithBatchTable/tileset.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchIds/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchIds/children.vctr
deleted file mode 100644
index 6299a980e4b2..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchIds/children.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchIds/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchIds/parent.vctr
deleted file mode 100644
index c7ede73c80c9..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchIds/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchIds/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchIds/tileset.json
deleted file mode 100644
index a07e7dd4bf19..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchIds/tileset.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "children.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/ll.vctr
deleted file mode 100644
index 9c03a5215cd3..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/ll.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/lr.vctr
deleted file mode 100644
index f8bf27acd680..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/lr.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/parent.vctr
deleted file mode 100644
index fbb32948f82f..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/parent.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/tileset.json b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/tileset.json
deleted file mode 100644
index 404ec0e97e47..000000000000
--- a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/tileset.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "asset": {
- "version": "0.0"
- },
- "geometricError": 500,
- "root": {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 100,
- "refine": "REPLACE",
- "content": {
- "url": "parent.vctr"
- },
- "children": [
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- 0,
- 0,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ul.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- 0,
- 0.00017453292519943296,
- 0.00017453292519943296,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ur.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- -0.00017453292519943296,
- -0.00017453292519943296,
- 0,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "ll.vctr"
- }
- },
- {
- "boundingVolume": {
- "region": [
- 0,
- -0.00017453292519943296,
- 0.00017453292519943296,
- 0,
- -1000,
- 1000
- ]
- },
- "geometricError": 0,
- "content": {
- "url": "lr.vctr"
- }
- }
- ]
- }
-}
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/ul.vctr
deleted file mode 100644
index f8b2ae83c6d2..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/ul.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/ur.vctr
deleted file mode 100644
index 151ad6534446..000000000000
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable/ur.vctr and /dev/null differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ll.vctr
index 5f0cb9dd6c9b..715b3df7262a 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ll.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ll.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/lr.vctr
index f6d54b688839..ea16f8769d77 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/lr.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/lr.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/parent.vctr
index 5cde6d53fc1c..940c9b60e959 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ul.vctr
index 6f8ee1bdb9d9..067a51cd7578 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ul.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ul.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ur.vctr
index d5ae71e6d26f..84e4abe7b6ae 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ur.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePoints/ur.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildren/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildren/children.vctr
index a1ff3ce3bef7..f4514abd1733 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildren/children.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildren/children.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildren/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildren/parent.vctr
index 5cde6d53fc1c..940c9b60e959 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildren/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildren/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildrenWithBatchTable/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildrenWithBatchTable/children.vctr
index 2f5d8ad985c2..fc0253075c9a 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildrenWithBatchTable/children.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildrenWithBatchTable/children.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildrenWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildrenWithBatchTable/parent.vctr
index 334da4349d60..01827f70cee2 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildrenWithBatchTable/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildrenWithBatchTable/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchIds/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchIds/children.vctr
index 59a27fd352ea..9200758bf12c 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchIds/children.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchIds/children.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchIds/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchIds/parent.vctr
index 43c0f44a637b..cea686422540 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchIds/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchIds/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ll.vctr
index 9992acc382ea..2976d0d0665d 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ll.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ll.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/lr.vctr
index 3248f04bbaba..08e491cde99a 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/lr.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/lr.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/parent.vctr
index 334da4349d60..01827f70cee2 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ul.vctr
index 11ec9f61bc3a..6f47ccc45653 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ul.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ul.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ur.vctr
index fd01272fa8f4..7808e18c834c 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ur.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePointsWithBatchTable/ur.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ll.vctr
index a16a15777003..4ab0bcabc05d 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ll.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ll.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/lr.vctr
index 8c9be2070dab..bcc1530a2c52 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/lr.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/lr.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/parent.vctr
index 80b376a67892..393811ffa8ee 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ul.vctr
index 2bce6c10fcad..561b99fb0b78 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ul.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ul.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ur.vctr
index 7cd950eb0ab7..21dbc3604e45 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ur.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygons/ur.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildren/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildren/children.vctr
index 4f9218e671a0..ee3ffaa18fad 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildren/children.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildren/children.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildren/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildren/parent.vctr
index 80b376a67892..393811ffa8ee 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildren/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildren/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildrenWithBatchTable/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildrenWithBatchTable/children.vctr
index 35a736c3be8f..9e358155d47a 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildrenWithBatchTable/children.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildrenWithBatchTable/children.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildrenWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildrenWithBatchTable/parent.vctr
index 34ac8409f962..9f72dfed04e5 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildrenWithBatchTable/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsBatchedChildrenWithBatchTable/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchIds/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchIds/children.vctr
index 634258b93f23..aa9cf7dfe273 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchIds/children.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchIds/children.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchIds/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchIds/parent.vctr
index 6c1ebbd516a2..b96b373f1c8c 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchIds/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchIds/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ll.vctr
index 0c55180d82a9..31e2938c254f 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ll.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ll.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/lr.vctr
index 123689a82d8f..a8795eb5afac 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/lr.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/lr.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/parent.vctr
index 34ac8409f962..9f72dfed04e5 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ul.vctr
index c6fb211af633..2bc70b7ab19b 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ul.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ul.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ur.vctr
index 4d2687f6c250..3d75d871e2b6 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ur.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolygonsWithBatchTable/ur.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ll.vctr
index 0ed59d15e5c2..527389243c1d 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ll.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ll.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/lr.vctr
index 0b789f40502c..fb76a5c24b6e 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/lr.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/lr.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/parent.vctr
index 5d089134b1f7..b5e7b67ab464 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ul.vctr
index 406d3e9d3f2d..ea576807bc9b 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ul.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ul.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ur.vctr
index 8b9c785f44c2..1ee4e4e67fcc 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ur.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylines/ur.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildren/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildren/children.vctr
index 5e930d4287ab..c4ba8a6981a0 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildren/children.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildren/children.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildren/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildren/parent.vctr
index 5d089134b1f7..b5e7b67ab464 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildren/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildren/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildrenWithBatchTable/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildrenWithBatchTable/children.vctr
index 74a0c3d1cb46..f7ead5e05fb4 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildrenWithBatchTable/children.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildrenWithBatchTable/children.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildrenWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildrenWithBatchTable/parent.vctr
index 60e3ecdeedc6..d2e783faec5c 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildrenWithBatchTable/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesBatchedChildrenWithBatchTable/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchIds/children.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchIds/children.vctr
index 79dc285b1d1d..093564fa1e76 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchIds/children.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchIds/children.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchIds/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchIds/parent.vctr
index aa5184aec871..b4f6c45e6ff0 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchIds/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchIds/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ll.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ll.vctr
index 900faac00580..b3acef49aec0 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ll.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ll.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/lr.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/lr.vctr
index 02d4a9a3a8f4..e53535ff9b90 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/lr.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/lr.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/parent.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/parent.vctr
index 60e3ecdeedc6..d2e783faec5c 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/parent.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/parent.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ul.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ul.vctr
index 46daa167ca4e..04f40718adf4 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ul.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ul.vctr differ
diff --git a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ur.vctr b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ur.vctr
index d28144ef004e..18ff2aa21d02 100644
Binary files a/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ur.vctr and b/Specs/Data/Cesium3DTiles/Vector/VectorTilePolylinesWithBatchTable/ur.vctr differ
diff --git a/Specs/Scene/Geometry3DTileContentSpec.js b/Specs/Scene/Geometry3DTileContentSpec.js
new file mode 100644
index 000000000000..6116af9a47f1
--- /dev/null
+++ b/Specs/Scene/Geometry3DTileContentSpec.js
@@ -0,0 +1,513 @@
+defineSuite([
+ 'Scene/Geometry3DTileContent',
+ 'Core/BoundingSphere',
+ 'Core/Cartesian3',
+ 'Core/Color',
+ 'Core/ColorGeometryInstanceAttribute',
+ 'Core/combine',
+ 'Core/destroyObject',
+ 'Core/Ellipsoid',
+ 'Core/GeometryInstance',
+ 'Core/Math',
+ 'Core/Matrix4',
+ 'Core/Rectangle',
+ 'Core/RectangleGeometry',
+ 'Core/Transforms',
+ 'Renderer/Pass',
+ 'Scene/Cesium3DTileBatchTable',
+ 'Scene/Cesium3DTileset',
+ 'Scene/Cesium3DTileStyle',
+ 'Scene/ClassificationType',
+ 'Scene/PerInstanceColorAppearance',
+ 'Scene/Primitive',
+ 'Specs/Cesium3DTilesTester',
+ 'Specs/createScene'
+ ], function(
+ Geometry3DTileContent,
+ BoundingSphere,
+ Cartesian3,
+ Color,
+ ColorGeometryInstanceAttribute,
+ combine,
+ destroyObject,
+ Ellipsoid,
+ GeometryInstance,
+ CesiumMath,
+ Matrix4,
+ Rectangle,
+ RectangleGeometry,
+ Transforms,
+ Pass,
+ Cesium3DTileBatchTable,
+ Cesium3DTileset,
+ Cesium3DTileStyle,
+ ClassificationType,
+ PerInstanceColorAppearance,
+ Primitive,
+ Cesium3DTilesTester,
+ createScene) {
+ 'use strict';
+
+ var tilesetRectangle = Rectangle.fromDegrees(-0.01, -0.01, 0.01, 0.01);
+
+ var geometryAll = './Data/Cesium3DTiles/Geometry/GeometryTileAll';
+ var geometryAllBatchedChildren = './Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildren';
+ var geometryAllBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Geometry/GeometryTileAllBatchedChildrenWithBatchTable';
+ var geometryAllWithBatchTable = './Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchTable';
+ var geometryAllWithBatchIds = './Data/Cesium3DTiles/Geometry/GeometryTileAllWithBatchIds';
+
+ var geometryBoxes = './Data/Cesium3DTiles/Geometry/GeometryTileBoxes';
+ var geometryBoxesBatchedChildren = './Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildren';
+ var geometryBoxesBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Geometry/GeometryTileBoxesBatchedChildrenWithBatchTable';
+ var geometryBoxesWithBatchTable = './Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchTable';
+ var geometryBoxesWithBatchIds = './Data/Cesium3DTiles/Geometry/GeometryTileBoxesWithBatchIds';
+
+ var geometryCylinders = './Data/Cesium3DTiles/Geometry/GeometryTileCylinders';
+ var geometryCylindersBatchedChildren = './Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildren';
+ var geometryCylindersBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Geometry/GeometryTileCylindersBatchedChildrenWithBatchTable';
+ var geometryCylindersWithBatchTable = './Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchTable';
+ var geometryCylindersWithBatchIds = './Data/Cesium3DTiles/Geometry/GeometryTileCylindersWithBatchIds';
+
+ var geometryEllipsoids = './Data/Cesium3DTiles/Geometry/GeometryTileEllipsoids';
+ var geometryEllipsoidsBatchedChildren = './Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildren';
+ var geometryEllipsoidsBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsBatchedChildrenWithBatchTable';
+ var geometryEllipsoidsWithBatchTable = './Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchTable';
+ var geometryEllipsoidsWithBatchIds = './Data/Cesium3DTiles/Geometry/GeometryTileEllipsoidsWithBatchIds';
+
+ var geometrySpheres = './Data/Cesium3DTiles/Geometry/GeometryTileSpheres';
+ var geometrySpheresBatchedChildren = './Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildren';
+ var geometrySpheresBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Geometry/GeometryTileSpheresBatchedChildrenWithBatchTable';
+ var geometrySpheresWithBatchTable = './Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchTable';
+ var geometrySpheresWithBatchIds = './Data/Cesium3DTiles/Geometry/GeometryTileSpheresWithBatchIds';
+
+ var scene;
+ var rectangle;
+ var depthPrimitive;
+ var tileset;
+
+ var ellipsoid = Ellipsoid.WGS84;
+
+ beforeAll(function() {
+ scene = createScene();
+ });
+
+ afterAll(function() {
+ scene.destroyForSpecs();
+ });
+
+ function MockGlobePrimitive(primitive) {
+ this._primitive = primitive;
+ this.pass = Pass.CESIUM_3D_TILE;
+ }
+
+ MockGlobePrimitive.prototype.update = function(frameState) {
+ var commandList = frameState.commandList;
+ var startLength = commandList.length;
+ this._primitive.update(frameState);
+
+ for (var i = startLength; i < commandList.length; ++i) {
+ var command = commandList[i];
+ command.pass = this.pass;
+ }
+ };
+
+ MockGlobePrimitive.prototype.isDestroyed = function() {
+ return false;
+ };
+
+ MockGlobePrimitive.prototype.destroy = function() {
+ this._primitive.destroy();
+ return destroyObject(this);
+ };
+
+ beforeEach(function() {
+ rectangle = Rectangle.fromDegrees(-40.0, -40.0, 40.0, 40.0);
+
+ var depthColorAttribute = ColorGeometryInstanceAttribute.fromColor(new Color(1.0, 0.0, 0.0, 1.0));
+ var primitive = new Primitive({
+ geometryInstances : new GeometryInstance({
+ geometry : new RectangleGeometry({
+ ellipsoid : ellipsoid,
+ rectangle : rectangle
+ }),
+ id : 'depth rectangle',
+ attributes : {
+ color : depthColorAttribute
+ }
+ }),
+ appearance : new PerInstanceColorAppearance({
+ translucent : false,
+ flat : true
+ }),
+ asynchronous : false
+ });
+
+ // wrap rectangle primitive so it gets executed during the globe pass to lay down depth
+ depthPrimitive = new MockGlobePrimitive(primitive);
+ });
+
+ afterEach(function() {
+ scene.primitives.removeAll();
+ depthPrimitive = depthPrimitive && !depthPrimitive.isDestroyed() && depthPrimitive.destroy();
+ tileset = tileset && !tileset.isDestroyed() && tileset.destroy();
+ });
+
+ function loadTileset(tileset) {
+ scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(tilesetRectangle)), new Cartesian3(0.0, 0.0, 0.01));
+ return Cesium3DTilesTester.waitForTilesLoaded(scene, tileset);
+ }
+
+ function expectPick(scene) {
+ expect(scene).toPickAndCall(function(result) {
+ expect(result).toBeDefined();
+
+ result.color = Color.clone(Color.YELLOW, result.color);
+
+ expect(scene).toRenderAndCall(function(rgba) {
+ expect(rgba[0]).toBeGreaterThan(0);
+ expect(rgba[1]).toBeGreaterThan(0);
+ expect(rgba[2]).toEqual(0);
+ expect(rgba[3]).toEqual(255);
+ });
+
+ // Turn show off and on
+ result.show = false;
+ expect(scene).toRender([255, 0, 0, 255]);
+ result.show = true;
+ expect(scene).toRenderAndCall(function (rgba) {
+ expect(rgba[0]).toBeGreaterThan(0);
+ expect(rgba[1]).toBeGreaterThan(0);
+ expect(rgba[2]).toEqual(0);
+ expect(rgba[3]).toEqual(255);
+ });
+ });
+ }
+
+ function verifyPick(scene) {
+ var center = Rectangle.center(tilesetRectangle);
+ var ulRect = new Rectangle(tilesetRectangle.west, center.latitude, center.longitude, tilesetRectangle.north);
+ var urRect = new Rectangle(center.longitude, center.longitude, tilesetRectangle.east, tilesetRectangle.north);
+ var llRect = new Rectangle(tilesetRectangle.west, tilesetRectangle.south, center.longitude, center.latitude);
+ var lrRect = new Rectangle(center.longitude, tilesetRectangle.south, tilesetRectangle.east, center.latitude);
+
+ scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(ulRect)), new Cartesian3(0.0, 0.0, 5.0));
+ expectPick(scene);
+ scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(urRect)), new Cartesian3(0.0, 0.0, 5.0));
+ expectPick(scene);
+ scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(llRect)), new Cartesian3(0.0, 0.0, 5.0));
+ expectPick(scene);
+ scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(lrRect)), new Cartesian3(0.0, 0.0, 5.0));
+ expectPick(scene);
+ }
+
+ function expectRender(scene, color) {
+ var center = Rectangle.center(tilesetRectangle);
+ var ulRect = new Rectangle(tilesetRectangle.west, center.latitude, center.longitude, tilesetRectangle.north);
+ var urRect = new Rectangle(center.longitude, center.longitude, tilesetRectangle.east, tilesetRectangle.north);
+ var llRect = new Rectangle(tilesetRectangle.west, tilesetRectangle.south, center.longitude, center.latitude);
+ var lrRect = new Rectangle(center.longitude, tilesetRectangle.south, tilesetRectangle.east, center.latitude);
+
+ scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(ulRect)), new Cartesian3(0.0, 0.0, 5.0));
+ expect(scene).toRender(color);
+ scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(urRect)), new Cartesian3(0.0, 0.0, 5.0));
+ expect(scene).toRender(color);
+ scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(llRect)), new Cartesian3(0.0, 0.0, 5.0));
+ expect(scene).toRender(color);
+ scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(lrRect)), new Cartesian3(0.0, 0.0, 5.0));
+ expect(scene).toRender(color);
+ }
+
+ function verifyRender(tileset, scene) {
+ tileset.style = undefined;
+ expectRender(scene, [255, 255, 255, 255]);
+
+ tileset.style = new Cesium3DTileStyle({
+ show : 'false'
+ });
+ expectRender(scene, [255, 0, 0, 255]);
+ tileset.style = new Cesium3DTileStyle({
+ show : 'true'
+ });
+ expectRender(scene, [255, 255, 255, 255]);
+
+ tileset.style = new Cesium3DTileStyle({
+ color : 'rgba(0, 0, 255, 1.0)'
+ });
+ expectRender(scene, [0, 0, 255, 255]);
+ }
+
+ it('renders boxes', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryBoxes
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders batched boxes', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryBoxesBatchedChildren
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders boxes with a batch table', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryBoxesWithBatchTable
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders batched boxes with a batch table', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryBoxesBatchedChildrenWithBatchTable
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders boxes with batch ids', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryBoxesWithBatchIds
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders cylinders', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryCylinders
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders batched cylinders', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryCylindersBatchedChildren
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders cylinders with a batch table', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryCylindersWithBatchTable
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders batched cylinders with a batch table', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryCylindersBatchedChildrenWithBatchTable
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders cylinders with batch ids', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryCylindersWithBatchIds
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders ellipsoids', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryEllipsoids
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders batched ellipsoids', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryEllipsoidsBatchedChildren
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders ellipsoids with a batch table', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryEllipsoidsWithBatchTable
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders batched ellipsoids with a batch table', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryEllipsoidsBatchedChildrenWithBatchTable
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders ellipsoids with batch ids', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryEllipsoidsWithBatchIds
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders spheres', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometrySpheres
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders batched spheres', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometrySpheresBatchedChildren
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders spheres with a batch table', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometrySpheresWithBatchTable
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders batched spheres with a batch table', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometrySpheresBatchedChildrenWithBatchTable
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders spheres with batch ids', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometrySpheresWithBatchIds
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders all geometries', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryAll
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders batched all geometries', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryAllBatchedChildren
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders all geometries with a batch table', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryAllWithBatchTable
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders batched all geometries with a batch table', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryAllBatchedChildrenWithBatchTable
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+
+ it('renders all geometries with batch ids', function() {
+ scene.primitives.add(depthPrimitive);
+ tileset = scene.primitives.add(new Cesium3DTileset({
+ url : geometryAllWithBatchIds
+ }));
+ return loadTileset(tileset).then(function(tileset) {
+ verifyRender(tileset, scene);
+ verifyPick(scene);
+ });
+ });
+});
diff --git a/Specs/Scene/Vector3DTileContentSpec.js b/Specs/Scene/Vector3DTileContentSpec.js
index 6c72b4832574..5de27e5c1c9d 100644
--- a/Specs/Scene/Vector3DTileContentSpec.js
+++ b/Specs/Scene/Vector3DTileContentSpec.js
@@ -51,42 +51,6 @@ defineSuite([
var tilesetRectangle = Rectangle.fromDegrees(-0.01, -0.01, 0.01, 0.01);
var combinedRectangle = Rectangle.fromDegrees(-0.02, -0.01, 0.02, 0.01);
- var vectorGeometryAll = './Data/Cesium3DTiles/Vector/VectorTileGeometryAll';
- var vectorGeometryAllBatchedChildren = './Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildren';
- var vectorGeometryAllBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileGeometryAllBatchedChildrenWithBatchTable';
- var vectorGeometryAllWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchTable';
- var vectorGeometryAllWithBatchIds = './Data/Cesium3DTiles/Vector/VectorTileGeometryAllWithBatchIds';
-
- var vectorGeometryBoxes = './Data/Cesium3DTiles/Vector/VectorTileGeometryBoxes';
- var vectorGeometryBoxesBatchedChildren = './Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildren';
- var vectorGeometryBoxesBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesBatchedChildrenWithBatchTable';
- var vectorGeometryBoxesWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchTable';
- var vectorGeometryBoxesWithBatchIds = './Data/Cesium3DTiles/Vector/VectorTileGeometryBoxesWithBatchIds';
-
- var vectorGeometryCylinders = './Data/Cesium3DTiles/Vector/VectorTileGeometryCylinders';
- var vectorGeometryCylindersBatchedChildren = './Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildren';
- var vectorGeometryCylindersBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersBatchedChildrenWithBatchTable';
- var vectorGeometryCylindersWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchTable';
- var vectorGeometryCylindersWithBatchIds = './Data/Cesium3DTiles/Vector/VectorTileGeometryCylindersWithBatchIds';
-
- var vectorGeometryEllipsoids = './Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoids';
- var vectorGeometryEllipsoidsBatchedChildren = './Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildren';
- var vectorGeometryEllipsoidsBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsBatchedChildrenWithBatchTable';
- var vectorGeometryEllipsoidsWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchTable';
- var vectorGeometryEllipsoidsWithBatchIds = './Data/Cesium3DTiles/Vector/VectorTileGeometryEllipsoidsWithBatchIds';
-
- var vectorGeometrySpheres = './Data/Cesium3DTiles/Vector/VectorTileGeometrySpheres';
- var vectorGeometrySpheresBatchedChildren = './Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildren';
- var vectorGeometrySpheresBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresBatchedChildrenWithBatchTable';
- var vectorGeometrySpheresWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchTable';
- var vectorGeometrySpheresWithBatchIds = './Data/Cesium3DTiles/Vector/VectorTileGeometrySpheresWithBatchIds';
-
- var vectorMesh = './Data/Cesium3DTiles/Vector/VectorTileMesh';
- var vectorMeshBatchedChildren = './Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildren';
- var vectorMeshBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileMeshBatchedChildrenWithBatchTable';
- var vectorMeshWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchTable';
- var vectorMeshWithBatchIds = './Data/Cesium3DTiles/Vector/VectorTileMeshWithBatchIds';
-
var vectorPoints = './Data/Cesium3DTiles/Vector/VectorTilePoints';
var vectorPointsBatchedChildren = './Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildren';
var vectorPointsBatchedChildrenWithBatchTable = './Data/Cesium3DTiles/Vector/VectorTilePointsBatchedChildrenWithBatchTable';
@@ -395,36 +359,19 @@ defineSuite([
}
function verifyPickCombined(scene) {
- var center = Rectangle.center(combinedRectangle);
var width = combinedRectangle.width;
- var step = width / 5;
- var halfStep = step * 0.5;
+ var step = width / 3;
var west = combinedRectangle.west;
var north = combinedRectangle.north;
var south = combinedRectangle.south;
- var meshRect = new Rectangle(west, south, west + step, north);
- var polygonRect = new Rectangle(west + step, south, west + 2 * step, north);
- var boxRect = new Rectangle(west + step * 2, center.latitude, west + step * 2 + halfStep, north);
- var cylinderRect = new Rectangle(west + step * 2 + halfStep, center.latitude, west + step * 3, north);
- var ellipsoidRect = new Rectangle(west + step * 2, south, west + step * 2 + halfStep, center.latitude);
- var sphereRect = new Rectangle(west + step * 2 + halfStep, south, west + step * 3, center.latitude);
- var polylineRect = new Rectangle(west + step * 3, south, west + step * 4, north);
- var pointRect = new Rectangle(west + step * 4, south, west + step * 5, north);
+ var polygonRect = new Rectangle(west, south, west + step, north);
+ var polylineRect = new Rectangle(west + step, south, west + step * 2, north);
+ var pointRect = new Rectangle(west + step * 2, south, west + step * 3, north);
- scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(meshRect)), new Cartesian3(0.0, 0.0, 5.0));
- expectPick(scene);
scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(polygonRect)), new Cartesian3(0.0, 0.0, 5.0));
expectPick(scene);
- scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(boxRect)), new Cartesian3(0.0, 0.0, 5.0));
- expectPick(scene);
- scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(cylinderRect)), new Cartesian3(0.0, 0.0, 5.0));
- expectPick(scene);
- scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(ellipsoidRect)), new Cartesian3(0.0, 0.0, 5.0));
- expectPick(scene);
- scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(sphereRect)), new Cartesian3(0.0, 0.0, 5.0));
- expectPick(scene);
scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.northeast(polylineRect)), new Cartesian3(0.0, 0.0, 5.0));
expectPick(scene);
scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(pointRect)), new Cartesian3(0.0, 0.0, 5.0));
@@ -454,36 +401,19 @@ defineSuite([
}
function expectRenderCombined(scene, color) {
- var center = Rectangle.center(combinedRectangle);
var width = combinedRectangle.width;
- var step = width / 5;
- var halfStep = step * 0.5;
+ var step = width / 3;
var west = combinedRectangle.west;
var north = combinedRectangle.north;
var south = combinedRectangle.south;
- var meshRect = new Rectangle(west, south, west + step, north);
- var polygonRect = new Rectangle(west + step, south, west + 2 * step, north);
- var boxRect = new Rectangle(west + step * 2, center.latitude, west + step * 2 + halfStep, north);
- var cylinderRect = new Rectangle(west + step * 2 + halfStep, center.latitude, west + step * 3, north);
- var ellipsoidRect = new Rectangle(west + step * 2, south, west + step * 2 + halfStep, center.latitude);
- var sphereRect = new Rectangle(west + step * 2 + halfStep, south, west + step * 3, center.latitude);
- var polylineRect = new Rectangle(west + step * 3, south, west + step * 4, north);
- var pointRect = new Rectangle(west + step * 4, south, west + step * 5, north);
+ var polygonRect = new Rectangle(west, south, west + step, north);
+ var polylineRect = new Rectangle(west + step, south, west + step * 2, north);
+ var pointRect = new Rectangle(west + step * 2, south, west + step * 3, north);
- scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(meshRect)), new Cartesian3(0.0, 0.0, 5.0));
- expect(scene).toRender(color);
scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(polygonRect)), new Cartesian3(0.0, 0.0, 5.0));
expect(scene).toRender(color);
- scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(boxRect)), new Cartesian3(0.0, 0.0, 5.0));
- expect(scene).toRender(color);
- scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(cylinderRect)), new Cartesian3(0.0, 0.0, 5.0));
- expect(scene).toRender(color);
- scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(ellipsoidRect)), new Cartesian3(0.0, 0.0, 5.0));
- expect(scene).toRender(color);
- scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(sphereRect)), new Cartesian3(0.0, 0.0, 5.0));
- expect(scene).toRender(color);
scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.northeast(polylineRect)), new Cartesian3(0.0, 0.0, 5.0));
expect(scene).toRender(color);
scene.camera.lookAt(ellipsoid.cartographicToCartesian(Rectangle.center(pointRect)), new Cartesian3(0.0, 0.0, 5.0));
@@ -665,336 +595,6 @@ defineSuite([
});
});
- it('renders meshes', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorMesh
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched meshes', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorMeshBatchedChildren
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders meshes with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorMeshWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched meshes with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorMeshBatchedChildrenWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders meshes with batch ids', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorMeshWithBatchIds
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders boxes', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryBoxes
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched boxes', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryBoxesBatchedChildren
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders boxes with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryBoxesWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched boxes with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryBoxesBatchedChildrenWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders boxes with batch ids', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryBoxesWithBatchIds
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders cylinders', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryCylinders
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched cylinders', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryCylindersBatchedChildren
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders cylinders with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryCylindersWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched cylinders with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryCylindersBatchedChildrenWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders cylinders with batch ids', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryCylindersWithBatchIds
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders ellipsoids', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryEllipsoids
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched ellipsoids', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryEllipsoidsBatchedChildren
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders ellipsoids with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryEllipsoidsWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched ellipsoids with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryEllipsoidsBatchedChildrenWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders ellipsoids with batch ids', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryEllipsoidsWithBatchIds
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders spheres', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometrySpheres
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched spheres', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometrySpheresBatchedChildren
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders spheres with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometrySpheresWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched spheres with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometrySpheresBatchedChildrenWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders spheres with batch ids', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometrySpheresWithBatchIds
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders all geometries', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryAll
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched all geometries', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryAllBatchedChildren
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders all geometries with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryAllWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders batched all geometries with a batch table', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryAllBatchedChildrenWithBatchTable
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
- it('renders all geometries with batch ids', function() {
- scene.primitives.add(depthPrimitive);
- tileset = scene.primitives.add(new Cesium3DTileset({
- url : vectorGeometryAllWithBatchIds
- }));
- return loadTileset(tileset).then(function(tileset) {
- verifyRender(tileset, scene);
- verifyPick(scene);
- });
- });
-
it('renders combined tile', function() {
scene.primitives.add(depthPrimitive);
tileset = scene.primitives.add(new Cesium3DTileset({
diff --git a/Specs/Scene/Vector3DTileMeshesSpec.js b/Specs/Scene/Vector3DTileMeshesSpec.js
deleted file mode 100644
index 754a024df328..000000000000
--- a/Specs/Scene/Vector3DTileMeshesSpec.js
+++ /dev/null
@@ -1,465 +0,0 @@
-defineSuite([
- 'Scene/Vector3DTileMeshes',
- 'Core/BoundingSphere',
- 'Core/Cartesian3',
- 'Core/Color',
- 'Core/ColorGeometryInstanceAttribute',
- 'Core/combine',
- 'Core/destroyObject',
- 'Core/Ellipsoid',
- 'Core/EllipsoidGeometry',
- 'Core/GeometryInstance',
- 'Core/Matrix4',
- 'Core/Rectangle',
- 'Core/RectangleGeometry',
- 'Core/Transforms',
- 'Core/TranslationRotationScale',
- 'Core/VertexFormat',
- 'Renderer/Pass',
- 'Scene/Cesium3DTileBatchTable',
- 'Scene/PerInstanceColorAppearance',
- 'Scene/Primitive',
- 'Specs/createContext',
- 'Specs/createScene',
- 'Specs/pollToPromise'
- ], function(
- Vector3DTileMeshes,
- BoundingSphere,
- Cartesian3,
- Color,
- ColorGeometryInstanceAttribute,
- combine,
- destroyObject,
- Ellipsoid,
- EllipsoidGeometry,
- GeometryInstance,
- Matrix4,
- Rectangle,
- RectangleGeometry,
- Transforms,
- TranslationRotationScale,
- VertexFormat,
- Pass,
- Cesium3DTileBatchTable,
- PerInstanceColorAppearance,
- Primitive,
- createContext,
- createScene,
- pollToPromise) {
- 'use strict';
-
- createMeshSpecs({});
- var c = createContext({ requestWebgl2 : true });
- // Don't repeat WebGL 1 tests when WebGL 2 is not supported
- if (c.webgl2) {
- createMeshSpecs({ requestWebgl2 : true });
- }
- c.destroyForSpecs();
-
- function createMeshSpecs(contextOptions) {
- var webglMessage = contextOptions.requestWebgl2 ? ': WebGL 2' : '';
-
- var scene;
- var rectangle;
- var depthPrimitive;
- var meshes;
-
- var ellipsoid = Ellipsoid.WGS84;
-
- beforeAll(function() {
- scene = createScene({ contextOptions : contextOptions });
- });
-
- afterAll(function() {
- scene.destroyForSpecs();
- });
-
- var mockTileset = {
- _statistics : {
- texturesByteLength : 0
- },
- _tileset : {
- _statistics : {
- batchTableByteLength : 0
- }
- }
- };
-
- function MockGlobePrimitive(primitive) {
- this._primitive = primitive;
- this.pass = Pass.CESIUM_3D_TILE;
- }
-
- MockGlobePrimitive.prototype.update = function(frameState) {
- var commandList = frameState.commandList;
- var startLength = commandList.length;
- this._primitive.update(frameState);
-
- for (var i = startLength; i < commandList.length; ++i) {
- var command = commandList[i];
- command.pass = this.pass;
- }
- };
-
- MockGlobePrimitive.prototype.isDestroyed = function() {
- return false;
- };
-
- MockGlobePrimitive.prototype.destroy = function() {
- this._primitive.destroy();
- return destroyObject(this);
- };
-
- beforeEach(function() {
- rectangle = Rectangle.fromDegrees(-80.0, 20.0, -70.0, 30.0);
-
- var depthColorAttribute = ColorGeometryInstanceAttribute.fromColor(new Color(1.0, 0.0, 0.0, 1.0));
- var primitive = new Primitive({
- geometryInstances : new GeometryInstance({
- geometry : new RectangleGeometry({
- ellipsoid : ellipsoid,
- rectangle : rectangle
- }),
- id : 'depth rectangle',
- attributes : {
- color : depthColorAttribute
- }
- }),
- appearance : new PerInstanceColorAppearance({
- translucent : false,
- flat : true
- }),
- asynchronous : false
- });
-
- // wrap rectangle primitive so it gets executed during the globe pass to lay down depth
- depthPrimitive = new MockGlobePrimitive(primitive);
- });
-
- afterEach(function() {
- scene.primitives.removeAll();
- meshes = meshes && !meshes.isDestroyed() && meshes.destroy();
- depthPrimitive = depthPrimitive && !depthPrimitive.isDestroyed() && depthPrimitive.destroy();
- });
-
- function loadMeshes(meshes) {
- var ready = false;
- meshes.readyPromise.then(function() {
- ready = true;
- });
- return pollToPromise(function() {
- meshes.update(scene.frameState);
- scene.frameState.commandList.length = 0;
- return ready;
- });
- }
-
- function createMesh(modelMatrix) {
- var ellipsoidGeometry = EllipsoidGeometry.createGeometry((new EllipsoidGeometry({
- radii : new Cartesian3(1.0, 1.0, 1.0),
- vertexFormat : VertexFormat.POSITION_ONLY
- })));
-
- var positions = ellipsoidGeometry.attributes.position.values;
- var indices = ellipsoidGeometry.indices;
-
- var positionsLength = positions.length;
- for (var j = 0; j < positionsLength; j += 3) {
- var position = Cartesian3.unpack(positions, j, new Cartesian3());
- Matrix4.multiplyByPoint(modelMatrix, position, position);
- Cartesian3.pack(position, positions, j);
- }
-
- return {
- positions : positions,
- indices : indices
- };
- }
-
- function combineMeshes(meshes) {
- var meshesLength = meshes.length;
-
- var indexOffsets = new Uint32Array(meshesLength);
- var indexCounts = new Uint32Array(meshesLength);
-
- var offset = 0;
- var positionCount = 0;
-
- var i;
- var j;
- var mesh;
- var byteLength = 0;
- for (i = 0; i < meshesLength; ++i) {
- mesh = meshes[i];
- byteLength += mesh.indices.byteLength;
- byteLength += mesh.positions.byteLength;
-
- indexOffsets[i] = offset;
- indexCounts[i] = mesh.indices.length;
-
- offset += indexCounts[i];
- positionCount += mesh.positions.length / 3;
- }
-
- var buffer = new ArrayBuffer(byteLength);
-
- var indicesLength = indexOffsets[indexOffsets.length - 1] + indexCounts[indexCounts.length - 1];
- var indicesView = new Uint16Array(buffer, 0, indicesLength);
- var positionsView = new Float32Array(buffer, indicesLength * Uint16Array.BYTES_PER_ELEMENT, positionCount * 3);
-
- var indexOffset = 0;
- var positionOffset = 0;
- positionCount = 0;
-
- for (i = 0; i < meshesLength; ++i) {
- mesh = meshes[i];
-
- var indices = mesh.indices;
- indicesLength = indices.length;
- for (j = 0; j < indicesLength; ++j) {
- indicesView[indexOffset++] = indices[j] + positionCount;
- }
-
- var positions = mesh.positions;
- var positionsLength = positions.length;
- for (j = 0; j < positionsLength; ++j) {
- positionsView[positionOffset++] = positions[j];
- }
-
- positionCount += positionsLength / 3;
- }
-
- return {
- buffer : buffer,
- indexOffsets : indexOffsets,
- indexCounts : indexCounts,
- indexBytesPerElement : Uint16Array.BYTES_PER_ELEMENT,
- positionCount : positionCount
- };
- }
-
- it('renders a mesh' + webglMessage, function() {
- var origin = Rectangle.center(rectangle);
- var center = ellipsoid.cartographicToCartesian(origin);
- var modelMatrix = Transforms.eastNorthUpToFixedFrame(center);
-
- var batchTable = new Cesium3DTileBatchTable(mockTileset, 1);
- batchTable.update(mockTileset, scene.frameState);
-
- scene.primitives.add(depthPrimitive);
-
- var options = combineMeshes([createMesh(Matrix4.fromUniformScale(1000000.0))]);
-
- meshes = scene.primitives.add(new Vector3DTileMeshes(combine(options, {
- byteOffset : 0,
- batchIds : new Uint16Array([0]),
- center : center,
- modelMatrix : modelMatrix,
- batchTable : batchTable
- })));
- return loadMeshes(meshes).then(function() {
- scene.camera.lookAtTransform(modelMatrix, new Cartesian3(0.0, 0.0, 10.0));
- expect(scene).toRender([255, 255, 255, 255]);
-
- batchTable.setColor(0, Color.BLUE);
- meshes.updateCommands(0, Color.BLUE);
- batchTable.update(mockTileset, scene.frameState);
- expect(scene).toRender([0, 0, 255, 255]);
- });
- });
-
- it('renders multiple meshes' + webglMessage, function() {
- var origin = Rectangle.center(rectangle);
- var center = ellipsoid.cartographicToCartesian(origin);
- var modelMatrix = Transforms.eastNorthUpToFixedFrame(center);
-
- var batchTable = new Cesium3DTileBatchTable(mockTileset, 2);
- batchTable.update(mockTileset, scene.frameState);
-
- scene.primitives.add(depthPrimitive);
-
- var scale = 125000.0;
- var matrices = [Matrix4.multiply(Matrix4.fromTranslation(new Cartesian3(scale, 0.0, 0.0)), Matrix4.fromUniformScale(scale), new Matrix4()),
- Matrix4.multiply(Matrix4.fromTranslation(new Cartesian3(-scale, 0.0, 0.0)), Matrix4.fromUniformScale(scale), new Matrix4())];
- var options = combineMeshes([createMesh(matrices[0]),
- createMesh(matrices[1])]);
-
- var bv = new BoundingSphere(center, 2.0 * scale);
-
- meshes = scene.primitives.add(new Vector3DTileMeshes(combine(options, {
- byteOffset : 0,
- batchIds : new Uint16Array([0, 1]),
- center : center,
- modelMatrix : modelMatrix,
- batchTable : batchTable,
- boundingVolume : bv
- })));
- return loadMeshes(meshes).then(function() {
- for (var i = 0; i < matrices.length; ++i) {
- var transform = Matrix4.multiply(modelMatrix, Matrix4.fromTranslation(Matrix4.getTranslation(matrices[i], new Cartesian3())), new Matrix4());
- scene.camera.lookAtTransform(transform, new Cartesian3(0.0, 0.0, 10.0));
- expect(scene).toRender([255, 255, 255, 255]);
-
- batchTable.setColor(i, Color.BLUE);
- meshes.updateCommands(i, Color.BLUE);
- batchTable.update(mockTileset, scene.frameState);
- expect(scene).toRender([0, 0, 255, 255]);
- }
- });
- });
-
- it('renders multiple meshes after a re-batch' + webglMessage, function() {
- var origin = Rectangle.center(rectangle);
- var center = ellipsoid.cartographicToCartesian(origin);
- var modelMatrix = Transforms.eastNorthUpToFixedFrame(center);
-
- var batchTable = new Cesium3DTileBatchTable(mockTileset, 2);
- batchTable.update(mockTileset, scene.frameState);
-
- scene.primitives.add(depthPrimitive);
-
- var scale = 125000.0;
- var matrices = [Matrix4.multiply(Matrix4.fromTranslation(new Cartesian3(scale, 0.0, 0.0)), Matrix4.fromUniformScale(scale), new Matrix4()),
- Matrix4.multiply(Matrix4.fromTranslation(new Cartesian3(-scale, 0.0, 0.0)), Matrix4.fromUniformScale(scale), new Matrix4())];
- var options = combineMeshes([createMesh(matrices[0]),
- createMesh(matrices[1])]);
-
- var bv = new BoundingSphere(center, 2.0 * scale);
-
- meshes = scene.primitives.add(new Vector3DTileMeshes(combine(options, {
- byteOffset : 0,
- batchIds : new Uint16Array([0, 1]),
- center : center,
- modelMatrix : modelMatrix,
- batchTable : batchTable,
- boundingVolume : bv
- })));
- meshes.forceRebatch = true;
- return loadMeshes(meshes).then(function() {
- for (var i = 0; i < matrices.length; ++i) {
- var transform = Matrix4.multiply(modelMatrix, Matrix4.fromTranslation(Matrix4.getTranslation(matrices[i], new Cartesian3())), new Matrix4());
- scene.camera.lookAtTransform(transform, new Cartesian3(0.0, 0.0, 10.0));
- expect(scene).toRender([255, 255, 255, 255]);
-
- batchTable.setColor(i, Color.BLUE);
- meshes.updateCommands(i, Color.BLUE);
- batchTable.update(mockTileset, scene.frameState);
- expect(scene).toRender([0, 0, 255, 255]);
- }
- });
- });
-
- it('renders with inverted classification' + webglMessage, function() {
- var origin = Rectangle.center(rectangle);
- var center = ellipsoid.cartographicToCartesian(origin);
- var modelMatrix = Transforms.eastNorthUpToFixedFrame(center);
-
- var batchTable = new Cesium3DTileBatchTable(mockTileset, 1);
- batchTable.update(mockTileset, scene.frameState);
-
- scene.primitives.add(depthPrimitive);
-
- var radii = new Cartesian3(10.0, 10.0, 1000.0);
- var options = combineMeshes([createMesh(Matrix4.fromScale(radii))]);
-
- meshes = scene.primitives.add(new Vector3DTileMeshes(combine(options, {
- byteOffset : 0,
- batchIds : new Uint16Array([0]),
- center : center,
- modelMatrix : modelMatrix,
- batchTable : batchTable
- })));
- return loadMeshes(meshes).then(function() {
- scene.camera.lookAtTransform(modelMatrix, new Cartesian3(radii.x, 0.0, 1.0));
-
- expect(scene).toRender([255, 0, 0, 255]);
-
- scene.invertClassification = true;
- scene.invertClassificationColor = new Color(0.25, 0.25, 0.25, 1.0);
-
- expect(scene).toRender([64, 0, 0, 255]);
-
- scene.camera.lookAtTransform(modelMatrix, new Cartesian3(0.0, 0.0, 1.0));
- expect(scene).toRender([255, 255, 255, 255]);
-
- scene.invertClassification = false;
- });
- });
-
- it('renders wireframe' + webglMessage, function() {
- var origin = Rectangle.center(rectangle);
- var center = ellipsoid.cartographicToCartesian(origin);
- var modelMatrix = Transforms.eastNorthUpToFixedFrame(center);
-
- var batchTable = new Cesium3DTileBatchTable(mockTileset, 1);
- batchTable.update(mockTileset, scene.frameState);
-
- scene.primitives.add(depthPrimitive);
-
- var options = combineMeshes([createMesh(Matrix4.fromUniformScale(1000000.0))]);
-
- meshes = scene.primitives.add(new Vector3DTileMeshes(combine(options, {
- byteOffset : 0,
- batchIds : new Uint16Array([0]),
- center : center,
- modelMatrix : modelMatrix,
- batchTable : batchTable
- })));
- meshes.debugWireframe = true;
- return loadMeshes(meshes).then(function() {
- scene.camera.lookAtTransform(modelMatrix, new Cartesian3(0.0, 0.0, 10.0));
- expect(scene).toRender([255, 255, 255, 255]);
-
- batchTable.setColor(0, Color.BLUE);
- meshes.updateCommands(0, Color.BLUE);
- batchTable.update(mockTileset, scene.frameState);
- expect(scene).toRender([0, 0, 255, 255]);
- });
- });
-
- it('picks meshes' + webglMessage, function() {
- var origin = Rectangle.center(rectangle);
- var center = ellipsoid.cartographicToCartesian(origin);
- var modelMatrix = Transforms.eastNorthUpToFixedFrame(center);
-
- var batchTable = new Cesium3DTileBatchTable(mockTileset, 1);
- batchTable.update(mockTileset, scene.frameState);
-
- scene.primitives.add(depthPrimitive);
-
- var options = combineMeshes([createMesh(Matrix4.fromUniformScale(1000000.0))]);
-
- meshes = scene.primitives.add(new Vector3DTileMeshes(combine(options, {
- byteOffset : 0,
- batchIds : new Uint16Array([0]),
- center : center,
- modelMatrix : modelMatrix,
- batchTable : batchTable
- })));
- return loadMeshes(meshes).then(function() {
- scene.camera.lookAtTransform(modelMatrix, new Cartesian3(0.0, 0.0, 10.0));
-
- var features = [];
- meshes.createFeatures(mockTileset, features);
- mockTileset.getFeature = function(index) {
- return features[index];
- };
-
- scene.frameState.passes.pick = true;
- batchTable.update(mockTileset, scene.frameState);
- expect(scene).toPickAndCall(function(result) {
- expect(result).toBe(features[0]);
- });
-
- mockTileset.getFeature = undefined;
- });
- });
-
- it('isDestroyed' + webglMessage, function() {
- meshes = new Vector3DTileMeshes({});
- expect(meshes.isDestroyed()).toEqual(false);
- meshes.destroy();
- expect(meshes.isDestroyed()).toEqual(true);
- });
- }
-});
diff --git a/server.js b/server.js
index 8f3ae049d91a..e496eeebe38d 100644
--- a/server.js
+++ b/server.js
@@ -46,7 +46,7 @@
'image/ktx' : ['ktx'],
'model/gltf+json' : ['gltf'],
'model/gltf-binary' : ['bgltf', 'glb'],
- 'application/octet-stream' : ['b3dm', 'pnts', 'i3dm', 'cmpt', 'vctr'],
+ 'application/octet-stream' : ['b3dm', 'pnts', 'i3dm', 'cmpt', 'geom', 'vctr'],
'text/plain' : ['glsl']
}, true);
@@ -75,7 +75,7 @@
});
}
- var knownTilesetFormats = [/\.b3dm/, /\.pnts/, /\.i3dm/, /\.cmpt/, /\.glb/, /\.vctr/, /tileset.*\.json$/];
+ var knownTilesetFormats = [/\.b3dm/, /\.pnts/, /\.i3dm/, /\.cmpt/, /\.glb/, /\.geom/, /\.vctr/, /tileset.*\.json$/];
app.get(knownTilesetFormats, checkGzipAndNext);
app.use(express.static(__dirname));