Quantum GIS API Documentation  1.7.4
Public Member Functions | Private Attributes
QgsPoint Class Reference

A class to represent a point geometry. More...

#include <qgspoint.h>

List of all members.

Public Member Functions

 QgsPoint ()
 Default constructor.
 QgsPoint (const QgsPoint &p)
 QgsPoint (double x, double y)
 ~QgsPoint ()
void setX (double x)
void setY (double y)
void set (double x, double y)
double x () const
double y () const
QString toString () const
 String representation of the point (x,y)
QString toString (int thePrecision) const
 As above but with precision for string representation of a point.
QString toDegreesMinutesSeconds (int thePrecision) const
 Return a string representation as degrees minutes seconds.
QString wellKnownText () const
double sqrDist (double x, double y) const
 Returns the squared distance between this point and x,y.
double sqrDist (const QgsPoint &other) const
 Returns the squared distance between this and other point.
double sqrDistToSegment (double x1, double y1, double x2, double y2, QgsPoint &minDistPoint) const
 Returns the minimum distance between this point and a segment.
double azimuth (const QgsPoint &other)
 Calculates azimut between this point and other one (clockwise in degree, starting from north)
bool operator== (const QgsPoint &other)
 equality operator
bool operator!= (const QgsPoint &other) const
 Inequality operator.
QgsPointoperator= (const QgsPoint &other)
 Assignment.
void multiply (const double &scalar)
 Multiply x and y by the given value.
int onSegment (const QgsPoint &a, const QgsPoint &b) const
 Test if this point is on the segment defined by points a, b.
QgsVector operator- (QgsPoint p) const
QgsPointoperator+= (const QgsVector &v)
QgsPointoperator-= (const QgsVector &v)
QgsPoint operator+ (const QgsVector &v) const
QgsPoint operator- (const QgsVector &v) const

Private Attributes

double m_x
 x coordinate
double m_y
 y coordinate

Detailed Description

A class to represent a point geometry.

Currently no Z axis / 2.5D support is implemented.

Definition at line 62 of file qgspoint.h.


Constructor & Destructor Documentation

QgsPoint::QgsPoint ( ) [inline]

Default constructor.

Definition at line 66 of file qgspoint.h.

QgsPoint::QgsPoint ( const QgsPoint p)

Create a point from another point

Definition at line 116 of file qgspoint.cpp.

References m_x, m_y, x(), and y().

QgsPoint::QgsPoint ( double  x,
double  y 
) [inline]

Create a point from x,y coordinates

Parameters:
xx coordinate
yy coordinate

Definition at line 76 of file qgspoint.h.

QgsPoint::~QgsPoint ( ) [inline]

Definition at line 80 of file qgspoint.h.


Member Function Documentation

double QgsPoint::azimuth ( const QgsPoint other)

Calculates azimut between this point and other one (clockwise in degree, starting from north)

Note:
: this function has been added in version 1.7

Definition at line 179 of file qgspoint.cpp.

References M_PI, m_x, m_y, x(), and y().

void QgsPoint::multiply ( const double &  scalar)

Multiply x and y by the given value.

Definition at line 214 of file qgspoint.cpp.

References m_x, and m_y.

int QgsPoint::onSegment ( const QgsPoint a,
const QgsPoint b 
) const

Test if this point is on the segment defined by points a, b.

Returns:
0 if this point is not on the open ray through a and b, 1 if point is on open ray a, 2 if point is within line segment, 3 if point is on open ray b.

Definition at line 220 of file qgspoint.cpp.

References m_x, m_y, x(), and y().

bool QgsPoint::operator!= ( const QgsPoint other) const

Inequality operator.

Definition at line 195 of file qgspoint.cpp.

References m_x, m_y, x(), and y().

QgsPoint QgsPoint::operator+ ( const QgsVector v) const [inline]

Definition at line 177 of file qgspoint.h.

References QgsVector::x(), and QgsVector::y().

