[QGIS-Developer] Rendering simple 3D lines
Nyall Dawson
nyall.dawson at gmail.com
Tue Sep 7 20:41:25 PDT 2021
On Wed, 8 Sept 2021 at 13:27, <rnathreddy at sanasw.com> wrote:
>
> Hi,
>
> We are developing a simple 3D viewer to display the DEM and overlay a
> trajectory (vector layer) as a simple 3d lines. It is working fine and
> vector file is draped on to the terrain. We want to display the vector
> file as simple 3d lines.
>
> We could see the same in QGIS application by setting the Vector Layer
> properties 3D View => Render as simple 3D lines.
>
> Trying to set same programmatically, but getting the following error.
>
> " ..\..\..\src\3d\qgsvectorlayerchunkloader_p.cpp(57) :
> (QgsVectorLayerChunkLoader::QgsVectorLayerChunkLoader) [15960ms]
> Unknown
> 3D symbol type for vector layer: line "
Possibly you are missing a call to Qgs3D::initialize() somewhere in
your application startup.
Nyall
>
> The following code snippet used:
>
> if (pcLyr != nullptr) {
>
> std::unique_ptr< QgsLine3DSymbol > sym = qgis::make_unique<
> QgsLine3DSymbol >();
> std::unique_ptr< QgsPhongMaterialSettings > mCurrentSettings;
>
> mCurrentSettings = qgis::make_unique< QgsPhongMaterialSettings >();
>
> sym->setWidth (1);
> sym->setHeight (0);
> sym->setExtrusionHeight(0);
> sym->setAltitudeClamping(Qgs3DTypes::AltClampAbsolute);
> sym->setAltitudeBinding(Qgs3DTypes::AltBindVertex);
> sym->setRenderAsSimpleLines(true);
> sym->setMaterial(mCurrentSettings->clone());
>
> QgsVectorLayer3DRenderer *pcR = new QgsVectorLayer3DRenderer
> (sym->clone());
> pcLyr->setRenderer3D(pcR);
> }
>
>
> Can any one help us in this regard?
>
> Regards
> Raghunath
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
More information about the QGIS-Developer
mailing list