API Reference

Camera API

bool startCamera(int width, int height, int idx);

Parameter:

width: 픽셀 단위의 카메라 이미지 해상도 너비(width > 0)

height: 픽셀 단위의 카메라 이미지 해상도 높이(height > 0)

idx: 카메라 하드웨어 index(idx >= 0)

Return:

True: 카메라 시작 성공

False: 카메라 시작 실패

Description:

Width, height 해상도로 idx 번 카메라를 시작한다.

bool stopCamera();

Parameter:

Void

Return:

True: 카메라 종료 성공

False: 카메라 종료 실패

Description:

시작된 카메라를 종료한다.

void renderFromUnity(int textureId);

Parameter:

textureID: Native에서 생성할 texture id를 설정한다.(0 > textureId)

Return:

Void

Description:

unity3d에 렌더링 하기 위해 native에서 textureId로 텍스쳐를 생성하고 렌더링한다

.

void getCameraImage(out byte image);

Parameter:

image: 카메라 이미지 width * height * 3에 해당하는 초기화된 byte array를 입력한다. (output parameter)

Return:

Description:

image byte array 에 현재 카메라에 있는 이미지를 복사한다.

Examples:

Byte [] imge= new Byte[width * height * channel];

getCameraImage(image);

int getCameraWidth();

Parameter:

Return:

양수 형태의 픽셀 단위 카메라 이미지 너비를 출력한다

Description:

현재 실행중인 카메라의 해상도 너비를 가져온다

int getCameraHeight();

Parameter:

void

Return:

양수 형태의 픽셀 단위 카메라 이미지 높이를 출력한다.

Description:

현재 실행중인 카메라의 해상도 높이를 가져온다

Tracker API

bool boot();

Parameter:

void

Return:

True: 맵 로드 성공

False: 맵 로드 실패

Description:

맵리스트에 추가된 3dMap을 SDK로 로드한다.

bool unboot();

Parameter:

Return:

True: 맵 로드 준비 성공

False: 맵 로드 준비 실패

Description:

기존 SDK에 로드된 맵을 해제하고 추적을 종료하며 새로운 맵을 로드할 준비를 한다.

int getTrackableCount();

Parameter:

Return:

양수 형태의 로드 된 맵의 개수

Description:

Boot 이후에 로드된 맵의 총 개수를 출력한다.

bool startTracker();

Parameter:

Return:

True: Tracker 시작 성공

False: Tracker 시작 실패

Description:

추적을 위해 Tracker를 시작한다.

bool stopTracker();

Parameter:

Return:

True: Tracker 종료 성공

False: Tracker 종료 실패

Description:

시작 된 Tracker를 종료한다.

void setTrackingMode();

Parameter:

Return:

Description:

추적 모드에 필요한 내부 리소스를 초기화한다.

void destroy();

Parameter:

Return:

Description:

Initialize 시 사용했던 내부 리소스를 해제함

bool addMap(string mapFileName);

Parameter:

mapFileName: 로드할 .3dMap 파일의 path

Return:

True: 맵 추가 성공

False: 맵 추가 실패

Description:

학습 맵 파일(.3dMap)을 추가함

void setRegisteredAppSignture(string appSignature);

Parameter:

appSignature: MaxstARSDK 3D page에서 app id를 이용하여 얻은 appSignature

Return:

Description:

app signature를 이용하여 SDK를 인증한다.

void setUnityEditorMode(bool editorMode);

Parameter:

true: 에디터 모드로 설정한다. MAXST 로고 워터마크가 삽입된다.

false: 에디터 모드를 해제한다.

Return:

Description:

Unity3d 에디터 모드를 설정한다. 에디터 모드로 실행 시 true로 설정할 것을 권장한다.

Renderer API

void setUnityRenderingMode();

Parameter:

Return:

Description:

유니티 용 렌더링 모드를 사용한다

void initRenderer();

Parameter:

Return:

Description:

렌더링을 위한 내부 리소스를 초기화함

void updateRender(int screenWidth, int screenHeight, float nearDistance, float farDistance, bool portrait = false);

Parameter:

screenWidth: 픽셀 단위의 스크린 사이즈 너비(width > 0)

screenHeight: 픽셀 단위의 스크린 사이즈 높이(height > 0)

nearDistance: projection matrix 계산시 사용할 near distance(nearDistance > 0)

farDistance: projection matrix 계산시 사용할 far distance (farDistance > 0)

mode:

1: Portrait UP

2: Portrait Down

3: Landscape Left

4: Landscape Right

Return:

Description:

Projection matrix 계산에 필요한 정보를 입력한다.

float getNearDistance();

Parameter:

Return:

투영 공간의 near distance

Description:

설정된 Projection matrix를 이용하여 투영 공간의 near distance를 출력한다.

float getFarDistance();

Parameter:

Return:

투영 공간의 far distance

Description:

설정된 Projection matrix를 이용하여 투영 공간의 far distance를 출력한다.

void getMapInfo(byte[] trackableId, int idx);

Parameter:

trackableId: map 이 가진 고유의 32bytes uuid를 저장 (output parameter)

idx: 맵이 추가된 차례의 idx(idx >= 0)

Return:

Description:

Idx 번째 로드한 맵의 trackable uuid를 32bytes 형태로 카피해 출력한다

Examples:

Byte [] uuid = new Byte[32];

getMapInfo(uuid, 0);

void getInfo(int[] info);

Parameter:

info: 추적중인 map의 정보를 출력함 (output parameter)

info[0]: keyframe 개수를 저장

info[1]: mappoint 개수를 저장

info[2]: tracker fps를 저장

info[3]: renderer fps를 저장

Return:

Description:

현재 추적중인 추적 fps와 렌더링 fps, 추적 맵의 키프레임 개수, 맵 포인트 개수를 출력한다.

Examples:

Int [] info = new Byte[4];

getInfo(info);

void getTrackingResult(byte[] trackableId, float[] pose);

Parameter:

trackableId: 추적 중인 맵의 고유 32bytes uuid를 저장(output parameter)

pose: 추적 중인 맵의 4 by 4 modelview matrix를 저장 (output parameter)

Return:

Description:

인식/추적에 성공하면 성공한 맵의 uuid와 pose를 출력한다

Examples:

Byte [] uuid = new Byte[32];

float [] pose = new float[16]

getTrackingResult (uuid, pose);

IntPtr getProjectionMatrix();

Parameter:

Return:

4 by 4 형태의 projection matrix array 주소

Description:

설정된 4 by 4 형태의 projection matrix의 주소를 가져온다.

void setTrackingGuideMode(bool guideMode);

Parameter:

guideMode: guide mode 기능의 사용을 on/off 한다.

Return:

Description:

guide image를 on 하면 초기 포즈 인식 할 때 guide image를 보여줘서 사용자에게 추적 가능 위치를 표시한다.