QgsPoint& QgsPoint::operator+= ( const QgsVector v) [inline]

Definition at line 175 of file qgspoint.h.

QgsVector QgsPoint::operator- ( QgsPoint  p) const [inline]

Definition at line 174 of file qgspoint.h.

References m_x, and m_y.

QgsPoint QgsPoint::operator- ( const QgsVector v) const [inline]

Definition at line 178 of file qgspoint.h.

References QgsVector::x(), and QgsVector::y().

QgsPoint& QgsPoint::operator-= ( const QgsVector v) [inline]

Definition at line 176 of file qgspoint.h.

QgsPoint & QgsPoint::operator= ( const QgsPoint other)

Assignment.

Definition at line 203 of file qgspoint.cpp.

References m_x, m_y, x(), and y().

bool QgsPoint::operator== ( const QgsPoint other)

equality operator

Definition at line 187 of file qgspoint.cpp.

References m_x, m_y, x(), and y().

void QgsPoint::set ( double  x,
double  y 
) [inline]

Sets the x and y value of the point

Definition at line 100 of file qgspoint.h.

Referenced by QgsClipper::intersect(), QgsLabel::labelPoint(), and QgsMapToPixel::transform().

void QgsPoint::setX ( double  x) [inline]
void QgsPoint::setY ( double  y) [inline]
double QgsPoint::sqrDist ( double  x,
double  y 
) const
double QgsPoint::sqrDist ( const QgsPoint other) const

Returns the squared distance between this and other point.

Definition at line 174 of file qgspoint.cpp.

References sqrDist(), x(), and y().

double QgsPoint::sqrDistToSegment ( double  x1,
double  y1,
double  x2,
double  y2,
QgsPoint minDistPoint 
) const

Returns the minimum distance between this point and a segment.

Note:
added in QGIS 1.5

Definition at line 250 of file qgspoint.cpp.

References doubleNear(), m_x, m_y, setX(), setY(), and sqrDist().

Referenced by QgsGeometry::closestSegmentWithContext(), and QgsAnnotationItem::updateBalloon().

QString QgsPoint::toDegreesMinutesSeconds ( int  thePrecision) const

Return a string representation as degrees minutes seconds.

Its up to the calling function to ensure that this point can be meaningfully represented in this form.

Note:
added in QGIS 1.4

Definition at line 138 of file qgspoint.cpp.

References m_x, and m_y.

QString QgsPoint::toString ( ) const
QString QgsPoint::toString ( int  thePrecision) const

As above but with precision for string representation of a point.

Definition at line 131 of file qgspoint.cpp.

References m_x, and m_y.

QString QgsPoint::wellKnownText ( ) const

Return the well known text representation for the point. The wkt is created without an SRID.

Returns:
Well known text in the form POINT(x y)

Definition at line 164 of file qgspoint.cpp.

References m_x, and m_y.

double QgsPoint::x ( ) const [inline]

Get the x value of the point

Returns:
x coordinate

Definition at line 109 of file qgspoint.h.

