ICOORD Class Reference

integer coordinate More...

#include <points.h>

Inheritance diagram for ICOORD:
ICOORDELT

List of all members.

Public Member Functions

 ICOORD ()
 empty constructor
 ICOORD (inT16 xin, inT16 yin)
 ~ICOORD ()
 destructor
inT16 x () const
 access function
inT16 y () const
 access_function
void set_x (inT16 xin)
 rewrite function
void set_y (inT16 yin)
 rewrite function
void set_with_shrink (int x, int y)
 Set from the given x,y, shrinking the vector to fit if needed.
float sqlength () const
 find sq length
float length () const
 find length
float pt_to_pt_sqdist (const ICOORD &pt) const
 sq dist between pts
float pt_to_pt_dist (const ICOORD &pt) const
 Distance between pts.
float angle () const
 find angle
BOOL8 operator== (const ICOORD &other) const
 test equality
BOOL8 operator!= (const ICOORD &other) const
 test inequality
void rotate (const FCOORD &vec)
void setup_render (ICOORD *major_step, ICOORD *minor_step, int *major, int *minor) const
bool Serialize (FILE *fp) const
bool DeSerialize (bool swap, FILE *fp)

Protected Attributes

inT16 xcoord
inT16 ycoord

Friends

class FCOORD
ICOORD operator! (const ICOORD &)
 rotate 90 deg anti
ICOORD operator- (const ICOORD &)
 unary minus
ICOORD operator+ (const ICOORD &, const ICOORD &)
 add
ICOORD & operator+= (ICOORD &, const ICOORD &)
 add
ICOORD operator- (const ICOORD &, const ICOORD &)
 subtract
ICOORD & operator-= (ICOORD &, const ICOORD &)
 subtract
inT32 operator% (const ICOORD &, const ICOORD &)
 scalar product
inT32 operator* (const ICOORD &, const ICOORD &)
 cross product
ICOORD operator* (const ICOORD &, inT16)
 multiply
ICOORD operator* (inT16, const ICOORD &)
 multiply
ICOORD & operator*= (ICOORD &, inT16)
 multiply
ICOORD operator/ (const ICOORD &, inT16)
 divide
ICOORD & operator/= (ICOORD &, inT16)
 divide

Detailed Description

integer coordinate


Constructor & Destructor Documentation

ICOORD::ICOORD (  )  [inline]

empty constructor

ICOORD::ICOORD ( inT16  xin,
inT16  yin 
) [inline]

constructor

Parameters:
xin x value
yin y value
ICOORD::~ICOORD (  )  [inline]

destructor


Member Function Documentation

float ICOORD::angle (  )  const [inline]

find angle

bool ICOORD::DeSerialize ( bool  swap,
FILE *  fp 
)
float ICOORD::length (  )  const [inline]

find length

BOOL8 ICOORD::operator!= ( const ICOORD &  other  )  const [inline]

test inequality

BOOL8 ICOORD::operator== ( const ICOORD &  other  )  const [inline]

test equality

float ICOORD::pt_to_pt_dist ( const ICOORD &  pt  )  const [inline]

Distance between pts.

float ICOORD::pt_to_pt_sqdist ( const ICOORD &  pt  )  const [inline]

sq dist between pts

void ICOORD::rotate ( const FCOORD &  vec  )  [inline]

rotate

Parameters:
vec by vector
bool ICOORD::Serialize ( FILE *  fp  )  const
void ICOORD::set_with_shrink ( int  x,
int  y 
)

Set from the given x,y, shrinking the vector to fit if needed.

void ICOORD::set_x ( inT16  xin  )  [inline]

rewrite function

void ICOORD::set_y ( inT16  yin  )  [inline]

rewrite function

void ICOORD::setup_render ( ICOORD *  major_step,
ICOORD *  minor_step,
int *  major,
int *  minor 
) const

Setup for iterating over the pixels in a vector by the well-known Bresenham rendering algorithm. Starting with major/2 in the accumulator, on each step move by major_step, and then add minor to the accumulator. When accumulator >= major subtract major and also move by minor_step.

float ICOORD::sqlength (  )  const [inline]

find sq length

inT16 ICOORD::x (  )  const [inline]

access function

inT16 ICOORD::y (  )  const [inline]

access_function


Friends And Related Function Documentation

friend class FCOORD [friend]
ICOORD operator! ( const ICOORD &  src  )  [friend]

rotate 90 deg anti

inT32 operator% ( const ICOORD &  op1,
const ICOORD &  op2 
) [friend]

scalar product

ICOORD operator* ( inT16  scale,
const ICOORD &  op1 
) [friend]

multiply

ICOORD operator* ( const ICOORD &  op1,
inT16  scale 
) [friend]

multiply

inT32 operator* ( const ICOORD &  op1,
const ICOORD &  op2 
) [friend]

cross product

ICOORD& operator*= ( ICOORD &  op1,
inT16  scale 
) [friend]

multiply

ICOORD operator+ ( const ICOORD &  op1,
const ICOORD &  op2 
) [friend]

add

ICOORD& operator+= ( ICOORD &  op1,
const ICOORD &  op2 
) [friend]

add

ICOORD operator- ( const ICOORD &  op1,
const ICOORD &  op2 
) [friend]

subtract

ICOORD operator- ( const ICOORD &  src  )  [friend]

unary minus

ICOORD& operator-= ( ICOORD &  op1,
const ICOORD &  op2 
) [friend]

subtract

ICOORD operator/ ( const ICOORD &  op1,
inT16  scale 
) [friend]

divide

ICOORD& operator/= ( ICOORD &  op1,
inT16  scale 
) [friend]

divide


Member Data Documentation

inT16 ICOORD::xcoord [protected]
inT16 ICOORD::ycoord [protected]

The documentation for this class was generated from the following files:
Generated on Thu Feb 2 08:19:24 2012 for Tesseract by  doxygen 1.6.3