/** Ċ Ġ* ĠCopyright Ġ 2 0 2 1 . ĠHu awei ĠTechnologies ĠCo ., ĠLtd . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . hu awei . are ng ine . demos . augment ed image . corner Ċ Ċ import Ġcom . hu awei . are ng ine . demos . augment ed image . util . Constants Ċ import Ġcom . hu awei . are ng ine . demos . augment ed image . util . Corner Type Ċ import Ġcom . hu awei . hi ar . AR Aug ment ed Image Ċ import Ġcom . hu awei . hi ar . AR Pose Ċ Ċ /** Ċ Ġ* ĠOb t ains Ġthe Ġcoordinate Ġarray Ġof Ġthe Ġfour Ġvertices Ġof Ġan Ġimage . Ċ Ġ* Ċ Ġ* Ġ@ author ĠHW Ċ Ġ* Ġ@ since Ġ 2 0 2 1 - 0 3 - 2 9 Ċ Ġ*/ Ċ class ĠAug ment Image Corner Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ 0 . 5 f Ġindicates Ġhalf Ġof Ġthe Ġwidth Ġand Ġheight , Ġwhich Ġare Ġcombined Ġwith Ġenum erated Ġvalues Ġto ĊĠĠĠĠĠĠĠĠ Ġ* Ġform Ġthe Ġcoordinate Ġdata . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCO EFF IC IENT S Ġ= Ġfloat ArrayOf ( 0 . 5 f , Ġ 0 . 5 f ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġcorner Point Coordinates : ĠFloat Array ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġindex Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠObtain Ġthe Ġvertex Ġcoordinates Ġof Ġthe Ġfour Ġcorners Ġof Ġthe Ġaugment ed Ġimage Ġand Ġwrite Ġthem Ġto Ġthe ĊĠĠĠĠ Ġ* Ġcorner Point Coordinates Ġarray . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġaugment ed Image ĠAug ment ed Ġimage Ġobject . ĊĠĠĠĠ Ġ* Ġ@ param Ġcorner Type ĠCor ner Ġtype . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcreate Image Corner ( augment ed Image : ĠAR Aug ment ed Image , Ġcorner Type : ĠCor ner Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlocal Boundary Pose : ĠAR Pose ĊĠĠĠĠĠĠĠ Ġval Ġcoefficient Ġ= ĠFloat Array ( CO EFF IC IENT S . size ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( corner Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCor ner Type . LOWER _ RIGHT Ġ-> Ġgenerate Co e ffic ent ( coefficient , Ġ 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCor ner Type . UPPER _ LEFT Ġ-> Ġgenerate Co e ffic ent ( coefficient , Ġ- 1 , Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCor ner Type . UPPER _ RIGHT Ġ-> Ġgenerate Co e ffic ent ( coefficient , Ġ 1 , Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCor ner Type . LOWER _ LEFT Ġ-> Ġgenerate Co e ffic ent ( coefficient , Ġ- 1 , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlocal Boundary Pose Ġ= ĠAR Pose . make Translation ( coefficient [ 0 ] Ġ* Ġaugment ed Image . extent X , Ġ 0 . 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoefficient [ 1 ] Ġ* Ġaugment ed Image . extent Z ) ĊĠĠĠĠĠĠĠ Ġval Ġcenter Pose Ġ= Ġaugment ed Image . center Pose ĊĠĠĠĠĠĠĠ Ġval Ġcompose Center Pose : ĠAR Pose ĊĠĠĠĠĠĠĠ Ġval Ġcorner Coordinate Pos Ġ= Ġindex Ġ* ĠConstants . BYTES _ PER _ COR NER ĊĠĠĠĠĠĠĠ Ġcompose Center Pose Ġ= Ġcenter Pose . compose ( local Boundary Pose ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠThe Ġcoordinates Ġof Ġeach Ġvertex Ġconsist Ġof Ġthe Ġx , Ġy , Ġand Ġz Ġcoordinates Ġand Ġfactors . ĊĠĠĠĠĠĠĠ Ġcorner Point Coordinates ! ![ corner Coordinate Pos ] Ġ= Ġcompose Center Pose . tx () ĊĠĠĠĠĠĠĠ Ġcorner Point Coordinates ! ![ corner Coordinate Pos Ġ+ Ġ 1 ] Ġ= Ġcompose Center Pose . ty () ĊĠĠĠĠĠĠĠ Ġcorner Point Coordinates ! ![ corner Coordinate Pos Ġ+ Ġ 2 ] Ġ= Ġcompose Center Pose . tz () ĊĠĠĠĠĠĠĠ Ġcorner Point Coordinates ! ![ corner Coordinate Pos Ġ+ Ġ 3 ] Ġ= Ġ 1 . 0 f ĊĠĠĠĠĠĠĠ Ġindex ++ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgenerate Co e ffic ent ( coefficient : ĠFloat Array , Ġco e ffic ent X : ĠInt , Ġco e ffic ent Z : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġcoefficient . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoefficient [ i ] Ġ= Ġco e ffic ent X Ġ* ĠCO EFF IC IENT S [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoefficient [ i Ġ+ Ġ 1 ] Ġ= Ġco e ffic ent Z Ġ* ĠCO EFF IC IENT S [ i Ġ+ Ġ 1 ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUse Ġthe Ġcenter Ġof Ġthe Ġrecognized Ġimage Ġas Ġthe Ġorigin Ġof Ġthe Ġcoordinate Ġaxis Ġand Ġcalculate Ġthe Ġcoordinates ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġof Ġeach Ġvertex Ġon Ġthe Ġx oz Ġplane . ĠThe Ġvalue Ġof Ġy Ġis Ġa Ġconstant Ġand Ġdoes Ġnot Ġneed Ġto Ġbe Ġcalculated . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ+= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }