34 Commits

Author SHA1 Message Date
uclaros
652b6a630d limit what's exposed to python 2024-01-19 06:51:53 -08:00
uclaros
d8996ae33b Add 3D map canvas handling methods to QgisInterface 2024-01-19 06:51:53 -08:00
uclaros
75607c05f8 Qgs3DMapCanvas + Qgs3DWindow = <3 2024-01-19 06:51:53 -08:00
Nyall Dawson
9099fa4f3e Add a physically based metal rough material
Adds a new material choice for a physically based metal/roughness
material. Options are available for setting the material base color,
metalness and roughness.

Internally this uses a clone of Qt's QMetalRoughMaterial class. We
use a copy of the Qt class instead of relying on Qt's implementation
as longer-term improvements (such as data defined base color) will
require a re-implementation anyway. By using our own material we
will avoid having two different code paths for the data-defined/
non-data defined scenarios.
2024-01-11 11:43:01 +10:00
Martin Dobias
fa49d149fe sip fixes 2023-12-18 12:07:17 +01:00
Martin Dobias
9eb35537e7 Add Python bindings for tiled scene 3D renderer 2023-08-16 13:19:44 +10:00
Nyall Dawson
176807bc35 Provide a basic way to access open 3d scenes via PyQGIS
Qgs3DMapScene.openScenes() will now return a map of
open Qgs3DMapScene objects (by name) visible in the app. Various
basic properties of the scene are exposed, including
the camera controller, allowing access to navigate 3d
scenes via python
2023-02-23 13:53:34 +10:00
Nyall Dawson
9803439f5e Add a base class for light sources 2022-04-27 11:50:13 +10:00
Nyall Dawson
d42f2792d2 Move lighting classes to subfolder 2022-04-27 11:50:13 +10:00
NEDJIMAbelgacem
955eaff38f Address reviews 2020-12-03 22:27:20 +01:00
NEDJIMAbelgacem
05149fa76f move handler to qgspointcloud3dsymbol_p 2020-12-03 22:27:20 +01:00
NEDJIMAbelgacem
a271e819bb split the point cloud handler 2020-12-03 22:27:20 +01:00
NEDJIMAbelgacem
27221617d6 try to fix compilation 2020-12-03 22:27:20 +01:00
NEDJIMAbelgacem
9655a1e8d0 sipify qgspointcloud3dsymbol 2020-11-17 17:22:44 +01:00
Nyall Dawson
2dcbf95099 [3d] Add new material type "QgsNullMaterialSettings"
This is a "null" shading material which should be used when
rendering models or scenes with native textures and no material
should be explicitly set on the loaded entities.
2020-11-14 09:02:16 +10:00
Peter Petrik
b7e8071831 some stubs for 3d classes 2020-10-27 05:29:14 +10:00
Nyall Dawson
23848e0e89 Start cleaning up label line settings, by moving them from the
QgsPalLayerSettings mega class to a dedicated QgsLabelLineSettings
class
2020-08-17 11:12:33 +10:00
NEDJIMAbelgacem
58d280be60 Fix merge conflict
Merge branch 'master' into skybox-feature
2020-08-04 08:33:53 +01:00
NEDJIMAbelgacem
4ac66d08c8 Add SIP_NO_FILE and fix bindings 2020-08-04 07:07:51 +01:00
Nyall Dawson
b07e0a20d0 Split textured phong material class from basic phong material class 2020-08-03 16:34:10 +10:00
Nyall Dawson
4d5518531f Split simple line material out from phong material 2020-08-03 16:34:10 +10:00
Nyall Dawson
c87a8f6afb Code shuffle to move all material classes to separate subdirectory 2020-08-03 16:34:10 +10:00
Nyall Dawson
d579d67a4a [3d] Add a registry for 3d material settings 2020-07-28 20:45:50 +10:00
Nyall Dawson
f2e4ac606e [3d] Abstract out material settings
Opens the possibilities for non-phong based materials for 3d symbols
2020-07-24 16:28:18 +10:00
Nyall Dawson
f60b79fcea Move QgsAbstract3DSymbol to core 2020-07-23 07:53:20 +10:00
Nyall Dawson
bf7d746ae4 [api] Add a Qgs3D singleton object, designed to collect other singleton-ish
objects in a central place

Copying the pattern setup by the QgsGui singleton container
2020-07-15 16:10:25 +10:00
nedjima
9556bd2147 [Feature] directional lights support for QGIS 3D 2020-06-20 04:31:10 +10:00
Nyall Dawson
1f835dfa9a [3d] Expose 3d algorithms provider to Python
Otherwise this provider cannot be initialized from standalone Python
scripts

Fixes #36661

Also cleanup 3d sip generation by correctly defining SIP_NO_FILE
in headers we don't want to expose, so that the sip_include script
can do its magic
2020-05-29 03:44:55 +10:00
Martin Dobias
520246174a Fixes to SIP finally working 2020-04-19 08:14:49 +10:00
Martin Dobias
cad7cf4a06 Add QgsLayoutItem3DMap to PyQGIS [not working yet] 2020-04-19 08:14:49 +10:00
Martin Dobias
64769f4dab sipify, doxygen, spelling 2020-01-11 16:44:45 +01:00
Martin Dobias
9875821b04 Review fixes, sip, doc fixes, icons, style panel fix 2019-01-18 09:32:53 +01:00
Martin Dobias
8814e40635 Move altitude binding/clamping enums to Qgs3DTypes + add culling mode in Python 2018-10-14 16:32:24 +02:00
Martin Dobias
88cb8313c8 Python bindings for QGIS 3D library 2018-10-13 22:05:39 +02:00