From 928d02d947885fbff6109203242f936aeb3f1c0d Mon Sep 17 00:00:00 2001 From: noah Date: Wed, 9 Mar 2022 14:04:34 -0600 Subject: [PATCH] Vector functions and setting most negative and most postive slope visible ranges --- .../HLlib.dir/src/HiddenLines.cpp.o | Bin 38664 -> 37232 bytes build/CMakeFiles/main.dir/src/main.cpp.o | Bin 6800 -> 5832 bytes build/libHLlib.a | Bin 40668 -> 39236 bytes build/main | Bin 44224 -> 44224 bytes src/HiddenLines.cpp | 39 ++++++++---------- src/main.cpp | 3 -- 6 files changed, 17 insertions(+), 25 deletions(-) diff --git a/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o b/build/CMakeFiles/HLlib.dir/src/HiddenLines.cpp.o index 138655a63d438b6c0e4907fb41d669d0b8cd6815..20101bd25f5c22cad106d92e7c6fd0e534ed962b 100644 GIT binary patch delta 12001 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 literal 38664 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 diff --git a/build/CMakeFiles/main.dir/src/main.cpp.o b/build/CMakeFiles/main.dir/src/main.cpp.o index a6a1a1660073765ef9e34acfa0a0b1bd2010bb38..d127b8412e5d95244a751119e13804087c430863 100644 GIT binary patch delta 1482 zcmaKrPe>F|7{KSfT~|kEc4u|nag@|-%}p~EQG;@I59JaR2GyY`FA`*UkhDW6B1O5F zu=YU&mK1alPi|f;C^i)8Xotv4$a+XKg6L2ZN`2qk8F*UsvG4od`+a|R=1rpMZEYgV zM|~63C-P?%Md^->xhuoCiN$Y)rYCM!4iARf*YS*CC1b~%b{ykxZ1-Ahyx)l(9}Jbp z;;XyJfAcZLX|!es66p}l#&8(ibjNBk(+$+m3qG<)Ltj{k#qlSn39mD8eBsMyIL>RK zpC_TsRh3_G&{UM;2ez0pSii!QpDYWKZVM({b$&`DVG2vR$-+C=WNip{v`9QmQOKi2 zy~a)6;Y~6AKG$nRy*bgmBE%_pPFO6DosKX0e`m1&O;P+x6luT{vh+hN3iuf zBjTpunI4xV@iyF(5HH5%#EX}0b2n0n5 z5zW-^NHIS6ilb{toYMCtul$#$BrcCg*OP=s*@MfeL-&(}xDS`ZUl2qg9>9hCvKajn zQIy>Y-!fQE5b>K5FU7snfZLaY>Xb=57t%iSY`)~B>*r)yHm4_DA@O}SuSOPp$XO6cL$w zKoffAp8H*#>F~0kjpf5OYA>_~+Aw@5(8vy9fihSM6y@gRW->=Pd=E79DTd#B5ZVjF zwCyR3keNY~&|m{iia~WS!lyOpLGufJXqM3zjHu1j7^M{&%og>UeKMiXY~cwGGiHRB z>#%|50f*|M2tTYt51Pm5Lo>&z^*t-h=h1CN)OEYUGW1z3yixTY^U) ZY+E&IXLiPugk+!$I*W_=Ce|uX?_9 zZ`ZC90&NvidRT^hDj(AfX z-e#b6d-X!+Ss|oXL{>+D4{`nb+QqBYj1kN z$WdBa=X<&jpqi>fV4aPex>`Z_yR5VG1$yY{wy>2G0&y%Mz9wKt;? z)UMkrQ>{Nfvsu4O*A`!~$#UxR>jk^^5AsPxd$c>!Uio61eQ6`yLoN>3UH_8crxZrf zBW!AY*sla(b+H(FmD%)o)t@fA^Oj}pW_hpTrdfK)3(_-He?Gl@oTWn_Y}Bo|RYw>U z{PJSx`4!Sv&9oOBOS6rQ#GQve%vkOZiI-DsEqUboDfY|MPSmCWjSdeVOCK1$?^IVh zld*cN?nq|`u{8Z)MnaZki8Ww&=RgVB$GZr^y9P>}pJ0jQ*2LaDyP7VOGVpyu!dN?a zzPYu~+{8Mm*(dR1;6u%=Pb7z$+b*U?n$r(Aw^4tH^x8=DIjMJ#)Vr8GPm;Rd#QE{O zh`Q@r(AcYDAD|B6fUZ$4$RBYoCP$kuCsWTRc8eH8*h7%xRmh287wOH2IOxU^>al~p zwb4kP64l!-Nik%dMSn-Z#$(}>oySkWs>qi9YA7?#6Lp6gqDvK zv%8_hTEtU-^oULi`;ZP&`-sFpYT#nd$j>1IACmgL27XfFIRhUPeU)8Z_^@cE>VRxr zAl{+Xvt8ofA-=sjj6ENt|B}G5LLw4tm6}H=l@6``(Ks195rd;%cWCQD&BMK<-=3@= zc4}pKgg44Fh{3-bgTEGozZHY;Og4_&7K3-h;KyU|(=oUogMTvye?A8PQ4BsAGu~gs z=>Hx#{Y-i@Mt>(Q!AA47KL%&>j#sgY3k!^o=I=i-l;=EHoaQ+Wobd+>VSa#f&-W@` z$gKQuHy#;0dhqDQqYsaMQogScW_tK(w;1|WKJ5f8VfqErbN533oJ=jLV zOfRH#8Q?+aR70h7l#1n50=F9GN*IDaDdI_+jIyD`BMS@_iDJff>R%N0i5~D&k1USfa7~W;hzCWWa>W{!2(BaO8=`GeusvC zUE;_Sr-{;kO5*UZ=lP6=<4jfh-_!84hW}9F@Q?2yrT>D&P5(dF@ODlAWexAp@M{u> zf808h|5qh$`v0?re@xT=tA^|TZ)&(cFFR=81|crK?Nr>`HC&(fR*9SWv}w5R|DcBJ z^Ejm8om$*64cF&)LgL61w35(kF6qZ;o` z%@5vjg(GJW>Vw;q!qq($I6e;*4!SL{fO#QWjD1GxSPcUHr1lWj1y|3F`j9r)9D5CO+e(X+AvY?lIw|4hRn+sxkz&drC; zG_&ZSjQE^tRo${<(WXromXZ@X%$g1YMkljGty^DIaITvM|Nl$H)`++zMS1ub1;&}N z=;k$BEOK|b=q`ku#!Y8hWQGeGcdAwAoCJgs4caREMW<~2r@M(&^ylZ@3e~IPhpt86 z*>{V>RrY5qi`GKbrwdJ}oV#;;rs~i!Y|U2v#RYA`{>SE%^gg|>f$gBgaF&3ucj11k z)~4cd_IVf)>GpX4l%3*n_V}{}q}wA;Wv6(YeMwkvwa5FQ>=aKEhAl;Zhp5X`X;b>k zB6T5GguNTS1{EOrfJ{6s1EGF+f7SOL{?`CuPepv}l{y7RTqT39PKT%ipKUMTzRB-6=IV;K^P@f(6O@?%Ji6XVCf8|L_D32PMpDe3PR$#pWquxS!DioYP^ zcS~c$$Gyvp|2x7O#eYc#x<}e8X2$*p~EsCx%;r6NcW&z};rsAOfxEGl5@&60rt97FMUY7Ce|I9=Z=zRH`Njhz=S;#M23B8Y)7(CiDM>VPJIGzX2&l BixL0; diff --git a/build/libHLlib.a b/build/libHLlib.a index 76c599df688cad0e52e6aff34488ea6cc8fac087..604d473428b509c95ece082a45c28c1eb10e11ab 100644 GIT binary patch delta 9732 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 delta 10814 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::max()) stop_print = "inf"; + if (start_range == stop_range) + continue; std::cout << "Line ID " << std::get<0>(*itr) << " visible from x=" << start_print << " to x=" << stop_print << std::endl; } @@ -196,42 +198,35 @@ std::vector HL::construct_HWprob(){ Line newline = Line(slope, ycept); newline.set_id(); sorted_lines.insert(newline); - lines.push_back(newline); auto line_holder = get_map(); //line_holder[newline.get_id()] = newline; line_holder.insert(std::pair (newline.get_id(), newline)); } - //Set most neg slope to start range of -inf, and most pos to stop of inf - Line lend = *lines.end(); - Line lbegin = *lines.begin(); - lend.set_vis_end(std::numeric_limits::max()); - lbegin.set_vis_start(std::numeric_limits::lowest()); - - std::string lend_stop = std::to_string(lend.get_vis_end()); - std::string lbegin_start = std::to_string(lbegin.get_vis_start()); - if(lend.get_vis_end() == std::numeric_limits::max()) - lend_stop = "inf"; - if(lbegin.get_vis_start() == std::numeric_limits::lowest()) - lbegin_start = "-inf"; + //Copy set to vector + std::copy(sorted_lines.begin(), sorted_lines.end(), std::back_inserter(lines)); + //Display Sorted Vector std::cout << "---------------Sorted Lines by slope:---------------" << std::endl; - for(Line line : sorted_lines) + for(std::vector::iterator it = lines.begin(); it != lines.end(); it++) { + Line line = *it; std::cout << "Line " << line.get_id() << " has slope " << line.get_slope() << " and a y-intercept of " << line.get_ycept() << std::endl; - std::cout << "Line " << line.get_id() << " visible from x=" << line.get_vis_start() << " to x=" <::lowest()); + std::cout << "Changed Line " << line.get_id() << " start vis to " << line.get_vis_start() << std::endl; + *it = line; + } + if (it == (std::prev(lines.end()))){ + line.set_vis_end(std::numeric_limits::max()); + std::cout << "Changed Line " << line.get_id() << " stop vis to " << line.get_vis_end() << std::endl; + *it = line; + } } std::cout << "-----------------------------------------------------" << std::endl; - std::cout << "From the sorted lines, we can derive that Line " << lend.get_id() << " is visible from x=" << lend.get_vis_start() << - " to x=" << lend_stop << std::endl; - - std::cout << "From the sorted lines, we can derive that Line " << lbegin.get_id() << " is visible from x=" << lbegin.get_vis_start() << - " to x=" << lbegin.get_vis_end() << std::endl; - return lines; } diff --git a/src/main.cpp b/src/main.cpp index 9216cc9..2f745b0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,9 +13,6 @@ int main(int argc, char *argv[]) HL inst = HL(); std::cout << std::endl; - Line tmp = *inst.get_lines().end(); - std::cout << "Line "<< tmp.get_id() << " vis from x=" << tmp.get_vis_start() << " to x=" << tmp.get_vis_end() << std::endl; - std::cout << "Generating Solution.\n" << std::endl; auto lines = inst.get_lines(); inst.gen_sol(lines);