Referenced by QgsAnnotationItem::_writeXML(), QgsRubberBand::addGeometry(), QgsRasterProjector::approximateSrcRowCol(), azimuth(), QgsDistanceArea::bearing(), QgsRasterProjector::calcHelper(), QgsRasterProjector::calcSrcExtent(), QgsPalLayerSettings::calculateLabelSize(), QgsMapToolZoom::canvasReleaseEvent(), QgsRasterProjector::checkCols(), QgsRasterProjector::checkRows(), QgsDistanceArea::computeDistanceBearing(), QgsRectangle::contains(), createGeosPoint(), QgsRasterImageBuffer::createNextPartImage(), distLine2Point(), QgsPalLabeling::drawLabel(), QgsPalLabeling::drawLabelCandidateRect(), QgsPalLabeling::drawLabeling(), QgsRasterImageBuffer::drawPixelRectangle(), QgsRectangle::expand(), QgsMapTip::fetchFeature(), QgsPalGeometry::info(), QgsVectorLayer::insertSegmentVerticesForSnap(), intersectLines(), QgsLabelSearchTree::label(), QgsComposerMap::mapPolygon(), QgsComposerMap::mapToItemCoords(), QgsDistanceArea::measureLine(), QgsMapOverviewCanvas::mouseReleaseEvent(), QgsSpatialIndex::nearestNeighbor(), onSegment(), operator!=(), operator=(), operator==(), operator==(), QgsComposerMap::paint(), QgsMapCanvas::panActionEnd(), pointInRing(), QgsPoint(), QgsPalLabeling::registerDiagramFeature(), QgsPalLayerSettings::registerFeature(), QgsLabel::renderLabel(), QgsRectangle::scale(), QgsRectangle::set(), QgsMapCanvas::setExtent(), QgsFormAnnotationItem::setFeatureForMapPosition(), QgsRubberBand::setToCanvasRectangle(), QgsGeometryAnalyzer::simpleMeasure(), QgsVectorLayer::snapWithContext(), QgsMapRenderer::splitLayersExtent(), sqrDist(), QgsMapCanvasItem::toCanvasCoordinates(), QgsMapTool::toCanvasCoordinates(), QgsMapToPixel::transform(), QgsCoordinateTransform::transform(), QgsClipper::trimFeatureToBoundary(), QgsAnnotationItem::updateBalloon(), and QgsSearchTreeNode::valueAgainst().

double QgsPoint::y ( ) const [inline]

Get the y value of the point

Returns:
y coordinate

Definition at line 117 of file qgspoint.h.

Referenced by QgsAnnotationItem::_writeXML(), QgsRubberBand::addGeometry(), QgsRasterProjector::approximateSrcRowCol(), azimuth(), QgsDistanceArea::bearing(), QgsRasterProjector::calcHelper(), QgsRasterProjector::calcSrcExtent(), QgsPalLayerSettings::calculateLabelSize(), QgsMapToolZoom::canvasReleaseEvent(), QgsRasterProjector::checkCols(), QgsRasterProjector::checkRows(), QgsDistanceArea::computeDistanceBearing(), QgsRectangle::contains(), createGeosPoint(), QgsRasterImageBuffer::createNextPartImage(), distLine2Point(), QgsPalLabeling::drawLabel(), QgsPalLabeling::drawLabelCandidateRect(), QgsPalLabeling::drawLabeling(), QgsRasterImageBuffer::drawPixelRectangle(), QgsRectangle::expand(), QgsMapTip::fetchFeature(), QgsPalGeometry::info(), QgsVectorLayer::insertSegmentVerticesForSnap(), intersectLines(), QgsLabelSearchTree::label(), QgsComposerMap::mapPolygon(), QgsComposerMap::mapToItemCoords(), QgsDistanceArea::measureLine(), QgsMapOverviewCanvas::mouseReleaseEvent(), QgsSpatialIndex::nearestNeighbor(), onSegment(), operator!=(), operator=(), operator==(), operator==(), QgsComposerMap::paint(), QgsMapCanvas::panActionEnd(), pointInRing(), QgsPoint(), QgsLabel::renderLabel(), QgsRectangle::scale(), QgsRectangle::set(), QgsMapCanvas::setExtent(), QgsFormAnnotationItem::setFeatureForMapPosition(), QgsRubberBand::setToCanvasRectangle(), QgsGeometryAnalyzer::simpleMeasure(), QgsVectorLayer::snapWithContext(), sqrDist(), QgsMapCanvasItem::toCanvasCoordinates(), QgsMapTool::toCanvasCoordinates(), QgsMapToPixel::transform(), QgsCoordinateTransform::transform(), QgsClipper::trimFeatureToBoundary(), QgsAnnotationItem::updateBalloon(), and QgsSearchTreeNode::valueAgainst().


Member Data Documentation

double QgsPoint::m_x [private]
double QgsPoint::m_y [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines