Martin Dobias
2a8ddccba9
Do not spell check poly2tri sources
2017-09-25 15:58:00 +02:00
Martin Dobias
d5d6372e9b
Yet another round of doxygen comments for 3D
...
Getting there!
2017-09-25 15:16:23 +02:00
Martin Dobias
6d9240cfd8
Make sip_include script use the workaround for SIP's path parsing
2017-09-25 00:39:26 +02:00
Martin Dobias
4bf44d5e81
Another round of doxygen comments
2017-09-25 00:29:35 +02:00
Martin Dobias
990f353ae0
More doxygen comments
2017-09-24 16:26:41 +02:00
Martin Dobias
7389588745
More class documentation
2017-09-24 14:12:29 +02:00
Martin Dobias
d91ebe273b
Trying to work around SIP file parsing error (dir starting with number)
2017-09-24 11:57:43 +02:00
Martin Dobias
c92d7dc39b
Docstring/sip fixes in core/3d
2017-09-15 16:44:42 +02:00
Martin Dobias
9778e85159
Add 3d to doxygen, do not verify indentation of included poly2tri lib
2017-09-15 12:36:44 +02:00
Martin Dobias
3f681d1241
Post rebase fixes
2017-09-15 10:39:08 +02:00
Martin Dobias
d213d31aab
More renaming. No code changes
2017-09-15 10:39:08 +02:00
Martin Dobias
260f68abc4
More renaming of 3D-related classes and files. No actual code changes
2017-09-15 10:39:08 +02:00
Martin Dobias
ff5ebe9aef
Renaming and moving of 3D entities for 3D symbols
2017-09-15 10:39:08 +02:00
Martin Dobias
fc28a97ee5
3D symbols: private members + public getters/setters ... just like big kids
2017-09-15 10:39:08 +02:00
Martin Dobias
870d96e268
Moved 3D symbol class implementations into separate files
2017-09-15 10:39:08 +02:00
Martin Dobias
12a0063ec6
Extend range of spin boxes for 3d properties
2017-09-15 10:39:08 +02:00
Martin Dobias
35b37a228f
Ignore invalid polygon geometries to avoid crashes in tessellation
2017-09-15 10:39:08 +02:00
Martin Dobias
33f7c17740
Use middle button for rotation/tilt, right button for zoom
2017-09-15 10:39:08 +02:00
Martin Dobias
7ad57e6410
Remove 3D canvas widget when the dock is closed (just like 2d canvas)
2017-09-15 10:39:08 +02:00
Martin Dobias
0f692bba12
Do not die when passed invalid full extent from QGIS
2017-09-15 10:39:08 +02:00
Martin Dobias
81c591c172
Handle curved geometries (line/polygon 3d symbol) and repeated vertices
2017-09-15 10:39:08 +02:00
Martin Dobias
b234fc525d
Correctly working "zoom full" + more robust near/far plane config
2017-09-15 10:39:08 +02:00
Martin Dobias
9ac3e9cf6b
Heuristics for setup of near/far planes of camera
...
Based on terrain's active nodes, this should configure frustum depth
long enough not to clip away anything that should stay visible and
at the same time make good use of depth buffer (range not too large)
2017-09-15 10:39:08 +02:00
Peter Petrik
7d3cf228d8
[FEATURE] support 3d models
2017-09-15 10:39:08 +02:00
Blottiere Paul
e83ce541ba
Feature selection is also displayed in 3D map view for polygons
2017-09-15 10:39:08 +02:00
Blottiere Paul
c6ff2f685c
Feature selection is also displayed in 3D map view for lines
2017-09-15 10:39:07 +02:00
Blottiere Paul
9478036da6
Get selection color from map canvas
2017-09-15 10:39:07 +02:00
Blottiere Paul
a4e3a77dad
Encapsulate entities for selected/not selected points in a root entity
2017-09-15 10:39:07 +02:00
Blottiere Paul
b0c98b7fcc
[FEATURE] Feature selection is also displayed in 3D map view for points
2017-09-15 10:39:07 +02:00
Peter Petrik
56ed9b0d0c
fix frustum culling for terrain
2017-09-15 10:39:07 +02:00
Martin Dobias
7f1f8a6361
Zoom in/out by pressing middle mouse button and moving up/down
2017-09-15 10:39:07 +02:00
Peter Petrik
d7b821d92e
fix the bug
2017-09-15 10:39:07 +02:00
Martin Dobias
f7c942c879
Respect background color from project's main canvas
2017-09-15 10:39:07 +02:00
Martin Dobias
63adb73f55
Update terrain map whenever an active layer requests repaint
2017-09-15 10:39:07 +02:00
Martin Dobias
489a21d064
Reworked background loading and updating of chunks
...
Before there was a dedicated thread for loading and it was not great because map rendering
requests were started from worker thread which is not potentially dangerous. Updates of map
were done in main thread, blocking user interface - ugly!
Now everything is handled more cleanly - there is one queue of jobs (two types: load chunk / update chunk),
things are started asynchronously from main thread. No dedicated thread / mutex / wait condition.
Better management of states of chunk nodes - state changes are very explicit which is a good thing.
2017-09-15 10:39:07 +02:00
Martin Dobias
905222d2c5
Decide number of zoom levels from max. allowed ground error
2017-09-15 10:39:07 +02:00
Martin Dobias
6df6681326
Read/write 3D renderers of map layers to project files
2017-09-15 10:39:07 +02:00
Martin Dobias
04b00aad6e
Update layer 3D entities when terrain generator or scale change
2017-09-15 10:39:07 +02:00
Martin Dobias
2e03f5d36b
Update list of 3D entities when the list of active layers is changed
2017-09-15 10:39:07 +02:00
Martin Dobias
82f608ee09
GUI for 3D point symbols
2017-09-15 10:39:07 +02:00
Martin Dobias
418dc07ca0
GUI for configuration of 3D line symbols for vector layers
2017-09-15 10:39:07 +02:00
Martin Dobias
ba7573a94e
GUI for configuration of 3D polygon symbols for vector layers
...
In the style dock there is a new "3D View" tab - so far working just for polygon layers.
It is possible to select a polygon layer, enable 3D renderer and adjust its properties.
If a 3D Map View is open, it will be immediately updated (if auto-apply is enabled)
Very exciting! :-)
2017-09-15 10:39:07 +02:00
Martin Dobias
b9dd6bc622
Introduce concept of 3D symbols + addition of "single symbol" vector 3D renderer
2017-09-15 10:38:23 +02:00
Martin Dobias
76f4f69c21
Base class for 3D renderers + a bit of code shuffling
2017-09-15 10:38:23 +02:00
Martin Dobias
3d9d455ebe
Signals/slots in Map3D + partial scene udates from Map3D signals
2017-09-15 10:38:23 +02:00
Martin Dobias
9e0bf1d69c
Terrain settings in GUI, react to changes of visible layers
...
Temporarily disabled 2d canvas preview to better see 3D performance
2017-09-15 10:38:23 +02:00
Martin Dobias
32ad0a7eb0
Start of 3D map configuration widget
2017-09-15 10:38:23 +02:00
Martin Dobias
c8b5e6373b
Fixed flat terrain without CRS defined
2017-09-15 10:38:23 +02:00
Martin Dobias
0469d44301
Initial work on integration of 3D map into QGIS application
...
One can create a 3D map view from menu similar to a new 3D map view
2017-09-15 10:38:23 +02:00
Martin Dobias
8f76477bfb
Move all chunk-related functionality to a sub-directory
2017-09-15 10:38:23 +02:00