Result Object API


Summary

결과 오브젝트를 생성하고 관리하는 API로 구성되어 있습니다.
결과 오브젝트는 블록, 라인 오브젝트로 구성되어 있습니다. 인식엔진에서 인식한 결과 값(문자열)을 저장하고 관리하는 용도로 사용됩니다.

•  블록 오브젝트 : 블록 오브젝트는 문자열 리스트입니다.
•  라인 오브젝트 : 라인 오브젝트는 블록 오브젝트의 리스트입니다.
•  결과 오브젝트 : 결과 오브젝트는 라인 오브젝트의 리스트입니다.

각 오브젝트 간의 관계는 아래를 참고하시기 바랍니다.

  • "hello" 한 단어를 필기 했다면, 다음과 같이 결과 오브젝트에 인식 결과가 저장됩니다.
    사용자의 필기에 따라 후보 문자와 개수는 달라질 수 있으며, 1순위 후보가 best 후보가 됩니다.
Result = { Line[0] }
└── Line[0] = { Block[0] }
    └── Block[0] = { "hello", "hell", ... } // 1순위 후보: hello, 2순위 후보: hell, 3순위 후보: ...
  • "hello world" 한 문장을 필기 했다면, 다음과 같이 결과 오브젝트에 인식 결과가 저장됩니다.
Result = { Line[0] }
└── Line[0] = { Block[0], Block[1] }
    ├── Block[0] = { "hello", "hell", ... }
    └── Block[1] = { "world", "word", ... }
  • "hello world" "good morning" 두 문장을 두 줄로 필기 했다면, 다음과 같이 결과 오브젝트에 인식 결과가 저장됩니다
Result = { Line[0], Line[1] }
├── Line[0] = { Block[0], Block[1] }
│   ├── Block[0] = { "hello", "hell", ... }
│   └── Block[1] = { "world", "word", ... }
└── Line[1] = { Block[0], Block[1] }
    ├── Block[0] = { "good", "good", ... }
    └── Block[1] = { "morning", "morming", ... }

Typedefs

// 설정 오브젝트 handle
typedef const void * DHWRResultObject
// 라인 오브젝트 handle
typedef const void * DHWRResultLine
// 블록 오브젝트 handle
typedef const void * DHWRResultBlock

Data Structures

// 블록 오브젝트 내 문자열의 획 정보를 정의한 구조체
typedef struct tagDHWRBlockInfo {
  int stroke_count; // 블록 오브젝트 내의 문자열을 구성하는 획의 개수 (ex "hello" –> stroke count = 5)
  int* stroke_indices; // 획의 인덱스 포인터
} DHWRBlockInfo;
DHWRBlockInfo

블록 오브젝트 내 문자열의 획 정보를 정의한 구조체

Members
Name Description Type
stroke_count 블록 오브젝트 내의 문자열을 구성하는 획의 개수 (ex "hello" –> stroke count = 5) int
stroke_indices 획의 인덱스 포인터 int*

Functions List

// 결과 오브젝트를 생성함
DHWRResultObject DHWRCreateResultObject(void)
// 결과 오브젝트를 제거함
void DHWRDestroyResultObject(DHWRResultObject result)
// 결과 오브젝트 내의 라인 오브젝트 개수를 반환
unsigned int DHWRGetLineSize(DHWRResultObject result)
// 결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환
DHWRResultLine DHWRGetLine(DHWRResultObject result, const unsigned int index)
// 라인 오브젝트 내의 블록 오브젝트 개수를 반환
unsigned int DHWRGetBlockSize(DHWRResultLine line)
// 라인 오브젝트로부터 지정된 index의 블록 오브젝트를 반환
DHWRResultBlock DHWRGetBlock(DHWRResultLine line, const unsigned int index)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환
unsigned int DHWRGetStrokeSize(DHWRResultBlock block)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환
unsigned int DHWRGetStrokeIndices(DHWRResultBlock block, int *indices, int size)
// 블록 오브젝트 내의 후보문자(문자열) 개수를 반환
unsigned int DHWRGetCandidateSize(DHWRResultBlock block)
// 블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열)를 반환
const wchar_t * DHWRGetCandidate(DHWRResultBlock block, const unsigned int index, unsigned int *length)
DHWRCreateResultObject

결과 오브젝트를 생성함

Returns

DHWRResultObject (결과 오브젝트 포인터)

DHWRDestroyResultObject

결과 오브젝트를 제거함

Parameters
# Name Description Type
[in] result 제거할 결과 오브젝트 DHWRResultObject
DHWRGetLineSize

결과 오브젝트 내의 라인 오브젝트 개수를 반환

Parameters
# Name Description Type
[in] result 결과 오브젝트 DHWRResultObject
Returns

라인 오브젝트 개수

DHWRGetLine

