Instead of writing errors to QgsMessageLog and discarding, instead
make the QgsTessellator class store errors and make the callers
responsible for pushing to QgsMessageLog when appropriate.
Gives us more flexibility to show user facing tesselation errors,
eg in the processing log.
* [Feature] texturing support for vector layer
* Fixed tesselation test not passing issue
* Fixed diffuse_texture_path typo
* Refactoring according to code review
* [Bugfix] the texture coordinates are not setup properly for certain walls
* Added seperation between roofs and walls
* [Feature] texture coordinates rotation
* took back the seperation of texture rotation between walls and roofs because the user will be specifying them with different symbols anyway
* Fixed docs test not passing issue
* Fixed compilation problem
* Fixed compilation problem
* Executed sipify_all trying to fix test not passing issue
* [ui] Harmonize play button across the board
* [ui] Better network logger icon
* [ui] Harmonize loop widget of 3D map view
* [ui] Add a record icon and use it in the network logger panel
* [ui] Move icon-less network logger toolbar actions under settings menu
* [ui] Reflect playback stay in the 3D map view's play button
* Fix azure
* Use prefix increment operator to fix cppcheck warnings related to postfixOperator
* [afs] Read field aliases from layer definition
* Fix ui build warning
* [FEATURE][processing] Add modeler algorithm to set a project expression variable
Allows a model to set Project-level expression variables during execution. Especially
useful with the new Export Print Layout algorithms to allow models which dynamically set variables
used in a layout prior to export.
* Add test
* Refactoring according to code review
Co-authored-by: nirvn <nirvn.asia@gmail.com>
Co-authored-by: Even Rouault <even.rouault@spatialys.com>
Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
So far we used a fixed vertical range for 3D bounding boxes with range [0, 500]
This of course would not work well if Z values are outside of this range
(e.g. tiles may not show at all or get pruned prematurely)
The approach now is to start with an estimate of the vertical range based
on few features from the source vector layer and then once our tile is completely
loaded, update the 3D bounding box to better represent the actual 3D extent.