|
POST
|
Hi Luke! Yeah i feel fine. But in the last weeks we were struggeling with ScreenToLocation in 3D. This call is async and on destruction of scene/sceneView a segmentation fault may arise. Most likely a wrong of missing cleanup of some objects/threads... It ´s already shared with Eric and logged (BUG-000109976 - Segmentation fault on Scene Viewer destruction) Regaring this question: Due to your code snippet i was able to get my code work! Thank you very much for your very quick and helpful answer! Hopefully the cleanup for locationToElevation is done correct. Until now i was not able to get an error like described above 🙂 But one more question: What do a have to do, if there are more than one elevationSourceUrls? Load surface if ALL elevationSources are loaded? Or is it sufficiant to load surface on doneLoading of ONE elevationSource? And most important: Luke, i wish your a merry Christmas and a happy new Year! Thanks!
... View more
12-18-2017
01:58 AM
|
0
|
1
|
1373
|
|
POST
|
Hi All! I´m able to use the screenToLocation/screenToBaseSurface call to get the appropriate location containing x and y and also the desired elevation available at z(). The necessery assignment of the elevationSourceUrl is simple and it worsk for 3D - fine. But whats about 2D: Eric Bader gave me the hint to have a look at the Surface class - Surface Class | ArcGIS for Developers and its locationToElevation method. Unfortunatly i can´t get it work. What i did: create Esri::ArcGISRuntime::ArcGISTiledElevationSource per URL create Esri::ArcGISRuntime::Surface using the elecationSources (as QList) request elevation by connect locationToElevationCompleted to an appropriate slot (onLocationToElevationCompleted) call locationToElevation on that surface but the result in onLocationToElevationCompleted is nan (not a number) My questions are: What is missing? Like: Where do i have to call Loadable::load()?On Surface (cascading loading?) or every ArcGISTiledElevationSource directly? Or both? Do i have to enable the single ArcGISTiledElevationSources? (setEnable()) I think there are many question for an essential problem, isn´t it? Is there an example? Thanks in advance! Norbert
... View more
12-15-2017
05:18 AM
|
0
|
3
|
1588
|
|
POST
|
Hi! Is it scheduled to a add a Scale Bar like Source: https://developers.arcgis.com/java/10-2/sample-code/scale-bar/ and what is about an overview map? Hopefully in Update 2? Thank you! (Unfortunately there is no roadmap/list of scheduled features available for at least a couple of years....)
... View more
12-13-2017
04:21 AM
|
0
|
1
|
1020
|
|
BLOG
|
Hi Luke! Can you make clear if this works for the 3d scene also? Is it possible to scale the arrow? (Scale the lineWithArrow and keep the ratio between line thickness and arrowSize) Thanks!
... View more
12-13-2017
04:11 AM
|
0
|
0
|
1222
|
|
POST
|
Hi Eric! Linux: ArcGIS: V100.1 OpenSuse 42.3 x86_64 Qt: 5.9.1 gcc: gcc version 4.8.5 The second example reproduces the problem in ~2 seconds The first example requires manual interaction. Here is the description: I use the ESRI example 'BasicSceneView' to show a simple 3D scene. I modified the user interface (ui) to create/destroy the sceneView clicking on a button. (Use case: create an application and the use can switch between 2D and 3D.) I add a timer calling m_sceneView->screenToLocation every 50ms. Behaviour: The basemap (crash should be reproducable using the topographic.tpk) is loaded and then: - i resize the window and therefore the size of the scene widget ( i increase/decrease the width) - move the scene using the mouse and release the button while moving - destroy the scene (press 'create/destroy') while the scene is still moving -> crash -> you got it -> verify call stack -> create the scene again (press 'create/destroy') start at the beginning Based on my experience i need not more than 10 attempts to reproduce the crash. Assumption: The asynchron operation 'screenToLocation' is performed in a seperate thread (maybe more than one at the same time) and there a not synchronized correctly while shutting down the scene/sceneView. [Maybe the situation causing the problem is focused here!? https://stackoverflow.com/questions/44160753/strange-shared-ptr-behaviour (https://youtu.be/JfmTagWcqoE?t=13m)] (gdb) bt #0 0x00007fffec25aeea in ?? () from /usr/lib64/libnvidia-glcore.so.384.69 #1 0x00007fffec2b9687 in ?? () from /usr/lib64/libnvidia-glcore.so.384.69 #2 0x00007fffec2b97ee in ?? () from /usr/lib64/libnvidia-glcore.so.384.69 #3 0x00007fffec2b24e6 in ?? () from /usr/lib64/libnvidia-glcore.so.384.69 #4 0x00007fffebef297b in ?? () from /usr/lib64/libnvidia-glcore.so.384.69 #5 0x00007fffebef37f6 in ?? () from /usr/lib64/libnvidia-glcore.so.384.69 #6 0x00007ffff144487e in ?? () from /usr/lib64/libruntimecore.so #7 0x00007ffff145257b in ?? () from /usr/lib64/libruntimecore.so #8 0x00007ffff0afcadf in ?? () from /usr/lib64/libruntimecore.so #9 0x00007ffff0507404 in ?? () from /usr/lib64/libruntimecore.so #10 0x00007fffefe77212 in RT_GeoView_pause () from /usr/lib64/libruntimecore.so #11 0x00007ffff755ae36 in ESRI::RuntimeCore::QRTGeoView::pause(ESRI::RuntimeCore::QRTDevice*, ESRI::RuntimeCore::QRTGraphicsHardwareResources) () from /usr/lib64/libEsriCommonQt.so #12 0x00007ffff784a065 in QRTImpl::GeoViewImpl::pause(std::shared_ptr<QRTImpl::DeviceImpl> const&, QRTImpl::GraphicsHardwareResources) () from /usr/lib64/libEsriCommonQt.so #13 0x00000000004c4b5a in Esri::ArcGISRuntime::GeoView::pauseAndRecycleResources() () #14 0x00000000004d5c37 in Esri::ArcGISRuntime::SceneGraphicsScene::~SceneGraphicsScene() () #15 0x00000000004d5c49 in Esri::ArcGISRuntime::SceneGraphicsScene::~SceneGraphicsScene() () #16 0x000000000048e419 in Esri::ArcGISRuntime::SceneGraphicsView::~SceneGraphicsView() () #17 0x000000000048e469 in Esri::ArcGISRuntime::SceneGraphicsView::~SceneGraphicsView() () #18 0x00000000004734e2 in MyWidget::~MyWidget() () #19 0x00000000004735c9 in MyWidget::~MyWidget() () #20 0x0000000000474132 in BasicSceneView::onCreateDestroy() () #21 0x00007ffff4cbb493 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5 #22 0x00007ffff65d3e72 in QAbstractButton::clicked(bool) () from /usr/lib64/libQt5Widgets.so.5 #23 0x00007ffff65d407a in ?? () from /usr/lib64/libQt5Widgets.so.5 #24 0x00007ffff65d5573 in ?? () from /usr/lib64/libQt5Widgets.so.5 #25 0x00007ffff65d56e4 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQt5Widgets.so.5 #26 0x00007ffff6463507 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #27 0x00007ffff6425b6c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #28 0x00007ffff642cf5c in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #29 0x00007ffff4c91935 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #30 0x00007ffff642bdd9 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQt5Widgets.so.5 #31 0x00007ffff647bc11 in ?? () from /usr/lib64/libQt5Widgets.so.5 #32 0x00007ffff647e173 in ?? () from /usr/lib64/libQt5Widgets.so.5 #33 0x00007ffff6425b6c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #34 0x00007ffff642c8c0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #35 0x00007ffff4c91935 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #36 0x00007ffff5cb34ed in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib64/libQt5Gui.so.5 #37 0x00007ffff5cb50a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5 #38 0x00007ffff5c938ab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5 #39 0x00007fffe79a0ec0 in ?? () from /usr/lib64/libQt5XcbQpa.so.5 #40 0x00007fffed21e134 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
... View more
11-23-2017
12:15 AM
|
0
|
0
|
1161
|
|
POST
|
Hi Eric! Good to know, that the code freeze isn`t reached yet. So there is a chance that the bug can be solved 🙂 I don´t like to put more pressure than necessary but the truth is: We need this bug to be solved or a 100%workaround until mid of February! Almost certainly we have to escalate this bug otherwise. Thanks for your support! Norbert
... View more
11-21-2017
11:47 PM
|
1
|
2
|
1161
|
|
POST
|
Hi! Is Update 2 already "code freezed"? It would be very nice if ESRI could take this problem into account: I am able to reproduce a segmentation fault if a SceneGraphicsView is destroyed (and screenToLocation where performed before). Behaviour: The basemap (crash should be reproducable using the topographic.tpk) is loaded and then: - i resize the window and therefore the size of the scene widget ( i increase/decrease the width) - move the scene using the mouse and release the button while moving - destroy the scene (press 'create/destroy') while the scene is still moving -> crash -> you got it -> verify call stack -> create the scene again (press 'create/destroy') start at the beginning Based on my experience i need not more than 10 attempts to reproduce the crash. EDIT: Or you can simply use the second example "BasicSceneView_crashOnResizeDestroy_2017-11-21_automatic.tgz" (Run and after several seconds....segFault) I already opened an official case "Esri Case #02020238 - [BOS] segmentation fault on destruction", and i will add the BUG number if available (hopefully only in a few days) (I add the same example to reproduce the issue as attached to the case.) Thanks in advance! Norbert
... View more
11-21-2017
06:31 AM
|
0
|
4
|
1332
|
|
POST
|
What is the wkid of the data (C:/Projects/NewMaps/myMap.tif) you are using? I can imagine that your tif has to be reprojected ... I would like to suggest using the Topographic.tpk (found arcgis-runtime-demo-java/Topographic.tpk at master · Esri/arcgis-runtime-demo-java · GitHub) take care
... View more
11-21-2017
06:12 AM
|
0
|
0
|
914
|
|
POST
|
I use a map (3D) and a scene (3D) To display an object i use the PictureMarkerSymbol and assign an image to it. By applying the geometry i can place the object on the map - fine. But in the 3d context i would like to apply the z-value to the geometry/object too. How can i do this? The DictionaryRenderer displays a line to the bottom (using alternating colors) I would like to consider this as a next step - if possible. Any hints? Thanks in advance
... View more
08-31-2017
05:48 AM
|
0
|
2
|
867
|
|
POST
|
Hi Luke! My mistake: I assumed that i have to apply a QString to the attributeMap. So i wrote: QString heightStr = QString(QLatin1Literal("%1")).arg(m_height.value()); heightStr.replace(QLatin1Char(','), QLatin1Char('.')); // required??? att[QLatin1String("height")] = heightStr; But motivated by your comment i re-thought what i was doing and simplify it to: QVariantMap att = m_graphic->attributes()->attributesMap(); att[QLatin1String("height")] = QVariant(m_height.value()); Or even smaller: m_graphic->attributes()->insertAttribute(QLatin1String("height"), QVariant(m_height.value())); Thanks a lot!
... View more
08-23-2017
04:54 AM
|
1
|
0
|
347
|
|
POST
|
Hi! Thanks! I am using "props.setExtrusionMode(Esri::ArcGISRuntime::ExtrusionMode::BaseHeight);" I will switch to Absolute and let you know the results....
... View more
08-23-2017
04:35 AM
|
1
|
1
|
2034
|
|
POST
|
Hi! In the example code your wrote: att[QLatin1String("height")] = 1000000; Are values like 10.5 or 10,5 supported? My experience is that the the ".5" is not used. If i have a building consisting of 3 floors with an equal height of 2,5m the resulting cubes look not equal: Do you have any information the the resolution of the values to the attribute "height" / "[height]"? Or is there maybe a possibility to change the unit from meter to millimeter or similar? Thank you!
... View more
08-23-2017
12:18 AM
|
0
|
3
|
2034
|
|
POST
|
Hi Eric! Thank you for your answer. In the meantime we recognized that we most likely have to use the absolute height for the buildings and other object. But thank you for your time.
... View more
08-22-2017
11:50 PM
|
1
|
0
|
2330
|
|
POST
|
Here are two screenshots, with and without elevation, but identical camaera position: Without Elevation: Here it´s possible to look "under" the chateau. With Elevation: Here it´s NOT possible to look "under" the chateau. Therefore i assume: - the current SDK is not able to do ground clamping (maybe a bug?) - the service (Scene Layer) does not support ground clamping Can someone make this clear?
... View more
08-11-2017
06:38 AM
|
0
|
2
|
2330
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 10-05-2023 05:17 AM | |
| 1 | 03-14-2023 06:54 AM | |
| 1 | 02-24-2023 03:58 AM | |
| 1 | 06-29-2022 06:12 AM | |
| 1 | 03-12-2021 01:31 AM |
| Online Status |
Offline
|
| Date Last Visited |
04-29-2024
11:30 AM
|