ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Friends | Related Functions | List of all members
QCPVector2D Class Reference

Represents two doubles as a mathematical 2D vector. More...

#include <qcustomplot.h>

Public Member Functions

 QCPVector2D ()
 
 QCPVector2D (double x, double y)
 
 QCPVector2D (const QPoint &point)
 
 QCPVector2D (const QPointF &point)
 
double x () const
 
double y () const
 
double & rx ()
 
double & ry ()
 
void setX (double x)
 
void setY (double y)
 
double length () const
 
double lengthSquared () const
 
QPoint toPoint () const
 
QPointF toPointF () const
 
bool isNull () const
 
void normalize ()
 
QCPVector2D normalized () const
 
QCPVector2D perpendicular () const
 
double dot (const QCPVector2D &vec) 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
 
QCPVector2Doperator*= (double factor)
 
QCPVector2Doperator/= (double divisor)
 
QCPVector2Doperator+= (const QCPVector2D &vector)
 
QCPVector2Doperator-= (const QCPVector2D &vector)
 
 QCPVector2D ()
 
 QCPVector2D (double x, double y)
 
 QCPVector2D (const QPoint &point)
 
 QCPVector2D (const QPointF &point)
 
double x () const
 
double y () const
 
double & rx ()
 
double & ry ()
 
void setX (double x)
 
void setY (double y)
 
double length () const
 
double lengthSquared () const
 
QPoint toPoint () const
 
QPointF toPointF () const
 
bool isNull () const
 
void normalize ()
 
QCPVector2D normalized () const
 
QCPVector2D perpendicular () const
 
double dot (const QCPVector2D &vec) 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
 
QCPVector2Doperator*= (double factor)
 
QCPVector2Doperator/= (double divisor)
 
QCPVector2Doperator+= (const QCPVector2D &vector)
 
QCPVector2Doperator-= (const QCPVector2D &vector)
 
 QCPVector2D ()
 
 QCPVector2D (double x, double y)
 
 QCPVector2D (const QPoint &point)
 
 QCPVector2D (const QPointF &point)
 
double x () const
 
double y () const
 
double & rx ()
 
double & ry ()
 
void setX (double x)
 
void setY (double y)
 
double length () const
 
double lengthSquared () const
 
QPoint toPoint () const
 
QPointF toPointF () const
 
bool isNull () const
 
void normalize ()
 
QCPVector2D normalized () const
 
QCPVector2D perpendicular () const
 
double dot (const QCPVector2D &vec) 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
 
QCPVector2Doperator*= (double factor)
 
QCPVector2Doperator/= (double divisor)
 
QCPVector2Doperator+= (const QCPVector2D &vector)
 
QCPVector2Doperator-= (const QCPVector2D &vector)
 
 QCPVector2D ()
 
 QCPVector2D (double x, double y)
 
 QCPVector2D (const QPoint &point)
 
 QCPVector2D (const QPointF &point)
 
double x () const
 
double y () const
 
double & rx ()
 
double & ry ()
 
void setX (double x)
 
void setY (double y)
 
double length () const
 
double lengthSquared () const
 
QPoint toPoint () const
 
QPointF toPointF () const
 
bool isNull () const
 
void normalize ()
 
QCPVector2D normalized () const
 
QCPVector2D perpendicular () const
 
double dot (const QCPVector2D &vec) 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
 
QCPVector2Doperator*= (double factor)
 
QCPVector2Doperator/= (double divisor)
 
QCPVector2Doperator+= (const QCPVector2D &vector)
 
QCPVector2Doperator-= (const QCPVector2D &vector)
 
 QCPVector2D ()
 
 QCPVector2D (double x, double y)
 
 QCPVector2D (const QPoint &point)
 
 QCPVector2D (const QPointF &point)
 
double x () const
 
double y () const
 
double & rx ()
 
double & ry ()
 
void setX (double x)
 
void setY (double y)
 
double length () const
 
double lengthSquared () const
 
QPoint toPoint () const
 
QPointF toPointF () const
 
bool isNull () const
 
void normalize ()
 
QCPVector2D normalized () const
 
QCPVector2D perpendicular () const
 
double dot (const QCPVector2D &vec) 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
 
QCPVector2Doperator*= (double factor)
 
QCPVector2Doperator/= (double divisor)
 
QCPVector2Doperator+= (const QCPVector2D &vector)
 
QCPVector2Doperator-= (const QCPVector2D &vector)
 

Friends

const QCPVector2D operator* (double factor, const QCPVector2D &vec)
 
