/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 0 - 2 0 1 6 ĠW illiam ĠBit tle Ġ Ġhttp :// www . dyn 4 j . org / Ċ Ġ* ĠAll Ġrights Ġreserved . Ċ Ġ* ĠĊ Ġ* ĠRedistribution Ġand Ġuse Ġin Ġsource Ġand Ġbinary Ġforms , Ġwith Ġor Ġwithout Ġmodification , Ġare Ġpermitted ĠĊ Ġ* Ġprovided Ġthat Ġthe Ġfollowing Ġconditions Ġare Ġmet : Ċ Ġ* ĠĊ Ġ* ĠĠ Ġ* ĠRedistributions Ġof Ġsource Ġcode Ġmust Ġretain Ġthe Ġabove Ġcopyright Ġnotice , Ġthis Ġlist Ġof Ġconditions ĠĊ Ġ* ĠĠĠĠ Ġand Ġthe Ġfollowing Ġdisclaimer . Ċ Ġ* ĠĠ Ġ* ĠRedistributions Ġin Ġbinary Ġform Ġmust Ġreproduce Ġthe Ġabove Ġcopyright Ġnotice , Ġthis Ġlist Ġof Ġconditions ĠĊ Ġ* ĠĠĠĠ Ġand Ġthe Ġfollowing Ġdisclaimer Ġin Ġthe Ġdocumentation Ġand / or Ġother Ġmaterials Ġprovided Ġwith Ġthe ĠĊ Ġ* ĠĠĠĠ Ġdistribution . Ċ Ġ* ĠĠ Ġ* ĠNeither Ġthe Ġname Ġof Ġdyn 4 j Ġnor Ġthe Ġnames Ġof Ġits Ġcontributors Ġmay Ġbe Ġused Ġto Ġendorse Ġor ĠĊ Ġ* ĠĠĠĠ Ġpromote Ġproducts Ġderived Ġfrom Ġthis Ġsoftware Ġwithout Ġspecific Ġprior Ġwritten Ġpermission . Ċ Ġ* ĠĊ Ġ* ĠTHIS ĠSOFTWARE ĠIS ĠPROVIDED ĠBY ĠTHE ĠCOPYRIGHT ĠHOLDERS ĠAND ĠCONTRIBUTORS Ġ" AS ĠIS " ĠAND ĠANY ĠEXPRESS ĠOR ĠĊ Ġ* ĠIMPLIED ĠWARRANTIES , ĠINCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , ĠTHE ĠIMPLIED ĠWARRANTIES ĠOF ĠMERCHANTABILITY ĠAND ĠĊ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠARE ĠDISCLAIMED . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠCOPYRIGHT ĠOWNER ĠOR ĠĊ Ġ* ĠCONTRIBUTORS ĠBE ĠLIABLE ĠFOR ĠANY ĠDIRECT , ĠINDIRECT , ĠINCIDENTAL , ĠSPECIAL , ĠEXEMPLARY , ĠOR ĠCONSEQUENTIAL ĠĊ Ġ* ĠDAMAGES Ġ( INCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , ĠPROCUREMENT ĠOF ĠSUBSTITUTE ĠGOODS ĠOR ĠSERVICES ; ĠLOSS ĠOF ĠUSE , ĠĊ Ġ* ĠDATA , ĠOR ĠPROFITS ; ĠOR ĠBUSINESS ĠINTERRUPTION ) ĠHOWEVER ĠCAUSED ĠAND ĠON ĠANY ĠTHEORY ĠOF ĠLIABILITY , ĠWHETHER ĠĊ Ġ* ĠIN ĠCONTRACT , ĠSTRICT ĠLIABILITY , ĠOR ĠTORT Ġ( INCLUDING ĠNEGLIGENCE ĠOR ĠOTHERWISE ) ĠARISING ĠIN ĠANY ĠWAY ĠOUT ĠĊ Ġ* ĠOF ĠTHE ĠUSE ĠOF ĠTHIS ĠSOFTWARE , ĠEVEN ĠIF ĠADVISED ĠOF ĠTHE ĠPOSSIBILITY ĠOF ĠSUCH ĠDAMAGE . Ċ Ġ*/ Ċ package Ġorg . dyn 4 j . geometry . hull Ċ Ċ import Ġorg . dyn 4 j . geometry . Vector 2 Ċ Ċ /** Ċ Ġ* ĠRepresents Ġan Ġalgorithm Ġused Ġto Ġcreate Ġa Ġconvex Ġh ull Ġof Ġa Ġgiven Ġpoint Ġset . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠThe Ġh ull s Ġare Ġreturned Ġas Ġ[ Vector 2 ][] s Ġthat Ġcan Ġthen Ġbe Ġused Ġto Ġcreate Ġa Ġ[ Convex ] Ġ[ Shape ]. Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠAlgorithms Ġimplementing Ġthis Ġinterface Ġare Ġintended Ġfor Ġgeneral Ġuse Ġbut Ġdoes Ġnot Ġimp ly Ġthat Ċ Ġ* Ġthe Ġresults Ġproduced Ġwould Ġbe Ġappropriate Ġfor Ġthe Ġcore Ġdyn 4 j Ġengine . Ċ Ġ* Ġ@ author ĠW illiam ĠBit tle Ċ Ġ* Ġ@ version Ġ 3 . 4 . 0 Ċ Ġ* Ġ@ since Ġ 2 . 2 . 0 Ċ Ġ*/ Ċ interface ĠH ull Generator Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġconvex Ġh ull Ġgenerated Ġfrom Ġthe Ġgiven Ġpoint Ġset Ġin Ġcounter - clock wise Ġpoint Ġorder . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠReturns Ġnull Ġif Ġthe Ġgiven Ġpoints Ġarray Ġis Ġnull . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġarray Ġunchanged Ġif Ġthe Ġlength Ġis Ġless Ġthan Ġor Ġequal Ġto Ġ 2 . ĊĠĠĠĠ Ġ* Ġ@ param Ġpoints Ġthe Ġpoint Ġset Ġor Ġcloud ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Vector 2 ][] Ġthe Ġconvex Ġh ull Ġvertices ĊĠĠĠĠ Ġ* Ġ@ throws ĠNullPointerException Ġif Ġpoints Ġis Ġnull Ġor Ġcontains Ġnull Ġpoints ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġgenerate ( var arg Ġpoints : ĠVector 2 ): ĠArray < out ĠVector 2 ?> Ċ }