QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
gui
tiledscene
qgstiledscenetexturerendererwidget.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgstiledscenetexturerendererwidget.cpp
3
---------------------
4
begin : August 2023
5
copyright : (C) 2023 by Nyall Dawson
6
email : nyall dot dawson at gmail dot com
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#include "
qgstiledscenetexturerendererwidget.h
"
19
20
#include "
qgsfillsymbol.h
"
21
#include "
qgstiledscenelayer.h
"
22
#include "
qgstiledscenetexturerenderer.h
"
23
24
#include "moc_qgstiledscenetexturerendererwidget.cpp"
25
27
28
QgsTiledSceneTextureRendererWidget::QgsTiledSceneTextureRendererWidget(
QgsTiledSceneLayer
*layer,
QgsStyle
*style )
29
:
QgsTiledSceneRendererWidget
( layer, style )
30
{
31
setupUi(
this
);
32
33
mFillSymbolButton->setSymbolType(
Qgis::SymbolType::Fill
);
34
mFillSymbolButton->setSymbol(
QgsTiledSceneTextureRenderer::createDefaultFillSymbol
().release() );
35
36
if
( layer )
37
{
38
setFromRenderer( layer->
renderer
() );
39
}
40
41
connect( mFillSymbolButton, &
QgsSymbolButton::changed
,
this
, &QgsTiledSceneTextureRendererWidget::emitWidgetChanged );
42
}
43
44
QgsTiledSceneRendererWidget
*QgsTiledSceneTextureRendererWidget::create(
QgsTiledSceneLayer
*layer,
QgsStyle
*style,
QgsTiledSceneRenderer
* )
45
{
46
return
new
QgsTiledSceneTextureRendererWidget( layer, style );
47
}
48
49
QgsTiledSceneRenderer
*QgsTiledSceneTextureRendererWidget::renderer()
50
{
51
auto
renderer = std::make_unique<QgsTiledSceneTextureRenderer>();
52
renderer->setFillSymbol( mFillSymbolButton->clonedSymbol<
QgsFillSymbol
>() );
53
54
return
renderer.release();
55
}
56
57
void
QgsTiledSceneTextureRendererWidget::emitWidgetChanged()
58
{
59
if
( !mBlockChangedSignal )
60
emit changed();
61
}
62
63
void
QgsTiledSceneTextureRendererWidget::setFromRenderer(
const
QgsTiledSceneRenderer
*renderer )
64
{
65
mBlockChangedSignal =
true
;
66
67
if
(
const
QgsTiledSceneTextureRenderer
*textureRenderer =
dynamic_cast<
const
QgsTiledSceneTextureRenderer
*
>
( renderer ) )
68
{
69
mFillSymbolButton->setSymbol( textureRenderer->fillSymbol()->clone() );
70
}
71
72
mBlockChangedSignal =
false
;
73
}
74
Qgis::SymbolType::Fill
@ Fill
Fill symbol.
Definition
qgis.h:674
QgsFillSymbol
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
Definition
qgsfillsymbol.h:30
QgsStyle
A database of saved style entities, including symbols, color ramps, text formats and others.
Definition
qgsstyle.h:91
QgsSymbolButton::changed
void changed()
Emitted when the symbol's settings are changed.
QgsTiledSceneLayer
Represents a map layer supporting display of tiled scene objects.
Definition
qgstiledscenelayer.h:40
QgsTiledSceneLayer::renderer
QgsTiledSceneRenderer * renderer()
Returns the 2D renderer for the tiled scene.
Definition
qgstiledscenelayer.cpp:147
QgsTiledSceneRendererWidget
Base class for tiled scene 2D renderer settings widgets.
Definition
qgstiledscenerendererwidget.h:38
QgsTiledSceneRenderer
Abstract base class for 2d tiled scene renderers.
Definition
qgstiledscenerenderer.h:117
QgsTiledSceneTextureRenderer
Renders tiled scene layers using textures.
Definition
qgstiledscenetexturerenderer.h:34
QgsTiledSceneTextureRenderer::createDefaultFillSymbol
static std::unique_ptr< QgsFillSymbol > createDefaultFillSymbol()
Returns a copy of the default fill symbol used to render triangles without textures.
Definition
qgstiledscenetexturerenderer.cpp:69
qgsfillsymbol.h
qgstiledscenelayer.h
qgstiledscenetexturerenderer.h
qgstiledscenetexturerendererwidget.h
Generated on
for QGIS API Documentation by
1.17.0