const QCPVector2D operator* (const QCPVector2D &vec, double factor)
 
const QCPVector2D operator/ (const QCPVector2D &vec, double divisor)
 
const QCPVector2D operator+ (const QCPVector2D &vec1, const QCPVector2D &vec2)
 
const QCPVector2D operator- (const QCPVector2D &vec1, const QCPVector2D &vec2)
 
const QCPVector2D operator- (const QCPVector2D &vec)
 
const QCPVector2D operator* (double factor, const QCPVector2D &vec)
 
const QCPVector2D operator* (const QCPVector2D &vec, double factor)
 
const QCPVector2D operator/ (const QCPVector2D &vec, double divisor)
 
const QCPVector2D operator+ (const QCPVector2D &vec1, const QCPVector2D &vec2)
 
const QCPVector2D operator- (const QCPVector2D &vec1, const QCPVector2D &vec2)
 
const QCPVector2D operator- (const QCPVector2D &vec)
 
const QCPVector2D operator* (double factor, const QCPVector2D &vec)
 
const QCPVector2D operator* (const QCPVector2D &vec, double factor)
 
const QCPVector2D operator/ (const QCPVector2D &vec, double divisor)
 
const QCPVector2D operator+ (const QCPVector2D &vec1, const QCPVector2D &vec2)
 
const QCPVector2D operator- (const QCPVector2D &vec1, const QCPVector2D &vec2)
 
const QCPVector2D operator- (const QCPVector2D &vec)
 
const QCPVector2D operator* (double factor, const QCPVector2D &vec)
 
const QCPVector2D operator* (const QCPVector2D &vec, double factor)
 
const QCPVector2D operator/ (const QCPVector2D &vec, double divisor)
 
const QCPVector2D operator+ (const QCPVector2D &vec1, const QCPVector2D &vec2)
 
const QCPVector2D operator- (const QCPVector2D &vec1, const QCPVector2D &vec2)
 
const QCPVector2D operator- (const QCPVector2D &vec)
 
const QCPVector2D operator* (double factor, const QCPVector2D &vec)
 
const QCPVector2D operator* (const QCPVector2D &vec, double factor)
 
const QCPVector2D operator/ (const QCPVector2D &vec, double divisor)
 
const QCPVector2D operator+ (const QCPVector2D &vec1, const QCPVector2D &vec2)
 
const QCPVector2D operator- (const QCPVector2D &vec1, const QCPVector2D &vec2)
 
const QCPVector2D operator- (const QCPVector2D &vec)
 

Related Functions

(Note that these are not member functions.)

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.

Constructor & Destructor Documentation

QCPVector2D::QCPVector2D ( )

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

QCPVector2D::QCPVector2D ( double  x,
double  y 
)

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

QCPVector2D::QCPVector2D ( const QPoint &  point)

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

QCPVector2D::QCPVector2D ( const QPointF &  point)

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

QCPVector2D::QCPVector2D ( )
QCPVector2D::QCPVector2D ( double  x,
double  y 
)
QCPVector2D::QCPVector2D ( const QPoint &  point)
QCPVector2D::QCPVector2D ( const QPointF &  point)
QCPVector2D::QCPVector2D ( )
QCPVector2D::QCPVector2D ( double  x,
double  y 
)
QCPVector2D::QCPVector2D ( const QPoint &  point)
QCPVector2D::QCPVector2D ( const QPointF &  point)
QCPVector2D::QCPVector2D ( )
QCPVector2D::QCPVector2D ( double  x,
double  y 
)
QCPVector2D::QCPVector2D ( const QPoint &  point)
QCPVector2D::QCPVector2D ( const QPointF &  point)
QCPVector2D::QCPVector2D ( )
QCPVector2D::QCPVector2D ( double  x,
double  y 
)
QCPVector2D::QCPVector2D ( const QPoint &  point)
QCPVector2D::QCPVector2D ( const QPointF &  point)

