class QgsFeature { %TypeHeaderCode #include %End public: //! Constructor QgsFeature(int id = 0, QString typeName = "" ); /** copy ctor needed due to internal pointer */ QgsFeature(const QgsFeature & rhs ); //! Destructor ~QgsFeature(); /** * Get the feature id for this feature * @return Feature id */ int id() const; /** * Set the feature id for this feature * @param id Feature id */ void setFeatureId(int id); /** returns the feature's type name */ QString typeName() const; /** sets the feature's type name */ void setTypeName(QString typeName); /** * Get the attributes for this feature. * @return A std::map containing the field name/value mapping */ const QMap & attributeMap() const; /**Sets all the attributes in one go*/ void setAttributeMap(const QMap & attributeMap); /** * Add an attribute to the map */ void addAttribute(int field, QVariant attr); /**Deletes an attribute and its value*/ void deleteAttribute(int field); /**Changes an existing attribute value @param field index of the field @param attr attribute name and value to be set */ void changeAttribute(int field, QVariant attr); /** * Return the validity of this feature. This is normally set by * the provider to indicate some problem that makes the feature * invalid or to indicate a null feature. */ bool isValid() const; /** * Set the validity of the feature. */ void setValid(bool validity); /** * Return the dirty state of this feature. * Dirty is set if (e.g.) the feature's geometry has been modified in-memory. */ bool isDirty() const; /** * Reset the dirtiness of the feature. (i.e. make clean) * You would normally do this after it's saved to permanent storage (e.g. disk, an ACID-compliant database) */ void clean(); /** * Get the geometry object associated with this feature */ QgsGeometry * geometry(); /** * Get the geometry object associated with this feature * The caller assumes responsibility for the QgsGeometry*'s destruction. */ QgsGeometry * geometryAndOwnership() /Factory/; /** Set this feature's geometry from another QgsGeometry object (deep copy) */ void setGeometry(const QgsGeometry& geom); /** Set this feature's geometry (takes geometry ownership) */ void setGeometry(QgsGeometry* geom); /** * Set this feature's geometry from WKB * * This feature assumes responsibility for destroying geom. */ void setGeometryAndOwnership(unsigned char * geom /Transfer/, size_t length); }; // class QgsFeature