RobWorkProject
24.8.23-
|
A 2D vector \( \mathbf{v}\in \mathbb{R}^2 \). More...
#include <Vector2D.hpp>
Public Types | |
typedef Eigen::Matrix< T, 2, 1 > | EigenVector2D |
Eigen based Vector2D. | |
typedef T | value_type |
Value type. | |
Public Member Functions | |
Vector2D () | |
Creates a 2D vector initialized with 0's. | |
Vector2D (T x, T y) | |
Creates a 2D vector. More... | |
template<class R > | |
Vector2D (const Eigen::MatrixBase< R > &r) | |
Creates a 2D vector from Eigen Vector. More... | |
Vector2D (const Vector2D< T > ©) | |
Copy Constructor. | |
EigenVector2D | e () const |
Returns Eigen vector equivalent to *this. | |
size_t | size () const |
The dimension of the vector (i.e. 2). More... | |
const T & | operator() (size_t i) const |
Returns reference to vector element. More... | |
T & | operator() (size_t i) |
Returns reference to vector element. More... | |
const T & | operator[] (size_t i) const |
Returns reference to vector element. More... | |
T & | operator[] (size_t i) |
Returns reference to vector element. More... | |
const Vector2D< T > | operator/ (T s) const |
Scalar division. | |
const Vector2D< T > | operator* (T s) const |
Scalar multiplication. More... | |
const Vector2D< T > | operator- (const Vector2D< T > &b) const |
Vector subtraction. | |
const Vector2D< T > | operator+ (const Vector2D< T > &b) const |
Vector addition. | |
Vector2D< T > & | operator*= (T s) |
Scalar multiplication. | |
Vector2D< T > & | operator/= (T s) |
Scalar division. | |
Vector2D< T > & | operator+= (const Vector2D< T > &v) |
Vector addition. | |
Vector2D< T > & | operator-= (const Vector2D< T > &v) |
Vector subtraction. | |
const Vector2D< T > | operator- () const |
Unary minus. | |
bool | operator== (const Vector2D< T > &b) const |
Compares a and b for equality. More... | |
bool | operator!= (const Vector2D< T > &b) const |
Compares a and b for inequality. More... | |
double | angle () const |
returns the counter clock-wise angle between this vector and the x-axis vector (1,0). The angle returned will be in the interval [-Pi,Pi] | |
T | norm2 () const |
Returns the Euclidean norm (2-norm) of the vector. More... | |
T | norm1 () const |
Returns the Manhatten norm (1-norm) of the vector. More... | |
T | normInf () const |
Returns the infinte norm ( \(\inf\)-norm) of the vector. More... | |
Friends | |
Vector2D< T > | operator* (T lhs, const Vector2D< T > &rhs) |
Scalar multiplication. More... | |
std::ostream & | operator<< (std::ostream &out, const Vector2D< T > &v) |
Streaming operator. | |
Related Functions | |
(Note that these are not member functions.) | |
template<> | |
void | write (const rw::math::Vector2D< double > &sobject, rw::common::OutputArchive &oarchive, const std::string &id) |
template<> | |
void | write (const rw::math::Vector2D< float > &sobject, rw::common::OutputArchive &oarchive, const std::string &id) |
template<> | |
void | read (rw::math::Vector2D< double > &sobject, rw::common::InputArchive &iarchive, const std::string &id) |
template<> | |
void | read (rw::math::Vector2D< float > &sobject, rw::common::InputArchive &iarchive, const std::string &id) |
template<class Archive , class T > | |
void | serialize (Archive &archive, rw::math::Vector2D< T > &vector, const unsigned int version) |
Boost serialization. More... | |
A 2D vector \( \mathbf{v}\in \mathbb{R}^2 \).
\( \robabx{i}{j}{\mathbf{v}} = \left[ \begin{array}{c} v_x \\ v_y \end{array} \right] \)
In addition, Vector2D supports the cross product operator: v3 = cross(v1, v2)
Usage example:
|
inline |
Creates a 2D vector.
x | [in] \( x \) |
y | [in] \( y \) |
|
inline |
|
inline |
Returns the Manhatten norm (1-norm) of the vector.
|
inline |
Returns the Euclidean norm (2-norm) of the vector.
|
inline |
Returns the infinte norm ( \(\inf\)-norm) of the vector.
|
inline |
Compares a and b for inequality.
b | [in] |
|
inline |
Returns reference to vector element.
i | [in] index in the vector \(i\in \{0,1\} \) |
|
inline |
Returns reference to vector element.
i | [in] index in the vector \(i\in \{0,1\} \) |
|
inline |
Scalar multiplication.
rhs | [in] the scalar to multiply with |
|
inline |
Compares a and b for equality.
b | [in] |
|
inline |
Returns reference to vector element.
i | [in] index in the vector \(i\in \{0,1,2\} \) |
|
inline |
Returns reference to vector element.
i | [in] index in the vector \(i\in \{0,1,2\} \) |
|
inline |
The dimension of the vector (i.e. 2).
This method is provided to help support generic algorithms using size() and operator[].
Scalar multiplication.
lhs | [in] the scalar to multiply with |
rhs | [in] the Vector to be multiplied |
|
related |
Enable read-serialization of class T by overloading this method. Data is read from iarchive and filled into sobject.
sobject | [out] the object in which the data should be streamed into |
iarchive | [in] the InputArchive from which to read data. |
id | [in] The id of the serialized sobject. |
|
related |
Enable read-serialization of class T by overloading this method. Data is read from iarchive and filled into sobject.
sobject | [out] the object in which the data should be streamed into |
iarchive | [in] the InputArchive from which to read data. |
id | [in] The id of the serialized sobject. |
|
related |
Boost serialization.
archive | [in] the boost archive to read from or write to. |
vector | [in/out] the vector to read/write. |
version | [in] class version (currently version 0). |
|
related |
Enable write-serialization of class T by overloading this method. Data is written to oarchive from the sobject.
sobject | [in] the object from which the data should be streamed. |
oarchive | [out] the OutputArchive in which data should be written. |
id | [in] The id of the serialized sobject. |
|
related |
Enable write-serialization of class T by overloading this method. Data is written to oarchive from the sobject.
sobject | [in] the object from which the data should be streamed. |
oarchive | [out] the OutputArchive in which data should be written. |
id | [in] The id of the serialized sobject. |