From 6635ed33c11f70f3d8073a10e02e857998e6645c Mon Sep 17 00:00:00 2001 From: davpapp Date: Thu, 25 Jan 2018 02:59:02 -0500 Subject: [PATCH] Changing mousepath to delta_x delta_y based. --- bin/Mouse.class | Bin 4748 -> 4318 bytes bin/MousePath.class | Bin 2353 -> 3085 bytes bin/MousePoint.class | Bin 1507 -> 1256 bytes src/MousePath.java | 60 +++++++++++++++++++++++++++++++------------ src/MousePoint.java | 35 +++++++++++-------------- 5 files changed, 59 insertions(+), 36 deletions(-) diff --git a/bin/Mouse.class b/bin/Mouse.class index 0832cf55737e86a610b6563de04c61c4cbc1164c..2070652572293a003f2222086c7da55dc06f4e9a 100644 GIT binary patch delta 1943 zcmZux`&(0G9RIxR@}8X?#Vvhw$Rk4$0S7A*v5{Ja76nM&XxPOgJIHiwb32e&NtR`q zk@ea|x|v<5)C#o?U1?foS!y>c%f!pZ9zDd_HHJC!fog zkNJ6#k72dhASR^LF!w^^;j%o2os6z|5nrwKx+wxDML#n z=GF$u-Tv zO`^%-E9IEWAP+Ta%p;>3Hyf#LVXzj})YKF&k>SFv3T{KK=(9|;)+?Bg264tR+ik-F zEaF(mFlw0Dg`II-Yg4coOT;SE1S`iK3}eNBb*x)P6Yk_#`d_>rBQh1-g}cRKYlXED zWfD}e#abveqFF%znmA~!q62|i5fqFURIEZ9M~J4q%tr$yA!TBkN~Ob47_w&hxEe#-(as;PRMfz=3$ZK7h&;K*H7VzO;% z4#Nm?X7j2#HM&S8=gOFkcNDyfonn)1&g9*ApW{7JBF$L49t?S7+6rxrw@%fYTeX;i z56~h0vQ5s}OEo;k?GF_skff1Tw?}j$p->!_M~ib-hrP;Ba=(HDNQq_gw7idTh~pp` zbl3(pVV%-b+D~v;?3MS)hK-IZ_zGW(maIbeNqoa`>ayk2{nY4MOw}WF=UaRyc4bY- zk%{9U6r45~rOTGUebNr&xi^I_zsr`ydY`>yA97vx znMO?mv7r|usUd2EvQbF(ahExPjeei?*x>5Y1UB_Ts`Di9WM7(yvlu|P=pVVW>lp~5 z%ZcOIif4(+T+;eEJP$KbwI45F8__cl8_|P8BJ?zPX6MCjyoi_RTu%0U8LvP>6<))u zgtDQ7#M(|zW$Z#WMR(9EcAj#+jyI^xrdZA~MRi%ox>hjw3yO77b*l5&Ni`(WL}-3E7;+&ocgxGRay9W%#gQs&h|2_9f6y zHmde}Oy&Lf$YV~g7Govv2%E#>87d+p2S@NJrDFID>oUp8>DOpLGE^q{h3Y6AaTK2u zj8ixZ$HZ304EBXM;TSjf%er2;Jo|Bik#b$NG|KnnJLiw&GK&7p&@*^3V?^h#A2Ng9YB+>?HWD_w*^-cm~X!A$9@P&T>ZOYN# delta 2314 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 literal 2353 zcmZuySz8-b7=BNdPDqA*x2=GcnuGwQty_X9r3E7iMS~P@sRJ3q&@hRUNo`uS?%wIW zf1o#BsE>q4c^>uJEB!;(_sk>^VlF1RD*eZ5rFOo21AhH2Py z0z=_eaTAesfr~9gO({u5-$Eg)2jNAZica(kc*Bu(1%m>;E$R+p0K+Ptz*$jH@bP!HN`W ztg+3K_q;6U1vWdJOtK(ZMqEV#v#eOlW{Hbhha1C3wqyZwDqhAbbhoROR-9bfqb=Ez zYbx3hl)kR3xPe9bVo2#LS!+k5H)-*ziV##uy{4kwrBW(75EST48K%Bc-rv@(HElc3 zS@fg|J6e8SvkZB!F@5%~LBxe>=pv|zMgMIV-TtBkB(dq73x#5ZvpMahQmlJw&)C|| zowQc0d6xZ>8zeATAIAUIWW2Sc35f(heX*AMeuQeHa1r0d8)G*vO9%a)%$XH+Q0GSD z#wb~%RLpCYHoS*z1=^`4&s0jbzOP~j9HqBVmP2p>X%wbcE%qd1Te`MSM7_`QPF@GH zxs=z+Mn0=s0kC!v4noJC#LJx~Sh&huNU6bSCJIE9RxEP01xYF1Ne-Wly2ti-FN_B5M;4Yxj=GiadxK2Wy}=H){eetNPKo2Ke|)0qZlKuy?m7Y z@W{7#K9zaaci=Wc(qKD{>9${c}qKctI zoIAh>sj-zuh)w>Aae+TEkv_u2W~_=yewX-NImB~uU-TD@4Ew5h@fHI%+8!(sAAUYv~AV z(lcM4Cgb@ZnvBO<8gI2UUT!uXZ)yA%-fj_jsX6UPOXGK18Yi2LCtDi7i~d^Vzu9z& z;IeEO5te?0xmX=xsh@HC2>NDE?hpp?H(5o#r&xtW`jVu}E`5b`6(3gdfTj-S{-|4i zN=v$)m)f6GoAmOrw#1d!8PI?O`x&Nn8HkYqWmM&AMiKEL|kHGe1j$=s4*A~QCGTTP5J^n00|po zj0@fS3NGFF2(FCNOCgxx=Jwn>Gv7JWPv4hUe*bxS1yIILTYhVQRMZ6pVdyd#78T4v zw~DM3$sp%Omcf5+-k8RP*{B;wX7f}*9?RA}%j_Fibz^1FVBR*3{XhfbOa;(-Gc+^_YNcX5F zaEol;BRb-t4Lvl+!$udZhD$pr)@@FUkn8n7oIWQ0FQ!b%7&fqJT}jncdgPZB96M)` KJhg4{c-z0n#zs8= literal 1507 zcmZ`(O-~b16g_X+Qm6x^6cG7PRFHlE^&7E>U&Mr@s0jp>4G!%D21|={P}#ZTKgfo- zCNU7LeO~ zXhEAoAdy^b0SQfn&?KnCMA$=}CYsTt5Y0Iy`{DM+ioLa9trSVzkt^q|;-aWNyy zxY9a}kP zxoalIk)hbNoy{^`4JBq~k~0eNL{6WxUb`9HhHR1?mvJ?WD@PpFJyCZ}-%y{K5RF{7 z*Hf@D_RDRnNY}c2{+gC%lS||%udIvT$0EIc(^<7i-<-;#Rdfov7>`Hh%iCLd`+*}} ziXJy&T=H?2h6OlP0T|M4B13wuBRkC~1JD97_5@c&?gtq=Q(s`F`VJ9I^&cXZ8aPD! zqt5E$yPI5+8DvfiOthgDalX6xHRa{wBzm|a6Hc*?(x{in(5R0nz_0A7Upd1lr$VVu zh#n9akWyZ1ho&~Y13tBqF=&t+t4}`JF!@Zw;d&0PjHW4D)8wW${uXqdu?KCJ{Mko2#Yqo-1&=cq_w_ozl;_bXB# zxL0e}P)&)RYKb1dgfL&MGJ74-%)1nQX;qj7U0-d$ocJ&E4KgZB;-=5MM@2Gulj&aw z1rE|bq26im18Pq0G0JBjeNv7v=J^&UjMw`nV*`xQgmI#a9JWh{;wndLLdzNS3RN#U zi7cilqZ7lpMOO{&D*pqUn*U%Vtc6bFwlDNK_hs path; private int numPoints; - private MousePoint startingPoint; - private MousePoint endingPoint; + private int deltaX; + private int deltaY; private int timespan; + + private int boundUp; + private int boundDown; + private int boundLeft; + private int boundRight; - public MousePath(ArrayList _path) + public MousePath(ArrayList mousePoints) { - path = new ArrayList(_path.size()); - for (MousePoint point : _path) { - MousePoint pointCopy = new MousePoint(point.getX(), point.getY(), point.getTime()); + path = new ArrayList(mousePoints.size()); + int maxX = Integer.MIN_VALUE; + int maxY = Integer.MIN_VALUE; + int minX = Integer.MAX_VALUE; + int minY = Integer.MAX_VALUE; + for (MousePoint point : mousePoints) { + int x = point.getX(); + int y = point.getY(); + maxX = Math.max(maxX, x); + maxY = Math.max(maxY, y); + minX = Math.min(minX, x); + minY = Math.min(minY, y); + MousePoint pointCopy = new MousePoint(x, y, point.getTime()); path.add(pointCopy); } numPoints = path.size(); - startingPoint = path.get(0); - endingPoint = path.get(numPoints - 1); - timespan = endingPoint.getTime() - startingPoint.getTime(); + MousePoint startingPoint = path.get(0); + boundUp = maxY - startingPoint.getY(); + boundDown = startingPoint.getY() - minY; + boundLeft = startingPoint.getX() - minX; + boundRight = maxX - startingPoint.getX(); + + timespan = path.get(numPoints - 1).getTime() - startingPoint.getTime(); } public ArrayList getPath() { return path; } - public int getNumPoints() { return numPoints; } - public int getTimespan() { return timespan; } - - public MousePoint getStartingPoint() { - return startingPoint; + public int getDeltaX() { + return deltaX; + } + public int getDeltaY() { + return deltaY; } - public MousePoint getEndingPoint() { - return endingPoint; + public int getBoundUp() { + return boundUp; + } + public int getBoundDown() { + return boundDown; + } + public int getBoundLeft() { + return boundLeft; + } + public int getBoundRight() { + return boundRight; } public void display() { diff --git a/src/MousePoint.java b/src/MousePoint.java index e9e1918..95abcc0 100644 --- a/src/MousePoint.java +++ b/src/MousePoint.java @@ -6,25 +6,19 @@ public class MousePoint { private int y; private int time; - public MousePoint(int _x, int _y, int _time) - { - x = _x; - y = _y; - time = _time; + public MousePoint(int x, int y, int time) { + this.x = x; + this.y = y; + this.time = time; } - public int getX() - { + public int getX() { return x; } - - public int getY() - { + public int getY(){ return y; - } - - public int getTime() - { + } + public int getTime() { return time; } @@ -35,12 +29,16 @@ public class MousePoint { public double distance(MousePoint p2) { return Math.hypot(this.x - p2.getX(), this.y - p2.getY()); } - public double distance(Point p2) { return Math.hypot(this.x - p2.getX(), this.y - p2.getY()); } - @Override + + // TODO: define window size + public boolean isValid() { + return (x >= 0 && x < 1920 && y >= 0 && y < 1080 && time >= 0); + } + /*@Override public boolean equals(Object obj) { if (obj == null) { return false; @@ -53,9 +51,6 @@ public class MousePoint { // Compare the data members and return accordingly return (this.x == p.x && this.y == p.y && this.time == p.time); - } + }*/ - public boolean isValid() { - return (x >= 0 && x < 1920 && y >= 0 && y < 1080 && time >= 0); - } } \ No newline at end of file