#include <Vector2DBase.h>
Public Types | |
typedef PV2DBase< T, VectorTag, FrameTag > | BaseClass |
typedef Basic2DVector< T > | BasicVectorType |
typedef BaseClass::Polar | Polar |
Public Types inherited from PV2DBase< T, VectorTag, FrameTag > | |
typedef Basic2DVector< T > | BasicVectorType |
typedef BasicVectorType::MathVector | MathVector |
typedef BasicVectorType::Polar | Polar |
typedef T | ScalarType |
Public Member Functions | |
template<class U > | |
PreciseFloatType< T, U >::Type | dot (const Vector2DBase< U, FrameTag > &v) const |
Vector2DBase & | operator*= (const T &t) |
Scaling by a scalar value (multiplication) More... | |
template<class U > | |
Vector2DBase & | operator+= (const Vector2DBase< U, FrameTag > &v) |
Vector2DBase | operator- () const |
Unary minus, returns a vector with components (-x(),-y()) More... | |
template<class U > | |
Vector2DBase & | operator-= (const Vector2DBase< U, FrameTag > &v) |
Vector2DBase & | operator/= (const T &t) |
Scaling by a scalar value (division) More... | |
Vector2DBase | unit () const |
Vector2DBase () | |
template<class U > | |
Vector2DBase (const Vector2DBase< U, FrameTag > &p) | |
Vector2DBase (const T &x, const T &y) | |
construct from cartesian coordinates More... | |
Vector2DBase (const Polar &set) | |
construct from polar coordinates More... | |
template<class U > | |
Vector2DBase (const Basic2DVector< U > &v) | |
Public Member Functions inherited from PV2DBase< T, VectorTag, FrameTag > | |
T | barePhi () const |
const BasicVectorType & | basicVector () const |
T | mag () const |
T | mag2 () const |
MathVector const & | mathVector () const |
MathVector & | mathVector () |
Geom::Phi< T > | phi () const |
PV2DBase () | |
PV2DBase (const T &x, const T &y) | |
construct from cartesian coordinates More... | |
PV2DBase (const Polar &set) | |
construct from polar coordinates More... | |
PV2DBase (const Basic2DVector< U > &v) | |
T | r () const |
T | x () const |
T | y () const |
Additional Inherited Members | |
Protected Member Functions inherited from PV2DBase< T, VectorTag, FrameTag > | |
BasicVectorType & | basicVector () |
Protected Attributes inherited from PV2DBase< T, VectorTag, FrameTag > | |
BasicVectorType | theVector |
Definition at line 8 of file Vector2DBase.h.
typedef PV2DBase<T, VectorTag, FrameTag> Vector2DBase< T, FrameTag >::BaseClass |
Definition at line 10 of file Vector2DBase.h.
typedef Basic2DVector<T> Vector2DBase< T, FrameTag >::BasicVectorType |
Definition at line 11 of file Vector2DBase.h.
typedef BaseClass::Polar Vector2DBase< T, FrameTag >::Polar |
Definition at line 12 of file Vector2DBase.h.
|
inline |
default constructor uses default constructor of T to initialize the components. For built-in floating-point types this means initialization to zero
Definition at line 18 of file Vector2DBase.h.
Referenced by Vector2DBase< float, GlobalTag >::operator-(), and Vector2DBase< float, GlobalTag >::unit().
|
inline |
Construct from another vector in the same reference frame, possiblly with different precision
Definition at line 24 of file Vector2DBase.h.
|
inline |
|
inlineexplicit |
|
inlineexplicit |
Explicit constructor from BasicVectorType, bypasses consistency checks for point/vector and for coordinate frame. To be used as carefully as e.g. const_cast.
Definition at line 37 of file Vector2DBase.h.
|
inline |
Scalar (or dot) product with a vector of possibly different precision, defined in the same reference frame. The product is computed without loss of precision. The type of the returned scalar is the more precise of the scalar types of the two vectors.
Definition at line 84 of file Vector2DBase.h.
|
inline |
Scaling by a scalar value (multiplication)
Definition at line 66 of file Vector2DBase.h.
|
inline |
Increment by another Vector of possibly different precision, defined in the same reference frame
Definition at line 48 of file Vector2DBase.h.
|
inline |
Unary minus, returns a vector with components (-x(),-y())
Definition at line 63 of file Vector2DBase.h.
|
inline |
Decrement by another Vector of possibly different precision, defined in the same reference frame
Definition at line 57 of file Vector2DBase.h.
|
inline |
Scaling by a scalar value (division)
Definition at line 72 of file Vector2DBase.h.
|
inline |
Unit vector parallel to this. If mag() is zero, a zero vector is returned.
Definition at line 42 of file Vector2DBase.h.
Referenced by Vector2DBase< float, GlobalTag >::unit().