Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

mlib::NDCvec Class Reference
["NDC" Coordinate System]

A vector in NDC coordinates. More...

#include <points.H>

Inheritance diagram for mlib::NDCvec:

Inheritance graph
[legend]
Collaboration diagram for mlib::NDCvec:

Collaboration graph
[legend]
List of all members.

Public Types

typedef double value_type

Public Member Functions

 Vec2 ()
 Vec2 (double x, double y)
NDCvec operator+ (const NDCvec &v) const
NDCvec operator- (const NDCvec &v) const
NDCvec operator- () const
double operator * (const NDCvec &v) const
NDCvec operator * (double s) const
NDCvec operator/ (double s) const
void operator+= (const NDCvec &v)
void operator-= (const NDCvec &v)
void operator *= (double s)
void operator/= (double s)
double operator[] (int index) const
double & operator[] (int index)
double length () const
double length_sqrd () const
bool is_exact_null () const
bool is_null (double epsSqrdMath=epsNorSqrdMath()) const
 Tells if the vector is basically the zero vector.
NDCvec normalized () const
 Returns a unit-length copy of this vector.
NDCvec perpend () const
 Returns a copy of the vector rotated 90 degrees CCW.
double dist (const NDCvec &v) const
double dist_sqrd (const NDCvec &v) const
double signed_angle (const NDCvec &) const
 Returns the signed angle between this vector and the given one.
double angle (const NDCvec &v) const
 Returns the unsigned angle between the two vectors. The result will lie between 0 and pi radians.
double tlen (const NDCvec &b) const
 Return (this * b) / (b * b).
NDCvec projected (const NDCvec &b) const
 Returns the projection of this onto b.
NDCvec orthogonalized (const NDCvec &b) const
 Returns this vector minus its projection onto b.
bool is_equal (const NDCvec &v, double epsSqrd=epsNorSqrdMath()) const
bool is_parallel (const NDCvec &) const
bool operator== (const NDCvec &v) const
bool operator!= (const NDCvec &v) const
Constructors
 NDCvec ()
 NDCvec (double x, double y)
 NDCvec (CXYvec &)
 NDCvec (CVEXEL &)
 NDCvec (CNDCZvec &v)
Vector Operations
NDCvec perpendicular () const

Static Public Member Functions

static CNDCvecnull ()
static CNDCvecX ()
static CNDCvecY ()
static int dim ()

Protected Attributes

double _x
double _y

Static Protected Attributes

static CNDCvec _null_vec
static CNDCvec _x_axis
static CNDCvec _y_axis

Detailed Description

A vector in NDC coordinates.

Definition at line 945 of file points.H.


Member Typedef Documentation

typedef double mlib::Vec2< NDCvec >::value_type [inherited]
 

Definition at line 47 of file vec2.H.


Constructor & Destructor Documentation

mlib::NDCvec::NDCvec  )  [inline]
 

Definition at line 958 of file points.H.

Referenced by perpendicular().

mlib::NDCvec::NDCvec double  x,
double  y
[inline]
 

Definition at line 959 of file points.H.

mlib::NDCvec::NDCvec CXYvec  ) 
 

Definition at line 216 of file points.C.

References mlib::Vec2< NDCvec >::_x, mlib::Vec2< NDCvec >::_y, and VIEW_ASPECT.

mlib::NDCvec::NDCvec CVEXEL  ) 
 

Definition at line 233 of file points.C.

References mlib::Vec2< NDCvec >::_x, mlib::Vec2< NDCvec >::_y, VIEW_ASPECT, and VIEW_SIZE.

mlib::NDCvec::NDCvec CNDCZvec v  )  [inline]
 

Definition at line 962 of file points.H.


Member Function Documentation

double mlib::Vec2< NDCvec >::angle const NDCvec v  )  const [inherited]
 

Returns the unsigned angle between the two vectors. The result will lie between 0 and pi radians.

static int mlib::Vec2< NDCvec >::dim  )  [inline, static, inherited]
 

Definition at line 48 of file vec2.H.

double mlib::Vec2< NDCvec >::dist const NDCvec v  )  const [inline, inherited]
 

Definition at line 107 of file vec2.H.

double mlib::Vec2< NDCvec >::dist_sqrd const NDCvec v  )  const [inline, inherited]
 

Definition at line 108 of file vec2.H.

bool mlib::Vec2< NDCvec >::is_equal const NDCvec v,
double  epsSqrd = epsNorSqrdMath()
const [inline, inherited]
 

Definition at line 141 of file vec2.H.

bool mlib::Vec2< NDCvec >::is_exact_null  )  const [inline, inherited]
 

Definition at line 84 of file vec2.H.

bool mlib::Vec2< NDCvec >::is_null double  epsSqrdMath = epsNorSqrdMath()  )  const [inline, inherited]
 

Tells if the vector is basically the zero vector.

Definition at line 87 of file vec2.H.

bool mlib::Vec2< NDCvec >::is_parallel const NDCvec  )  const [inherited]
 

double mlib::Vec2< NDCvec >::length  )  const [inline, inherited]
 

Definition at line 81 of file vec2.H.

double mlib::Vec2< NDCvec >::length_sqrd  )  const [inline, inherited]
 

