Define functions to treat a FixedArray as a point or vector. More...
#include "../defs.h"#include "../../ads/array/FixedArray.h"#include "Point.ipp"#include <cassert>#include <cmath>Go to the source code of this file.
Functions | |
| template<int N, typename T > | |
| T | computeDotProduct (const ads::FixedArray< N, T > &x, const ads::FixedArray< N, T > &y) |
| Return the dot product of x and y. | |
| template<typename T > | |
| ads::FixedArray< 3, T > | computeCrossProduct (const ads::FixedArray< 3, T > &x, const ads::FixedArray< 3, T > &y) |
| Return the cross product of x and y. | |
| template<typename T > | |
| void | computeCrossProduct (const ads::FixedArray< 3, T > &x, const ads::FixedArray< 3, T > &y, ads::FixedArray< 3, T > *result) |
| Compute the cross product of x and y. | |
| template<typename T > | |
| T | computeTripleProduct (const ads::FixedArray< 3, T > &a, const ads::FixedArray< 3, T > &b, const ads::FixedArray< 3, T > &c) |
The scalar triple product of three vectors: . | |
| template<typename T > | |
| T | computeDiscriminant (const ads::FixedArray< 2, T > &p, const ads::FixedArray< 2, T > &q) |
| Return the discriminant of the vectors. | |
| template<typename T > | |
| void | computeAnOrthogonalVector (const ads::FixedArray< 3, T > &vector, ads::FixedArray< 3, T > *orthogonal) |
| Compute an orthogonal vector. | |
| template<int N, typename T > | |
| T | computeSquaredMagnitude (const ads::FixedArray< N, T > &x) |
| Return the squared magnitude of this vector. | |
| template<int N, typename T > | |
| T | computeMagnitude (const ads::FixedArray< N, T > &x) |
| Return the magnitude of this vector. | |
| template<int N, typename T > | |
| void | normalize (ads::FixedArray< N, T > *x) |
| Normalize this vector so it has unit length. | |
| template<int N, typename T > | |
| T | computeSquaredDistance (const ads::FixedArray< N, T > &p, const ads::FixedArray< N, T > &q) |
| Return the squared distance between two points. | |
| template<typename T > | |
| int | computeSignOfTurn (const ads::FixedArray< 2, T > &p, const ads::FixedArray< 2, T > &q, const ads::FixedArray< 2, T > &r) |
| Positive turn: return 1. No turn: return 0. Negative turn: return -1. | |
| template<typename T > | |
| int | computeApproximateSignOfTurn (const ads::FixedArray< 2, T > &p, const ads::FixedArray< 2, T > &q, const ads::FixedArray< 2, T > &r) |
| Positive turn: return 1. No turn: return 0. Negative turn: return -1. | |
| template<typename T > | |
| T | computePseudoAngle (const ads::FixedArray< 2, T > &vec) |
| Return the pseudo-angle between vec and the x axis. | |
| template<int N, typename T > | |
| T | computeAngle (const ads::FixedArray< N, T > &a, const ads::FixedArray< N, T > &b) |
| Return the angle between the two vectors. | |
| template<typename T > | |
| void | rotatePiOver2 (ads::FixedArray< 2, T > *p) |
| Rotate the vector + pi / 2. | |
| template<typename T > | |
| void | rotateMinusPiOver2 (ads::FixedArray< 2, T > &p) |
| Rotate the vector - pi / 2. | |
Define functions to treat a FixedArray as a point or vector.
1.6.3