Member Function Documentation

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
double QCPVector2D::distanceSquaredToLine ( const QCPVector2D start,
const QCPVector2D end 
) const
double QCPVector2D::distanceSquaredToLine ( const QCPVector2D start,
const QCPVector2D end 
) const
double QCPVector2D::distanceSquaredToLine ( const QCPVector2D start,
const QCPVector2D end 
) const
double QCPVector2D::distanceSquaredToLine ( const QCPVector2D start,
const QCPVector2D end 
) const
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
double QCPVector2D::distanceSquaredToLine ( const QLineF &  line) const
double QCPVector2D::distanceSquaredToLine ( const QLineF &  line) const
double QCPVector2D::distanceSquaredToLine ( const QLineF &  line) const
double QCPVector2D::distanceSquaredToLine ( const QLineF &  line) const
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
double QCPVector2D::distanceToStraightLine ( const QCPVector2D base,
const QCPVector2D direction 
) const
double QCPVector2D::distanceToStraightLine ( const QCPVector2D base,
const QCPVector2D direction 
) const
double QCPVector2D::distanceToStraightLine ( const QCPVector2D base,
const QCPVector2D direction 
) const
double QCPVector2D::distanceToStraightLine ( const QCPVector2D base,
const QCPVector2D direction 
) const
double QCPVector2D::dot ( const QCPVector2D vec) const
inline
double QCPVector2D::dot ( const QCPVector2D vec) const
inline
double QCPVector2D::dot ( const QCPVector2D vec) const
inline
double QCPVector2D::dot ( const QCPVector2D vec) const
inline
double QCPVector2D::dot ( const QCPVector2D vec) const
inline
bool QCPVector2D::isNull ( ) const
inline
bool QCPVector2D::isNull ( ) const
inline
bool QCPVector2D::isNull ( ) const
inline
bool QCPVector2D::isNull ( ) const
inline
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.

double QCPVector2D::length ( ) const
inline

Returns the length of this vector.

See Also
lengthSquared
double QCPVector2D::length ( ) const
inline
double QCPVector2D::length ( ) const
inline
double QCPVector2D::length ( ) const
inline
double QCPVector2D::length ( ) const
inline
double QCPVector2D::lengthSquared ( ) const
inline
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
double QCPVector2D::lengthSquared ( ) const
inline
double QCPVector2D::lengthSquared ( ) const
inline
double QCPVector2D::lengthSquared ( ) const
inline
void QCPVector2D::normalize ( )
void QCPVector2D::normalize ( )
void QCPVector2D::normalize ( )
void QCPVector2D::normalize ( )
void QCPVector2D::normalize ( )

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

See Also
normalized, length, lengthSquared
QCPVector2D QCPVector2D::normalized ( ) const
QCPVector2D QCPVector2D::normalized ( ) const
QCPVector2D QCPVector2D::normalized ( ) const

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

See Also
normalize, length, lengthSquared
QCPVector2D QCPVector2D::normalized ( ) const
QCPVector2D QCPVector2D::normalized ( ) const
QCPVector2D & QCPVector2D::operator*= ( double  factor)

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

QCPVector2D& QCPVector2D::operator*= ( double  factor)
QCPVector2D& QCPVector2D::operator*= ( double  factor)
QCPVector2D& QCPVector2D::operator*= ( double  factor)
QCPVector2D& QCPVector2D::operator*= ( double  factor)
QCPVector2D& QCPVector2D::operator+= ( const QCPVector2D vector)
QCPVector2D & QCPVector2D::operator+= ( const QCPVector2D vector)

Adds the given vector to this vector component-wise.

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

subtracts the given vector from this vector component-wise.

QCPVector2D& QCPVector2D::operator-= ( const QCPVector2D vector)
QCPVector2D& QCPVector2D::operator/= ( double  divisor)
QCPVector2D& QCPVector2D::operator/= ( double  divisor)
QCPVector2D& QCPVector2D::operator/= ( double  divisor)
QCPVector2D & QCPVector2D::operator/= ( double  divisor)

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

QCPVector2D& QCPVector2D::operator/= ( double  divisor)
QCPVector2D QCPVector2D::perpendicular ( ) const
inline
QCPVector2D QCPVector2D::perpendicular ( ) const
inline
QCPVector2D QCPVector2D::perpendicular ( ) const
inline
QCPVector2D QCPVector2D::perpendicular ( ) const
inline

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

QCPVector2D QCPVector2D::perpendicular ( ) const
inline
double& QCPVector2D::rx ( )
inline
double& QCPVector2D::rx ( )
inline
double& QCPVector2D::rx ( )
inline
double& QCPVector2D::rx ( )
inline
double& QCPVector2D::rx ( )
inline
double& QCPVector2D::ry ( )
inline
double& QCPVector2D::ry ( )
inline
double& QCPVector2D::ry ( )
inline
double& QCPVector2D::ry ( )
inline
double& QCPVector2D::ry ( )
inline
void QCPVector2D::setX ( double  x)
inline
void QCPVector2D::setX ( double  x)
inline

Sets the x coordinate of this vector to x.

