Description
template<class Real = double>
class chrono::ChVector2< Real >
Definition of a general purpose 2d vector.
ChVector2 is templated by precision, with default 'double'.
#include <ChVector2.h>
Public Member Functions | |
| ChVector2 (Real x, Real y) | |
| ChVector2 (Real a) | |
| ChVector2 (const ChVector2< Real > &other) | |
| template<class RealB > | |
| ChVector2 (const ChVector2< RealB > &other) | |
| Copy constructor with type change. | |
| Real & | x () |
| Access to components. | |
| Real & | y () |
| const Real & | x () const |
| const Real & | y () const |
| const Real * | data () const |
| Return const pointer to underlying array storage. | |
| void | Set (Real x, Real y) |
| Set the two values of the vector at once. | |
| void | Set (const ChVector2< Real > &v) |
| Sets the vector as a copy of another vector. | |
| void | Set (Real s) |
| Set all the vector components ts to the same scalar. | |
| void | SetNull () |
| Set the vector to the null vector. More... | |
| bool | IsNull () const |
| Return true if this vector is the null vector. | |
| bool | Equals (const ChVector2< Real > &other) const |
| Return true if this vector is equal to another vector. | |
| bool | Equals (const ChVector2< Real > &other, Real tol) const |
| Return true if this vector is equal to another vector, within a tolerance 'tol'. | |
| Real | Length () const |
| Compute the euclidean norm of the vector, that is its length or magnitude. | |
| Real | Length2 () const |
| Compute the squared euclidean norm of the vector. | |
| Real | LengthInf () const |
| Compute the infinite norm of the vector, that is the maximum absolute value of one of its elements. | |
| Real & | operator[] (unsigned index) |
| Subscript operator. | |
| const Real & | operator[] (unsigned index) const |
| ChVector2< Real > & | operator= (const ChVector2< Real > &other) |
| Assignment operator (copy from another vector). | |
| template<class RealB > | |
| ChVector2< Real > & | operator= (const ChVector2< RealB > &other) |
| Assignment operator (copy from another vector) with type change. | |
| ChVector2< Real > | operator+ () const |
| Operators for sign change. | |
| ChVector2< Real > | operator- () const |
| ChVector2< Real > | operator+ (const ChVector2< Real > &other) const |
| Operator for vector sum. | |
| ChVector2< Real > & | operator+= (const ChVector2< Real > &other) |
| ChVector2< Real > | operator- (const ChVector2< Real > &other) const |
| Operator for vector difference. | |
| ChVector2< Real > & | operator-= (const ChVector2< Real > &other) |
| ChVector2< Real > | operator* (const ChVector2< Real > &other) const |
| Operator for element-wise multiplication. More... | |
| ChVector2< Real > & | operator*= (const ChVector2< Real > &other) |
| ChVector2< Real > | operator/ (const ChVector2< Real > &other) const |
| Operator for element-wise division. | |
| ChVector2< Real > & | operator/= (const ChVector2< Real > &other) |
| ChVector2< Real > | operator* (const Real s) const |
| Operator for scaling the vector by a scalar value, as V*s. | |
| ChVector2< Real > & | operator*= (const Real s) |
| ChVector2< Real > | operator/ (const Real v) const |
| Operator for scaling the vector by inverse of a scalar value, as v/s. | |
| ChVector2< Real > & | operator/= (const Real v) |
| Real | operator^ (const ChVector2< Real > &other) const |
| Operator for dot product: A^B means the scalar dot-product A*B Note: pay attention to operator low precedence (see C++ precedence rules!) | |
| bool | operator<= (const ChVector2< Real > &other) const |
| Component-wise comparison operators. | |
| bool | operator>= (const ChVector2< Real > &other) const |
| bool | operator< (const ChVector2< Real > &other) const |
| bool | operator> (const ChVector2< Real > &other) const |
| bool | operator== (const ChVector2< Real > &other) const |
| bool | operator!= (const ChVector2< Real > &other) const |
| void | Add (const ChVector2< Real > &A, const ChVector2< Real > &B) |
| Set this vector to the sum of A and B: this = A + B. | |
| void | Sub (const ChVector2< Real > &A, const ChVector2< Real > &B) |
| Set this vector to the difference of A and B: this = A - B. | |
| void | Mul (const ChVector2< Real > &A, const Real s) |
| Set this vector to the product of a vector A and scalar s: this = A * s. | |
| void | Scale (const Real s) |
| Scale this vector by a scalar: this *= s. | |
| void | Abs () |
| Set this vector to its component-wise absolute values. | |
| Real | Dot (const ChVector2< Real > &B) const |
| Return the dot product with another vector: result = this ^ B. | |
| bool | Normalize () |
| Normalize this vector in place, so that its euclidean length is 1. More... | |
| ChVector2< Real > | GetNormalized () const |
| Return a normalized copy of this vector, with euclidean length = 1. More... | |
| void | SetLength (Real s) |
| Impose a new length to the vector, keeping the direction unchanged. | |
| void | Rotate (Real angle) |
| Apply a 2D rotation of given angle (positive counterclockwise). | |
| int | GetMaxComponent () const |
| Return the index of the largest component in absolute value. | |
| ChVector2< Real > | GetOrthogonalVector () const |
| Return a unit vector orthogonal to this vector. | |
| void | ArchiveOut (ChArchiveOut &archive_out) |
| Method to allow serialization of transient m_data to archives. | |
| void | ArchiveIn (ChArchiveIn &archive_in) |
| Method to allow de-serialization of transient m_data from archives. | |
Friends | |
| template<typename RealB > | |
| class | ChVector2 |
| Declaration of friend classes. | |
Member Function Documentation
◆ GetNormalized()
|
inline |
Return a normalized copy of this vector, with euclidean length = 1.
Not to be confused with Normalize() which normalizes in place.
◆ Normalize()
|
inline |
Normalize this vector in place, so that its euclidean length is 1.
Return false if the original vector had zero length (in which case the vector set to [1,0,0]) and return true otherwise.
◆ operator*()
|
inline |
Operator for element-wise multiplication.
Note that this is not the dot product.
◆ SetNull()
|
inline |
Set the vector to the null vector.
Sets the vector as a null vector.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/core/ChVector2.h