Pt2dr Data_El_Geom_GWin::to_user_geom(Pt2di p) const { return Pt2dr ( rto_user_geom(p.x,_tr.x,_sc.x), rto_user_geom(p.y,_tr.y,_sc.y) ); }
Pt2dr rto_user_geom(Pt2dr p,Pt2dr t,Pt2dr s) { return Pt2dr ( rto_user_geom(p.x,t.x,s.x), rto_user_geom(p.y,t.y,s.y) ); }
void interval_window_to_user(INT & a1,INT & a2,INT u1,INT u2,REAL t,REAL s) { if (s >= 1.0) { a1 = round_down(0.5+rto_user_geom(u1,t,s)); a2 = round_Uup(0.5+rto_user_geom(u2-1,t,s)); } else { a1 = round_up(rto_user_geom(u1-0.5,t,s)); a2 = round_up(rto_user_geom(u2-0.5,t,s)); } }