mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-27 00:33:48 -05:00
107 lines
2.9 KiB
Plaintext
107 lines
2.9 KiB
Plaintext
/***************************************************************************
|
|
qgs25drenderer.sip - Qgs25DRenderer
|
|
|
|
---------------------
|
|
begin : 14.1.2016
|
|
copyright : (C) 2016 by Matthias Kuhn
|
|
email : matthias@opengis.ch
|
|
***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
class Qgs25DRenderer : QgsFeatureRenderer
|
|
{
|
|
%TypeHeaderCode
|
|
#include "qgs25drenderer.h"
|
|
%End
|
|
public:
|
|
Qgs25DRenderer();
|
|
|
|
/**
|
|
* Create a new 2.5D renderer from XML
|
|
*
|
|
* @param element XML information
|
|
*/
|
|
static QgsFeatureRenderer* create( QDomElement& element );
|
|
QDomElement save( QDomDocument& doc );
|
|
|
|
void startRender( QgsRenderContext& context, const QgsFields& fields );
|
|
void stopRender( QgsRenderContext& context );
|
|
|
|
QList<QString> usedAttributes();
|
|
QgsFeatureRenderer* clone() const;
|
|
|
|
virtual QgsSymbol* symbolForFeature( QgsFeature& feature, QgsRenderContext& context );
|
|
virtual QgsSymbolList symbols( QgsRenderContext& context );
|
|
|
|
/**
|
|
* Get the roof color
|
|
*/
|
|
QColor roofColor() const;
|
|
|
|
/**
|
|
* Set the roof color
|
|
*/
|
|
void setRoofColor( const QColor& roofColor );
|
|
|
|
/**
|
|
* Get the wall color
|
|
*/
|
|
QColor wallColor() const;
|
|
|
|
/**
|
|
* Set the wall color
|
|
*/
|
|
void setWallColor( const QColor& wallColor );
|
|
|
|
/**
|
|
* Set wall shading enabled
|
|
*/
|
|
void setWallShadingEnabled( bool enabled );
|
|
|
|
/**
|
|
* Get wall shading enabled
|
|
*/
|
|
bool wallShadingEnabled();
|
|
|
|
/**
|
|
* Get the shadow's color
|
|
*/
|
|
QColor shadowColor() const;
|
|
|
|
/**
|
|
* Set the shadow's color
|
|
*/
|
|
void setShadowColor( const QColor& shadowColor );
|
|
|
|
/**
|
|
* Get the shadow's spread distance in map units
|
|
*/
|
|
double shadowSpread() const;
|
|
/**
|
|
* Set the shadow's spread distance in map units
|
|
*/
|
|
void setShadowSpread( double shadowSpread );
|
|
|
|
/**
|
|
* Try to convert from an existing renderer. If it is not of the same type
|
|
* we assume that the internals are not compatible and create a new default
|
|
* 2.5D renderer.
|
|
*/
|
|
static Qgs25DRenderer* convertFromRenderer( QgsFeatureRenderer* renderer );
|
|
|
|
/**
|
|
* Is the shadow enabled
|
|
*/
|
|
bool shadowEnabled() const;
|
|
/**
|
|
* Enable or disable the shadow
|
|
*/
|
|
void setShadowEnabled( bool value );
|
|
};
|