148 int* major,
int* minor)
const;
226 return xcoord * xcoord + ycoord * ycoord;
231 return (
float) sqrt (sqlength ());
238 gap.xcoord = xcoord - pt.xcoord;
239 gap.ycoord = ycoord - pt.ycoord;
245 return (
float) sqrt (pt_to_pt_sqdist (pt));
250 return (
float) atan2 (ycoord, xcoord);
254 uinT8 to_direction()
const;
261 static uinT8 binary_angle_plus_pi(
double angle);
270 const FCOORD& dir_vector)
const;
277 return xcoord == other.xcoord && ycoord == other.ycoord;
281 return xcoord != other.xcoord || ycoord != other.ycoord;
310 void rotate(
const FCOORD vec);
313 void unrotate(
const FCOORD &vec);
float pt_to_pt_sqdist(const ICOORD &pt) const
sq dist between pts
ICOORD operator/(const ICOORD &op1, inT16 scale)
static ICOORDELT * deep_copy(const ICOORDELT *src)
ICOORD & operator/=(ICOORD &op1, inT16 scale)
FCOORD()
empty constructor
#define ELISTIZEH(CLASSNAME)
BOOL8 operator!=(const ICOORD &other) const
test inequality
ICOORD & operator+=(ICOORD &op1, const ICOORD &op2)
friend ICOORD operator+(const ICOORD &, const ICOORD &)
add
inT32 operator*(const ICOORD &op1, const ICOORD &op2)
ICOORD & operator-=(ICOORD &op1, const ICOORD &op2)
bool Serialize(FILE *fp) const
void setup_render(ICOORD *major_step, ICOORD *minor_step, int *major, int *minor) const
void set_with_shrink(int x, int y)
Set from the given x,y, shrinking the vector to fit if needed.
friend ICOORD operator/(const ICOORD &, inT16)
divide
float length() const
find length
ICOORD operator+(const ICOORD &op1, const ICOORD &op2)
ICOORD operator!(const ICOORD &src)
float length() const
find length
void set_x(float xin)
rewrite function
float pt_to_pt_sqdist(const FCOORD &pt) const
sq dist between pts
ICOORD(inT16 xin, inT16 yin)
inT16 x() const
access function
ICOORD & operator*=(ICOORD &op1, inT16 scale)
void set_y(float yin)
rewrite function
friend ICOORD & operator+=(ICOORD &, const ICOORD &)
add
float sqlength() const
find sq length
ICOORD operator-(const ICOORD &src)
void rotate(const FCOORD &vec)
int direction(EDGEPT *point)
friend ICOORD operator!(const ICOORD &)
rotate 90 deg anti
friend ICOORD & operator/=(ICOORD &, inT16)
divide
ICOORD()
empty constructor
FCOORD(float xvalue, float yvalue)
void set_y(inT16 yin)
rewrite function
friend inT32 operator*(const ICOORD &, const ICOORD &)
cross product
friend ICOORD operator-(const ICOORD &)
unary minus
float angle() const
find angle
float pt_to_pt_dist(const FCOORD &pt) const
Distance between pts.
void set_x(inT16 xin)
rewrite function
friend ICOORD & operator-=(ICOORD &, const ICOORD &)
subtract
bool DeSerialize(bool swap, FILE *fp)
float sqlength() const
find sq length
ICOORDELT()
empty constructor
inT32 operator%(const ICOORD &op1, const ICOORD &op2)
friend ICOORD & operator*=(ICOORD &, inT16)
multiply
BOOL8 operator==(const ICOORD &other) const
test equality
friend inT32 operator%(const ICOORD &, const ICOORD &)
scalar product
ICOORDELT(ICOORD icoord)
constructor from ICOORD
float angle() const
find angle
ICOORDELT(inT16 xin, inT16 yin)
float pt_to_pt_dist(const ICOORD &pt) const
Distance between pts.
inT16 y() const
access_function