OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimVpfAnnotationFeatureInfo.h>
Public Member Functions | |
ossimVpfAnnotationFeatureInfo (const ossimString &featureName="", const ossimRgbVector &penColor=ossimRgbVector(255, 255, 255), const ossimRgbVector &brushColor=ossimRgbVector(255, 255, 255), const ossimDpt &pointRadius=ossimDpt(1, 1), int thickness=0, bool enabledFlag=true) | |
~ossimVpfAnnotationFeatureInfo () | |
void | setCoverage (const ossimVpfCoverage &coverage) |
const ossimVpfCoverage & | getCoverage () const |
ossimVpfCoverage & | getCoverage () |
void | setColor (const ossimRgbVector &color) |
void | setPenColor (const ossimRgbVector &penColor) |
ossimRgbVector | getPenColor () const |
void | setBrushColor (const ossimRgbVector &brushColor) |
ossimRgbVector | getBrushColor () const |
void | setFillEnabledFlag (bool flag) |
bool | getFillEnabledFlag () const |
void | setEnabledFlag (bool flag) |
bool | getEnabledFlag () const |
void | setThickness (int thickness) |
int | getThickness () const |
void | setName (const ossimString &name) |
const ossimString & | getName () const |
bool | isPoint () const |
bool | isLine () const |
bool | isPolygon () const |
bool | isText () const |
void | getFontInformation (ossimFontInformation &fontInfo) const |
void | setFontInformation (const ossimFontInformation &fontInfo) |
void | setPointRadius (const ossimDpt &radius) |
ossimDpt | getPointRadius () const |
void | setDrawingFeaturesToAnnotation () |
ossimIrect | getBoundingProjectedRect () const |
void | transform (ossimImageGeometry *proj) |
void | buildFeature () |
void | deleteAllObjects () |
void | drawAnnotations (ossimRgbImage *tile) |
bool | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
ossimString | getFeatureTypeAsString () const |
ossimVpfAnnotationFeatureType | getFeatureTypeFromString (const ossimString &featureType) const |
![]() | |
ossimObject () | |
virtual | ~ossimObject () |
virtual ossimObject * | dup () const |
virtual ossimString | getShortName () const |
virtual ossimString | getLongName () const |
virtual ossimString | getDescription () const |
virtual ossimString | getClassName () const |
virtual RTTItypeid | getType () const |
virtual bool | canCastTo (ossimObject *obj) const |
virtual bool | canCastTo (const RTTItypeid &id) const |
virtual bool | canCastTo (const ossimString &parentClassName) const |
virtual std::ostream & | print (std::ostream &out) const |
Generic print method. More... | |
virtual bool | isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const |
virtual void | accept (ossimVisitor &visitor) |
![]() | |
ossimReferenced () | |
ossimReferenced (const ossimReferenced &) | |
ossimReferenced & | operator= (const ossimReferenced &) |
void | ref () const |
increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
void | unref () const |
decrement the reference count by one, indicating that a pointer to this object is referencing it. More... | |
void | unref_nodelete () const |
decrement the reference count by one, indicating that a pointer to this object is referencing it. More... | |
int | referenceCount () const |
Protected Member Functions | |
void | buildTxtFeature (const ossimFilename &table, const ossimString &tableKey, const ossimFilename &primitive, const ossimString &primitiveKey) |
void | buildEdgFeature (const ossimFilename &table, const ossimString &tableKey, const ossimFilename &primitive, const ossimString &primitiveKey) |
void | buildPointFeature (const ossimString &primitiveName, const ossimFilename &table, const ossimString &tableKey, const ossimFilename &primitive, const ossimString &primitiveKey) |
void | buildFaceFeature (const ossimFilename &table, const ossimString &tableKey, const ossimFilename &primitive, const ossimString &primitiveKey) |
void | readEdge (ossimPolyLine &polyLine, int rowNumber, int colPosition, ossimVpfTable &edgeTable) |
int | readTableCellAsInt (int rowNumber, int colNumber, ossimVpfTable &table) |
int | readRngId (int rowNumber, int colNumber, ossimVpfTable &faceTable) |
int | readStartEdgeId (int rowNumber, int colNumber, ossimVpfTable &rngTable) |
void | readGeoPolygon (ossimGeoPolygon &polygon, int faceId, int startEdgeId, ossimVpfTable &edgTable) |
ossimDpt * | getXy (vpf_table_type table, row_type row, ossim_int32 pos, ossim_int32 *count) |
int | getEdgeKeyId (vpf_table_type &table, row_type &row, int col) |
![]() | |
virtual | ~ossimReferenced () |
Private Member Functions | |
void | readAttributes (ossimPolyLine &polyLine, ossimVpfTable &table, int row) |
void | readAttributes (ossimGeoPolygon &polygon, ossimVpfTable &table, int row) |
Definition at line 26 of file ossimVpfAnnotationFeatureInfo.h.
Enumerator | |
---|---|
ossimVpfAnnotationFeatureType_UNKNOWN | |
ossimVpfAnnotationFeatureType_POINT | |
ossimVpfAnnotationFeatureType_LINE | |
ossimVpfAnnotationFeatureType_POLYGON | |
ossimVpfAnnotationFeatureType_TEXT |
Definition at line 29 of file ossimVpfAnnotationFeatureInfo.h.
ossimVpfAnnotationFeatureInfo::ossimVpfAnnotationFeatureInfo | ( | const ossimString & | featureName = "" , |
const ossimRgbVector & | penColor = ossimRgbVector(255,255,255) , |
||
const ossimRgbVector & | brushColor = ossimRgbVector(255,255,255) , |
||
const ossimDpt & | pointRadius = ossimDpt(1,1) , |
||
int | thickness = 0 , |
||
bool | enabledFlag = true |
||
) |
Definition at line 25 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimFontFactoryRegistry::getDefaultFont(), ossimFont::getFontInformation(), ossimFontFactoryRegistry::instance(), and theFontInformation.
ossimVpfAnnotationFeatureInfo::~ossimVpfAnnotationFeatureInfo | ( | ) |
Definition at line 58 of file ossimVpfAnnotationFeatureInfo.cpp.
References deleteAllObjects().
|
protected |
Definition at line 609 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimFilename::dirCat(), ossimString::downcase(), ossimFilename::exists(), ossimRgbVector::getB(), ossimVpfTable::getColumnPosition(), ossimVpfTable::getColumnValues(), ossimRgbVector::getG(), ossimVpfCoverage::getLibrary(), ossimVpfCoverage::getPath(), ossimRgbVector::getR(), ossimVpfLibrary::getTileName(), ossimVpfTable::openTable(), readAttributes(), readEdge(), ossimGeoAnnotationMultiPolyLineObject::setColor(), ossimGeoAnnotationMultiPolyLineObject::setThickness(), theAnnotationArray, theCoverage, thePenColor, theThickness, and ossimString::trim().
Referenced by buildFeature().
|
protected |
Definition at line 791 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimFilename::dirCat(), ossimString::downcase(), ossimFilename::exists(), ossimVpfTable::getColumnPosition(), ossimVpfTable::getColumnValues(), ossimVpfCoverage::getLibrary(), ossimVpfTable::getNumberOfRows(), ossimVpfCoverage::getPath(), ossimVpfLibrary::getTileName(), ossimVpfTable::openTable(), readRngId(), theCoverage, and ossimString::trim().
Referenced by buildFeature().
void ossimVpfAnnotationFeatureInfo::buildFeature | ( | ) |
Definition at line 121 of file ossimVpfAnnotationFeatureInfo.cpp.
References buildEdgFeature(), buildFaceFeature(), buildPointFeature(), buildTxtFeature(), ossimString::contains(), deleteAllObjects(), ossimVpfFeatureClassSchema::getFeatureClassNode(), ossimVpfCoverage::openFeatureClassSchema(), ossimVpfAnnotationFeatureType_LINE, ossimVpfAnnotationFeatureType_POINT, ossimVpfAnnotationFeatureType_POLYGON, ossimVpfAnnotationFeatureType_TEXT, theCoverage, theEnabledFlag, theFeatureType, theName, ossimVpfFeatureClassSchemaNode::thePrimitiveTable, ossimVpfFeatureClassSchemaNode::thePrimitiveTableKey, ossimVpfFeatureClassSchemaNode::theTable, ossimVpfFeatureClassSchemaNode::theTableKey, and ossimString::trim().
Referenced by ossimVpfAnnotationCoverageInfo::buildCoverage(), loadState(), and setEnabledFlag().
|
protected |
Definition at line 694 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimFilename::dirCat(), ossimString::downcase(), ossimFilename::exists(), free_row(), ossimRgbVector::getB(), ossimVpfTable::getColumnPosition(), ossimVpfTable::getColumnValues(), ossimRgbVector::getG(), ossimVpfCoverage::getLibrary(), ossimVpfCoverage::getPath(), ossimRgbVector::getR(), ossimVpfLibrary::getTileName(), ossimVpfTable::getVpfTableData(), getXy(), ossim::nan(), ossimVpfTable::openTable(), read_row(), ossimGeoAnnotationMultiEllipseObject::setColor(), ossimGeoAnnotationMultiEllipseObject::setFillFlag(), ossimGeoAnnotationMultiEllipseObject::setThickness(), ossimGeoAnnotationMultiEllipseObject::setWidthHeight(), theAnnotationArray, theCoverage, theFillEnabledFlag, thePenColor, thePointRadius, theThickness, ossimString::trim(), x, and y.
Referenced by buildFeature().
|
protected |
Definition at line 506 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimFontFactoryRegistry::createFont(), ossimFilename::dirCat(), ossimString::downcase(), ossimFilename::exists(), free_row(), ossimRgbVector::getB(), ossimVpfTable::getColumnPosition(), ossimVpfTable::getColumnValueAsString(), ossimVpfTable::getColumnValues(), ossimRgbVector::getG(), ossimVpfCoverage::getLibrary(), ossimVpfCoverage::getPath(), ossimRgbVector::getR(), ossimVpfLibrary::getTileName(), ossimVpfTable::getVpfTableData(), getXy(), ossimFontFactoryRegistry::instance(), ossim::nan(), ossimVpfTable::openTable(), read_row(), ossimVpfTable::reset(), ossimGeoAnnotationFontObject::setColor(), ossimGeoAnnotationFontObject::setFont(), ossimGeoAnnotationFontObject::setPointSize(), ossimGeoAnnotationFontObject::setRotation(), ossimGeoAnnotationFontObject::setScale(), ossimGeoAnnotationFontObject::setShear(), ossimAnnotationObject::setThickness(), theAnnotationArray, theCoverage, theFontInformation, thePenColor, ossimFontInformation::thePointSize, ossimFontInformation::theRotation, ossimFontInformation::theScale, ossimFontInformation::theShear, theThickness, and ossimString::trim().
Referenced by buildFeature().
void ossimVpfAnnotationFeatureInfo::deleteAllObjects | ( | ) |
Definition at line 420 of file ossimVpfAnnotationFeatureInfo.cpp.
References theAnnotationArray.
Referenced by buildFeature(), loadState(), setEnabledFlag(), and ~ossimVpfAnnotationFeatureInfo().
void ossimVpfAnnotationFeatureInfo::drawAnnotations | ( | ossimRgbImage * | tile | ) |
Definition at line 199 of file ossimVpfAnnotationFeatureInfo.cpp.
References theAnnotationArray, and theEnabledFlag.
ossimIrect ossimVpfAnnotationFeatureInfo::getBoundingProjectedRect | ( | ) | const |
Definition at line 77 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimIrect::combine(), ossimIrect::hasNans(), ossimIrect::makeNan(), theAnnotationArray, and theEnabledFlag.
|
inline |
Definition at line 80 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 51 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 55 of file ossimVpfAnnotationFeatureInfo.h.
|
protected |
Definition at line 1144 of file ossimVpfAnnotationFeatureInfo.cpp.
References get_table_element(), and id_triplet_type::id.
Referenced by readGeoPolygon().
|
inline |
Definition at line 94 of file ossimVpfAnnotationFeatureInfo.h.
ossimString ossimVpfAnnotationFeatureInfo::getFeatureTypeAsString | ( | ) | const |
Definition at line 367 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimVpfAnnotationFeatureType_LINE, ossimVpfAnnotationFeatureType_POINT, ossimVpfAnnotationFeatureType_POLYGON, ossimVpfAnnotationFeatureType_TEXT, and theFeatureType.
Referenced by saveState().
ossimVpfAnnotationFeatureInfo::ossimVpfAnnotationFeatureType ossimVpfAnnotationFeatureInfo::getFeatureTypeFromString | ( | const ossimString & | featureType | ) | const |
Definition at line 394 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimString::contains(), ossimString::downcase(), ossimVpfAnnotationFeatureType_LINE, ossimVpfAnnotationFeatureType_POINT, ossimVpfAnnotationFeatureType_POLYGON, ossimVpfAnnotationFeatureType_TEXT, and ossimVpfAnnotationFeatureType_UNKNOWN.
|
inline |
Definition at line 89 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 134 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 113 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 70 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 147 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 104 of file ossimVpfAnnotationFeatureInfo.h.
|
protected |
Definition at line 983 of file ossimVpfAnnotationFeatureInfo.cpp.
References get_table_element(), vpf_table_type::header, header_cell::type, coordinate_type::x, double_coordinate_type::x, tri_coordinate_type::x, double_tri_coordinate_type::x, ossimDpt::x, x, coordinate_type::y, double_coordinate_type::y, tri_coordinate_type::y, double_tri_coordinate_type::y, ossimDpt::y, and y.
Referenced by buildPointFeature(), buildTxtFeature(), and readEdge().
|
inline |
Definition at line 122 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 118 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 126 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 130 of file ossimVpfAnnotationFeatureInfo.h.
|
virtual |
Method to the load (recreate) the state of the object from a keyword list. Return true if ok or false on error.
Reimplemented from ossimObject.
Definition at line 284 of file ossimVpfAnnotationFeatureInfo.cpp.
References buildFeature(), deleteAllObjects(), ossimKeywordlist::find(), ossimFontInformation::loadState(), ossimRgbVector::setB(), setDrawingFeaturesToAnnotation(), ossimRgbVector::setG(), ossimRgbVector::setR(), theAnnotationArray, theBrushColor, theDescription, theEnabledFlag, theFillEnabledFlag, theFontInformation, theName, thePenColor, thePointRadius, theThickness, ossimString::toBool(), ossimString::toInt(), ossimDpt::x, and ossimDpt::y.
Referenced by ossimVpfAnnotationCoverageInfo::loadState().
|
private |
Definition at line 686 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimPolyLine::addAttribute(), ossimVpfTable::getColumnValueAsString(), and ossimVpfTable::getNumberOfColumns().
Referenced by buildEdgFeature().
|
private |
Definition at line 972 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimGeoPolygon::addAttribute(), ossimVpfTable::getColumnValueAsString(), and ossimVpfTable::getNumberOfColumns().
|
protected |
Definition at line 1415 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimPolyLine::addPoint(), ossimPolyLine::clear(), free_row(), ossimVpfTable::getVpfTableData(), getXy(), read_row(), x, and y.
Referenced by buildEdgFeature().
|
protected |
Definition at line 1155 of file ossimVpfAnnotationFeatureInfo.cpp.
References free_row(), ossimVpfTable::getColumnPosition(), ossimVpfTable::getColumnValueAsString(), getEdgeKeyId(), ossimVpfTable::getVpfTableData(), read_row(), and ossimString::toInt().
|
protected |
Definition at line 1110 of file ossimVpfAnnotationFeatureInfo.cpp.
References free_row(), ossimVpfTable::getColumnValueAsString(), ossimVpfTable::getVpfTableData(), read_row(), and ossimString::toInt().
Referenced by buildFaceFeature().
|
protected |
Definition at line 1126 of file ossimVpfAnnotationFeatureInfo.cpp.
References free_row(), ossimVpfTable::getColumnValueAsString(), ossimVpfTable::getVpfTableData(), read_row(), and ossimString::toInt().
|
protected |
Definition at line 1096 of file ossimVpfAnnotationFeatureInfo.cpp.
References free_row(), ossimVpfTable::getColumnValueAsString(), ossimVpfTable::getVpfTableData(), read_row(), and ossimString::toInt().
|
virtual |
Method to save the state of the object to a keyword list. Return true if ok or false on error.
Reimplemented from ossimObject.
Definition at line 211 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimKeywordlist::add(), ossimString::c_str(), ossimRgbVector::getB(), getFeatureTypeAsString(), ossimRgbVector::getG(), ossimRgbVector::getR(), ossimVpfAnnotationFeatureType_LINE, ossimVpfAnnotationFeatureType_POINT, ossimVpfAnnotationFeatureType_POLYGON, ossimVpfAnnotationFeatureType_TEXT, ossimFontInformation::saveState(), theBrushColor, theDescription, theEnabledFlag, theFeatureType, theFillEnabledFlag, theFontInformation, theName, thePenColor, thePointRadius, theThickness, ossimString::toString(), ossimDpt::x, and ossimDpt::y.
|
inline |
Definition at line 75 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 60 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 46 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by ossimVpfAnnotationCoverageInfo::buildCoverage(), and ossimVpfAnnotationCoverageInfo::loadState().
void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation | ( | ) |
Definition at line 425 of file ossimVpfAnnotationFeatureInfo.cpp.
References ossimFontFactoryRegistry::createFont(), ossimFont::dup(), ossimRgbVector::getB(), ossimRgbVector::getG(), ossimRgbVector::getR(), ossimFontFactoryRegistry::instance(), ossimVpfAnnotationFeatureType_LINE, ossimVpfAnnotationFeatureType_POINT, ossimVpfAnnotationFeatureType_POLYGON, ossimVpfAnnotationFeatureType_TEXT, ossimGeoAnnotationMultiPolyObject::setColor(), ossimGeoAnnotationMultiEllipseObject::setColor(), ossimGeoAnnotationFontObject::setColor(), ossimGeoAnnotationMultiPolyLineObject::setColor(), ossimGeoAnnotationMultiPolyObject::setFillFlag(), ossimGeoAnnotationMultiEllipseObject::setFillFlag(), ossimGeoAnnotationFontObject::setFont(), ossimGeoAnnotationFontObject::setPointSize(), ossimGeoAnnotationFontObject::setRotation(), ossimGeoAnnotationFontObject::setScale(), ossimGeoAnnotationFontObject::setShear(), ossimGeoAnnotationMultiPolyObject::setThickness(), ossimGeoAnnotationMultiEllipseObject::setThickness(), ossimGeoAnnotationMultiPolyLineObject::setThickness(), ossimAnnotationObject::setThickness(), ossimGeoAnnotationMultiEllipseObject::setWidthHeight(), theAnnotationArray, theFeatureType, theFillEnabledFlag, theFontInformation, thePenColor, thePointRadius, ossimFontInformation::thePointSize, ossimFontInformation::theRotation, ossimFontInformation::theScale, ossimFontInformation::theShear, theThickness, and ossimRefPtr< T >::valid().
Referenced by loadState().
void ossimVpfAnnotationFeatureInfo::setEnabledFlag | ( | bool | flag | ) |
Definition at line 107 of file ossimVpfAnnotationFeatureInfo.cpp.
References buildFeature(), deleteAllObjects(), and theEnabledFlag.
|
inline |
Definition at line 85 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 138 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 109 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by ossimVpfAnnotationCoverageInfo::buildCoverage().
|
inline |
Definition at line 65 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 143 of file ossimVpfAnnotationFeatureInfo.h.
|
inline |
Definition at line 99 of file ossimVpfAnnotationFeatureInfo.h.
void ossimVpfAnnotationFeatureInfo::transform | ( | ossimImageGeometry * | proj | ) |
Definition at line 63 of file ossimVpfAnnotationFeatureInfo.cpp.
References theAnnotationArray, and theEnabledFlag.
|
protected |
Definition at line 182 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by buildEdgFeature(), buildPointFeature(), buildTxtFeature(), deleteAllObjects(), drawAnnotations(), getBoundingProjectedRect(), loadState(), setDrawingFeaturesToAnnotation(), and transform().
|
protected |
Definition at line 173 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by loadState(), and saveState().
|
protected |
Definition at line 174 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by buildEdgFeature(), buildFaceFeature(), buildFeature(), buildPointFeature(), and buildTxtFeature().
|
protected |
Definition at line 171 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by loadState(), and saveState().
|
protected |
Definition at line 178 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by buildFeature(), drawAnnotations(), getBoundingProjectedRect(), loadState(), saveState(), setEnabledFlag(), and transform().
|
protected |
Definition at line 179 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by buildFeature(), getFeatureTypeAsString(), saveState(), and setDrawingFeaturesToAnnotation().
|
protected |
Definition at line 177 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by buildPointFeature(), loadState(), saveState(), and setDrawingFeaturesToAnnotation().
|
protected |
Definition at line 180 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by buildTxtFeature(), loadState(), ossimVpfAnnotationFeatureInfo(), saveState(), and setDrawingFeaturesToAnnotation().
|
protected |
Definition at line 170 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by buildFeature(), loadState(), and saveState().
|
protected |
Definition at line 172 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by buildEdgFeature(), buildPointFeature(), buildTxtFeature(), loadState(), saveState(), and setDrawingFeaturesToAnnotation().
|
protected |
Definition at line 175 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by buildPointFeature(), loadState(), saveState(), and setDrawingFeaturesToAnnotation().
|
protected |
Definition at line 176 of file ossimVpfAnnotationFeatureInfo.h.
Referenced by buildEdgFeature(), buildPointFeature(), buildTxtFeature(), loadState(), saveState(), and setDrawingFeaturesToAnnotation().