결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환

Parameters
# Name Description Type
[in] result 결과 오브젝트 DHWRResultObject
[in] index 라인 오브젝트의 index const unsigned int
Returns

DHWRResultLine (라인 오브젝트)

DHWRGetBlockSize

라인 오브젝트 내의 블록 오브젝트 개수를 반환

Parameters
# Name Description Type
[in] line 라인 오브젝트 DHWRResultLine
Returns

블록 오브젝트 개수

DHWRGetBlock

라인 오브젝트로부터 지정된 index의 블록 오브젝트를 반환

Parameters
# Name Description Type
[in] line 라인 오브젝트 DHWRResultLine
[in] index 블록 오브젝트의 index const unsigned int
Returns

DHWRResultBlock (블록 오브젝트)

DHWRGetStrokeSize

블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트 DHWRResultBlock
Returns

획의 개수

DHWRGetStrokeIndices

블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트 DHWRResultBlock
[out] indices index 포인터 int *
[in] size index 포인터 사이즈 int
Returns

Error Code

DHWRGetCandidateSize

블록 오브젝트 내의 후보문자(문자열) 개수를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트 DHWRResultBlock
Returns

후보문자(문자열)의 개수

DHWRGetCandidate

블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열)를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트 DHWRResultBlock
[in] index 후보문자(문자열)의 인덱스 const unsigned int
[out] length 후보문자(문자열)의 크기 unsigned int *
Returns

wchar_t * (후보문자의 포인터)

Functions List

// 결과 오브젝트를 생성함
public static extern IntPtr CreateResultObject()
// 결과 오브젝트를 제거함
public static extern void DestroyResultObject(IntPtr result)
// 결과 오브젝트 내의 라인 오브젝트 개수를 반환
public static extern int GetLineSize(IntPtr ink)
// 결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환
public static extern IntPtr GetLine(IntPtr result, int index)
// 라인 오브젝트 내의 블록 오브젝트 개수를 반환
public static extern int GetBlockSize(IntPtr line)
// 지정된 인덱스의 블록 오브젝트를 반환
public static extern IntPtr GetBlock(IntPtr line, int index)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환
public static extern int GetStrokeSize(IntPtr block)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환
public static extern int GetStrokeIndices(IntPtr block, [In, Out] ref int indices, int size)
// 블록 오브젝트 내의 후보문자(문자열) 개수를 반환
public static extern int GetCandidateSize(IntPtr block)
// 블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열)의 포인터를 반환
public static extern IntPtr GetCandidatePtr(IntPtr block, int index, [In, Out] ref int length)
// GetCandidatePtr()와 동일한 기능을 하며, GetCandidatePtr()를 사용하기 쉽도록 wrapping한 함수
public static String GetCandidate(IntPtr block, int index, [In, Out] ref int length)
CreateResultObjectstatic

결과 오브젝트를 생성함

Returns

IntPtr (결과 오브젝트 포인터)

DestroyResultObjectstatic

결과 오브젝트를 제거함

Parameters
# Name Description Type
[in] result 제거할 결과 오브젝트 IntPtr
GetLineSizestatic

결과 오브젝트 내의 라인 오브젝트 개수를 반환

Parameters
# Name Description Type
[in] result 결과 오브젝트 IntPtr
Returns

라인 오브젝트 개수

GetLinestatic

결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환

Parameters
# Name Description Type
[in] result 결과 오브젝트 IntPtr
[in] index 라인 오브젝트의 index int
Returns

IntPtr (라인 오브젝트)

GetBlockSizestatic

라인 오브젝트 내의 블록 오브젝트 개수를 반환

Parameters
# Name Description Type
[in] line 라인 오브젝트 IntPtr
Returns

블록 오브젝트 개수

GetBlockstatic

라인 오브젝트로부터 지정된 index의 블록 오브젝트를 반환

Parameters
# Name Description Type
[in] line 라인 오브젝트 IntPtr
[in] index 블록 오브젝트의 index int
Returns

IntPtr (블록 오브젝트)

GetStrokeSizestatic

블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트 IntPtr
Returns

획의 개수

GetStrokeIndicesstatic

블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트 IntPtr
[out] indices index 포인터 ref int
[in] size index 포인터 사이즈 int
Returns

Error Code

GetCandidateSizestatic

블록 오브젝트 내의 후보문자(문자열) 개수를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트 IntPtr
Returns

후보문자(문자열)의 개수

GetCandidatePtrstatic

블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열)의 포인터를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트 IntPtr
[in] index 후보문자(문자열)의 인덱스 int
[out] length 후보문자(문자열)의 크기 ref int
Returns

IntPtr (후보문자의 포인터)

GetCandidatestatic

블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열) 스트링을 반환
GetCandidatePtr()와 동일한 기능을 하며, GetCandidatePtr()를 사용하기 쉽도록 wrapping한 함수

