Skip to content

Commit

Permalink
Merge pull request #10644 from CesiumGS/replace-model
Browse files Browse the repository at this point in the history
Replace glTF model implementation
  • Loading branch information
j9liu committed Aug 5, 2022
2 parents b38f5eb + b832496 commit 8c92d86
Show file tree
Hide file tree
Showing 328 changed files with 9,838 additions and 57,847 deletions.
18 changes: 18 additions & 0 deletions Apps/Sandcastle/gallery/3D Models.html
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,15 @@
);
},
},
{
text: "Unlit Box",
onselect: function () {
createModel(
"../../SampleData/models/BoxUnlit/BoxUnlit.gltf",
10.0
);
},
},
{
text: "Draco Compressed Model",
onselect: function () {
Expand All @@ -147,6 +156,15 @@
);
},
},
{
text: "Instanced Box",
onselect: function () {
createModel(
"../../SampleData/models/BoxInstanced/BoxInstanced.gltf",
15
);
},
},
];

Sandcastle.addToolbarMenu(options);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@
"use strict";
//Sandcastle_Begin
// San Francisco Ferry Building photogrammetry model provided by Aerometrex
Cesium.ExperimentalFeatures.enableModelExperimental = true;

const viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: Cesium.createWorldTerrain(),
infoBox: false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,23 +36,23 @@
window.startup = function (Cesium) {
"use strict";
//Sandcastle_Begin
// An example of using a b3dm tilset to classify another b3dm tileset.
// An example of using a b3dm tileset to classify another b3dm tileset.
const viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: Cesium.createWorldTerrain(),
});

// A normal b3dm tileset of photogrammetry
// A normal b3dm tileset containing photogrammetry
const tileset = new Cesium.Cesium3DTileset({
url: Cesium.IonResource.fromAssetId(40866),
});
viewer.scene.primitives.add(tileset);
viewer.zoomTo(tileset);

const classifcationTilesetUrl =
const classificationTilesetUrl =
"../../SampleData/Cesium3DTiles/Classification/Photogrammetry/tileset.json";
// A b3dm tileset used to classify the photogrammetry tileset
const classificationTileset = new Cesium.Cesium3DTileset({
url: classifcationTilesetUrl,
url: classificationTilesetUrl,
classificationType: Cesium.ClassificationType.CESIUM_3D_TILE,
});
classificationTileset.style = new Cesium.Cesium3DTileStyle({
Expand All @@ -62,7 +62,7 @@

// The same b3dm tileset used for classification, but rendered normally for comparison.
const nonClassificationTileset = new Cesium.Cesium3DTileset({
url: classifcationTilesetUrl,
url: classificationTilesetUrl,
show: false,
});
nonClassificationTileset.style = new Cesium.Cesium3DTileStyle({
Expand Down
2 changes: 0 additions & 2 deletions Apps/Sandcastle/gallery/Custom Shaders 3D Tiles.html
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@
window.startup = function (Cesium) {
"use strict";
//Sandcastle_Begin
Cesium.ExperimentalFeatures.enableModelExperimental = true;

const viewer = new Cesium.Viewer("cesiumContainer");

const tileset = new Cesium.Cesium3DTileset({
Expand Down
2 changes: 1 addition & 1 deletion Apps/Sandcastle/gallery/Custom Shaders Models.html
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@
function selectModel(url, customShader) {
viewer.scene.primitives.removeAll();
const model = viewer.scene.primitives.add(
Cesium.ModelExperimental.fromGltf({
Cesium.Model.fromGltf({
url: url,
customShader: customShader,
modelMatrix: Cesium.Transforms.headingPitchRollToFixedFrame(
Expand Down
170 changes: 0 additions & 170 deletions Apps/Sandcastle/gallery/Model Experimental 3D Models.html

This file was deleted.

Binary file not shown.
65 changes: 33 additions & 32 deletions Apps/Sandcastle/gallery/development/3D Models Articulations.html
Original file line number Diff line number Diff line change
Expand Up @@ -137,41 +137,42 @@
new Cesium.HeadingPitchRange(heading, pitch, r * 0.8)
);

viewModel.articulations = Object.keys(
model._runtime.articulationsByName
).map(function (articulationName) {
const articulations = model.sceneGraph._runtimeArticulations;
viewModel.articulations = Object.keys(articulations).map(function (
articulationName
) {
return {
name: articulationName,
stages: model._runtime.articulationsByName[
articulationName
].stages.map(function (stage) {
const stageModel = {
name: stage.name,
minimum: stage.minimumValue,
maximum: stage.maximumValue,
current: stage.currentValue,
};
Cesium.knockout.track(stageModel);
Cesium.knockout.defineProperty(stageModel, "currentText", {
get: function () {
return stageModel.current.toString();
},
set: function (value) {
// coerce values to number
stageModel.current = +value;
},
});
Cesium.knockout
.getObservable(stageModel, "current")
.subscribe(function (newValue) {
model.setArticulationStage(
`${articulationName} ${stage.name}`,
+stageModel.current
);
model.applyArticulations();
stages: articulations[articulationName]._runtimeStages.map(
function (stage) {
const stageModel = {
name: stage.name,
minimum: stage.minimumValue,
maximum: stage.maximumValue,
current: stage.currentValue,
};
Cesium.knockout.track(stageModel);
Cesium.knockout.defineProperty(stageModel, "currentText", {
get: function () {
return stageModel.current.toString();
},
set: function (value) {
// coerce values to number
stageModel.current = +value;
},
});
return stageModel;
}),
Cesium.knockout
.getObservable(stageModel, "current")
.subscribe(function (newValue) {
model.setArticulationStage(
`${articulationName} ${stage.name}`,
+stageModel.current
);
model.applyArticulations();
});
return stageModel;
}
),
};
});
viewModel.selectedArticulation = viewModel.articulations[0];
Expand Down
Loading

0 comments on commit 8c92d86

Please sign in to comment.