Is there an equivalent to "set terrain exaggerate" for a layer or graphics overlay?

638
4
Jump to solution
01-10-2023 05:42 AM
TroyFoster
Occasional Contributor

I have a graphic in a sceneview and I want to be able to exaggerate the terrain and the relative height of the graphics.  I see in https://developers.arcgis.com/qt/cpp/api-reference/esri-arcgisruntime-layersceneproperties.html#alti... the altitude offset but that only seems to add to the height of the graphic, it is not a multiplier.  Is there a different function I should be using for that?

0 Kudos
1 Solution

Accepted Solutions
TroyFoster
Occasional Contributor

I figured out I can just iterate through all the graphics in my overlay and for each of them have a new polylineBuilder that will make new parts and points with a scaled Z factor and then call setGeometry on each of them.

View solution in original post

4 Replies
KoushikHajra
Esri Contributor

Hello @TroyFoster Thank you for reaching out to us with your question. 

We have something called Extrusion, which is part of a class called `RendererSceneProperties`. You can set an extrusion expression based on an attribute. See this doc: https://developers.arcgis.com/qt/cpp/api-reference/esri-arcgisruntime-renderersceneproperties.html#s...

Does this help? We have samples demonstrating extrusion as well. Please take a look at https://developers.arcgis.com/qt/cpp/sample-code/extrude-graphics/. Let me know if that's something you were looking for. 

Regards,

Koushik

0 Kudos
TroyFoster
Occasional Contributor

So how would I apply that expression to a polyline that has varying heights along it? (edit: like a flight path)

I am not encoding the height as a value in the feature or graphic since it changes, I am putting them into the z axis of the point coordinates I put into a polylineBuilder.

0 Kudos
TroyFoster
Occasional Contributor

I found this article, https://desktop.arcgis.com/en/arcmap/latest/extensions/arcscene/vertical-exaggeration-and-z-unit-con... , describing that what I want was possible for older arcmap/arcscene

0 Kudos
TroyFoster
Occasional Contributor

I figured out I can just iterate through all the graphics in my overlay and for each of them have a new polylineBuilder that will make new parts and points with a scaled Z factor and then call setGeometry on each of them.