Parameters
# Name Description Type
[in] block 블록 오브젝트 IntPtr
[in] index 후보문자(문자열)의 인덱스 int
[out] length 후보문자(문자열)의 크기 ref int
Returns

String (후보문자)

Classes

public static class BlockInfo {
    public int stroke_count;
    public int[] stroke_indices;
}

public static class Block {
    public ArrayList<String> candidates = new ArrayList<String>();
    public BlockInfo info;
}

public static class Line extends ArrayList<Block> {
    private static final long serialVersionUID = -3254237493961808528L;
}

public static class Result extends ArrayList<Line> {
    private static final long serialVersionUID = -318179353348774962L;
}
BlockInfoclassstatic

블록 오브젝트 내 문자열의 획 정보를 정의한 클래스

Member variables
Name Description Type Access
stroke_count 블록 오브젝트 내의 문자열을 구성하는 획의 개수 (ex "hello" –> stroke count = 5) int public
stroke_indices 획의 인덱스 array int[] public
Blockclassstatic

블록 오브젝트 클래스
문자열 리스트로 구성됨

Member variables
Name Description Type Access
candidates 후보 문자의 스트링 리스트 ArrayList<String> public
info 블록 내 문자열의 획 정보 BlockInfo public
Lineclassstatic

라인 오브젝트 클래스
블록 오브젝트의 리스트로 구성됨

Member variables
Name Description Type Access
serialVersionUID 직렬화를 위한 클래스 버전 정보 final long private
Resultclassstatic

결과 오브젝트 클래스
라인 오브젝트의 리스트로 구성됨

Member variables
Name Description Type Access
serialVersionUID 직렬화를 위한 클래스 버전 정보 final long private

Functions List

// 결과 오브젝트를 생성함
public final static native long CreateResultObject()
// 결과 오브젝트를 제거함
public final static native void DestroyResultObject(long context)
// 결과 오브젝트 내의 라인 오브젝트 개수를 반환
public final static native int GetLineSize(long context)
// 결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환
public final static native long GetLine(long context, int index)
// 라인 오브젝트 내의 블록 오브젝트 개수를 반환
public final static native int GetBlockSize(long line)
// 지정된 인덱스의 블록 오브젝트를 반환
public final static native long GetBlock(long line, int index)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환
public final static native int GetStrokeSize(long block)
// 블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환
public final static native int GetStrokeIndices(long block, int[] indices, int size)
// 블록 오브젝트 내의 후보문자(문자열) 개수를 반환
public final static native int GetCandidateSize(long block)
// 블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열) 스트링을 반환
public final static native String GetCandidate(long block, int index)
CreateResultObjectstatic

결과 오브젝트를 생성함

Returns

long (결과 오브젝트의 handle)

DestroyResultObjectstatic

결과 오브젝트를 제거함

Parameters
# Name Description Type
[in] context 제거할 결과 오브젝트의 handle long
GetLineSizestatic

결과 오브젝트 내의 라인 오브젝트 개수를 반환

Parameters
# Name Description Type
[in] context 결과 오브젝트의 handle long
Returns

라인 오브젝트 개수

GetLinestatic

결과 오브젝트로부터 지정된 index의 라인 오브젝트를 반환

Parameters
# Name Description Type
[in] context 결과 오브젝트의 handle long
[in] index 라인 오브젝트의 index int
Returns

long (라인 오브젝트의 handle)

GetBlockSizestatic

라인 오브젝트 내의 블록 오브젝트 개수를 반환

Parameters
# Name Description Type
[in] line 라인 오브젝트의 handle long
Returns

블록 오브젝트 개수

GetBlockstatic

라인 오브젝트로부터 지정된 index의 블록 오브젝트를 반환

Parameters
# Name Description Type
[in] line 라인 오브젝트의 handle long
[in] index 블록 오브젝트의 index int
Returns

long (블록 오브젝트의 handle)

GetStrokeSizestatic

블록 오브젝트 내의 후보문자(문자열)를 구성한 획의 개수를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트의 handle long
Returns

획의 개수

GetStrokeIndicesstatic

블록 오브젝트 내의 후보문자(문자열)를 구성한 획들의 index를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트의 handle long
[out] indices index array int[]
[in] size index array 사이즈 int
Returns

Error Code

GetCandidateSizestatic

블록 오브젝트 내의 후보문자(문자열) 개수를 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트의 handle long
Returns

후보문자(문자열)의 개수

GetCandidatestatic

블록 오브젝트로부터 지정된 인텍스의 후보문자(문자열) 스트링을 반환

Parameters
# Name Description Type
[in] block 블록 오브젝트의 handle long
[in] index 후보문자(문자열)의 인덱스 int
Returns

String (후보문자)