QCPVector2D

Search for usage in LXR

Public Member Functions

 QCPVector2D ()
 
 QCPVector2D (const QPoint &point)
 
 QCPVector2D (const QPointF &point)
 
 QCPVector2D (double x, double y)
 
double angle () const
 
double distanceSquaredToLine (const QCPVector2D &start, const QCPVector2D &end) const
 
double distanceSquaredToLine (const QLineF &line) const
 
double distanceToStraightLine (const QCPVector2D &base, const QCPVector2D &direction) const
 
double dot (const QCPVector2D &vec) const
 
bool isNull () const
 
double length () const
 
double lengthSquared () const
 
void normalize ()
 
QCPVector2D normalized () const
 
QCPVector2Doperator*= (double factor)
 
QCPVector2Doperator+= (const QCPVector2D &vector)
 
QCPVector2Doperator-= (const QCPVector2D &vector)
 
QCPVector2Doperator/= (double divisor)
 
QCPVector2D perpendicular () const
 
double & rx ()
 
double & ry ()
 
void setX (double x)
 
void setY (double y)
 
QPoint toPoint () const
 
QPointF toPointF () const
 
double x () const
 
double y () const
 

Related Symbols

(Note that these are not member symbols.)

QDebug operator<< (QDebug d, const QCPVector2D &vec)
 

Detailed Description

Represents two doubles as a mathematical 2D vector.

This class acts as a replacement for QVector2D with the advantage of double precision instead of single, and some convenience methods tailored for the QCustomPlot library.

Definition at line 440 of file qcustomplot.h.

Constructor & Destructor Documentation

◆ QCPVector2D() [1/4]

QCPVector2D::QCPVector2D ( )

Creates a QCPVector2D object and initializes the x and y coordinates to 0.

Definition at line 118 of file qcustomplot.cpp.

◆ QCPVector2D() [2/4]

QCPVector2D::QCPVector2D ( double x,
double y )

Creates a QCPVector2D object and initializes the x and y coordinates with the specified values.

Definition at line 128 of file qcustomplot.cpp.

◆ QCPVector2D() [3/4]

QCPVector2D::QCPVector2D ( const QPoint & point)

Creates a QCPVector2D object and initializes the x and y coordinates respective coordinates of the specified point.

Definition at line 138 of file qcustomplot.cpp.

◆ QCPVector2D() [4/4]

QCPVector2D::QCPVector2D ( const QPointF & point)

Creates a QCPVector2D object and initializes the x and y coordinates respective coordinates of the specified point.

Definition at line 148 of file qcustomplot.cpp.

Member Function Documentation

◆ angle()

double QCPVector2D::angle ( ) const
inline

Returns the angle of the vector in radians. The angle is measured between the positive x line and the vector, counter-clockwise in a mathematical coordinate system (y axis upwards positive). In screen/widget coordinates where the y axis is inverted, the angle appears clockwise.

Definition at line 461 of file qcustomplot.h.

◆ distanceSquaredToLine() [1/2]

double QCPVector2D::distanceSquaredToLine ( const QCPVector2D & start,
const QCPVector2D & end ) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns the squared shortest distance of this vector (interpreted as a point) to the finite line segment given by start and end.

See also
distanceToStraightLine

Definition at line 190 of file qcustomplot.cpp.

◆ distanceSquaredToLine() [2/2]

double QCPVector2D::distanceSquaredToLine ( const QLineF & line) const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns the squared shortest distance of this vector (interpreted as a point) to the finite line segment given by line.

See also
distanceToStraightLine

Definition at line 214 of file qcustomplot.cpp.

◆ distanceToStraightLine()

double QCPVector2D::distanceToStraightLine ( const QCPVector2D & base,
const QCPVector2D & direction ) const

Returns the shortest distance of this vector (interpreted as a point) to the infinite straight line given by a base point and a direction vector.

See also
distanceSquaredToLine

Definition at line 225 of file qcustomplot.cpp.

◆ dot()

double QCPVector2D::dot ( const QCPVector2D & vec) const
inline

