@@ -257,6 +257,24 @@ public boolean trackableSelected(int i, int mx, int my) {
257257 }
258258
259259
260+ protected HitResult getHitResult (int mx , int my ) {
261+ for (HitResult hit : surfar .frame .hitTest (mx , my )) {
262+ Trackable trackable = hit .getTrackable ();
263+ if (trackable instanceof Plane ) {
264+ Plane plane = (Plane )trackable ;
265+ if (trackPlanes .contains (plane ) && plane .isPoseInPolygon (hit .getHitPose ())) {
266+ return hit ;
267+ }
268+ }
269+ }
270+ return null ;
271+ }
272+
273+ protected int getTrackable (HitResult hit ) {
274+ Plane plane = (Plane ) hit .getTrackable ();
275+ return trackPlanes .indexOf (plane );
276+ }
277+
260278 public float [] getTrackablePolygon (int i ) {
261279 return getTrackablePolygon (i , null );
262280 }
@@ -315,16 +333,21 @@ public int createAnchor(int mx, int my) {
315333 if (trackable instanceof Plane ) {
316334 Plane plane = (Plane )trackable ;
317335 if (trackPlanes .contains (plane ) && plane .isPoseInPolygon (hit .getHitPose ())) {
318- Anchor anchor = hit .createAnchor ();
319- anchors .put (++lastAnchorId , anchor );
320- return lastAnchorId ;
336+ return createAnchor (hit );
321337 }
322338 }
323339 }
324340 return 0 ;
325341 }
326342
327343
344+ protected int createAnchor (HitResult hit ) {
345+ Anchor anchor = hit .createAnchor ();
346+ anchors .put (++lastAnchorId , anchor );
347+ return lastAnchorId ;
348+ }
349+
350+
328351 public void deleteAnchor (int id ) {
329352 delAnchors .add (id );
330353 }
0 commit comments