Skip to content
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

Globe anchor support #453

Merged
merged 57 commits into from
Oct 6, 2023
Merged

Globe anchor support #453

merged 57 commits into from
Oct 6, 2023

Conversation

weegeekps
Copy link
Contributor

@weegeekps weegeekps commented Aug 24, 2023

Resolves #235.

This PR implements Globe Anchor support for any Xformable prims via a custom API schema. When a user adds a Globe Anchor to a prim, a new transform op with a cesium suffix is added. This transform is used by the anchoring code to place the object in the USD stage. User's can use the transformation widgets as normal, or can set an exact Geographic Coordinate using either Lat/Long/Alt or ECEF. Updating any one of these values updates all of the others.

NOTE: I plan on squashing and merging this PR due to the sheer number of commits, but I'm leaving them here so we can keep the history.

2023-10-04.17-38-22.mp4

@r-veenstra
Copy link
Contributor

@weegeekps orientations are all looking good in my tests!

@weegeekps weegeekps marked this pull request as ready for review October 4, 2023 22:44
@weegeekps weegeekps enabled auto-merge (squash) October 4, 2023 22:44
Copy link
Contributor

@lilleyse lilleyse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Architecturally everything feels well thought out and fits in nicely. I do want to walk through some of the more complex areas offline just so I confirm my understanding.

I also haven't tried running it yet, but I wanted to get this first pass review out.

src/core/src/UsdNotificationHandler.cpp Outdated Show resolved Hide resolved
src/core/src/GeospatialUtil.cpp Outdated Show resolved Hide resolved
src/core/include/cesium/omniverse/OmniGlobeAnchor.h Outdated Show resolved Hide resolved
src/core/src/OmniGlobeAnchor.cpp Outdated Show resolved Hide resolved
src/core/include/cesium/omniverse/OmniGlobeAnchor.h Outdated Show resolved Hide resolved
src/core/src/GeospatialUtil.cpp Outdated Show resolved Hide resolved
@@ -754,4 +831,23 @@ RenderStatistics Context::getRenderStatistics() const {
return renderStatistics;
}

void Context::addGlobeAnchorToPrim(const pxr::SdfPath& path) {
Copy link
Contributor

@lilleyse lilleyse Oct 5, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From offline discussion: are globe anchors added to the registry when loaded from a file? Do we need to watch for globe anchors in processPrimAdded?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed during stand-up, I will be fixing this in a subsequent PR. I opened #489 for this.

@weegeekps
Copy link
Contributor Author

@lilleyse I'm ready for you to take a second pass at this when you're able. In the morning I'm going to fix the things I left untouched today.

@weegeekps weegeekps enabled auto-merge (squash) October 6, 2023 20:03
@weegeekps weegeekps merged commit 8a803a9 into main Oct 6, 2023
3 checks passed
@weegeekps weegeekps deleted the globe-anchors branch October 6, 2023 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Globe anchoring
3 participants