class QgsVectorFieldSymbolLayer : QgsMarkerSymbolLayer { %TypeHeaderCode #include %End public: enum VectorFieldType { Cartesian, Polar, Height }; enum AngleOrientation { ClockwiseFromNorth, CounterclockwiseFromEast }; enum AngleUnits { Degrees, Radians }; QgsVectorFieldSymbolLayer(); ~QgsVectorFieldSymbolLayer(); static QgsSymbolLayer *create( const QgsStringMap &properties = QgsStringMap() ); static QgsSymbolLayer *createFromSld( QDomElement &element ); QString layerType() const; bool setSubSymbol( QgsSymbol *symbol /Transfer/ ); QgsSymbol *subSymbol(); void setColor( const QColor &color ); virtual QColor color() const; void renderPoint( QPointF point, QgsSymbolRenderContext &context ); void startRender( QgsSymbolRenderContext &context ); void stopRender( QgsSymbolRenderContext &context ); virtual QgsVectorFieldSymbolLayer *clone() const /Factory/; QgsStringMap properties() const; void toSld( QDomDocument &doc, QDomElement &element, const QgsStringMap &props ) const; void drawPreviewIcon( QgsSymbolRenderContext &context, QSize size ); QSet usedAttributes( const QgsRenderContext &context ) 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; void setOutputUnit( QgsUnitTypes::RenderUnit unit ); QgsUnitTypes::RenderUnit outputUnit() const; void setMapUnitScale( const QgsMapUnitScale &scale ); QgsMapUnitScale mapUnitScale() const; /** Sets the units for the distance. * @param unit distance units * @see distanceUnit() */ void setDistanceUnit( QgsUnitTypes::RenderUnit unit ); /** Returns the units for the distance. * @see setDistanceUnit() */ QgsUnitTypes::RenderUnit distanceUnit() const; void setDistanceMapUnitScale( const QgsMapUnitScale &scale ); const QgsMapUnitScale &distanceMapUnitScale() const; QRectF bounds( QPointF point, QgsSymbolRenderContext &context ); private: QgsVectorFieldSymbolLayer( const QgsVectorFieldSymbolLayer &other ); };