Definition at line 82 of file vec2.H.

NDCvec mlib::Vec2< NDCvec >::normalized  )  const [inherited]
 

Returns a unit-length copy of this vector.

static CNDCvec& mlib::NDCvec::null  )  [inline, static]
 

Definition at line 974 of file points.H.

References _null_vec.

NDCvec mlib::Vec2< NDCvec >::operator * double  s  )  const [inline, inherited]
 

Definition at line 60 of file vec2.H.

double mlib::Vec2< NDCvec >::operator * const NDCvec v  )  const [inline, inherited]
 

Definition at line 57 of file vec2.H.

void mlib::Vec2< NDCvec >::operator *= double  s  )  [inline, inherited]
 

Definition at line 65 of file vec2.H.

bool mlib::Vec2< NDCvec >::operator!= const NDCvec v  )  const [inline, inherited]
 

Definition at line 151 of file vec2.H.

NDCvec mlib::Vec2< NDCvec >::operator+ const NDCvec v  )  const [inline, inherited]
 

Definition at line 55 of file vec2.H.

void mlib::Vec2< NDCvec >::operator+= const NDCvec v  )  [inline, inherited]
 

Definition at line 63 of file vec2.H.

NDCvec mlib::Vec2< NDCvec >::operator-  )  const [inline, inherited]
 

Definition at line 58 of file vec2.H.

NDCvec mlib::Vec2< NDCvec >::operator- const NDCvec v  )  const [inline, inherited]
 

Definition at line 56 of file vec2.H.

void mlib::Vec2< NDCvec >::operator-= const NDCvec v  )  [inline, inherited]
 

Definition at line 64 of file vec2.H.

NDCvec mlib::Vec2< NDCvec >::operator/ double  s  )  const [inline, inherited]
 

Definition at line 61 of file vec2.H.

void mlib::Vec2< NDCvec >::operator/= double  s  )  [inline, inherited]
 

Definition at line 66 of file vec2.H.

bool mlib::Vec2< NDCvec >::operator== const NDCvec v  )  const [inline, inherited]
 

Definition at line 150 of file vec2.H.

double& mlib::Vec2< NDCvec >::operator[] int  index  )  [inline, inherited]
 

Definition at line 74 of file vec2.H.

double mlib::Vec2< NDCvec >::operator[] int  index  )  const [inline, inherited]
 

Definition at line 73 of file vec2.H.

NDCvec mlib::Vec2< NDCvec >::orthogonalized const NDCvec b  )  const [inline, inherited]
 

Returns this vector minus its projection onto b.

Definition at line 134 of file vec2.H.

NDCvec mlib::Vec2< NDCvec >::perpend  )  const [inline, inherited]
 

Returns a copy of the vector rotated 90 degrees CCW.

Definition at line 100 of file vec2.H.

NDCvec mlib::NDCvec::perpendicular  )  const [inline]
 

Questions:
Isn't this the same as the Vec2 perpend() function?

Definition at line 970 of file points.H.

References mlib::Vec2< NDCvec >::_x, mlib::Vec2< NDCvec >::_y, and NDCvec().

NDCvec mlib::Vec2< NDCvec >::projected const NDCvec b  )  const [inline, inherited]
 

Returns the projection of this onto b.

Definition at line 131 of file vec2.H.

double mlib::Vec2< NDCvec >::signed_angle const NDCvec  )  const [inherited]
 

Returns the signed angle between this vector and the given one.

I.e., returns the angle by which to rotate this vector counter-clockwise to align with the given vector. The result will be negative if the smallest rotation to get to the given vector is in the clockwise direction. The result will lie between -pi and pi radians:

double mlib::Vec2< NDCvec >::tlen const NDCvec b  )  const [inline, inherited]
 

Return (this * b) / (b * b).

Definition at line 125 of file vec2.H.

mlib::Vec2< NDCvec >::Vec2 double  x,
double  y
[inline, inherited]
 

Definition at line 40 of file vec2.H.

mlib::Vec2< NDCvec >::Vec2  )  [inline, inherited]
 

Definition at line 39 of file vec2.H.

static CNDCvec& mlib::NDCvec::X  )  [inline, static]
 

Definition at line 975 of file points.H.

References _x_axis.

static CNDCvec& mlib::NDCvec::Y  )  [inline, static]
 

Definition at line 976 of file points.H.

References _y_axis.


Member Data Documentation

CNDCvec mlib::NDCvec::_null_vec [static, protected]
 

Definition at line 949 of file points.H.

Referenced by null().

double mlib::Vec2< NDCvec >::_x [protected, inherited]
 

Definition at line 32 of file vec2.H.

Referenced by NDCvec(), and perpendicular().

CNDCvec mlib::NDCvec::_x_axis [static, protected]
 

Definition at line 950 of file points.H.

Referenced by X().

double mlib::Vec2< NDCvec >::_y [protected, inherited]
 

Definition at line 32 of file vec2.H.

Referenced by NDCvec(), and perpendicular().

CNDCvec mlib::NDCvec::_y_axis [static, protected]
 

Definition at line 951 of file points.H.

Referenced by Y().


The documentation for this class was generated from the following files:
Generated on Mon Sep 18 11:48:19 2006 for jot by  doxygen 1.4.4