Quantum GIS API Documentation  1.7.5-Wroclaw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
QgsPoint Class Reference

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

#include <qgspoint.h>

Public Member Functions

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

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: