Ipelib

ipe::Vector Class Reference

Two-dimensional vector. More...

#include <ipegeo.h>

List of all members.

Public Member Functions

Public Attributes

Static Public Attributes

Related Functions

(Note that these are not member functions.)

Detailed Description

Two-dimensional vector.

Unlike some other libraries, I don't make a difference between points and vectors.


Constructor & Destructor Documentation

ipe::Vector::Vector ( ) [inline]

Uninitialized vector.

Vector::Vector ( Angle  alpha) [explicit]

Construct a unit vector with this direction.

ipe::Vector::Vector ( double  x0,
double  y0 
) [inline, explicit]

Construct a vector.


Member Function Documentation

double ipe::Vector::sqLen ( ) const [inline]

Return square of Euclidean length.

Return square of vector's length.

double Vector::len ( ) const
Angle Vector::angle ( ) const

Return angle of the vector (with positive x-direction).

The returned angle lies between -pi and +pi. Returns zero for the zero vector.

Vector Vector::normalized ( ) const

Return this vector normalized (with length one).

Normalizing the zero vector returns the vector (1,0).

Vector Vector::orthogonal ( ) const

Return this vector turned 90 degrees to the left.

double Vector::factorize ( Vector &  unit) const

Normalizes this vector into unit and returns length. If this is the zero vector, unit is set to (1,0).

bool Vector::snap ( const Vector &  mouse,
Vector &  pos,
double &  bound 
) const

Snap to nearby vertex.

If distance between mouse and this vector is less than bound, set pos to this vector and bound to the distance, and return true.

bool ipe::Vector::operator== ( const Vector &  rhs) const [inline]

Equality.

bool ipe::Vector::operator!= ( const Vector &  rhs) const [inline]

Inequality.

void ipe::Vector::operator+= ( const Vector &  rhs) [inline]

Vector-addition.

void ipe::Vector::operator-= ( const Vector &  rhs) [inline]

Vector-subtraction.

void ipe::Vector::operator*= ( double  rhs) [inline]

Multiply vector by scalar.

Vector ipe::Vector::operator+ ( const Vector &  rhs) const [inline]

Vector-addition.

Vector ipe::Vector::operator- ( const Vector &  rhs) const [inline]

Vector-subtraction.

Vector ipe::Vector::operator* ( double  rhs) const [inline]

Vector * scalar.

Vector ipe::Vector::operator- ( ) const [inline]

Unary minus for Vector.


Friends And Related Function Documentation

Stream & operator<< ( Stream &  stream,
const Vector &  rhs 
) [related]
Vector operator* ( double  lhs,
const Vector &  rhs 
) [related]

Scalar * vector.

double dot ( const Vector &  lhs,
const Vector &  rhs 
) [related]

Dotproduct of two vectors.


Member Data Documentation

Vector Vector::ZERO = Vector(0.0, 0.0) [static]

The origin (zero vector).

Coordinates are public.

Coordinates are public.


The documentation for this class was generated from the following files: