#include <Vector2D.h>
Public Member Functions | |
Vector2D () | |
Vector2D (double x, double y) | |
void | normalize () |
double | distanceSqr (const Vector2D v) const |
double | cosAngle (const Vector2D &v) const |
Vector2D & | operator= (const Vector2D &v) |
Vector2D & | operator+= (const Vector2D &v) |
Vector2D & | operator-= (const Vector2D &v) |
Vector2D & | operator*= (const double s) |
Vector2D & | operator/= (const double s) |
Vector2D | operator+ (const Vector2D &v) const |
Vector2D | operator- (const Vector2D &v) const |
Vector2D | operator* (const double s) const |
Vector2D | operator/ (const double s) const |
bool | operator== (const Vector2D &v) const |
bool | operator!= (const Vector2D &v) const |
void | netPack (cCommBuffer *b) |
void | netUnpack (cCommBuffer *b) |
Public Attributes | |
double | x |
double | y |
Friends | |
bool | operator< (const Vector2D &a, const Vector2D &b) |
std::ostream & | operator<< (std::ostream &Stream, const Vector2D &v) |
void Vector2D::normalize | ( | ) |
Referenced by MovementGenerator::flock(), MovementGenerator::MovementGenerator(), and SimpleGameClient::updateNeighbors().
00039 { 00040 double temp; 00041 temp = sqrt(x * x + y * y); 00042 if(temp != 0.0) { 00043 x /= temp; 00044 y /= temp; 00045 } 00046 }
double Vector2D::distanceSqr | ( | const Vector2D | v | ) | const |
Referenced by Vast::distance_square(), MovementGenerator::flock(), ConnectivityProbe::handleMessage(), SimpleGameClient::handleTimerEvent(), randomRoaming::move(), and groupRoaming::move().
00049 { 00050 double dx, dy; 00051 dx = x - v.x; 00052 dy = y - v.y; 00053 return dx * dx + dy * dy; 00054 }
double Vector2D::cosAngle | ( | const Vector2D & | v | ) | const |
Vector2D & Vector2D::operator*= | ( | const double | s | ) |
Vector2D & Vector2D::operator/= | ( | const double | s | ) |
Vector2D Vector2D::operator* | ( | const double | s | ) | const |
Vector2D Vector2D::operator/ | ( | const double | s | ) | const |
bool Vector2D::operator== | ( | const Vector2D & | v | ) | const |
bool Vector2D::operator!= | ( | const Vector2D & | v | ) | const |
void Vector2D::netPack | ( | cCommBuffer * | b | ) |
Referenced by doPacking().
00198 { 00199 //cMessage::netPack(b); 00200 doPacking(b, this->x); 00201 doPacking(b, this->y); 00202 }
void Vector2D::netUnpack | ( | cCommBuffer * | b | ) |
Referenced by doUnpacking().
00205 { 00206 //cMessage::netUnpack(b); 00207 doUnpacking(b, this->x); 00208 doUnpacking(b, this->y); 00209 }
std::ostream& operator<< | ( | std::ostream & | Stream, | |
const Vector2D & | v | |||
) | [friend] |
double Vector2D::x |
Referenced by Geometry::bisect(), BoundingBox2D::BoundingBox2D(), NeighborsList::buildVoronoi(), BoundingBox2D::collide(), cosAngle(), Geometry::dist(), distanceSqr(), EdgeList::ELleftbnd(), greatGathering::greatGathering(), groupRoaming::groupRoaming(), SimpleGameClient::handleRealworldPacket(), PubSubLobby::handleTakeOverTimeout(), Geometry::initialize(), Geometry::intersect(), Geometry::intersectCircleLine(), Geometry::intersectCircleSite(), BoundingBox2D::left(), randomRoaming::move(), groupRoaming::move(), MovementGenerator::MovementGenerator(), netPack(), netUnpack(), normalize(), operator!=(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<(), operator<<(), operator=(), operator==(), HeapPQ::PQ_min(), HeapPQ::PQinsert(), Geometry::processEdge(), randomRoaming::randomRoaming(), BoundingBox2D::right(), EdgeList::right_of(), MovementGenerator::testBounds(), and Vector2D().
double Vector2D::y |
Referenced by Geometry::bisect(), BoundingBox2D::bottom(), BoundingBox2D::BoundingBox2D(), NeighborsList::buildVoronoi(), BoundingBox2D::collide(), cosAngle(), Geometry::dist(), distanceSqr(), greatGathering::greatGathering(), groupRoaming::groupRoaming(), SimpleGameClient::handleRealworldPacket(), PubSubLobby::handleTakeOverTimeout(), Geometry::initialize(), Geometry::intersect(), Geometry::intersectCircleLine(), Geometry::intersectCircleSite(), randomRoaming::move(), groupRoaming::move(), MovementGenerator::MovementGenerator(), netPack(), netUnpack(), normalize(), operator!=(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-=(), operator/(), operator/=(), operator<(), operator<<(), operator=(), operator==(), HeapPQ::PQ_min(), HeapPQ::PQinsert(), Geometry::processEdge(), randomRoaming::randomRoaming(), EdgeList::right_of(), MovementGenerator::testBounds(), BoundingBox2D::top(), and Vector2D().