Similitude
transform(SIMILITUDE* Similitude, int32 xo, int32 yo, int32* x, int32* y)
xo = xo - Similitude->Cx;
xo = (xo * Similitude->R) / UNIT;
yo = yo - Similitude->Cy;
yo = (yo * Similitude->R) / UNIT;
xx = xo - Similitude->Cx;
xx = (xx * Similitude->R2) / UNIT;
yy = -yo - Similitude->Cy;
yy = (yy * Similitude->R2) / UNIT;
*x = ((xo * Similitude->Ct - yo * Similitude->St + xx * Similitude->Ct2
- yy * Similitude->St2) / UNIT) + Similitude->Cx;
*y = ((xo * Similitude->St + yo * Similitude->Ct + xx * Similitude->St2
+ yy * Similitude->Ct2) / UNIT) + Similitude->Cy;
SIMILITUDE* Similitude;
for (Similitude = F->Components, j = F->SimilitudeCount; j;
--j, Similitude++) {
if (Similitude == Current)
transform(Similitude, xo, yo, &x, &y);