2016-08-06 11:01:42 +02:00
|
|
|
class QgsVectorFieldSymbolLayer : QgsMarkerSymbolLayer
|
2011-11-15 16:22:46 +01:00
|
|
|
{
|
2011-11-16 17:52:20 +02:00
|
|
|
%TypeHeaderCode
|
|
|
|
#include <qgsvectorfieldsymbollayer.h>
|
|
|
|
%End
|
2011-11-15 16:22:46 +01:00
|
|
|
public:
|
|
|
|
enum VectorFieldType
|
|
|
|
{
|
2014-06-02 21:00:51 +02:00
|
|
|
Cartesian,
|
2011-11-15 16:22:46 +01:00
|
|
|
Polar,
|
|
|
|
Height
|
|
|
|
};
|
|
|
|
|
|
|
|
enum AngleOrientation
|
|
|
|
{
|
2014-06-02 21:00:51 +02:00
|
|
|
ClockwiseFromNorth,
|
2011-11-15 16:22:46 +01:00
|
|
|
CounterclockwiseFromEast
|
|
|
|
};
|
|
|
|
|
|
|
|
enum AngleUnits
|
|
|
|
{
|
2014-06-02 21:00:51 +02:00
|
|
|
Degrees,
|
2011-11-15 16:22:46 +01:00
|
|
|
Radians
|
|
|
|
};
|
|
|
|
|
|
|
|
QgsVectorFieldSymbolLayer();
|
|
|
|
~QgsVectorFieldSymbolLayer();
|
|
|
|
|
2016-08-05 08:08:39 +02:00
|
|
|
static QgsSymbolLayer* create( const QgsStringMap& properties = QgsStringMap() );
|
|
|
|
static QgsSymbolLayer* createFromSld( QDomElement &element );
|
2011-11-15 16:22:46 +01:00
|
|
|
|
|
|
|
QString layerType() const;
|
|
|
|
|
2016-08-05 08:09:43 +02:00
|
|
|
bool setSubSymbol( QgsSymbol* symbol /Transfer/ );
|
|
|
|
QgsSymbol* subSymbol();
|
2011-11-15 16:22:46 +01:00
|
|
|
|
2016-06-26 17:24:16 +10:00
|
|
|
void setColor( const QColor& color );
|
|
|
|
virtual QColor color() const;
|
|
|
|
|
2016-08-05 08:09:43 +02:00
|
|
|
void renderPoint( QPointF point, QgsSymbolRenderContext& context );
|
|
|
|
void startRender( QgsSymbolRenderContext& context );
|
|
|
|
void stopRender( QgsSymbolRenderContext& context );
|
2011-11-15 16:22:46 +01:00
|
|
|
|
2015-11-12 19:35:14 +11:00
|
|
|
virtual QgsVectorFieldSymbolLayer* clone() const /Factory/;
|
2011-11-15 16:22:46 +01:00
|
|
|
QgsStringMap properties() const;
|
|
|
|
|
2015-10-07 11:55:34 +11:00
|
|
|
void toSld( QDomDocument& doc, QDomElement &element, const QgsStringMap& props ) const;
|
2012-09-24 02:28:15 +02:00
|
|
|
|
2016-08-05 08:09:43 +02:00
|
|
|
void drawPreviewIcon( QgsSymbolRenderContext& context, QSize size );
|
2011-11-15 16:22:46 +01:00
|
|
|
|
|
|
|
QSet<QString> usedAttributes() const;
|
|
|
|
|
|
|
|
//setters and getters
|
|
|
|
void setXAttribute( const QString& attribute );
|
|
|
|
QString xAttribute() const;
|
|
|
|
void setYAttribute( const QString& attribute );
|
|
|
|
QString yAttribute() const;
|
|
|
|
void setScale( double s );
|
|
|
|
double scale() const;
|
|
|
|
void setVectorFieldType( VectorFieldType type );
|
|
|
|
VectorFieldType vectorFieldType() const;
|
|
|
|
void setAngleOrientation( AngleOrientation orientation );
|
|
|
|
AngleOrientation angleOrientation() const;
|
|
|
|
void setAngleUnits( AngleUnits units );
|
|
|
|
AngleUnits angleUnits() const;
|
2013-06-23 16:00:16 +02:00
|
|
|
|
2016-07-17 22:11:17 +10:00
|
|
|
void setOutputUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
QgsUnitTypes::RenderUnit outputUnit() const;
|
2014-05-07 19:02:11 +02:00
|
|
|
|
|
|
|
void setMapUnitScale( const QgsMapUnitScale& scale );
|
2014-04-06 21:14:02 +02:00
|
|
|
QgsMapUnitScale mapUnitScale() const;
|
2013-06-23 16:00:16 +02:00
|
|
|
|
2016-07-18 09:42:45 +10:00
|
|
|
/** Sets the units for the distance.
|
|
|
|
* @param unit distance units
|
|
|
|
* @see distanceUnit()
|
|
|
|
*/
|
2016-07-17 22:11:17 +10:00
|
|
|
void setDistanceUnit( QgsUnitTypes::RenderUnit unit );
|
2016-07-18 09:42:45 +10:00
|
|
|
|
|
|
|
/** Returns the units for the distance.
|
|
|
|
* @see setDistanceUnit()
|
|
|
|
*/
|
2016-07-17 22:11:17 +10:00
|
|
|
QgsUnitTypes::RenderUnit distanceUnit() const;
|
2014-05-07 19:02:11 +02:00
|
|
|
|
2014-05-27 23:22:50 +02:00
|
|
|
void setDistanceMapUnitScale( const QgsMapUnitScale& scale );
|
2014-04-06 21:14:02 +02:00
|
|
|
const QgsMapUnitScale& distanceMapUnitScale() const;
|
2011-11-16 17:52:20 +02:00
|
|
|
};
|