/* Ċ Ġ* ĠP ory gen Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) ĠL an tern Power ed Ġ< https :// www . lan tern powered . org > Ċ Ġ* ĠCopyright Ġ( c ) Ġcontributors Ċ Ġ* Ċ Ġ* ĠThis Ġwork Ġis Ġlicensed Ġunder Ġthe Ġterms Ġof Ġthe ĠMIT ĠLicense Ġ( MIT ). ĠFor Ċ Ġ* Ġa Ġcopy , Ġsee Ġ' LICENSE . txt ' Ġor Ġ< https :// opensource . org / licenses / MIT >. Ċ Ġ*/ Ċ package Ġorg . lan tern powered . p ory gen . map Ċ Ċ import Ġorg . lan tern powered . p ory gen . math . geom . Rectangle i Ċ import Ġorg . lan tern powered . p ory gen . math . vector . Vec 2 i Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġview Ġof Ġa Ġ[ Cell Map ]. Ċ Ġ*/ Ċ interface ĠCell Map Part Ġ{ ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGets Ġa Ġsub Ġ[ Cell MapView ] Ġof Ġthis Ġmap Ġview . ĠThe Ġminimum Ġand Ġmaximum ĊĠĠ Ġ* Ġcoordinates Ġwill Ġbe Ġclamp ed Ġto Ġthe Ġbounds Ġof Ġthis Ġview . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġmin ĠThe Ġarea Ġminimum Ġcoordinate ĊĠĠ Ġ* Ġ@ param Ġmax ĠThe Ġarea Ġmaximum Ġcoordinate ĊĠĠ Ġ* Ġ@ return ĠThe Ġnew Ġmap Ġview ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Sub View ( min : ĠVec 2 i , Ġmax : ĠVec 2 i ) Ġ= Ġget Sub View ( Rectangle i ( min , Ġmax )) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGets Ġa Ġsub Ġ[ Cell MapView ] Ġof Ġthis Ġmap Ġview . ĠThe Ġminimum Ġand Ġmaximum ĊĠĠ Ġ* Ġcoordinates Ġwill Ġbe Ġclamp ed Ġto Ġthe Ġbounds Ġof Ġthis Ġview . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġrectangle ĠThe Ġarea ĊĠĠ Ġ* Ġ@ return ĠThe Ġnew Ġmap Ġview ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Sub View ( rectangle : ĠRectangle i ): ĠCell MapView ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGets Ġthe Ġ[ Cell ] Ġthe Ġspecified Ġtile Ġcoordinate Ġis Ġlocated Ġin . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġpoint ĠThe Ġpoint ĊĠĠ Ġ* Ġ@ return ĠThe Ġcell ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Cell ( point : ĠVec 2 i ) Ġ= Ġget Cell ( point . x , Ġpoint . y ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGets Ġthe Ġ[ Cell ] Ġthe Ġspecified Ġtile Ġcoordinate Ġis Ġlocated Ġin . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġx ĠThe Ġx Ġcoordinate ĊĠĠ Ġ* Ġ@ param Ġz ĠThe Ġz Ġcoordinate ĊĠĠ Ġ* Ġ@ return ĠThe Ġcell ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Cell ( x : ĠInt , Ġz : ĠInt ): ĠCell ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGets Ġthe Ġ[ Corner ] Ġfor Ġthe Ġspecified Ġid . ĠOr Ġnull Ġif Ġit Ġdoesn 't Ġexist . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġid ĠThe Ġcorner Ġid ĊĠĠ Ġ* Ġ@ return ĠThe Ġcorner ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Corner ( id : ĠLong ): ĠCor ner ? ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGets Ġthe Ġ[ Edge ] Ġfor Ġthe Ġspecified Ġid . ĠOr Ġnull Ġif Ġit Ġdoesn 't Ġexist . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġid ĠThe Ġedge Ġid ĊĠĠ Ġ* Ġ@ return ĠThe Ġedge ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Edge ( id : ĠLong ): ĠEdge ? ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGets Ġthe Ġ[ Cell ] Ġfor Ġthe Ġspecified Ġid . ĠOr Ġnull Ġif Ġit Ġdoesn 't Ġexist . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġid ĠThe Ġcell Ġid ĊĠĠ Ġ* Ġ@ return ĠThe Ġcell ĊĠĠ Ġ*/ ĊĠ Ġfun Ġget Cell ( id : ĠLong ): ĠCell ? ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠChecks Ġwhether Ġthe Ġgiven Ġmap Ġelement Ġis Ġpresent Ġin Ġthis Ġmap Ġpart . ĊĠĠ Ġ*/ ĊĠ Ġoperator Ġfun Ġcontains ( element : ĠCell Map Element ): ĠBoolean Ċ } Ċ