#include <qgsfeature.h>
Public Member Functions | |
QgsFeature (int id=0, QString typeName="") | |
Constructor. | |
QgsFeature (QgsFeature const &rhs) | |
copy ctor needed due to internal pointer | |
QgsFeature & | operator= (QgsFeature const &rhs) |
assignment operator needed due to internal pointer | |
~QgsFeature () | |
Destructor. | |
int | id () const |
Get the feature id for this feature. | |
void | setFeatureId (int id) |
Set the feature id for this feature. | |
QString | typeName () const |
returns the feature's type name | |
void | setTypeName (QString typeName) |
sets the feature's type name | |
const QgsAttributeMap & | attributeMap () const |
Get the attributes for this feature. | |
void | setAttributeMap (const QgsAttributeMap &attributeMap) |
Sets all the attributes in one go. | |
void | clearAttributeMap () |
Clear attribute map added in 1.5. | |
void | addAttribute (int field, QVariant attr) |
Add an attribute to the map. | |
void | deleteAttribute (int field) |
Deletes an attribute and its value. | |
void | changeAttribute (int field, QVariant attr) |
Changes an existing attribute value. | |
bool | isValid () const |
Return the validity of this feature. | |
void | setValid (bool validity) |
Set the validity of the feature. | |
bool | isDirty () const |
Return the dirty state of this feature. | |
void | clean () |
Reset the dirtiness of the feature. | |
QgsGeometry * | geometry () |
Get the geometry object associated with this feature. | |
QgsGeometry * | geometryAndOwnership () |
Get the geometry object associated with this feature The caller assumes responsibility for the QgsGeometry*'s destruction. | |
void | setGeometry (const QgsGeometry &geom) |
Set this feature's geometry from another QgsGeometry object (deep copy). | |
void | setGeometry (QgsGeometry *geom) |
Set this feature's geometry (takes geometry ownership). | |
void | setGeometryAndOwnership (unsigned char *geom, size_t length) |
Set this feature's geometry from WKB. | |
Private Attributes | |
int | mFid |
feature id | |
QgsAttributeMap | mAttributes |
map of attributes accessed by field index | |
QgsGeometry * | mGeometry |
pointer to geometry in binary WKB format | |
bool | mOwnsGeometry |
Indicator if the mGeometry is owned by this QgsFeature. | |
bool | mValid |
Flag to indicate if this feature is valid. | |
bool | mDirty |
Flag to indicate if this feature is dirty (e.g. geometry has been modified in-memory). | |
QString | mTypeName |
feature type name |
Encapsulates a spatial feature with attributes.
Definition at line 49 of file qgsfeature.h.
QgsFeature::QgsFeature | ( | int | id = 0 , |
|
QString | typeName = "" | |||
) |
QgsFeature::QgsFeature | ( | QgsFeature const & | rhs | ) |
copy ctor needed due to internal pointer
Definition at line 36 of file qgsfeature.cpp.
References mGeometry, and setGeometry().
QgsFeature::~QgsFeature | ( | ) |
QgsFeature & QgsFeature::operator= | ( | QgsFeature const & | rhs | ) |
assignment operator needed due to internal pointer
Definition at line 54 of file qgsfeature.cpp.
References mAttributes, mDirty, mFid, mGeometry, mOwnsGeometry, mTypeName, mValid, and setGeometry().
int QgsFeature::id | ( | ) | const |
Get the feature id for this feature.
Definition at line 92 of file qgsfeature.cpp.
References mFid.
Referenced by QgsVectorLayer::addFeature(), QgsVectorLayer::addRing(), QgsVectorLayer::boundingBoxOfSelected(), QgsZonalStatistics::calculateStatistics(), QgsVectorLayer::commitChanges(), QgsVectorLayer::draw(), QgsVectorLayer::drawRendererV2(), QgsVectorLayer::drawRendererV2Levels(), QgsVectorLayer::featureAtId(), QgsVectorDataProvider::featureAtId(), QgsVectorLayer::invertSelection(), QgsVectorLayer::invertSelectionInRectangle(), QgsVectorLayer::nextFeature(), QgsPalLayerSettings::registerFeature(), QgsVectorLayer::select(), QgsFormAnnotationItem::setFeatureForMapPosition(), QgsVectorLayer::snapWithContext(), QgsVectorLayer::updateFeatureAttributes(), QgsVectorLayer::updateFeatureGeometry(), QgsSearchTreeNode::valueAgainst(), and QgsVectorFileWriter::writeAsVectorFormat().
void QgsFeature::setFeatureId | ( | int | id | ) |
Set the feature id for this feature.
Set the feature id.
id | Feature id |
Definition at line 154 of file qgsfeature.cpp.
References mFid.
Referenced by QgsVectorLayer::addFeature(), QgsVectorLayer::featureAtId(), and QgsVectorLayer::nextFeature().
QString QgsFeature::typeName | ( | ) | const |
returns the feature's type name
Definition at line 160 of file qgsfeature.cpp.
References mTypeName.
Referenced by QgsVectorLayer::draw(), QgsVectorLayer::drawRendererV2(), QgsVectorLayer::drawRendererV2Levels(), and QgsVectorFileWriter::writeAsVectorFormat().
void QgsFeature::setTypeName | ( | QString | typeName | ) |
const QgsAttributeMap & QgsFeature::attributeMap | ( | ) | const |
Get the attributes for this feature.
Definition at line 101 of file qgsfeature.cpp.
References mAttributes.
Referenced by QgsVectorFileWriter::addFeature(), QgsGeometryAnalyzer::bufferFeature(), QgsInterpolator::cacheBaseData(), QgsGeometryAnalyzer::centroidFeature(), QgsFormAnnotationItem::createDesignerWidget(), QgsGraduatedSymbolRendererV2::createRenderer(), QgsVectorLayer::featureAtId(), QgsMapTip::fetchFeature(), QgsLabel::fieldValue(), QgsVectorDataProvider::fillMinMaxCache(), QgsComposerAttributeTable::getFeatureAttributes(), QgsTINInterpolator::insertData(), QgsOverlayAnalyzer::intersectFeature(), QgsVectorLayer::nextFeature(), QgsPalLayerSettings::registerFeature(), QgsUniqueValueRenderer::renderFeature(), QgsSingleSymbolRenderer::renderFeature(), QgsGraduatedSymbolRenderer::renderFeature(), QgsContinuousColorRenderer::renderFeature(), QgsGeometryAnalyzer::simplifyFeature(), QgsSingleSymbolRendererV2::symbolForFeature(), QgsGraduatedSymbolRendererV2::symbolForFeature(), QgsCategorizedSymbolRendererV2::symbolForFeature(), QgsUniqueValueRenderer::symbolForFeature(), QgsGraduatedSymbolRenderer::symbolForFeature(), QgsVectorDataProvider::uniqueValues(), QgsVectorLayer::updateFeatureAttributes(), and QgsSearchTreeNode::valueAgainst().
void QgsFeature::setAttributeMap | ( | const QgsAttributeMap & | attributeMap | ) |
Sets all the attributes in one go.
Sets the attributes for this feature.
Definition at line 107 of file qgsfeature.cpp.
References mAttributes.
Referenced by QgsGeometryAnalyzer::bufferFeature(), QgsGeometryAnalyzer::centroidFeature(), QgsSearchTreeNode::checkAgainst(), QgsGeometryAnalyzer::convexHull(), QgsGeometryAnalyzer::dissolve(), QgsGeometryAnalyzer::extent(), QgsVectorLayer::featureAtId(), QgsSearchTreeNode::getValue(), QgsOverlayAnalyzer::intersectFeature(), QgsVectorLayer::nextFeature(), QgsGeometryAnalyzer::simplifyFeature(), QgsVectorLayer::splitFeatures(), and QgsSearchTreeNode::valueAgainst().
void QgsFeature::clearAttributeMap | ( | ) |
Clear attribute map added in 1.5.
Clear attribute map for this feature.
Definition at line 113 of file qgsfeature.cpp.
References mAttributes.
void QgsFeature::addAttribute | ( | int | field, | |
QVariant | attr | |||
) |
void QgsFeature::deleteAttribute | ( | int | field | ) |
Deletes an attribute and its value.
Definition at line 127 of file qgsfeature.cpp.
References mAttributes.
Referenced by QgsVectorLayer::updateFeatureAttributes().
void QgsFeature::changeAttribute | ( | int | field, | |
QVariant | attr | |||
) |
Changes an existing attribute value.
field | index of the field | |
attr | attribute name and value to be set |
Definition at line 133 of file qgsfeature.cpp.
References mAttributes.
Referenced by QgsVectorLayer::redoEditCommand(), and QgsVectorLayer::updateFeatureAttributes().
bool QgsFeature::isValid | ( | ) | const |
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.
Definition at line 203 of file qgsfeature.cpp.
References mValid.
Referenced by QgsVectorLayer::drawFeature().
void QgsFeature::setValid | ( | bool | validity | ) |
Set the validity of the feature.
Definition at line 208 of file qgsfeature.cpp.
References mValid.
Referenced by QgsVectorLayer::featureAtId(), and QgsVectorLayer::nextFeature().
bool QgsFeature::isDirty | ( | ) | const |
Return the dirty state of this feature.
Dirty is set if (e.g.) the feature's geometry has been modified in-memory.
Definition at line 213 of file qgsfeature.cpp.
References mDirty.
void QgsFeature::clean | ( | ) |
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)
Definition at line 218 of file qgsfeature.cpp.
References mDirty.
QgsGeometry * QgsFeature::geometry | ( | ) |
Get the geometry object associated with this feature.
Definition at line 138 of file qgsfeature.cpp.
References mGeometry.
Referenced by QgsVectorLayer::addFeature(), QgsVectorFileWriter::addFeature(), QgsVectorLayer::addRing(), QgsVectorLayer::boundingBoxOfSelected(), QgsGeometryAnalyzer::bufferFeature(), QgsInterpolator::cacheBaseData(), QgsZonalStatistics::calculateStatistics(), QgsGeometryAnalyzer::centroidFeature(), QgsGeometryAnalyzer::convexFeature(), QgsGeometryAnalyzer::dissolveFeature(), QgsVectorLayer::draw(), QgsVectorLayer::drawFeature(), QgsVectorLayer::drawRendererV2(), QgsVectorLayer::drawRendererV2Levels(), QgsTINInterpolator::insertData(), QgsOverlayAnalyzer::intersectFeature(), QgsLabel::labelPoint(), QgsPalLayerSettings::registerFeature(), QgsVectorLayer::removePolygonIntersections(), QgsFeatureRendererV2::renderFeature(), QgsGeometryAnalyzer::simplifyFeature(), QgsVectorLayer::snapWithContext(), QgsVectorLayer::translateFeature(), QgsVectorLayer::updateExtents(), QgsSearchTreeNode::valueAgainst(), and QgsVectorFileWriter::writeAsVectorFormat().
QgsGeometry * QgsFeature::geometryAndOwnership | ( | ) |
Get the geometry object associated with this feature The caller assumes responsibility for the QgsGeometry*'s destruction.
Definition at line 143 of file qgsfeature.cpp.
References mGeometry, and mOwnsGeometry.
Referenced by QgsVectorLayer::addIsland().
void QgsFeature::setGeometry | ( | const QgsGeometry & | geom | ) |
Set this feature's geometry from another QgsGeometry object (deep copy).
Definition at line 175 of file qgsfeature.cpp.
Referenced by QgsGeometryAnalyzer::buffer(), QgsGeometryAnalyzer::bufferFeature(), QgsGeometryAnalyzer::centroidFeature(), QgsSearchTreeNode::checkAgainst(), QgsVectorLayer::commitChanges(), QgsGeometryAnalyzer::convexHull(), QgsGeometryAnalyzer::dissolve(), QgsGeometryAnalyzer::extent(), QgsVectorLayer::featureAtId(), QgsSearchTreeNode::getValue(), QgsOverlayAnalyzer::intersectFeature(), QgsVectorLayer::nextFeature(), operator=(), QgsFeature(), setGeometryAndOwnership(), QgsGeometryAnalyzer::simplifyFeature(), QgsVectorLayer::splitFeatures(), QgsVectorLayer::updateFeatureGeometry(), and QgsSearchTreeNode::valueAgainst().
void QgsFeature::setGeometry | ( | QgsGeometry * | geom | ) |
Set this feature's geometry (takes geometry ownership).
Definition at line 180 of file qgsfeature.cpp.
References mGeometry, and mOwnsGeometry.
void QgsFeature::setGeometryAndOwnership | ( | unsigned char * | geom, | |
size_t | length | |||
) |
Set this feature's geometry from WKB.
Set the pointer to the feature geometry.
This feature assumes responsibility for destroying geom.
Definition at line 195 of file qgsfeature.cpp.
References QgsGeometry::fromWkb(), and setGeometry().
int QgsFeature::mFid [private] |
feature id
Definition at line 167 of file qgsfeature.h.
Referenced by id(), operator=(), and setFeatureId().
QgsAttributeMap QgsFeature::mAttributes [private] |
map of attributes accessed by field index
Definition at line 170 of file qgsfeature.h.
Referenced by addAttribute(), attributeMap(), changeAttribute(), clearAttributeMap(), deleteAttribute(), operator=(), and setAttributeMap().
QgsGeometry* QgsFeature::mGeometry [private] |
pointer to geometry in binary WKB format
This is usually set by a call to OGRGeometry::exportToWkb()
Definition at line 176 of file qgsfeature.h.
Referenced by geometry(), geometryAndOwnership(), operator=(), QgsFeature(), setGeometry(), and ~QgsFeature().
bool QgsFeature::mOwnsGeometry [private] |
Indicator if the mGeometry is owned by this QgsFeature.
If so, this QgsFeature takes responsibility for the mGeometry's destruction.
Definition at line 181 of file qgsfeature.h.
Referenced by geometryAndOwnership(), operator=(), setGeometry(), and ~QgsFeature().
bool QgsFeature::mValid [private] |
Flag to indicate if this feature is valid.
Definition at line 185 of file qgsfeature.h.
Referenced by isValid(), operator=(), and setValid().
bool QgsFeature::mDirty [private] |
Flag to indicate if this feature is dirty (e.g. geometry has been modified in-memory).
Definition at line 189 of file qgsfeature.h.
Referenced by clean(), isDirty(), and operator=().
QString QgsFeature::mTypeName [private] |
feature type name
Definition at line 192 of file qgsfeature.h.
Referenced by operator=(), setTypeName(), and typeName().