Skip to content

Commit

Permalink
Merge branch 'main' into voxel-gltf
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeshurun Hembd committed Jan 24, 2025
2 parents 3efe3b0 + dc667cd commit f648114
Show file tree
Hide file tree
Showing 74 changed files with 1,829 additions and 896 deletions.
19 changes: 19 additions & 0 deletions .github/actions/check-for-CLA/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,22 @@ const postCommentOnPullRequest = async (hasSignedCLA, errorFoundOnCLACheck) => {
);
};

const addLabelToPullRequest = async () => {
const octokit = new Octokit();

return octokit.request(
`POST /repos/${PULL_REQUST_INFO.owner}/${PULL_REQUST_INFO.repoName}/issues/${PULL_REQUST_INFO.id}/labels`,
{
labels: ["PR - Needs Signed CLA"],
headers: {
authorization: `bearer ${PULL_REQUST_INFO.gitHubToken}`,
accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
},
},
);
};

const main = async () => {
let hasSignedCLA;
let errorFoundOnCLACheck;
Expand All @@ -153,6 +169,9 @@ const main = async () => {
}

await postCommentOnPullRequest(hasSignedCLA, errorFoundOnCLACheck);
if (!hasSignedCLA) {
await addLabelToPullRequest();
}
};

main();
6 changes: 3 additions & 3 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
run: node index.js
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PULL_REQUEST_ID: ${{ github.event.number }}
PULL_REQUEST_ID: ${{ github.event.number }}
GOOGLE_KEYS: ${{ secrets.GOOGLE_KEYS }}
INDIVIDUAL_CLA_SHEET_ID: ${{ secrets.INDIVIDUAL_CLA_SHEET_ID }}
CORPORATE_CLA_SHEET_ID: ${{ secrets.CORPORATE_CLA_SHEET_ID }}
INDIVIDUAL_CLA_SHEET_ID: ${{ secrets.INDIVIDUAL_CLA_SHEET_ID }}
CORPORATE_CLA_SHEET_ID: ${{ secrets.CORPORATE_CLA_SHEET_ID }}
7 changes: 7 additions & 0 deletions .idea/prettier.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,8 @@
},
"no-inline-html": {
"allowed_elements": ["details", "summary"]
},
"blanks-around-fences": {
"list_items": false
}
}
3 changes: 1 addition & 2 deletions .markdownlintignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@
/ThirdParty
/Tools/**

CHANGES.md
LICENSE.md
LICENSE.md
11 changes: 0 additions & 11 deletions .slackbot.yml

This file was deleted.

13 changes: 13 additions & 0 deletions .vscode/cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,15 @@
"3DTILES",
"aabb",
"Amato",
"basisu",
"bathymetric",
"bitangent",
"bitangents",
"bivariate",
"Bourke",
"brdf",
"cartesians",
"carto",
"cartographics",
"cesiumjs",
"comms",
Expand All @@ -54,20 +56,26 @@
"dijit",
"DONT",
"ecef",
"Eigen",
"emscripten",
"EPSG",
"fxaa",
"gdal",
"glsl",
"gltf",
"iframes",
"iife",
"Khronos",
"lerp",
"Lilli",
"maki",
"MAXAR",
"minifiers",
"mipmapped",
"mipmaps",
"msaa",
"noaa",
"Occludee",
"Occluder",
"occluders",
"octree",
Expand All @@ -79,7 +87,10 @@
"pnts",
"quantizations",
"reproject",
"slerp",
"tada",
"teme",
"tipsify",
"topo",
"topojson",
"Transitioner",
Expand All @@ -92,7 +103,9 @@
"unregisters",
"unrenderable",
"voxel",
"VVLH",
"WEBG",
"WMTS",
"xdescribe"
]
}
184 changes: 184 additions & 0 deletions Apps/Sandcastle/gallery/iTwin Feature Service.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
/>
<meta
name="description"
content="Use Viewer to start building new applications or easily embed Cesium into existing applications."
/>
<meta name="cesium-sandcastle-labels" content="Beginner, Showcases" />
<title>iTwin Feature Service</title>
<script type="text/javascript" src="../Sandcastle-header.js"></script>
<script type="module" src="../load-cesium-es6.js"></script>
</head>
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);
</style>
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar">
<div id="layers"></div>
</div>
<script id="cesium_sandcastle_script">
window.startup = async function (Cesium) {
"use strict";
//Sandcastle_Begin
const serviceResponse = await fetch("https://api.cesium.com/itwin/token");
const { access_token: token } = await serviceResponse.json();

Cesium.ITwinPlatform.defaultAccessToken = token;

const iTwinId = "04ba725f-f3c0-4f30-8014-a4488cbd612d";

const viewer = new Cesium.Viewer("cesiumContainer", {
geocoder: false,
sceneModePicker: false,
homeButton: false,
timeline: false,
animation: false,
});
viewer.baseLayerPicker.viewModel.selectedImagery =
viewer.baseLayerPicker.viewModel.imageryProviderViewModels[2];

const birdsEyeView = {
destination: new Cesium.Cartesian3(
-1525359.4318772827,
6191643.528984093,
148851.5321709012,
),
orientation: new Cesium.HeadingPitchRoll(
0.16657338935967037,
-0.7943050121851765,
6.283180723449992,
),
duration: 0,
easingFunction: Cesium.EasingFunction.LINEAR_NONE,
};
viewer.scene.camera.flyTo(birdsEyeView);

// Load feature service geojson files
const points = await Cesium.ITwinData.createDataSourceForRealityDataId(
iTwinId,
"57b975f6-fd92-42ba-8014-79911ed606d1",
);
const lines = await Cesium.ITwinData.createDataSourceForRealityDataId(
iTwinId,
"1099c53f-c568-48a3-a57c-0230a6f37229",
);
const areas = await Cesium.ITwinData.createDataSourceForRealityDataId(
iTwinId,
"21eaf0d0-ab90-400f-97cf-adc455b29a78",
);

// Add some styling to the lines and points to differentiate types
const pinBuilder = new Cesium.PinBuilder();
points.entities.values.forEach(async (entity) => {
const styleByType = {
Tree: { color: Cesium.Color.GREEN, icon: "park2" },
Lamp_post: { color: Cesium.Color.WHITE, icon: "lighthouse" },
Traffic_light: { color: Cesium.Color.CRIMSON, icon: "circle-stroked" },
Arrow_Marking: { color: Cesium.Color.YELLOW, icon: "car" },
Road_Sign: { color: Cesium.Color.ORANGE, icon: "triangle" },
};
const type = entity.properties.Type?.getValue();
if (Cesium.defined(type) && Cesium.defined(styleByType[type])) {
const { color, icon } = styleByType[type];
const canvas = await pinBuilder.fromMakiIconId(icon, color, 48);
entity.billboard.image = canvas.toDataURL();
entity.billboard.verticalOrigin = Cesium.VerticalOrigin.BOTTOM;
}
});
lines.entities.values.forEach((entity) => {
const lineColorsByType = {
Contours: Cesium.Color.CRIMSON,
Lane_Marking: Cesium.Color.CYAN,
Kerb: Cesium.Color.BLUEVIOLET,
Chevron_marking: Cesium.Color.DARKORANGE,
Turning_pocket: Cesium.Color.DEEPPINK,
Yellow_Box: Cesium.Color.GOLD,
};
const type = entity.properties.Type?.getValue();
if (Cesium.defined(type) && Cesium.defined(lineColorsByType[type])) {
entity.polyline.material = lineColorsByType[type];
}
});

// add the geojsons to the viewer
viewer.dataSources.add(points);
viewer.dataSources.add(lines);
viewer.dataSources.add(areas);

// Create tileset of the reality data mesh and pointcloud
const realityMeshId = "62e4432d-621d-489a-87ff-1fc56a2b5369";
const realityMesh = await Cesium.ITwinData.createTilesetForRealityDataId(
iTwinId,
realityMeshId,
);
viewer.scene.primitives.add(realityMesh);
const pointcloudId = "ebf2ee74-f0de-4cd6-a311-19a169c55fdc";
const pointcloud = await Cesium.ITwinData.createTilesetForRealityDataId(
iTwinId,
pointcloudId,
);
// increase the size of the pointcloud points and turn on attenuation to
// make them more visible in the viewer
pointcloud.maximumScreenSpaceError = 1;
pointcloud.pointCloudShading.attenuation = true;
pointcloud.style = new Cesium.Cesium3DTileStyle({
pointSize: 5.0,
});
pointcloud.show = false;
viewer.scene.primitives.add(pointcloud);

Sandcastle.addToolbarButton(
"Toggle Points",
() => (points.show = !points.show),
"layers",
);
Sandcastle.addToolbarButton(
"Toggle Lines",
() => (lines.show = !lines.show),
"layers",
);
Sandcastle.addToolbarButton(
"Toggle Areas",
() => (areas.show = !areas.show),
"layers",
);
Sandcastle.addToolbarButton(
"Toggle Reality Mesh",
() => (realityMesh.show = !realityMesh.show),
"layers",
);
Sandcastle.addToolbarButton(
"Toggle Pointcloud",
() => (pointcloud.show = !pointcloud.show),
"layers",
);

Sandcastle.addToolbarButton("Birdseye View", () => {
viewer.scene.camera.flyTo(birdsEyeView);
});
Sandcastle.addToolbarButton("Zoom to Pointcloud", () => {
pointcloud.show = true;
viewer.zoomTo(pointcloud);
});
//Sandcastle_End
Sandcastle.finishedLoading();
};
if (typeof Cesium !== "undefined") {
window.startupCalled = true;
window.startup(Cesium).catch((error) => {
"use strict";
console.error(error);
});
}
</script>
</body>
</html>
Binary file added Apps/Sandcastle/gallery/iTwin Feature Service.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit f648114

Please sign in to comment.