MaxstARSDK  3.5.0
All Classes Functions Variables
TrackerManager.java
1 /*
2  * Copyright 2016 Maxst, Inc. All Rights Reserved.
3  */
4 package com.maxst.ar;
5 
9 public class TrackerManager {
10 
14  public static final int TRACKER_TYPE_CODE_SCANNER = 0X01;
15 
19  public static final int TRACKER_TYPE_IMAGE = 0X02;
20 
24  public static final int TRACKER_TYPE_MARKER = 0X04;
25 
29  public static final int TRACKER_TYPE_OBJECT = 0X08;
30 
34  public static final int TRACKER_TYPE_SLAM = 0x10;
35 
39  public static final int TRACKER_TYPE_INSTANT = 0x20;
40 
49  public enum TrackingOption {
50  NORMAL_TRACKING(0X01),
51  EXTENDED_TRACKING(0x02),
52  MULTI_TRACKING(0x04),
53  JITTER_REDUCTION_ACTIVATION(0x08),
54  JITTER_REDUCTION_DEACTIVATION(0x10);
55 
56  private int value;
57 
58  TrackingOption(int value) {
59  this.value = value;
60  }
61 
62  public int getValue() {
63  return value;
64  }
65  }
66 
67  private static TrackerManager instance = null;
68 
69  public static TrackerManager getInstance() {
70  if (instance == null) {
71  instance = new TrackerManager();
72  }
73 
74  return instance;
75  }
76 
77  private GuideInfo guideInfo;
78  //private SurfaceMesh surfaceMesh;
79  private TrackingState trackingState;
80 
81  private TrackerManager() {
82  trackingState = new TrackingState();
83  }
84 
89  public void startTracker(int trackerType) {
90  MaxstARJNI.TrackerManager_startTracker(trackerType);
91  }
92 
96  public void stopTracker() {
97  MaxstARJNI.TrackerManager_stopTracker();
98  }
99 
103  public void destroyTracker() {
104  MaxstARJNI.TrackerManager_destroyTracker();
105  }
106 
112  public void addTrackerData(String trackingFileName, boolean isAndroidAssetFile) {
113  MaxstARJNI.TrackerManager_addTrackerData(trackingFileName, isAndroidAssetFile);
114  }
115 
120  public void removeTrackerData(String trackingFileName) {
121  MaxstARJNI.TrackerManager_removeTrackerData(trackingFileName);
122  }
123 
127  public void loadTrackerData() {
128  MaxstARJNI.TrackerManager_loadTrackerData();
129  }
130 
135  public boolean isTrackerDataLoadCompleted() {
136  return MaxstARJNI.TrackerManager_isTrackerDataLoadCompleted();
137  }
138 
144  long trackingStateCPtr = MaxstARJNI.TrackerManager_updateTrackingState();
145  trackingState.setCMemPtr(trackingStateCPtr);
146  return trackingState;
147  }
148 
152  public void findSurface() {
153  MaxstARJNI.TrackerManager_findSurface();
154  }
155 
159  public void quitFindingSurface() {
160  MaxstARJNI.TrackerManager_quitFindingSurface();
161  }
162 
172  public void setTrackingOption(TrackingOption option ) {
173  MaxstARJNI.TrackerManager_setTrackingOption(option.getValue());
174  }
175 
181  public SurfaceThumbnail saveSurfaceData(String fileName) {
182  long cPtr = MaxstARJNI.TrackerManager_saveSurfaceData(fileName);
183  if (cPtr != 0) {
184  return new SurfaceThumbnail(cPtr);
185  } else {
186  return null;
187  }
188  }
189 
195  public void getWorldPositionFromScreenCoordinate(float[] screenCoord, float[] worldPos) {
196  MaxstARJNI.TrackerManager_getWorldPositionFromScreenCoordinate(screenCoord, worldPos);
197  }
198 
199  //public SurfaceMesh getSurfaceMesh() {
200  // if (surfaceMesh == null) {
201  // surfaceMesh = new SurfaceMesh();
202  // }
203 
204  // surfaceMesh.updateSurfaceMesh();
205  // return surfaceMesh;
206  //}
207 
213  if(guideInfo == null) {
214  guideInfo = new GuideInfo();
215  }
216 
217  guideInfo.updateGuideInfo();
218  return guideInfo;
219  }
220 
221  public void saveFrames() {
222  MaxstARJNI.TrackerManager_saveFrames();
223  }
224 }
void startTracker(int trackerType)
static final int TRACKER_TYPE_MARKER
static final int TRACKER_TYPE_CODE_SCANNER
void addTrackerData(String trackingFileName, boolean isAndroidAssetFile)
SurfaceThumbnail saveSurfaceData(String fileName)
static final int TRACKER_TYPE_INSTANT
TrackingState updateTrackingState()
void removeTrackerData(String trackingFileName)
void setTrackingOption(TrackingOption option)
static final int TRACKER_TYPE_SLAM
void getWorldPositionFromScreenCoordinate(float[] screenCoord, float[] worldPos)
static final int TRACKER_TYPE_OBJECT
static final int TRACKER_TYPE_IMAGE