Nakuja Flight Computer Testing and Simulation Engine (NaFCTSE) 1.0
A testing and verification tool for the Nakuja Rocket Project flight computers
|
Represents two doubles as a mathematical 2D vector. More...
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 |
double | angle () 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 |
QCPVector2D & | operator*= (double factor) |
QCPVector2D & | operator/= (double divisor) |
QCPVector2D & | operator+= (const QCPVector2D &vector) |
QCPVector2D & | operator-= (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) |
Related Symbols | |
(Note that these are not member symbols.) | |
QDebug | operator<< (QDebug d, const QCPVector2D &vec) |
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.
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.
|
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.
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.
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.
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.
|
inline |
Returns the dot/scalar product of this vector with the specified vector vec.
|
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.
|
inline |
Returns the length of this vector.
|
inline |
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.
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.
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+= | ( | const QCPVector2D & | vector | ) |
Adds the given vector to this vector component-wise.
QCPVector2D & QCPVector2D::operator-= | ( | const QCPVector2D & | vector | ) |
subtracts the given vector from this vector component-wise.
QCPVector2D & QCPVector2D::operator/= | ( | double | divisor | ) |
Scales this vector by the given divisor, i.e. the x and y components are divided by divisor.
|
inline |
Returns a vector perpendicular to this vector, with the same length.
|
inline |
Sets the x coordinate of this vector to x.
|
inline |
Sets the y coordinate of this vector to y.
|
inline |
Returns a QPoint which has the x and y coordinates of this vector, truncating any floating point information.
|
inline |
Returns a QPointF which has the x and y coordinates of this vector.
|
Prints vec in a human readable format to the qDebug output.