-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iTwin Reality Data integration #12334
Conversation
Thank you for the pull request, @jjspace! ✅ We can confirm we have a CLA on file for you. |
@ggetz I know we discussed it this morning but can you do a quick pass on the API here just to confirm it looks good? then I'll start adding tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall API looks good @jjspace! Just a few comments.
@ggetz I've added tests now and I think addressed all your comments above. Should be ready for another look and I think it's close to done if not already there |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking good @jjspace!
I noticed that the reality mesh looks a bit blurry at the default settings. I was getting a comparable visual to other photogrammetry tilesets after setting the max SSE to 4
—
realityMesh.maximumScreenSpaceError = 4;
I'm guessing this may be because the geometric error of the tileset is balanced against the iTwin viewer, what may have different tile selection metrics. Have you seen the same for other Reality Data meshes?
What do you think of passing a default of 4
for all with the type of RealityMesh3DTiles
?
@ggetz I agree the tileset in the sandcastle was too low quality by default. I check some other reality meshes I have access to and sse of 4 looked better on all of them too so I just set it as the default as you suggested. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks fantastic, thanks @jjspace!
fyi @matmarchand |
iTwinId, | ||
realityDataId, | ||
type, | ||
rootDocument, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe type and rootDocument should be extracted from the reality data metadata to ensure that they are consistent with what actually exist in the storage container... or maybe this is our way to avoid a call to get metadata since they were already extracted and assumed consistent?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or maybe this is our way to avoid a call to get metadata since they were already extracted and assumed consistent?
@matmarchand You are correct. If either of these values is missing we will fetch the metadata needed to load the tileset. This will likely only the rootDocument commonly but we grab and update both from the new request anyway.
However if the application using this function already has these values we can skip that network call. This could happen if the app loads the list of reality data using return=representation
instead of return=minimal
. Or if the app already called the individual metadata route themselves. No need to waste extra time and bandwidth if the info is already accessible
Description
This PR is building off of #12289 to add an easy function to load Reality Data meshes. Currently we are only supporting 3D Tiles meshes and pointcloud types of Reality Data to keep the initial integration simple. More can be added in the future but they will require different datasources and constructors in CesiumJS and will require a little more thought on how to design the API.
Issue number and link
No issue
Testing plan
Author checklist
CONTRIBUTORS.md
CHANGES.md
with a short summary of my change