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
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>
777 return TVector2<T>(scalar * vector.x, scalar * vector.y);
780 template <
typename T>
784 s >> c >> v.
x >> v.
y >> c;
789 template <
typename T>
792 s <<
"(" << v.
x <<
' ' << v.
y <<
')';
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)
void set(const float &value)
bool operator==(const TVector2 &vector) const
float 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)
float getSquareLength() const
float getSquareDistance(const TVector2 &vector) const
TVector2 & operator/=(const T &lambda)
static const TVector2 & getZero()
TVector2 operator-() const
#define BALL_CREATE(name)
BALL_EXPORT std::ostream & operator<<(std::ostream &os, const Exception::GeneralException &e)
TVector2< float > Vector2
#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)
bool isNotEqual(const T1 &a, const T2 &b)
bool isEqual(const T1 &a, const T2 &b)
BALL_INLINE TAngle< T > operator*(const T &val, const TAngle< T > &angle)
std::istream & operator>>(std::istream &is, TRegularData1D< ValueType > &grid)
Input operator.