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);
257 BOOL8 operator== (
const FCOORD & other) {
258 return xcoord == other.xcoord && ycoord == other.ycoord;
261 BOOL8 operator!= (
const FCOORD & other) {
262 return xcoord != other.xcoord || ycoord != other.ycoord;
265 friend FCOORD
operator! (
const FCOORD &);
267 friend FCOORD
operator- (
const FCOORD &);
269 friend FCOORD
operator+ (
const FCOORD &,
const FCOORD &);
271 friend FCOORD &
operator+= (FCOORD &,
const FCOORD &);
273 friend FCOORD
operator- (
const FCOORD &,
const FCOORD &);
275 friend FCOORD &
operator-= (FCOORD &,
const FCOORD &);
277 friend float operator% (
const FCOORD &,
const FCOORD &);
279 friend float operator *(
const FCOORD &,
const FCOORD &);
281 friend FCOORD
operator *(
const FCOORD &,
float);
283 friend FCOORD
operator *(
float,
const FCOORD &);
288 friend FCOORD
operator/ (
const FCOORD &,
float);
291 void rotate(
const FCOORD vec);
294 void unrotate(
const FCOORD &vec);
float sqlength() const
find sq length
friend ICOORD operator!(const ICOORD &)
rotate 90 deg anti
ICOORD & operator+=(ICOORD &op1, const ICOORD &op2)
void rotate(const FCOORD &vec)
friend ICOORD & operator-=(ICOORD &, const ICOORD &)
subtract
ICOORD operator+(const ICOORD &op1, const ICOORD &op2)
inT16 x() const
access function
FCOORD()
empty constructor
ICOORD operator!(const ICOORD &src)
ICOORD operator/(const ICOORD &op1, inT16 scale)
BOOL8 operator!=(const ICOORD &other) const
test inequality
ICOORD & operator/=(ICOORD &op1, inT16 scale)
inT32 operator*(const ICOORD &op1, const ICOORD &op2)
void set_x(float xin)
rewrite function
friend ICOORD operator/(const ICOORD &, inT16)
divide
bool DeSerialize(bool swap, FILE *fp)
friend ICOORD operator+(const ICOORD &, const ICOORD &)
add
friend ICOORD & operator/=(ICOORD &, inT16)
divide
inT16 y() const
access_function
float length() const
find length
float pt_to_pt_dist(const FCOORD &pt) const
Distance between pts.
ICOORD(inT16 xin, inT16 yin)
ICOORD & operator*=(ICOORD &op1, inT16 scale)
void set_y(inT16 yin)
rewrite function
friend inT32 operator*(const ICOORD &, const ICOORD &)
cross product
friend ICOORD operator-(const ICOORD &)
unary minus
void setup_render(ICOORD *major_step, ICOORD *minor_step, int *major, int *minor) const
bool Serialize(FILE *fp) const
float sqlength() const
find sq length
friend ICOORD & operator*=(ICOORD &, inT16)
multiply
inT32 operator%(const ICOORD &op1, const ICOORD &op2)
float length() const
find length
friend inT32 operator%(const ICOORD &, const ICOORD &)
scalar product
ICOORDELT()
empty constructor
float pt_to_pt_sqdist(const ICOORD &pt) const
sq dist between pts
ICOORD operator-(const ICOORD &src)
float angle() const
find angle
float angle() const
find angle
void set_x(inT16 xin)
rewrite function
friend ICOORD & operator+=(ICOORD &, const ICOORD &)
add
ICOORD & operator-=(ICOORD &op1, const ICOORD &op2)
BOOL8 operator==(const ICOORD &other) const
test equality
float pt_to_pt_dist(const ICOORD &pt) const
Distance between pts.
void set_with_shrink(int x, int y)
Set from the given x,y, shrinking the vector to fit if needed.
static ICOORDELT * deep_copy(const ICOORDELT *src)
void set_y(float yin)
rewrite function
float pt_to_pt_sqdist(const FCOORD &pt) const
sq dist between pts
ICOORD()
empty constructor
FCOORD(float xvalue, float yvalue)
ICOORDELT(ICOORD icoord)
constructor from ICOORD
ICOORDELT(inT16 xin, inT16 yin)
#define ELISTIZEH(CLASSNAME)