1 #ifndef GeometryVector_Vector2DBase_h 2 #define GeometryVector_Vector2DBase_h 8 template <
class T,
class FrameTag>
94 template <
class T,
class U,
class FrameTag>
101 template <
class T,
class U,
class FrameTag>
109 template <
class T,
class U,
class FrameTag>
118 template <
class T,
class FrameTag,
class Scalar>
125 template <
class T,
class FrameTag,
class Scalar>
134 template <
class T,
class FrameTag,
class Scalar>
140 #endif // GeometryVector_Vector2DBase_h Vector2DBase & operator+=(const Vector2DBase< U, FrameTag > &v)
PreciseFloatType< T, U >::Type dot(const Vector2DBase< U, FrameTag > &v) const
PV2DBase< T, VectorTag, FrameTag > BaseClass
Vector2DBase & operator*=(const T &t)
Scaling by a scalar value (multiplication)
Vector2DBase & operator/=(const T &t)
Scaling by a scalar value (division)
Vector2DBase(const Vector2DBase< U, FrameTag > &p)
T dot(const Basic2DVector &lh) const
Scalar product, or "dot" product, with a vector of same type.
Vector2DBase< typename PreciseFloatType< T, U >::Type, FrameTag > operator+(const Vector2DBase< T, FrameTag > &v1, const Vector2DBase< U, FrameTag > &v2)
vector sum and subtraction of vectors of possibly different precision
Vector2DBase(const T &x, const T &y)
construct from cartesian coordinates
Vector2DBase & operator-=(const Vector2DBase< U, FrameTag > &v)
Vector2DBase(const Basic2DVector< U > &v)
const BasicVectorType & basicVector() const
Vector2DBase< T, FrameTag > operator/(const Vector2DBase< T, FrameTag > &v, const Scalar &s)
PreciseFloatType< T, U >::Type operator*(const Vector2DBase< T, FrameTag > &v1, const Vector2DBase< U, FrameTag > &v2)
scalar product of vectors of possibly different precision
Vector2DBase operator-() const
Unary minus, returns a vector with components (-x(),-y())
Vector2DBase(const Polar &set)
construct from polar coordinates
Vector2DBase unit() const
Basic2DVector< T > BasicVectorType