I like to create a cube on a graphicsOverlay in a sceneView (3D) - but without success.
I just can see the plane area drapped on the surface.
I don´t use QML but widget based approach.
What i did:
Create a scene, sceneView connect them and so...
d<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN>m_graphicsLayer<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN><SPAN class="token function">setSceneProperties</SPAN><SPAN class="punctuation token">(</SPAN>Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN><SPAN class="token function">LayerSceneProperties</SPAN><SPAN class="punctuation token">(</SPAN>Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>SurfacePlacement<SPAN class="operator token">::</SPAN>Draped<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">const</SPAN> Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>SpatialReference <SPAN class="operator token">&</SPAN>sr <SPAN class="operator token">=</SPAN> d<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN>m_mapImpl<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN><SPAN class="token function">getEsriSpatialReference</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">// create 4 point for rectangle</SPAN>
<SPAN class="keyword token">const</SPAN> Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>Viewpoint <SPAN class="operator token">&</SPAN>vp <SPAN class="operator token">=</SPAN>
d<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN>m_mapGeoView<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN><SPAN class="token function">currentViewpoint</SPAN><SPAN class="punctuation token">(</SPAN>Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>ViewpointType<SPAN class="operator token">::</SPAN>CenterAndScale<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">const</SPAN> Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>Point <SPAN class="operator token">&</SPAN>mapCenter <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">static_cast</SPAN><SPAN class="operator token"><</SPAN>Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>Point<SPAN class="operator token">></SPAN><SPAN class="punctuation token">(</SPAN>vp<SPAN class="punctuation token">.</SPAN><SPAN class="token function">targetGeometry</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN>
SituationMap<SPAN class="operator token">::</SPAN>PositionCont posContTrans <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">;</SPAN>
Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>PolygonBuilder <SPAN class="token function">builder</SPAN><SPAN class="punctuation token">(</SPAN>sr<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="keyword token">int</SPAN> z <SPAN class="operator token">=</SPAN> <SPAN class="number token">1000</SPAN><SPAN class="punctuation token">;</SPAN>
builder<SPAN class="punctuation token">.</SPAN><SPAN class="token function">addPoint</SPAN><SPAN class="punctuation token">(</SPAN>Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN><SPAN class="token function">Point</SPAN><SPAN class="punctuation token">(</SPAN>posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">x</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">y</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> z<SPAN class="punctuation token">,</SPAN> sr<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
builder<SPAN class="punctuation token">.</SPAN><SPAN class="token function">addPoint</SPAN><SPAN class="punctuation token">(</SPAN>Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN><SPAN class="token function">Point</SPAN><SPAN class="punctuation token">(</SPAN>posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">x</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">y</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> z<SPAN class="punctuation token">,</SPAN> sr<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
builder<SPAN class="punctuation token">.</SPAN><SPAN class="token function">addPoint</SPAN><SPAN class="punctuation token">(</SPAN>Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN><SPAN class="token function">Point</SPAN><SPAN class="punctuation token">(</SPAN>posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">x</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">y</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> z<SPAN class="punctuation token">,</SPAN> sr<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
builder<SPAN class="punctuation token">.</SPAN><SPAN class="token function">addPoint</SPAN><SPAN class="punctuation token">(</SPAN>Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN><SPAN class="token function">Point</SPAN><SPAN class="punctuation token">(</SPAN>posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">x</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">y</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> z<SPAN class="punctuation token">,</SPAN> sr<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">qCritical</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token"><<</SPAN> <SPAN class="string token">" posContTrans="</SPAN> <SPAN class="operator token"><<</SPAN> posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">qCritical</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token"><<</SPAN> <SPAN class="string token">" posContTrans="</SPAN> <SPAN class="operator token"><<</SPAN> posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">qCritical</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token"><<</SPAN> <SPAN class="string token">" posContTrans="</SPAN> <SPAN class="operator token"><<</SPAN> posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="token function">qCritical</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token"><<</SPAN> <SPAN class="string token">" posContTrans="</SPAN> <SPAN class="operator token"><<</SPAN> posContTrans<SPAN class="punctuation token">[</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">;</SPAN>
Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>SimpleFillSymbol<SPAN class="operator token">*</SPAN> sls <SPAN class="operator token">=</SPAN>
<SPAN class="keyword token">new</SPAN> Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN><SPAN class="token function">SimpleFillSymbol</SPAN><SPAN class="punctuation token">(</SPAN>Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>SimpleFillSymbolStyle<SPAN class="operator token">::</SPAN>Solid<SPAN class="punctuation token">,</SPAN> Qt<SPAN class="operator token">::</SPAN>red<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>SimpleRenderer <SPAN class="operator token">*</SPAN>renderer <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN><SPAN class="token function">SimpleRenderer</SPAN><SPAN class="punctuation token">(</SPAN>sls<SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>RendererSceneProperties props <SPAN class="operator token">=</SPAN> renderer<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN><SPAN class="token function">sceneProperties</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
props<SPAN class="punctuation token">.</SPAN><SPAN class="token function">setExtrusionMode</SPAN><SPAN class="punctuation token">(</SPAN>Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>ExtrusionMode<SPAN class="operator token">::</SPAN>BaseHeight<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
props<SPAN class="punctuation token">.</SPAN><SPAN class="token function">setExtrusionExpression</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="token function">QLatin1String</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"height"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
renderer<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN><SPAN class="token function">setSceneProperties</SPAN><SPAN class="punctuation token">(</SPAN>props<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
d<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN>m_graphicsLayer<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN><SPAN class="token function">setRenderer</SPAN><SPAN class="punctuation token">(</SPAN>renderer<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN>Graphic <SPAN class="operator token">*</SPAN>graphic <SPAN class="operator token">=</SPAN> <SPAN class="keyword token">new</SPAN> Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN><SPAN class="token function">Graphic</SPAN><SPAN class="punctuation token">(</SPAN> Esri<SPAN class="operator token">::</SPAN>ArcGISRuntime<SPAN class="operator token">::</SPAN><SPAN class="token function">Polygon</SPAN><SPAN class="punctuation token">(</SPAN>builder<SPAN class="punctuation token">.</SPAN><SPAN class="token function">toGeometry</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>Create <SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">this</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
QVariantMap att <SPAN class="operator token">=</SPAN> graphic<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN><SPAN class="token function">attributes</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN><SPAN class="token function">attributesMap</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
att<SPAN class="punctuation token">[</SPAN><SPAN class="token function">QLatin1String</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"height"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="operator token">=</SPAN> <SPAN class="number token">1000000</SPAN><SPAN class="punctuation token">;</SPAN>
d<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN>m_graphicsLayer<SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN><SPAN class="token function">graphics</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="operator token">-</SPAN><SPAN class="operator token">></SPAN><SPAN class="token function">append</SPAN><SPAN class="punctuation token">(</SPAN>graphic<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
I tried the RenderingMode::Static and also Dynamic.. No height is visible.
What is missing?
Can someone help me?
Thx
Norbert