See Also
setY
void QCPVector2D::setX ( double  x)
inline
void QCPVector2D::setX ( double  x)
inline
void QCPVector2D::setX ( double  x)
inline
void QCPVector2D::setY ( double  y)
inline

Sets the y coordinate of this vector to y.

See Also
setX
void QCPVector2D::setY ( double  y)
inline
void QCPVector2D::setY ( double  y)
inline
void QCPVector2D::setY ( double  y)
inline
void QCPVector2D::setY ( double  y)
inline
QPoint QCPVector2D::toPoint ( ) const
inline
QPoint QCPVector2D::toPoint ( ) const
inline
QPoint QCPVector2D::toPoint ( ) const
inline
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
QPoint QCPVector2D::toPoint ( ) const
inline
QPointF QCPVector2D::toPointF ( ) const
inline
QPointF QCPVector2D::toPointF ( ) const
inline
QPointF QCPVector2D::toPointF ( ) const
inline

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

See Also
toPoint
QPointF QCPVector2D::toPointF ( ) const
inline
QPointF QCPVector2D::toPointF ( ) const
inline
double QCPVector2D::x ( ) const
inline
double QCPVector2D::x ( ) const
inline
double QCPVector2D::x ( ) const
inline
double QCPVector2D::x ( ) const
inline
double QCPVector2D::x ( ) const
inline
double QCPVector2D::y ( ) const
inline
double QCPVector2D::y ( ) const
inline
double QCPVector2D::y ( ) const
inline
double QCPVector2D::y ( ) const
inline
double QCPVector2D::y ( ) const
inline

Friends And Related Function Documentation

const QCPVector2D operator* ( double  factor,
const QCPVector2D vec 
)
friend
const QCPVector2D operator* ( double  factor,
const QCPVector2D vec 
)
friend
const QCPVector2D operator* ( double  factor,
const QCPVector2D vec 
)
friend
const QCPVector2D operator* ( double  factor,
const QCPVector2D vec 
)
friend
const QCPVector2D operator* ( double  factor,
const QCPVector2D vec 
)
friend
const QCPVector2D operator* ( const QCPVector2D vec,
double  factor 
)
friend
const QCPVector2D operator* ( const QCPVector2D vec,
double  factor 
)
friend
const QCPVector2D operator* ( const QCPVector2D vec,
double  factor 
)
friend
const QCPVector2D operator* ( const QCPVector2D vec,
double  factor 
)
friend
const QCPVector2D operator* ( const QCPVector2D vec,
double  factor 
)
friend
const QCPVector2D operator+ ( const QCPVector2D vec1,
const QCPVector2D vec2 
)
friend
const QCPVector2D operator+ ( const QCPVector2D vec1,
const QCPVector2D vec2 
)
friend
const QCPVector2D operator+ ( const QCPVector2D vec1,
const QCPVector2D vec2 
)
friend
const QCPVector2D operator+ ( const QCPVector2D vec1,
const QCPVector2D vec2 
)
friend
const QCPVector2D operator+ ( const QCPVector2D vec1,
const QCPVector2D vec2 
)
friend
const QCPVector2D operator- ( const QCPVector2D vec1,
const QCPVector2D vec2 
)
friend
const QCPVector2D operator- ( const QCPVector2D vec1,
const QCPVector2D vec2 
)
friend
const QCPVector2D operator- ( const QCPVector2D vec1,
const QCPVector2D vec2 
)
friend
const QCPVector2D operator- ( const QCPVector2D vec1,
const QCPVector2D vec2 
)
friend
const QCPVector2D operator- ( const QCPVector2D vec1,
const QCPVector2D vec2 
)
friend
const QCPVector2D operator- ( const QCPVector2D vec)
friend
const QCPVector2D operator- ( const QCPVector2D vec)
friend
const QCPVector2D operator- ( const QCPVector2D vec)
friend
const QCPVector2D operator- ( const QCPVector2D vec)
friend
const QCPVector2D operator- ( const QCPVector2D vec)
friend
const QCPVector2D operator/ ( const QCPVector2D vec,
double  divisor 
)
friend
const QCPVector2D operator/ ( const QCPVector2D vec,
double  divisor 
)
friend
const QCPVector2D operator/ ( const QCPVector2D vec,
double  divisor 
)
friend
const QCPVector2D operator/ ( const QCPVector2D vec,
double  divisor 
)
friend
const QCPVector2D operator/ ( const QCPVector2D vec,
double  divisor 
)
friend
QDebug operator<< ( QDebug  d,
const QCPVector2D vec 
)
related

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


The documentation for this class was generated from the following files: