5#ifndef BALL_MATHS_VECTOR2_H
6#define BALL_MATHS_VECTOR2_H
8#ifndef BALL_CONCEPT_PERSISTENCEMANAGER_H
12#ifndef BALL_COMMON_EXCEPTION_H
16#ifndef BALL_MATHS_COMMON_H
44 TVector2<T>
operator * (
const T& scalar,
const TVector2<T>& vector);
49 std::istream&
operator >> (std::istream& s, TVector2<T>& vector);
54 std::ostream&
operator << (std::ostream& s,
const TVector2<T>& vector);
129 const
char* name = 0) const;
154 void set(const T& vx, const T& vy);
385 template <typename T>
393 template <
typename T>
401 template <
typename T>
409 template <
typename T>
417 template <
typename T>
422 template <
typename T>
435 template <
typename T>
441 template <
typename T>
450 template <
typename T>
457 template <
typename T>
465 template <
typename T>
473 template <
typename T>
481 template <
typename T>
491 template <
typename T>
505 template <
typename T>
515 template <
typename T>
519 return (T)sqrt(x * x + y * y);
522 template <
typename T>
526 return (T)(x * x + y * y);
529 template <
typename T>
532 T len = (T)sqrt(x * x + y * y);
545 template <
typename T>
553 template <
typename T>
561 template <
typename T>
569 template <
typename T>
586 template <
typename T>
603 template <
typename T>
610 template <
typename T>
617 template <
typename T>
624 template <
typename T>
631 template <
typename T>
641 template <
typename T>
651 template <
typename T>
658 template <
typename T>
668 template <
typename T>
678 template <
typename T>
691 template <
typename T>
695 return (x * vector.
x + y * vector.
y);
698 template <
typename T>
705 return (T)sqrt(dx * dx + dy * dy);
708 template <
typename T>
715 return (dx * dx + dy * dy);
718 template <
typename T>
725 template <
typename T>
732 template <
typename T>
739 template <
typename T>
746 template <
typename T>
753 template <
typename T>
761 s <<
" (x = " << x <<
", y = " << y <<
")" << std::endl;
773 template <
typename T>
780 template <
typename T>
784 s >>
c >> v.
x >> v.
y >>
c;
789 template <
typename T>
792 s <<
"(" << v.
x <<
' ' << v.
y <<
')';
#define BALL_DUMP_STREAM_PREFIX(os)
#define BALL_DUMP_STREAM_SUFFIX(os)
#define BALL_DUMP_DEPTH(os, depth)
#define BALL_DUMP_HEADER(os, cl, ob)
#define BALL_CREATE(name)
BALL_EXPORT std::ostream & operator<<(std::ostream &os, const Exception::GeneralException &e)
TVector2< float > Vector2
BALL_INLINE TAngle< T > operator*(const T &val, const TAngle< T > &angle)
std::istream & operator>>(std::istream &is, TRegularData1D< ValueType > &grid)
Input operator.
BALL_EXTERN_VARIABLE const double c
bool isNotEqual(const T1 &a, const T2 &b)
bool isEqual(const T1 &a, const T2 &b)
void writeObjectHeader(const T *object, const char *name=0)
void writeObjectTrailer(const char *name=0)
bool readPrimitive(T &t, const char *name)
void writePrimitive(const T &t, const char *name)
void dump(std::ostream &s=std::cout, Size depth=0) const
virtual void persistentRead(PersistenceManager &pm)
bool operator==(const TVector2 &vector) const
T getDistance(const TVector2 &vector) const
TVector2 & operator=(const TVector2 &v)
static const TVector2 & getUnit()
bool operator!=(const TVector2 &vector) const
T & operator[](Position position)
TVector2 operator/(const T &lambda) const
TVector2 & operator*=(const T &scalar)
const TVector2 & operator+() const
virtual void persistentWrite(PersistenceManager &pm, const char *name=0) const
TVector2 & operator+=(const TVector2 &vector)
bool isOrthogonalTo(TVector2 &vector) const
TVector2 operator*(const T &scalar) const
TVector2 & operator-=(const TVector2 &vector)
T getSquareLength() const
T getSquareDistance(const TVector2 &vector) const
TVector2 & operator/=(const T &lambda)
static const TVector2 & getZero()
TVector2 operator-() const