Returns the dot/scalar product of this vector with the specified vector vec.

Definition at line 469 of file qcustomplot.h.

◆ isNull()

bool QCPVector2D::isNull ( ) const
inline

Returns whether this vector is null. A vector is null if qIsNull returns true for both x and y coordinates, i.e. if both are binary equal to 0.

Definition at line 465 of file qcustomplot.h.

◆ length()

double QCPVector2D::length ( ) const
inline

Returns the length of this vector.

See also
lengthSquared

Definition at line 459 of file qcustomplot.h.

◆ lengthSquared()

double QCPVector2D::lengthSquared ( ) const
inline

Returns the squared length of this vector. In some situations, e.g. when just trying to find the shortest vector of a group, this is faster than calculating length, because it avoids calculation of a square root.

See also
length

Definition at line 460 of file qcustomplot.h.

◆ normalize()

void QCPVector2D::normalize ( )

Normalizes this vector. After this operation, the length of the vector is equal to 1.

If the vector has both entries set to zero, this method does nothing.

See also
normalized, length, lengthSquared

Definition at line 161 of file qcustomplot.cpp.

◆ normalized()

QCPVector2D QCPVector2D::normalized ( ) const

Returns a normalized version of this vector. The length of the returned vector is equal to 1.

If the vector has both entries set to zero, this method returns the vector unmodified.

See also
normalize, length, lengthSquared

Definition at line 176 of file qcustomplot.cpp.

◆ operator*=()

QCPVector2D & QCPVector2D::operator*= ( double factor)

Scales this vector by the given factor, i.e. the x and y components are multiplied by factor.

Definition at line 234 of file qcustomplot.cpp.

◆ operator+=()

QCPVector2D & QCPVector2D::operator+= ( const QCPVector2D & vector)

Adds the given vector to this vector component-wise.

Definition at line 255 of file qcustomplot.cpp.

◆ operator-=()

QCPVector2D & QCPVector2D::operator-= ( const QCPVector2D & vector)

subtracts the given vector from this vector component-wise.

Definition at line 265 of file qcustomplot.cpp.

◆ operator/=()

QCPVector2D & QCPVector2D::operator/= ( double divisor)

Scales this vector by the given divisor, i.e. the x and y components are divided by divisor.

Definition at line 245 of file qcustomplot.cpp.

◆ perpendicular()

QCPVector2D QCPVector2D::perpendicular ( ) const
inline

Returns a vector perpendicular to this vector, with the same length.

Definition at line 468 of file qcustomplot.h.

◆ rx()

double & QCPVector2D::rx ( )
inline

Definition at line 451 of file qcustomplot.h.

◆ ry()

double & QCPVector2D::ry ( )
inline

Definition at line 452 of file qcustomplot.h.

◆ setX()

void QCPVector2D::setX ( double x)
inline

Sets the x coordinate of this vector to x.

See also
setY

Definition at line 455 of file qcustomplot.h.

◆ setY()

void QCPVector2D::setY ( double y)
inline

Sets the y coordinate of this vector to y.

See also
setX

Definition at line 456 of file qcustomplot.h.

◆ toPoint()

QPoint QCPVector2D::toPoint ( ) const
inline

Returns a QPoint which has the x and y coordinates of this vector, truncating any floating point information.

See also
toPointF

Definition at line 462 of file qcustomplot.h.

◆ toPointF()

QPointF QCPVector2D::toPointF ( ) const
inline

Returns a QPointF which has the x and y coordinates of this vector.

See also
toPoint

Definition at line 463 of file qcustomplot.h.

◆ x()

double QCPVector2D::x ( ) const
inline

Definition at line 449 of file qcustomplot.h.

◆ y()

double QCPVector2D::y ( ) const
inline

Definition at line 450 of file qcustomplot.h.

Friends And Related Symbol Documentation

◆ operator<<()

QDebug operator<< ( QDebug d,
const QCPVector2D & vec )
related

Prints vec in a human readable format to the qDebug output.

Definition at line 503 of file qcustomplot.h.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:04:48 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.