henc — 커널
전자해도 커널의 핵심 함수 — 초기화·뷰 생성·해도 로딩·표시·이동·확대·축소·회전·레이어 제어 등
hencInit
섹션 제목: “hencInit”함수 원형
섹션 제목: “함수 원형”int hencInit()- S-52 데이터 파일을 로딩한다.
- 사용자 설정(data\encoptions.ini)을 로딩한다.
없음
반환값
섹션 제목: “반환값”- = 0 : 초기화 성공
- < 0 : 초기화 실패
hencDeinit
섹션 제목: “hencDeinit”함수 원형
섹션 제목: “함수 원형”int hencDeinit()- 모든 S-52 데이터 파일을 제거한다.
- 라이브러리와 관련된 메모리 및 데이터를 삭제한다.
- 현재의 설정값을 저장한다.
없음
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencLoad
섹션 제목: “hencLoad”함수 원형
섹션 제목: “함수 원형”int hencLoad( const char *fn, bool flagLoadUpdate = true )- ENC cell 파일을 로딩 후 SENC 포맷으로 변환한다.
- ENC catalog 파일을 로딩 후 multiple ENC 파일을 로딩한다.
- SENC 파일을 로딩한다.
- SENC catalog 파일을 로딩 후 SENC 포맷으로 변환하고 메모리에 로딩한다.
- Shape 파일을 로딩 후 multiple ENC 파일을 로딩한다.
const char *fn : IN (로딩하려는 파일명)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencLoadENCintoDom
섹션 제목: “hencLoadENCintoDom”함수 원형
섹션 제목: “함수 원형”int hencLoadENCintoDom( const char *fn, CDomNode *node )- ENC 파일을 CDomNode 포맷으로 메모리에 읽어들인다.
- 지도 정보는 생성되지 않고 파일 내용만을 읽어들인다.
- ENC 파일 또는 ENC를 저장하고 있는 Dom 파일만 가능
- const char *fn : IN (읽고자 하는 파일명)
- CDomNode *node : IN, OUT (저장소)
반환값
섹션 제목: “반환값”-
= 0 : 읽기 성공
- < 0 : 읽기 실패
hencIsUpdateENC
섹션 제목: “hencIsUpdateENC”함수 원형
섹션 제목: “함수 원형”int hencIsUpdateENC( CDomNode *node )지도 정보가 UpdateENC 여부를 판정한다.
- ENC 정보, 함수에서 읽어온 CDomNode이어야만 정상적으로 동작한다.
반환값
섹션 제목: “반환값”- == 0 : Update ENC로 판정된 경우
- != 0 : Update ENC가 아닌 경우
hencGetEncVersion
섹션 제목: “hencGetEncVersion”함수 원형
섹션 제목: “함수 원형”int hencGetEncVersion( CDomNode *node, int &major, int &minor )으로 로딩한 지도 정보의 ENC 파일 버젼을 읽어들인다. ENC 파일을 비교하거나 패치 버전 비교시에 사용된다.
- ENC 정보, 함수에서 읽어온 CDomNode이어야만 정상적으로 동작한다.
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencUpdateENCDom
섹션 제목: “hencUpdateENCDom”함수 원형
섹션 제목: “함수 원형”int hencUpdateENCDom( CDomNode *nodeBase, CDomNode *nodeUpdate )함수를 통해 로딩한 2 개의 ENC 파일을 가지고, S-75 파일을 패치한다.
- CDomNode *nodeBase : IN (BASE ENC)
- CDomNode *nodeUpdate : IN (UPDATE ENC)
반환값
섹션 제목: “반환값”-
= 0 : 성공
- < 0 : 실패
hencLoadDom
섹션 제목: “hencLoadDom”함수 원형
섹션 제목: “함수 원형”int hencLoadDom( CDomNode *node )- CDomNode 포맷의 데이터로부터 지도 정보를 읽어 온다.
- 함수에서 읽어 온 CdomNode 이어야만 정상적으로 동작한다.
CDomNode *node : IN, OUT (저장소)
반환값
섹션 제목: “반환값”-
= 0 : 읽기 성공
- < 0 : 읽기 실패
hencSave
섹션 제목: “hencSave”함수 원형
섹션 제목: “함수 원형”int hencSave( const char *fn )- 로딩된 모든 지도 정보를 CATALOG.SENC와 각 지도 셀(cell)별 SENC 파일로 저장한다.
- 개별 지도 cell 파일은 CATALOG 파일과 동일한 디렉토리 경로에 저장된다.
const char *fn : IN (카탈로그 파일명)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencLoadFileListFromCatalogFile
섹션 제목: “hencLoadFileListFromCatalogFile”함수 원형
섹션 제목: “함수 원형”int hencLoadFileListFromCatalogFile( const char *fn, list &filelist )ENC 또는 SENC Catalog 파일로부터 파일 목록을 가져온다.
- const char *fn : IN (catalog 파일명)
- list &filelist : OUT (파일 리스트)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencSaveCatalogSENC
섹션 제목: “hencSaveCatalogSENC”함수 원형
섹션 제목: “함수 원형”int hencSaveCatalogSENC( const char *fn )로드된 Map의 Catalog SENC 파일만 저장하고, cell 파일은 저장하지 않는다.
const char *fn : IN (저장될 카탈로그 파일명)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencEncfileSaveToSENC
섹션 제목: “hencEncfileSaveToSENC”함수 원형
섹션 제목: “함수 원형”int hencEncfileSaveToSENC( int no, const char *dirSave )- 개별 지도셀(Map Cell) 파일을 SENC 파일로 저장한다. 이때 저장되는 파일명은 로딩한 파일명이 그대로 사용된다.
- 저장시 ObjMask로 설정된 특징(Feature) 들만 저장된다.
- hencSetObjMask() 함수를 참조하세요.
- int no : IN
- 저장할 지도셀(Map Cell)의 번호
- 지도셀의 로딩시 0번부터 순서대로 번호가 부여된다.
- , 등의 함수를 이용하면 이미 로드된 파일명과 번호를 알 수가 있다.
- const char *dirSave : IN (저장할 디렉토리명)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencEncfileToDom
섹션 제목: “hencEncfileToDom”함수 원형
섹션 제목: “함수 원형”int hencEncfileToDom( int no, CDomNode &dom )개별 지도셀(Map Cell) 파일의 정보를 복사해 준다. 저장시 ObjMask로 설정된 특징(Feature) 들만 저장된다. hencSetObjMask()을 참조하세요. class CDomNode를 통해서 내부의 정보를 사용할 수 있다.
- 저장할 지도셀(Map Cell)의 번호
- 지도셀의 로딩시 0번부터 순서대로 번호가 부여된다.
- , 등의 함수를 이용하면 이미 로드된 파일명과 번호를 알 수가 있다.
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencEncfileSaveToMem
섹션 제목: “hencEncfileSaveToMem”함수 원형
섹션 제목: “함수 원형”int hencEncfileSaveToMem( int no, LPVOID &ptr, int &size )개별 지도셀(Map Cell) 파일의 정보를 SENC로 메모리에 저장, 복사해 준다. 저장시 ObjMask로 설정된 특징(Feature) 들만 저장된다. 함수를 참조하세요.
- 저장할 지도셀(Map Cell)의 번호
- 지도셀의 로딩시 0번부터 순서대로 번호가 부여된다.
- , 등의 함수를 이용하면 이미 로드된 파일명과 번호를 알 수가 있다.
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencEncfileLoadFromMem
섹션 제목: “hencEncfileLoadFromMem”함수 원형
섹션 제목: “함수 원형”int hencEncfileLoadFromMem( LPVOID ptr, int size )메모리로부터 SENC를 읽어낸다.
LPVOID ptr : IN (SENC 저장 메모리) int size : IN (SENC 정보의 크기)
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencUnload
섹션 제목: “hencUnload”함수 원형
섹션 제목: “함수 원형”int hencUnload( const char *fn )해당 파일명으로 로드된 지도를 메모리에서 삭제한다.
- no ) 함수에서 주는 파일명과 동일해야 한다.
- 이때 파일명에는 경로(path)를 포함하지 않는다.
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
함수 원형
섹션 제목: “함수 원형”int hencUnload( int idx )해당 번호로 로드된 지도를 메모리에서 삭제한다.
int idx : IN (지도 번호)
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencUnloadAll
섹션 제목: “hencUnloadAll”함수 원형
섹션 제목: “함수 원형”int hencUnloadAll()로드된 모든 지도 정보를 메모리에서 삭제한다.
없음
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencEncfileSetLimit
섹션 제목: “hencEncfileSetLimit”함수 원형
섹션 제목: “함수 원형”int hencEncfileSetLimit( int cnt )메모리에 로드되는 지도셀의 개수를 제한한다. 데모 버젼(Demo version) 제작을 위한 기능으로 사용할 수 있다.
int cnt : IN (최대 지도셀 개수)
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencEncfileGetCount
섹션 제목: “hencEncfileGetCount”함수 원형
섹션 제목: “함수 원형”int hencEncfileGetCount()로드된 지도셀의 개수를 얻기 위한 기능이다.
없음
반환값
섹션 제목: “반환값”로드된 지도셀의 수
hencEncfileGetName
섹션 제목: “hencEncfileGetName”함수 원형
섹션 제목: “함수 원형”const char *hencEncfileGetName( int no )로드된 지도셀의 파일명을 얻을 수 있다.
- 지도셀은 로드되는 순서대로 0번부터 번호가 부여된다.
반환값
섹션 제목: “반환값”!= NULL : 파일명 (Null로 종료된 문자열) == NULL : 파일명 획득 실패 (존재하지 않는 파일 번호)
hencEncfileGetInfo
섹션 제목: “hencEncfileGetInfo”함수 원형
섹션 제목: “함수 원형”int hencEncfileGetInfo( int no, CDomNode &dom )해당 ENC의 파일명과 영역 정보를 취득한다.
int no : IN (정보를 획득할 ENC 번호) CDomNode &dom : OUT (파일명, 영역 정보가 저장)
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencIsENCFile
섹션 제목: “hencIsENCFile”함수 원형
섹션 제목: “함수 원형”bool hencIsENCFile( const char *fn )입력된 파일이 S-57 ENC 파일이 맞는지 검사한다.
const char *fn : IN (검사 파일명)
반환값
섹션 제목: “반환값”true : ENC 파일이 맞는 경우 false : Error 또는 ENC 파일이 아닌 경우
hencIsSENCFile
섹션 제목: “hencIsSENCFile”함수 원형
섹션 제목: “함수 원형”bool hencIsSENCFile( const char *fn )입력된 파일이 hns SENC 파일이 맞는지 검사한다.
const char *fn : IN (검사 파일명)
반환값
섹션 제목: “반환값”true : SENC 파일이 맞는 경우 false : Error 또는 SENC 파일이 아닌 경우
hencIsCatalogFile
섹션 제목: “hencIsCatalogFile”함수 원형
섹션 제목: “함수 원형”bool hencIsCatalogFile( const char *fn )ENC 또는 SENC의 Catalog 파일인지 검사하고, 파일명이 CATALOG인지 여부를 검사한다.
const char *fn : IN (검사 파일명)
반환값
섹션 제목: “반환값”true : 검사 성공, Catalog 파일이 맞는 경우 false : 검사 실패 또는 에러, Catalog 파일이 맞지 않는 경우
hencIsShapeFile
섹션 제목: “hencIsShapeFile”함수 원형
섹션 제목: “함수 원형”bool hencIsShapeFile( const char *fn )Shape 파일인지 여부와 파일명의 확장자를 검사한다.
const char *fn : IN (검사 파일명)
반환값
섹션 제목: “반환값”true : 검사 성공, Shape 파일이 맞는 경우 false : 검사 실패 또는 에러, Shape 파일이 맞지 않는 경우
hencEncStringToMBC
섹션 제목: “hencEncStringToMBC”함수 원형
섹션 제목: “함수 원형”char *hencEncStringToMBC( const char *str )으로 로딩된 ENC 정보의 저장에 사용되는 이진 문자열을 디코딩하여 멀티바이트 코드(Multi Byte Code)로 변환하기 위해 사용한다.
const char *str : IN (인코딩된 문자열)
반환값
섹션 제목: “반환값”!= NULL : 변환된 문자열 (호출자(Caller)가 메모리 해제(free)해야 함) == NULL : 변환 실패
참고사항
섹션 제목: “참고사항”ENC 정보 저장 이진 문자열은 인코딩 타입과 이진 문자열을 가지고 있다. 이는 S-57 표준의 문자열 인코딩을 지원하기 위한 포맷이다.
hencCreate
섹션 제목: “hencCreate”함수 원형
섹션 제목: “함수 원형”int hencCreate( HWND hwnd )- 지도 전시 대상 창에 대해서 사용될 정보인 HGLRC와 HDC를 생성한다.
- OpenGL API 사용을 위해서는 반드시 전시 대상창이 있어야만 한다.
- 모든 전시와 관련된 API는 함수를 통해 전시 준비를 하여야 하며, 사용 전에는 반드시 함수를 사용 후에 호출해야 한다.
- 복수의 창에서 전시하는 경우에는 함수로 전시할 창을 구분한다. 그러나 전시 설정은 단일 설정으로 동작하며, 각 창별로 따로 설정할 수는 없다. 예를 들면 지도의 축척, 중심 위경도는 1 개의 상태값 만 있으며, 각 창과는 독립적이다.
HWND : IN (전시 대상 창)
반환값
섹션 제목: “반환값”= 0 : 성공. < 0 : 실패
hencDelete
섹션 제목: “hencDelete”함수 원형
섹션 제목: “함수 원형”int hencDelete( HWND wnd )지도 전시 대상 창에 대해서 사용될 정보인 HGLRC와 HDC를 제거한다.
HWND : IN (전시 대상 창)
반환값
섹션 제목: “반환값”= 0 : 성공. < 0 : 실패
hencGetGLRC
섹션 제목: “hencGetGLRC”함수 원형
섹션 제목: “함수 원형”HGLRC hencGetGLRC( HWND hwnd )지정 창에 해당되는 HGLRC를 획득한다.
HWND : IN (전시 대상 창)
반환값
섹션 제목: “반환값”!= NULL : HGLRC == NULL : 실패 (전시 대상 창 정보가 없음)
hencGetDC
섹션 제목: “hencGetDC”함수 원형
섹션 제목: “함수 원형”HDC hencGetDC( HWND hwnd )지정 HWND 창에 사용되는 HDC를 획득한다.
HWND : IN (전시 대상 창)
반환값
섹션 제목: “반환값”!= NULL : HDC == NULL : 실패 (전시 대상 창 정보가 없음)
함수 원형
섹션 제목: “함수 원형”HDC hencGetDC()현재 전시 창에 사용되는 HDC를 획득한다.
없음
반환값
섹션 제목: “반환값”!= NULL : HDC == NULL : 실패 (현재 전시 대상 창 없음)
hencSelect
섹션 제목: “hencSelect”함수 원형
섹션 제목: “함수 원형”int hencSelect( HWND hwnd )지도 전시 대상 창을 지정한다.
HWND : IN (전시 대상 창)
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencGetHwnd
섹션 제목: “hencGetHwnd”함수 원형
섹션 제목: “함수 원형”HWND hencGetHwnd( )설정된 전시 대상 창의 윈도우 핸들을 획득한다.
없음
반환값
섹션 제목: “반환값”!= NULL : HWND (전시 대상 창 핸들) == NULL : 실패 (전시 대상 창 없음)
hencClearBackground
섹션 제목: “hencClearBackground”함수 원형
섹션 제목: “함수 원형”int hencClearBackground()현재 선택된 전시 창에 전체 OpenGL 전시 버퍼를 지운다. 따라서, 이전에 그려진 지도 내용이 삭제되어서 재사용할 수 없게 된다. OpenGL의 전시 버퍼 만을 지우는 기능이므로 현재 창의 화면에는 영향이 없다. 함수가 필요
없음
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencSetViewport
섹션 제목: “hencSetViewport”함수 원형
섹션 제목: “함수 원형”int hencSetViewport( int x, int y, int w, int h )전시 버퍼의 지도 영역을 지정한다. hencSelect() 함수가 필요
int x : IN (WinPos, 윈도우 좌표계, 전시 영역 좌측 상단 지정) int y : IN (WinPos, 윈도우 좌표계, 전시 영역 좌측 상단 지정) int w : IN (WinPos, 윈도우 좌표계, 전시 영역 폭 지정) int h : IN (WinPos, 윈도우 좌표계, 전시 영역 높이 지정)
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencClearViewport
섹션 제목: “hencClearViewport”함수 원형
섹션 제목: “함수 원형”int hencClearViewport()전시 버퍼의 지도 영역만을 삭제한다. 함수가 필요
없음
반환값
섹션 제목: “반환값”= 0 : 성공 < 0 : 실패
hencRender
섹션 제목: “hencRender”함수 원형
섹션 제목: “함수 원형”int hencRender()- 전시 버퍼의 지도 영역에 지도를 그린다. 현재의 설정에 맞게 전 지도를 그린 후에 Return하는 함수로서, 지도의 용량에 따라 긴 시간이 소요될 수 있다. 이는 버퍼에만 그려지며 실제 화면에는 나타나지 않는다.
- 화면 표시 함수를 호출한 후에 실제로 화면에 나타나게 된다.
- 함수가 필요
없음
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencRenderWaitFinish
섹션 제목: “hencRenderWaitFinish”함수 원형
섹션 제목: “함수 원형”int hencRenderWaitFinish()- OpenGL의 특성상 버퍼에 그린 후 곧바로 그림이 완성되지는 않기 때문에 일정한 시간 동안 대기가 필요하다. 이는 그림이 완성될 때까지 대기를 하기 위한 함수이다. 대부분의 경우 이 함수의 사용이 불필요하다.
- 함수가 필요
없음
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencRenderReset
섹션 제목: “hencRenderReset”함수 원형
섹션 제목: “함수 원형”int hencRenderReset()- 부분적인 그리기를 준비한다. 함수와는 다르게 전시 준비만 수행한다.
- 함수가 필요
없음
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencRenderMore
섹션 제목: “hencRenderMore”함수 원형
섹션 제목: “함수 원형”int hencRenderMore()- 전체 지도 그리기 과정 중 하나의 요소 만을 그린다. 즉, 부분 그리기를 제공하기 때문에 단 시간에 결과가 리턴된다. 이 함수를 반복하여 호출하면 전체 그리기 과정을 순차적으로 진행, 완료할 수 있다.
- , 함수가 필요
없음
반환값
섹션 제목: “반환값”-
0 : 하나의 요소 그리기 성공 (더 그릴 요소가 남아 있는 경우)
- = 0 : 하나의 요소 그리기 성공 (전체 그리기 완료된 경우)
- < 0 : 실패
hencRenderStop
섹션 제목: “hencRenderStop”함수 원형
섹션 제목: “함수 원형”int hencRenderStop()- 부분 그리기 과정을 중단하고, 과정 중 생성된 임시 정보들을 삭제한다.
- 지도 버퍼에는 미 완성된 지도 그림이 남아있게 된다.
- , 함수가 필요
없음
반환값
섹션 제목: “반환값”-
= 0 : 성공
- < 0 : 실패
hencRenderMoreTimed
섹션 제목: “hencRenderMoreTimed”함수 원형
섹션 제목: “함수 원형”int hencRenderMoreTimed( DWORD msec = 100 )- hencRenderMore()와 동작은 동일하나 일정한 시간 동안에 다수의 요소를 그리도록 하는 함수이다. 지정된 시간 이상을 경과하면 함수는 자동 리턴된다.
- , 함수가 필요
없음
반환값
섹션 제목: “반환값”-
0 : 하나의 요소 그리기 성공 (더 그릴 요소가 남아 있는 경우)
- = 0 : 하나의 요소 그리기 성공 (전체 그리기 완료된 경우)
- < 0 : 실패
hencSwapBuffer
섹션 제목: “hencSwapBuffer”함수 원형
섹션 제목: “함수 원형”int hencSwapBuffer()- 전시 버퍼의 내용을 화면에 표시한다. 이 함수는 OpenGL의 특성을 이용하는 것으로, 실제 화면 상에 표시되는 것은 함수가 리턴되는 시점 이후에 이루어지는 비동기 함수이다. 따라서 CPU를 좀 더 활용할 수 있기 때문에 성능 향상에는 도움이 된다. 그러나, 창에 HDC를 이용해 그리기는 할 경우에는 원치 않는 결과가 발생될 수 있음을 주의해야 한다.
- 이 함수가 호출되는 경우, 전시 버퍼에는 지도 내용이 남아 있지 않거나 잘못된 것이 남아 있을 수 있다. 이는 OpenGL 디바이스 드라이버에 따라 다를 수도 있으며, 일반적으로는 지도의 내용이 남아 있지 않는다.
- 함수가 필요
- 전체 지도 그리기 또는 부분 지도 그리기 과정 이후에 사용 가능
- 전체 지도 그리기 :
- 부분 지도 그리기 : , , 등
없음
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencCopyBuffer
섹션 제목: “hencCopyBuffer”함수 원형
섹션 제목: “함수 원형”int hencCopyBuffer()- 전시 버퍼 내용을 화면에 복사한다. 이 함수는 전시 버퍼의 내용은 그대로 보존하면서 복사하여 화면에 표시하기 위한 것으로서 OpenGL 전시가 완료될 때까지 대기한 후에 복사를 수행하는 동기 함수이다.
- OpenGL 전시가 완료될 때까지 대기한 후에 복사를 수행하는 동기 함수이다. 전시가 완료되기를 대기하므로 에 비해 상대적으로 CPU 활용도는 떨어지지만, 이후 전시 화면에 HDC를 사용해서 그리기를 할 수 있다.
- 이 함수를 호출한 후에도 전시 버퍼에는 이전 지도의 내용이 그대로 남아 있게 된다.
- 함수가 필요
- 전체 지도 그리기 또는 부분 지도 그리기 과정 이후에 사용 가능
- 전체 지도 그리기 :
- 부분 지도 그리기 : , , 등
없음
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencEncfileIsRendered
섹션 제목: “hencEncfileIsRendered”함수 원형
섹션 제목: “함수 원형”bool hencEncfileIsRendered( int no )특정 ENC 파일이 현재 화면에 일부라도 표시되고 있는지 여부를 판정한다.
- 지도셀은 로드되는 순서대로 0번부터 번호가 부여된다.
반환값
섹션 제목: “반환값”- true : 일부 또는 전체가 화면에 표시되고 있음을 의미
- false : 화면 영역에 포함되지 않음을 의미
hencSetCenter
섹션 제목: “hencSetCenter”함수 원형
섹션 제목: “함수 원형”int hencSetCenter( double cx, double cy )지도 전시의 중심점을 지정하기 위해 사용한다.
- double cx : IN (경도, degree)
- double cy : IN (위도, degree)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetCenter
섹션 제목: “hencGetCenter”함수 원형
섹션 제목: “함수 원형”int hencGetCenter( double &cx, double &cy )현재 지도의 중심점을 획득하기 위해 사용한다.
- double &cx : OUT (경도, degree)
- double &cy : OUT (위도, degree)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetCenterX
섹션 제목: “hencGetCenterX”함수 원형
섹션 제목: “함수 원형”double hencGetCenterX()현재 지도의 중심점의 경도값을 획득한다.
없음
반환값
섹션 제목: “반환값”지도 중심점의 경도값
hencGetCenterY
섹션 제목: “hencGetCenterY”함수 원형
섹션 제목: “함수 원형”double hencGetCenterY()현재 지도의 중심점의 위도값을 획득한다.
없음
반환값
섹션 제목: “반환값”지도 중심점의 위도값
hencSetZoom
섹션 제목: “hencSetZoom”함수 원형
섹션 제목: “함수 원형”int hencSetZoom( double scale )- 지도의 확대 비율을 지정하기 위한 함수로서 위경도 1도와 화면 1픽셀의 비율을 지정한다.
- 함수와 연동되며, 오직 단위만 다르다.
scale : IN (확대 비율)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetZoom
섹션 제목: “hencGetZoom”함수 원형
섹션 제목: “함수 원형”double hencGetZoom()- 지도의 확대 비율을 획득하기 위한 함수로서 위경도 1도와 화면 1 pixel의 비율을 지정한다.
- 함수와 연동이 되며, 단위만 차이가 있다.
없음
반환값
섹션 제목: “반환값”지도 확대 비율값
hencGetScale
섹션 제목: “hencGetScale”함수 원형
섹션 제목: “함수 원형”double hencGetScale()- 이 값은 또는 함수로 지정된 실제 화면 상의 픽셀 크기 대비 실제 거리의 비율을 나타내는 값이다.
없음
반환값
섹션 제목: “반환값”축적값
hencSetScale
섹션 제목: “hencSetScale”함수 원형
섹션 제목: “함수 원형”int hencSetScale( double value )- 지도의 축척값을 지정하기 위한 함수로서 1:N 으로 표현되는 지도 축적 값에서의 N 값을 지정한다.
- 이 값은 또는 함수로 지정된 실제 화면상의 픽셀 크기로부터 적절한 비율을 계산하여 화면의 축소 비율을 결정한다.
- 함수와 연동이 되며, 단위만 차이가 있다.
value : IN (축척 값)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencSetRotation
섹션 제목: “hencSetRotation”함수 원형
섹션 제목: “함수 원형”int hencSetRotation( double deg )화면상에서 지도의 회전 각도를 지정한다.
deg : IN (CW 방향, degree 단위의 회전 각도)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetRotation
섹션 제목: “hencGetRotation”함수 원형
섹션 제목: “함수 원형”double hencGetRotation()현재 화면에 표시되고 있는 지도의 회전 각도를 획득한다.
없음
반환값
섹션 제목: “반환값”지도 회전 값. CW(단위 degree)
hencSetMapArea
섹션 제목: “hencSetMapArea”함수 원형
섹션 제목: “함수 원형”int hencSetMapArea( double minx, double miny, double maxx, double maxy )지정한 사각 블럭의 영역이 지도 전시 영역에 표시되도록 지도 배율 값을 설정한다. 이 때 회전값은 0으로 지정된다.
- double minx : IN (경도, 영역 내 최소 경도 값)
- double miny : IN (위도, 영역 내 최소 위도 값)
- double maxx : IN (경도, 영역 내 최대 경도 값)
- double maxy : IN (위도, 영역 내 최대 위도 값)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetMapArea
섹션 제목: “hencGetMapArea”함수 원형
섹션 제목: “함수 원형”int hencGetMapArea( double &minx, double &miny, double &maxx, double &maxy )현재 화면에서 지도 정보가 있는 영역 전체의 위경도 좌표를 획득한다.
- double &minx : OUT (경도, 영역 내 최소 경도 값)
- double &miny : OUT (위도, 영역 내 최소 위도 값)
- double &maxx : OUT (경도, 영역 내 최대 경도 값)
- double &maxy : OUT (위도, 영역 내 최대 위도 값)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
주의사항
섹션 제목: “주의사항”이 함수가 획득하는 값은 로 설정된 값과는 다를 수도 있다.
hencSetMapParameter
섹션 제목: “hencSetMapParameter”함수 원형
섹션 제목: “함수 원형”int hencSetMapParameter( double cx, double cy, double zoom, double rotation)- 중심 좌표, 확대 비율, 회전을 한꺼번에 설정
- double cx : IN (지도 전시 중심점 경도, degree)
- double cy : IN (지도 전시 중심점 위도, degree)
- double zoom : IN (지도 확대 비율 경위도 1도와 화면 1픽셀의 비율)
- double rotation : IN (지도 화면 각도, CW, degree)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetMapParameter
섹션 제목: “hencGetMapParameter”함수 원형
섹션 제목: “함수 원형”int hencGetMapParameter( double &cx, double &cy, double &zoom, double &rotation )화면 설정을 일괄적으로 획득한다.
- double &cx : OUT (지도 전시 중심점 경도, degree)
- double &cy : OUT (지도 전시 중심점 위도, degree)
- double &zoom : OUT (지도 확대 비율 경위도 1도와 화면 1픽셀의 비율)
- double &rotation : OUT (지도 화면 각도, CW, degree)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencIsMapRectInView
섹션 제목: “hencIsMapRectInView”함수 원형
섹션 제목: “함수 원형”bool hencIsMapRectInView( double minx, double miny, double maxx, double maxy )지정 영역이 전시 화면내에 일부라도 포함되어 있는 지 여부를 검사한다.
- double minx : IN (경도, 영역 내 최소 경도 값)
- double miny : IN (위도, 영역 내 최소 위도 값)
- double maxx : IN (경도, 영역 내 최대 경도 값)
- double maxy : IN (위도, 영역 내 최대 위도 값)
반환값
섹션 제목: “반환값”- true : 지정 영역이 화면 내에 일부라도 포함되어 있음을 의미
- false : 지정 영역이 화면을 벗어나 있음을 의미
hencIsGlRectInView
섹션 제목: “hencIsGlRectInView”함수 원형
섹션 제목: “함수 원형”bool hencIsGlRectInView( double minx, double miny, double maxx, double maxy )지정 영역이 전시 화면내에 일부라도 포함되어 있는 지 여부를 검사한다.
- double minx : IN (GIPos, 영역 내 최소 x 값)
- double miny : IN (GIPos, 영역 내 최소 y 값)
- double maxx : IN (GIPos, 영역 내 최대 x 값)
- double maxy : IN (GIPos, 영역 내 최대 y 값)
반환값
섹션 제목: “반환값”- true : 지정 영역이 화면 내에 일부라도 포함되어 있음을 의미
- false : 지정 영역이 화면을 벗어나 있음을 의미
hencGetMapLevelMask
섹션 제목: “hencGetMapLevelMask”함수 원형
섹션 제목: “함수 원형”DWORD hencGetMapLevelMask()- ENC 지도는 6 개의 지도 레벨이 있다. 이 함수는 현재 지도의 레벨별 전시 여부에 대한 플래그값(flag)을 획득한다. 즉, 각 레벨별 전시 설정값을 획득한다.
- 각 레벨별로 LSB0
5의 비트값은 각각 16 S-57 Code에 해당된다. 각 비트값에 따라 해당 레벨이 지도를 화면에 전시하거나 전시하지 않는다. - 0 이면 전시하지 않고, 1 이면 전시한다.
없음
반환값
섹션 제목: “반환값”레벨별 비트 마스크(Bit Mask)
hencSetMapLevelMask
섹션 제목: “hencSetMapLevelMask”함수 원형
섹션 제목: “함수 원형”void hencSetMapLevelMask( DWORD mask )- 지도의 레벨별 전시 여부를 설정하기 위한 함수이다. 각 지도 레벨별 전시 설정 여부는 비트마스크(Bit Mask) 형태로 지정한다.
- 각 레벨별로 LSB0
5의 비트값은 각각 16 S-57 Code에 해당된다. 각 비트값에 따라 해당 레벨이 지도를 화면에 전시하거나 전시하지 않는다. - 0 이면 전시하지 않고, 1 이면 전시한다.
- Level 0
5는 S-57 Code 16에 해당하며, 각 지도 전시 여부를 결정
반환값
섹션 제목: “반환값”없음
- 전자해도 로드시 레벨 값은 지도셀의 파일명이 xx?xxxxx.xxx일 경우, ?의 값으로 지정된다. 이 값은 S-57 코드값으로 1~6 까지 설정이 가능하다. 내부적으로 저장되는 레벨 값은 S-57 코드값 보다 1 작은 값으로 세팅된다.
- (예) Level 0 = S-57 Code 1
- 레벨 값을 확인할 수 없는 경우에는 “0”으로 지정한다.
- 레벨 10은 최상위 레벨로서 별도로 처리되며, 모든 지도의 최상위 계층에 그려지게 된다.
- 함수의 결과값으로 지도의 레벨 값을 변경할 수가 있다.
hencEncfileGetVisible
섹션 제목: “hencEncfileGetVisible”함수 원형
섹션 제목: “함수 원형”int hencEncfileGetVisible( int no )각 지도셀 별로 전시가 설정되어 있는지 여부를 확인한다.
int no : IN (지도 번호)
반환값
섹션 제목: “반환값”-
0 : 전시
- == 0 : 미전시
- < 0 : 실패 (지도 번호 오류)
- 상세 내용은 “지도 파일 입출력”을 참고
hencEncfileSetVisible
섹션 제목: “hencEncfileSetVisible”함수 원형
섹션 제목: “함수 원형”int hencEncfileSetVisible( int no, int isShow )- flag가 0 이면, 해당 지도셀을 화면에서 보이지 않도록 감춘다.
- int no : IN (지도 번호)
- int isShow : IN (0 : 미전시, 1 : 전시)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencEncfileSetLevel
섹션 제목: “hencEncfileSetLevel”함수 원형
섹션 제목: “함수 원형”int hencEncfileSetLevel( int no, int level )- 개별 지도 파일의 레벨을 변경한다.
- 각 지도를 로딩할 때 파일명에 포함된 S-57 코드값에 따라 전시 레벨이 결정된다.
- 상위 레벨(숫자가 크면 상위 레벨)이 하위 레벨의 지도와 영역이 겹치는 경우, 상위 레벨 지도가 하위 레벨 지도를 가리게 된다.
- int no : IN (지도 번호)
- int level : IN (지도 레벨, 0~5 or 10까지 가능)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencEncfileGetLevel
섹션 제목: “hencEncfileGetLevel”함수 원형
섹션 제목: “함수 원형”int hencEncfileGetLevel( int no )지도 맵 파일(Map File)의 현재 설정된 레벨값을 얻는다.
int no : IN (지도 번호)
반환값
섹션 제목: “반환값”- 0~5 or 10 : 성공 (레벨 값)
- < 0 : 실패
hencEncfileSetBottom
섹션 제목: “hencEncfileSetBottom”함수 원형
섹션 제목: “함수 원형”int hencEncfileSetBottom( int no )특정 지도 셀을 레벨 0으로 지정하여 화면상에서 다른 지도의 하위 레이어에 그려지도록 한다.
없음
반환값
섹션 제목: “반환값”- = 0 : 성공.
- < 0 : 실패
hencEncfileSetTopMost
섹션 제목: “hencEncfileSetTopMost”함수 원형
섹션 제목: “함수 원형”int hencEncfileSetTopMost( int no )특정 지도 셀을 레벨 10으로 지정하여 화면상에서 다른 지도의 상위 레이어에 그려지도록 한다.
없음
반환값
섹션 제목: “반환값”- = 0 : 성공.
- < 0 : 실패
hencEncfileSetScaleForTopmost
섹션 제목: “hencEncfileSetScaleForTopmost”함수 원형
섹션 제목: “함수 원형”int hencEncfileSetScaleForTopmost( int scale )- 레벨 10의 지도를 전시할 최소의 축척을 지정한다. 이는 최상위(Top Most)의 지도가 용량이 매우 크고, 상세한 지도일 때 사용하기 위한 함수이다.
- 즉, 기존 전자해도 상위에 추가적으로 오버레이(Overlay)하는 지도를 사용하기 위한 용도에 적용될 수 있다.
- 0 : 상시 전시
-
0 : 전시 축척 1:N에서 N 값이 스케일(scale) 값보다 작을 때에만 전시
반환값
섹션 제목: “반환값”- = 0 : 성공.
- < 0 : 실패
hencSetObjMask
섹션 제목: “hencSetObjMask”함수 원형
섹션 제목: “함수 원형”int hencSetObjMask( EEncObject obj, bool flag )ENC Feature Object의 종류별 전시 여부를 지정한다.
- EEncObject obj : IN (ENC Feature Object Code)
- 2.23.1 S-57 Feature Object Catalog 참조
- bool flag : IN
- true : 전시
- false : 미전시
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetObjMask
섹션 제목: “hencGetObjMask”함수 원형
섹션 제목: “함수 원형”bool hencGetObjMask( EEncObject obj )ENC Feature Object의 종류별 전시 여부를 획득한다.
- 2.23.1 S-57 Feature Object Catalog 참조
반환값
섹션 제목: “반환값”- true : 전시
- false : 미전시
hencSetPixelSize
섹션 제목: “hencSetPixelSize”함수 원형
섹션 제목: “함수 원형”int hencSetPixelSize( double meter )- 지도의 축척 계산에 사용되는 화면 픽셀의 크기를 지정한다. (단위 : meter)
- 함수와 연동이 되며, 단위만 차이가 있다.
double meter : IN (화면 1 픽셀의 크기, meter)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
기본 설정값 : 0.000265 ~= 96DPI
hencSetPixelDPI
섹션 제목: “hencSetPixelDPI”함수 원형
섹션 제목: “함수 원형”int hencSetPixelDPI( int dpi )- 지도의 축척 계산에 사용되는 화면 픽셀의 크기를 지정한다. (단위 : 픽셀수, DPI)
- 함수와 연동이 되며, 단위만 차이가 있다.
int dpi : IN (화면 1 인치 당 픽셀 수, DPI)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
기본 설정값 : 0.000265 ~= 96DPI
hencGetPixelSize
섹션 제목: “hencGetPixelSize”함수 원형
섹션 제목: “함수 원형”double hencGetPixelSize()설정된 화면 1 픽셀의 크기 값을 미터 단위로 변환하여 반환한다.
없음
반환값
섹션 제목: “반환값”설정된 화면 1 픽셀에 해당하는 크기 값 (미터 단위)
기본 설정값 : 0.000265 ~= 96DPI
hencGetPixelDPI
섹션 제목: “hencGetPixelDPI”함수 원형
섹션 제목: “함수 원형”int hencGetPixelDPI()설정된 화면 1 픽셀의 크기 값을 DPI 단위로 변환하여 반환한다.
없음
반환값
섹션 제목: “반환값”설정된 화면 DPI 값
기본 설정값 : 0.000265 ~= 96DPI
hencGetSymbolScale
섹션 제목: “hencGetSymbolScale”함수 원형
섹션 제목: “함수 원형”double hencGetSymbolScale()S-52 심볼(Symbol), 패턴(Pattern), 라인(Line) 등의 크기값을 획득한다.
없음
반환값
섹션 제목: “반환값”Symbol Scale 값
hencSetSymbolScale
섹션 제목: “hencSetSymbolScale”함수 원형
섹션 제목: “함수 원형”int hencSetSymbolScale( double scale )S-52 심볼(Symbol), 패턴(Pattern), 라인(Line) 등의 크기값을 지정한다. 이 값의 비율에 따라 각 심볼, 패턴, 라인이 같은 비율로 바뀐다.
double scale : IN (심볼의 크기(Symbol Scale) 값)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
기본 설정값 : 0.033333 ~= 96DPI
hencIsAutoScaleToZoom
섹션 제목: “hencIsAutoScaleToZoom”함수 원형
섹션 제목: “함수 원형”bool hencIsAutoScaleToZoom()위도 변경시 전시 배율의 자동 조정 기능을 사용하고 있는지 여부를 확인한다.
없음
반환값
섹션 제목: “반환값”- true : 자동 배율을 사용
- false : 자동 배율을 사용하지 않음
hencSetAutoScaleToZoom
섹션 제목: “hencSetAutoScaleToZoom”함수 원형
섹션 제목: “함수 원형”int hencSetAutoScaleToZoom( bool flag )위도 변경시 축척값에 맞게 전시 배율을 자동으로 조정하는 기능을 설정한다.
- true : 자동 배율을 사용
- false : 자동 배율을 사용하지 않음
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencIsMercator
섹션 제목: “hencIsMercator”함수 원형
섹션 제목: “함수 원형”bool hencIsMercator()Mercator 투영법의 사용 여부를 확인한다.
없음
반환값
섹션 제목: “반환값”- true : Mercator 투영법을 사용
- false : Mercator 투영법을 사용하지 않음
hencSetMercator
섹션 제목: “hencSetMercator”함수 원형
섹션 제목: “함수 원형”void hencSetMercator( bool flag )Mercator 투영법의 사용 여부를 지정한다.
- true : Mercator 투영법을 사용
- false : Mercator 투영법을 사용하지 않음
반환값
섹션 제목: “반환값”없음
hencSetSimplifiedSymbol
섹션 제목: “hencSetSimplifiedSymbol”함수 원형
섹션 제목: “함수 원형”void hencSetSimplifiedSymbol( bool flag )S-52 심볼, 패턴, 라인을 전시할 때 간략화 심볼(Simpilfied Symbol)의 사용 여부를 지정한다.
- true : Simpilfied 심볼, 패턴, 라인을 사용
- false : Simpilfied 심볼, 패턴, 라인을 사용하지 않음
반환값
섹션 제목: “반환값”없음
hencIsSimplifiedSymbol
섹션 제목: “hencIsSimplifiedSymbol”함수 원형
섹션 제목: “함수 원형”bool hencIsSimplifiedSymbol()S-52 심볼, 패턴, 라인을 전시할 때 간략화된 심볼(Simpilfied Symbol)의 사용 여부를 확인한다.
없음
반환값
섹션 제목: “반환값”- true : Simpilfied 심볼, 패턴, 라인을 사용
- false : Simpilfied 심볼, 패턴, 라인을 사용하지 않음
hencGetDisplayCategory
섹션 제목: “hencGetDisplayCategory”함수 원형
섹션 제목: “함수 원형”EDisplayCategory hencGetDisplayCategory()전시 카테고리를 획득한다. (2.23.5절의 S-52 Display Category 참조)
없음
반환값
섹션 제목: “반환값”EDisplayCategory의 현재 설정값
hencSetDisplayCategory
섹션 제목: “hencSetDisplayCategory”함수 원형
섹션 제목: “함수 원형”void hencSetDisplayCategory( EDisplayCategory c )전시 카테고리를 지정한다. (2.23.5절의 S-52 Display Category 참조)
EDisplayCategory c : IN (EDisplayCategory 설정값)
반환값
섹션 제목: “반환값”없음
hencSetNationalLanguage
섹션 제목: “hencSetNationalLanguage”함수 원형
섹션 제목: “함수 원형”void hencSetNationalLanguage( bool flag )- ENC 파일 내에 지역 언어의 사용 여부를 지정한다.
- 각 ENC 특성 객체(Feature Object)의 정보를 표시할 때 지역 언어 정보를 포함하고 있으면, 이를 사용할 것인지 여부를 지정한다. 사용하지 않도록 설정하면 항상 영어로 표시된다.
- true : 지역 언어 사용
- false : 영어만 사용
반환값
섹션 제목: “반환값”없음
hencIsNationalLanguage
섹션 제목: “hencIsNationalLanguage”함수 원형
섹션 제목: “함수 원형”bool hencIsNationalLanguage()ENC 파일 내에 지역 언어의 사용 여부를 확인한다.
없음
반환값
섹션 제목: “반환값”- true : 지역 언어 사용
- false : 영어만 사용
hencGetUseScaleMinMax
섹션 제목: “hencGetUseScaleMinMax”함수 원형
섹션 제목: “함수 원형”int hencGetUseScaleMinMax()ENC Feature Object 내에 SCAMIN, SCAMAX 값을 활용하여 전시하고 있는지 여부를 확인한다.
없음
반환값
섹션 제목: “반환값”- != 0 : 사용 중
- ==0 : 사용 안 함
- < 0 : 실패
hencSetUseScaleMinMax
섹션 제목: “hencSetUseScaleMinMax”함수 원형
섹션 제목: “함수 원형”void hencSetUseScaleMinMax( int flag )ENC Feature Object 내 SCAMIN, SCAMAX 값을 활용하여 전시할지 여부를 지정한다.
- != 0 : 사용
- ==0 : 사용 안 함
반환값
섹션 제목: “반환값”없음
hencGetViewMapByScale
섹션 제목: “hencGetViewMapByScale”함수 원형
섹션 제목: “함수 원형”int hencGetUseScaleMinMax()지도 전시 시 레벨에 따라 전시 여부를 결정하는 기능의 사용 여부를 획득합니다.
없음
반환값
섹션 제목: “반환값”- != 0 : 사용 중
- ==0 : 사용 안 함
- < 0 : 실패
hencSetViewMapByScale
섹션 제목: “hencSetViewMapByScale”함수 원형
섹션 제목: “함수 원형”void hencSetViewMapByScale( int flag )지도 전시 시 레벨에 따라 전시 여부를 결정하는 기능의 사용 여부를 설정한다. 지정된 축척 이하에서는 상세 지도를 화면에서 감추는 기능을 설정한다.
- != 0 : 사용
- ==0 : 사용 안 함
반환값
섹션 제목: “반환값”없음
hencSetDepth
섹션 제목: “hencSetDepth”함수 원형
섹션 제목: “함수 원형”int hencSetDepth( EDepthType t, double depth )현재 설정된 수심을 표시하는 설정값을 변경한다. S-52 CSP에 사용되는 수심 별 색상 및 선 구분 표시에 사용되는 수심값을 설정한다.
- EDepthType t: IN (수심 종류)
- double depth : IN (수심 값, meter)
반환값
섹션 제목: “반환값”-
= 0 : 성공
- < 0 : 실패
hencGetDepth
섹션 제목: “hencGetDepth”함수 원형
섹션 제목: “함수 원형”double hencGetDepth( EDepthType t );- 현재 설정된 수심 표시에 대한 설정값을 획득한다.
- 상세 내용은 함수를 참조
EDepthType t : IN (수심 종류) enum EDepthType { SHALLOW_CONTOUR, DEEP_CONTOUR, SAFETY_CONTOUR, SAFETY_DEPTH, DEPTHTYPE_MAX };
반환값
섹션 제목: “반환값”현재 설정값
hencSetShallowPattern
섹션 제목: “hencSetShallowPattern”함수 원형
섹션 제목: “함수 원형”int hencSetShallowPattern( bool flag )얕은 수심을 표시하기 위한 저수심 패턴(Shallow pattern)의 표시 여부를 설정한다.
- true : 저수심 패턴을 표시
- false : 저수심 패턴을 표시 안함
반환값
섹션 제목: “반환값”-
= 0 : 성공
- < 0 : 실패
hencIsShallowPattern
섹션 제목: “hencIsShallowPattern”함수 원형
섹션 제목: “함수 원형”bool hencIsShallowPattern()얕은 수심을 표시하기 위한 저수심 패턴(Shallow pattern)의 표시 유무 설정값을 획득한다.
없음
반환값
섹션 제목: “반환값”저수심 패턴의 전시 유무 값
hencSetTwoShades
섹션 제목: “hencSetTwoShades”함수 원형
섹션 제목: “함수 원형”int hencSetTwoShades( bool flag )- 해수면의 수심 영역을 표시할 때 2 가지 색상만 사용할지에 대한 여부를 설정한다.
- 해수면은 2 가지 색상 또는 4 가지의 색상으로 수심 깊이에 따라 다른 색상으로 표시된다. 이때 사용할 색상의 수를 지정한다.
- true : 2가지 색상만을 사용
- false : 2가지 색상 이상을 사용
반환값
섹션 제목: “반환값”-
= 0 : 성공
- < 0 : 실패
hencIsTwoShades
섹션 제목: “hencIsTwoShades”함수 원형
섹션 제목: “함수 원형”bool hencIsTwoShades()해수면을 표시할 때 2가지 색상 모드를 사용하는지 여부를 획득한다.
없음
반환값
섹션 제목: “반환값”1: 2가지 색상 사용 1: 2가지 색상 사용하지 않음(4가지 색상이 사용됨)
hencSetHideMeta
섹션 제목: “hencSetHideMeta”함수 원형
섹션 제목: “함수 원형”int hencSetHideMeta( bool flag )S-57 ENC의 특성객체(Feature Object) 중에서 메타객체(Meta Object, 300번대 Object Code)에 해당하는 객체의 표시 여부를 설정한다.
- true : 메타객체를 전시하지 않음
- false : 메타객체를 전시
반환값
섹션 제목: “반환값”-
= 0 : 성공
- < 0 : 실패
hencIsHideMeta
섹션 제목: “hencIsHideMeta”함수 원형
섹션 제목: “함수 원형”bool hencIsHideMeta()메타객체(Meta Object)의 전시 여부 설정값을 획득한다.
없음
반환값
섹션 제목: “반환값”메타객체의 전시 여부
hencSetColorset
섹션 제목: “hencSetColorset”함수 원형
섹션 제목: “함수 원형”int hencSetColorset( EEncColorset colorset )지도 전시 색상표를 지정한다. (S-52 Color 참조)
EEncColorset colorset : IN (색상표 값) enum EEncColorset { COLORSET_DAY_BRIGHT, COLORSET_DAY_WHITEBACK, COLORSET_DAY_BLACKBACK, COLORSET_DUSK, COLORSET_NIGHT, COLORSET_USER, COLORSET_MAX };
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetColorset
섹션 제목: “hencGetColorset”함수 원형
섹션 제목: “함수 원형”EEncColorset hencGetColorset()사용 중인 지도 전시 색상표 값을 획득한다. (S-52 Color 참조)
없음
반환값
섹션 제목: “반환값”사용 중인 지도 전시 색상표 값 enum EEncColorset { COLORSET_DAY_BRIGHT, COLORSET_DAY_WHITEBACK, COLORSET_DAY_BLACKBACK, COLORSET_DUSK, COLORSET_NIGHT, COLORSET_USER, COLORSET_MAX };
hencFontGet
섹션 제목: “hencFontGet”함수 원형
섹션 제목: “함수 원형”int hencFontGet( LOGFONT *lf )지도 전시에 사용할 글꼴에 대한 설정값을 획득한다.
LOGFONT *lf : IN, OUT (Win32 LOGFONT structure)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencFontSet
섹션 제목: “hencFontSet”함수 원형
섹션 제목: “함수 원형”int hencFontSet( LOGFONT *lf )지도 전시에 사용할 글꼴의 설정값을 지정한다.
LOGFONT *lf : IN (Win32 LOGFONT structure)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencSelectObj
섹션 제목: “hencSelectObj”함수 원형
섹션 제목: “함수 원형”int hencSelectObj( HENCOBJECT obj )지정한 객체(Object)를 선택된 모양으로 전시하도록 설정한다.
- 함수를 이용하여 검색한 객체 핸들값(Object handle)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencPickObj
섹션 제목: “hencPickObj”함수 원형
섹션 제목: “함수 원형”int hencPickObj( double x, double y, list &listObjs )- 검색되는 객체는 현재 화면의 전시 설정에 따라 대상이 제한된다. 지정된 좌표에서 현재 배율로 화면 상의 약 10 pixel 범위 이내의 점, 선, 영역이 검색된다.
- 단, 현재 표시하지 않고 있는 객체나 지도셀은 검색에서 제외된다.
- double x : IN (경도, degree)
- double y : IN (위도, degree)
- list
&listObjs : IN, OUT (검색된 객체의 고유 핸들값 목록)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencObjToString
섹션 제목: “hencObjToString”함수 원형
섹션 제목: “함수 원형”void hencObjToString( HENCOBJECT obj, string &str )해당 객체에 대한 세부 정보를 문자열 형태로 변환해 준다.
- HENCOBJECT obj : IN (ENC 특성객체 핸들값)
- hencPickObj()로부터 획득한 값이어야 한다.
- string &str : IN, OUT (객체에 대한 상세 정보를 포함하고 있는 문자열)
반환값
섹션 제목: “반환값”없음
hencGetFilenameOfObj
섹션 제목: “hencGetFilenameOfObj”함수 원형
섹션 제목: “함수 원형”const char *hencGetFilenameOfObj( HENCOBJECT obj )해당 객체를 포함하고 있는 파일을 검색하여 파일명을 추출한다.
- 로부터 획득한 값이어야 한다.
반환값
섹션 제목: “반환값”- != NULL : 파일명, Null로 종료된 문자열
- == NULL : 파일명을 찾을 수 없음(실패)
hencObjGetCode
섹션 제목: “hencObjGetCode”함수 원형
섹션 제목: “함수 원형”EEncObject hencObjGetCode( HENCOBJECT obj )해당 객체의 S-57 객체코드(Object Code) 값을 알아낸다.
- hencPickObj()로부터 획득한 값이어야 한다.
반환값
섹션 제목: “반환값”- S-57 특성객체 카탈로그(Feature Object Catalog) 참조
hencObjGetPrimType
섹션 제목: “hencObjGetPrimType”함수 원형
섹션 제목: “함수 원형”EObjectPrimitiveType hencObjGetPrimType( HENCOBJECT obj )해당 객체의 S-57 객체의 Primitive Type(점, 선, 면)을 알아낸다.
- HENCOBJECT obj : IN (ENC 특성객체 핸들값)
- 로부터 획득한 값이어야 한다.
반환값
섹션 제목: “반환값”해당 객체의 S-57 특성객체 Primitive Type 참조
hencObjGetPoints
섹션 제목: “hencObjGetPoints”함수 원형
섹션 제목: “함수 원형”int hencObjGetPoints( HENCOBJECT obj, S_OBJ_POLYGON *data )해당 객체의 S-57 객체 좌표 정보를 획득한다.
- HENCOBJECT obj : IN (ENC 특성객체 핸들값)
- 로부터 획득한 값이어야 한다.
- S_OBJ_POLYGON * data : IN, OUT (S_OBJ_POLYGON *data)
- 다음 형태의 구조체로, 폴리폴리곤의 정보를 담고 있다.
반환값
섹션 제목: “반환값”- == 0 : 성공
- < 0 : 실패
hencDepthmapGenerate
섹션 제목: “hencDepthmapGenerate”함수 원형
섹션 제목: “함수 원형”HENCDEPTHMAP hencDepthmapGenerate()현재 로드된 모든 ENC 지도셀(Map Cell)로부터 수심 정보 만을 수집한다.
없음
반환값
섹션 제목: “반환값”- != 0 : 생성된 수심 정보의 핸들값
- == 0 : 실패
hencDepthmapSave
섹션 제목: “hencDepthmapSave”함수 원형
섹션 제목: “함수 원형”int hencDepthmapSave( HENCDEPTHMAP hdd, const char *fn )생성된 수심 정보의 집합을 파일로 저장한다.
- HENCDEPTHMAP hdd : IN ( 함수로 생성한 수심 정보 핸들값)
- const char * fn : IN (수심 정보 저장 파일명)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencDepthmapLoad
섹션 제목: “hencDepthmapLoad”함수 원형
섹션 제목: “함수 원형”HENCDEPTHMAP hencDepthmapLoad( const char *fn )수심 정보 파일로부터 수심 정보 집합을 읽어 들인다.
const char *fn : IN (수심 정보 저장 파일명)
반환값
섹션 제목: “반환값”- != 0 : 읽어온 수심 정보의 핸들값
- == 0 : 실패
hencDepthmapGetData
섹션 제목: “hencDepthmapGetData”함수 원형
섹션 제목: “함수 원형”int hencDepthmapGetData( HENCDEPTHMAP hdd, double x, double y, double &dep1, double &dep2 )수심 정보 집합에서 특정 좌표의 수심 정보를 검색한다.
- HENCDEPTHMAP hdd : IN (수심 정보 집합의 핸들값)
- double x : IN (수심 정보 검색 위치의 경도, degree)
- double y : IN (수심 정보 검색 위치의 위도, degree)
- double &dep1 : OUT (최저 수심)
- double &dep2 : OUT (최대 수심)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencDepthmapDelete
섹션 제목: “hencDepthmapDelete”함수 원형
섹션 제목: “함수 원형”int hencDepthmapDelete( HENCDEPTHMAP hdd )수심 정보 집합이 점유하고 있는 메모리를 해제한다.
HENCDEPTHMAP hdd : IN (수심 정보 집합의 핸들값)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetEncSymbolCount
섹션 제목: “hencGetEncSymbolCount”함수 원형
섹션 제목: “함수 원형”int hencGetEncSymbolCount()사용 가능한 S-52 심볼의 개수를 획득한다.
없음
반환값
섹션 제목: “반환값”라이브러리에서 사용 가능한 심벌의 개수
hencGetEncSymbolName
섹션 제목: “hencGetEncSymbolName”함수 원형
섹션 제목: “함수 원형”const char *hencGetEncSymbolName( int no )S-52 심볼 번호에 대한 문자열의 이름을 획득한다.
int no : IN (심볼 번호)
반환값
섹션 제목: “반환값”- != NULL : 심볼 이름, Null로 종료된 문자열
- S-52 표준 문서에 명시된 이름과 동일
- == NULL : 실패 (잘못된 심볼 번호)
hencDrawEncSymbol
섹션 제목: “hencDrawEncSymbol”함수 원형
섹션 제목: “함수 원형”int hencDrawEncSymbol( const char *name )S-52 심볼을 화면에 전시한다.
- const char *name : IN (Null로 종료된 문자열)
- S-52 표준 문서에 명시된 이름과 동일
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencDrawEncSymbolAtGlPos
섹션 제목: “hencDrawEncSymbolAtGlPos”함수 원형
섹션 제목: “함수 원형”int hencDrawEncSymbolAtGlPos( const char *name, double x, double y, double z, double angle = 0, double scale = 1.0 )S-52 심볼을 화면에 전시한다.
- const char *name : IN (Null로 종료된 문자열, S-52 표준 문서에 명시된 이름과 동일)
- double x : IN (OpenGL 좌표계 x값)
- double y : IN (OpenGL 좌표계 y값)
- double z : IN (OpenGL 좌표계 z값)
- double angle : IN (CW, 회전 각도, degree)
- double scale : IN (확대/축소 값)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencDrawEncSymbolAtWinPos
섹션 제목: “hencDrawEncSymbolAtWinPos”함수 원형
섹션 제목: “함수 원형”int hencDrawEncSymbolAtWinPos( const char *name, double x, double y )S-52 심볼을 화면에 전시한다.
- const chat *name : IN (Null로 종료된 문자열, S-52 표준 문서에 명시된 이름과 동일)
- double x : IN (Window GDI 좌표계 x값)
- double y : IN (Window GDI 좌표계 y값)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencDrawEncSymbolAtMapPos
섹션 제목: “hencDrawEncSymbolAtMapPos”함수 원형
섹션 제목: “함수 원형”int hencDrawEncSymbolAtMapPos( const char *name, double x, double y )S-52 심볼을 화면에 전시한다.
- const char *name : IN (Null로 종료된 문자열, S-52 표준 문서에 명시된 이름과 동일)
- double x : IN (경도, degree)
- double y : IN (위도, degree)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetEncLineCount
섹션 제목: “hencGetEncLineCount”함수 원형
섹션 제목: “함수 원형”int hencGetEncLineCount()사용 가능한 S-52 Complex Line의 개수를 획득한다.
없음
반환값
섹션 제목: “반환값”라이브러리에서 사용이 가능한 Complex Line의 개수
hencGetEncLineName
섹션 제목: “hencGetEncLineName”함수 원형
섹션 제목: “함수 원형”const char *hencGetEncLineName( int no )S-52 Complex Line 번호에 대한 문자열의 이름을 획득한다.
int no : IN (Complex Line 번호)
반환값
섹션 제목: “반환값”- != NULL : Complex Line 번호 문자열 이름, Null로 종료된 문자열
- S-52 표준 문서에 명시된 이름과 동일
- == NULL : 실패 (잘못된 번호)
hencDrawEncLineAtGlPos
섹션 제목: “hencDrawEncLineAtGlPos”함수 원형
섹션 제목: “함수 원형”int hencDrawEncLineAtGlPos( LPCTSTR name, double x1, double y1, double x2, double y2, double z )S-52 Complex Line을 화면에 전시한다.
- LPCTSTR name : IN (Null로 종료된 문자열, 으로 획득하는 이름을 사용)
- double x1 : IN (라인 시점의 x값, OpenGL 좌표계)
- double y1 : IN (라인 시점의 y값, OpenGL 좌표계)
- double x2 : IN (라인 종점의 x값, OpenGL 좌표계)
- double y2 : IN (라인 종점의 y값, OpenGL 좌표계)
- double z : IN (라인의 z값, OpenGL 좌표계)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencDrawEncLineAtWinPos
섹션 제목: “hencDrawEncLineAtWinPos”함수 원형
섹션 제목: “함수 원형”int hencDrawEncLineAtWinPos( const char *name, double x1, double y1, double x2, double y2, double z )S-52 Complex Line을 화면에 전시한다.
- LPCTSTR name : IN (Null로 종료된 문자열, 으로 획득하는 이름을 사용)
- double x1 : IN (라인 시점의 x값, Windows GDI 좌표계)
- double y1 : IN (라인 시점의 y값, Windows GDI 좌표계)
- double x2 : IN (라인 종점의 x값, Windows GDI 좌표계)
- double y2 : IN (라인 종점의 y값, Windows GDI 좌표계)
- double z : IN (라인의 z값, OpenGL 좌표계)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencDrawEncLineAtMapPos
섹션 제목: “hencDrawEncLineAtMapPos”함수 원형
섹션 제목: “함수 원형”int hencDrawEncLineAtMapPos( LPCTSTR name, double x1, double y1, double x2, double y2, double z )S-52 Complex Line을 화면에 전시한다.
- LPCTSTR name : IN (Null로 종료된 문자열, 으로 획득하는 이름을 사용)
- double x1 : IN (라인 시점의 x값, degree, 위경도 좌표계)
- double y1 : IN (라인 시점의 y값, degree, 위경도 좌표계)
- double x2 : IN (라인 종점의 x값, degree, 위경도 좌표계)
- double y2 : IN (라인 종점의 y값, degree, 위경도 좌표계)
- double z : IN (라인의 z값, OpenGL 좌표계)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetEncPatternCount
섹션 제목: “hencGetEncPatternCount”함수 원형
섹션 제목: “함수 원형”int hencGetEncPatternCount()사용 가능한 S-52 Fill 패턴의 개수를 획득한다.
없음
반환값
섹션 제목: “반환값”라이브러리에서 사용이 가능한 Fill 패턴의 개수
hencGetEncPatternName
섹션 제목: “hencGetEncPatternName”함수 원형
섹션 제목: “함수 원형”const char * hencGetEncPatternName( int no )S-52 Fill 패턴 번호에 대한 문자열 이름을 획득한다.
int no : IN (Fill 패턴 번호)
반환값
섹션 제목: “반환값”- != NULL : 패턴 번호 문자열 이름, Null로 종료된 문자열
- S-52 표준 문서에 명시된 이름과 동일
- == NULL : 실패 (잘못된 패턴 번호)
hencDrawEncPatternFillAtGlPos
섹션 제목: “hencDrawEncPatternFillAtGlPos”함수 원형
섹션 제목: “함수 원형”int hencDrawEncPatternFillAtGlPos( LPCTSTR name, int cntPts, double *x, double *y, double z )S-52 Fill 패턴으로 주어진 영역을 채운다.
- LPCTSTR name : IN (Null로 종료된 문자열, S-52 Fill 패턴 이름)
- int cntPts : 영역 Polygon 좌표의 개수
- double *x : IN (영역 Polygon x 좌표 배열, OpenGL 좌표계)
- double *y : IN (영역 Polygon y 좌표 배열, OpenGL 좌표계)
- double z : IN (라인의 z값, OpenGL 좌표계, 모든 좌표 동일)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencDrawEncPatternFillAtWinPos
섹션 제목: “hencDrawEncPatternFillAtWinPos”함수 원형
섹션 제목: “함수 원형”int hencDrawEncPatternFillAtWinPos( LPCTSTR name, int cntPts, double *x, double *y )S-52 Fill 패턴으로 주어진 영역을 채운다.
- LPCTSTR name : IN (Null로 종료된 문자열, S-52 Fill 패턴 이름)
- int cntPts : 영역 Polygon 좌표의 개수
- double *x : IN (영역 Polygon x 좌표 배열, Windows GDI 좌표계)
- double *y : IN (영역 Polygon y 좌표 배열, Windows GDI 좌표계)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencDrawEncPatternFillAtMapPos
섹션 제목: “hencDrawEncPatternFillAtMapPos”함수 원형
섹션 제목: “함수 원형”int hencDrawEncPatternFillAtMapPos( LPCTSTR name, int cntPts, double *x, double *y )S-52 Fill 패턴으로 주어진 영역을 채운다.
- LPCTSTR name : IN (Null로 종료된 문자열, S-52 Fill 패턴 이름)
- int cntPts : 영역 Polygon 좌표의 개수
- double *x : IN (영역 Polygon 경도 좌표 배열)
- double *y : IN (영역 Polygon 위도 좌표 배열)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGetColor
섹션 제목: “hencGetColor”함수 원형
섹션 제목: “함수 원형”COLORREF hencGetColor( EEncColor color )- S-52 Color 참조
EEncColor color : IN (S-52 색상(color) 코드 값)
반환값
섹션 제목: “반환값”색상 RGB 값
함수 원형
섹션 제목: “함수 원형”COLORREF hencGetColor( EEncColorset setNo, EEncColor color )- S-52 Color 참조
- EEncColorset setNo : 취득을 원하는 색상 지정
- EEncColor color : IN (S-52 색상(color) 코드 값)
반환값
섹션 제목: “반환값”색상 RGB 값
함수 원형
섹션 제목: “함수 원형”COLORREF hencGetColor( const char *acronym )- S-52 Color 참조
const char *acronym : IN (S-52 color acronym 문자열)
반환값
섹션 제목: “반환값”색상 RGB 값
hencGetColorName
섹션 제목: “hencGetColorName”함수 원형
섹션 제목: “함수 원형”const char * hencGetColorName( EEncColor color )색상 코드에 해당하는 acronym을 획득한다.
EEncColor color : IN (S-52 색상 코드)
반환값
섹션 제목: “반환값”- != NULL : S-52 color acronym 문자열
- == NULL : 실패 (잘못된 문자열)
hencGetPrimName
섹션 제목: “hencGetPrimName”함수 원형
섹션 제목: “함수 원형”const char * hencGetPrimName( EObjectPrimitiveType t )- S-57 ENC Object Primitive Type 참조
EObjectPrimitiveType t : IN (S-57 ENC Object Primitive Type)
반환값
섹션 제목: “반환값”- != NULL : 문자열
- == NULL : 실패
hencGetObjectName
섹션 제목: “hencGetObjectName”함수 원형
섹션 제목: “함수 원형”const char * hencGetObjectName( EEncObject obj )S-57 Feature Object Code에 해당하는 acronym 문자열을 획득한다.
EEncObject obj : IN (S-57 Feature Object Code)
반환값
섹션 제목: “반환값”- != NULL : 문자열
- == NULL : 실패
hencGetObjectDesc
섹션 제목: “hencGetObjectDesc”함수 원형
섹션 제목: “함수 원형”const char * hencGetObjectDesc( EEncObject obj )S-57 Feature Object Code에 해당하는 description 문자열을 획득한다.
EEncObject obj : IN (S-57 Feature Object Code)
반환값
섹션 제목: “반환값”- != NULL : 문자열
- == NULL : 실패
hencGetAttrName
섹션 제목: “hencGetAttrName”함수 원형
섹션 제목: “함수 원형”const char * hencGetAttrName( EEncAttr attr )S-57 Feature Attribute Code에 해당하는 acronym 문자열을 획득한다.
EEncAttr attr : IN (S-57 Feature Attribute Code)
반환값
섹션 제목: “반환값”- != NULL : 문자열
- == NULL : 실패
hencEnumAttr
섹션 제목: “hencEnumAttr”함수 원형
섹션 제목: “함수 원형”EEncAttr hencEnumAttr( const char *acronym )S-57 Feature Attribute acronym에 해당하는 코드값을 획득한다.
const char *acronym : IN (S-57 Feature Attribute acronym 문자열)
반환값
섹션 제목: “반환값”S-57 Feature Attribute Code
hencEnumObjectName
섹션 제목: “hencEnumObjectName”함수 원형
섹션 제목: “함수 원형”EEncObject hencEnumObjectName( const char *acronym )S-57 Feature Object acronym에 해당하는 코드값을 획득한다.
const char *acronym : IN (S-57 Feature Object acronym 문자열)
반환값
섹션 제목: “반환값”S-57 Feature Object Code
hencGetUserColor
섹션 제목: “hencGetUserColor”함수 원형
섹션 제목: “함수 원형”COLORREF hencGetUserColor( EEncColor eco )사용자 색상표에서 S-52 색상 코드에 해당하는 RGB 값을 획득한다.
EEncColor eco : IN (S-52 색상 코드값)
반환값
섹션 제목: “반환값”RGB 색상 값
hencSetUserColor
섹션 제목: “hencSetUserColor”함수 원형
섹션 제목: “함수 원형”void hencSetUserColor( EEncColor eco, COLORREF co )사용자 색상표에서 S-52 색상 코드에 해당하는 RGB 값을 설정한다.
- EEncColor eco : IN (S-52 색상 코드값)
- COLORREF co : IN (RGB 색상)
반환값
섹션 제목: “반환값”없음
hencResetUserColor
섹션 제목: “hencResetUserColor”함수 원형
섹션 제목: “함수 원형”void hencResetUserColor()사용자 정의 색상표의 모든 색 값을 표준 낮 색상표로 설정한다
없음
반환값
섹션 제목: “반환값”없음
hencUserImageNew
섹션 제목: “hencUserImageNew”함수 원형
섹션 제목: “함수 원형”CEncUserImage *hencUserImageNew( const char *fnBmp )이미지 파일로부터 이미지를 생성한다.
const char * fnBmp : IN (이미지 파일명)
반환값
섹션 제목: “반환값”- != NULL : 이미지 객체
- == NULL : 읽기 실패
hencUserImageDelete
섹션 제목: “hencUserImageDelete”함수 원형
섹션 제목: “함수 원형”int hencUserImageDelete( CEncUserImage * hui )이미지 객체의 메모리를 해제한다.
- 함수로 생성된 값이어야 함
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencUserImageDrawAtMapPos
섹션 제목: “hencUserImageDrawAtMapPos”함수 원형
섹션 제목: “함수 원형”int hencUserImageDrawAtMapPos( CEncUserImage * hui, double x, double y, double angle = 0, double scale = 1.0)이미지 객체를 지도 위 좌표 상에 그린다.
- CEncUserImage * hui : IN (이미지 객체)
- 함수로 생성된 값이어야 함
- double x : IN (경도, degree)
- double y : IN (위도, degree)
- double angle : IN (회전 각도, CW, degree)
- double scale : IN (확대 비율_)
반환값
섹션 제목: “반환값”hencUserImageDrawAtGlPos
섹션 제목: “hencUserImageDrawAtGlPos”함수 원형
섹션 제목: “함수 원형”int hencUserImageDrawAtGlPos( CEncUserImage * hui, double x, double y, double z = 0, double angle = 0, double scale = 1)- z 좌표 지정
- CEncUserImage * hui : IN (이미지 객체)
- 함수로 생성된 값이어야 함
- double x : IN (GlPos)
- double y : IN (GlPos)
- double z : IN (GlPos)
- double angle : IN (회전 각도, CW, degree)
- double scale : IN (확대 비율)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencUsersymbolInit
섹션 제목: “hencUsersymbolInit”함수 원형
섹션 제목: “함수 원형”int hencUsersymbolInit()- 사용자 정의 심볼을 초기화 시킨다.
- 이전에 등록된 사용자 정의 심벌을 메모리에 적재한다.
- 라이브러리 내에서 자동적으로 호출이 되므로 별도로 호출할 필요가 없다.
없음
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencUsersymbolClear
섹션 제목: “hencUsersymbolClear”함수 원형
섹션 제목: “함수 원형”void hencUsersymbolClear()- 사용자 정의 심벌이 점유하고 있는 메모리를 해제한다.
- 라이브러리 내에서 자동적으로 호출이 되므로 별도로 호출할 필요가 없다.
없음
반환값
섹션 제목: “반환값”없음
hencUsersymbolDel
섹션 제목: “hencUsersymbolDel”함수 원형
섹션 제목: “함수 원형”int hencUsersymbolDel( const char *name )이름에 해당하는 사용자 정의 심볼을 삭제한다. 이 때 사용자 정의 심벌을 저장하는 디렉토리의 이미지 파일도 함께 삭제된다.
const char * name : IN (객체 이름, Null로 종료된 문자열)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
함수 원형
섹션 제목: “함수 원형”int hencUsersymbolDel( CEncUserImage *img )객체 포인터에 해당하는 사용자 정의 심볼을 삭제한다. 이 때 사용자 정의 심볼을 저장하는 디렉토리의 이미지 파일도 함께 삭제된다.
CEncUserImage * img : IN (사용자 정의 심볼 포인터)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencUsersymbolAddNewImage
섹션 제목: “hencUsersymbolAddNewImage”함수 원형
섹션 제목: “함수 원형”int hencUsersymbolAddNewImage( CEncUserImage *imgNew, const char *fname)- 사용자 정의 심벌을 등록한다.
- 사용자 정의 심벌을 저장하는 디렉토리에 해당 파일을 PNG 포맷의 이미지로 저장하여 다음 실행 시에도 사용할 수 있다.
- CEncUserImage *imgNew : IN (사용자가 생성한 사용자 정의 이미지 객체)
- 등록된 이후에는 라이브러리가 직접 메모리를 관리하므로 삭제(delete)나 메모리 해제(free)를 하지 말아야 한다.
- const char *name : IN (사용자 정의 이미지 객체의 이름, Null로 종료된 문자열)
- 파일 이름으로 적합한 문자열이어야 한다.
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencUsersymbolAddToMap
섹션 제목: “hencUsersymbolAddToMap”함수 원형
섹션 제목: “함수 원형”int hencUsersymbolAddToMap( CEncUserImage *imgNew, const char *name )- 사용자 정의 심벌로 임시 등록한다.
- 이 경우, 사용자 정의 심벌 저장 디렉토리에 해당 파일을 저장하지 않는다. 따라서, 이번 실행 시에만 사용이 가능하고, 다음번 실행 시에는 사용할 수 없다.
- CEncUserImage *imgNew : IN (사용자가 생성한 사용자 정의 이미지 객체)
- 등록된 이후에는 라이브러리가 직접 메모리를 관리하므로 삭제(delete)나 메모리 해제(free)를 하지 말아야 한다.
- const char *name : IN (사용자 정의 이미지 객체의 이름, Null로 종료된 문자열)
- 파일 이름으로 적합한 문자열이어야 한다.
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencUsersymbolGetCount
섹션 제목: “hencUsersymbolGetCount”함수 원형
섹션 제목: “함수 원형”int hencUsersymbolGetCount()등록된 사용자 정의 심벌의 개수를 획득한다.
없음
반환값
섹션 제목: “반환값”사용자 정의 심벌 개수
hencUsersymbolGetName
섹션 제목: “hencUsersymbolGetName”함수 원형
섹션 제목: “함수 원형”const char * hencUsersymbolGetName( int no )- 등록된 사용자 정의 심벌의 번호로부터 이름을 획득한다.
- 사용자 정의 심벌의 번호는 새로운 심벌이 등록되거나 삭제될 경우에는 그 값이 바뀔 수 있으므로, 번호에 따른 이름은 매번 확인해야만 한다.
int no : IN (심볼 번호)
반환값
섹션 제목: “반환값”- != NULL : 사용자 정의 이미지 객체의 이름 (Null로 종료된 문자열)
- == NULL : 실패 (잘못된 심벌 번호)
함수 원형
섹션 제목: “함수 원형”const char * hencUsersymbolGetName( CEncUserImage *img )해당 객체의 심벌 이름을 획득한다.
CEncUserImage *img : IN (이미지 객체 포인터)
반환값
섹션 제목: “반환값”- != NULL : 사용자 정의 이미지 객체의 이름
- == NULL : 실패 (잘못된 심벌 번호)
hencUsersymbolGetImage
섹션 제목: “hencUsersymbolGetImage”함수 원형
섹션 제목: “함수 원형”CEncUserImage * hencUsersymbolGetImage( int no )- 등록된 사용자 정의 심벌의 번호로부터 이름을 획득한다.
- 사용자 정의 심벌의 번호는 새로운 심벌이 등록되거나 삭제될 경우에는 그 값이 바뀔 수 있으므로, 번호에 따른 이름은 매번 확인해야만 한다.
int no : IN (심볼 번호)
반환값
섹션 제목: “반환값”- != NULL : 이미지 객체
- 라이브러리가 직접 메모리를 관리하는 객체이므로 삭제(delete)나 메모리 해제(free)를 하지 말아야 한다.
- == NULL : 실패 (잘못된 심벌 번호)
함수 원형
섹션 제목: “함수 원형”CEncUserImage *hencUsersymbolGetImage( const char *name )- 사용자 정의 심볼의 이름으로부터 객체를 획득한다.
- 이 객체는 라이브러리에서 저장 관리하는 것이므로, 삭제(delete)하거나 메모리에서 해제(free)하면 안 된다.
const char *name : IN (객체 이름, Null로 종료된 문자열)
반환값
섹션 제목: “반환값”- != NULL : 성공 (객체 포인터)
- == NULL : 실패 (존재하지 않는 객체)
hencUserobjAdd
섹션 제목: “hencUserobjAdd”함수 원형
섹션 제목: “함수 원형”CEncUserObject * hencUserobjAdd( double x, double y, LPCTSTR *name )사용자 정의 심볼을 지도 상에 추가한다.
- double x : IN (경도, degree)
- double y : IN (위도, degree)
- const char *name : IN (심볼 저장소에 등록된 심벌의 이름, Null로 종료된 문자열)
반환값
섹션 제목: “반환값”- != NULL : 사용자 정의 객체의 포인터값
- 이 객체는 라이브러리에서 관리하므로 직접 삭제(delete)나 해제(free)하지 말아야 한다.
- == NULL : 실패
함수 원형
섹션 제목: “함수 원형”CEncUserObject * hencUserobjAdd( double x, double y, CEncUserImage *img )- 사용자가 로드한 이미지를 지도 상에 추가한다.
- 사용자 정의 심벌 저장소에 등록된 이미지가 아닌 경우, 이름이 없기 때문에 프로그램 종료 시에 저장이 되지 않는다. 따라서 다음 실행 시에는 지도 상에 복원되지 않는다.
- double x : IN (경도, degree)
- double y : IN (위도, degree)
- CEncUserImage *img : IN (이미지 객체 포인터)
반환값
섹션 제목: “반환값”- != NULL : 사용자 정의 객체의 포인터값
- 라이브러리가 직접 메모리를 관리하는 객체이므로 삭제(delete)나 메모리 해제(free)를 하지 말아야 한다.
- == NULL : 실패
hencUserobjDel
섹션 제목: “hencUserobjDel”함수 원형
섹션 제목: “함수 원형”int hencUserobjDel( CEncUserObject *obj )지도 상의 사용자 정의 심볼을 삭제한다. 객체를 생성할 때 얻은 객체 포인터를 이용하여 삭제한다.
CEncUserObject *obj : IN (추가 시 리턴된 객체 포인터)
반환값
섹션 제목: “반환값”-
= 0 : 성공 (삭제된 userobj 갯수)
- < 0 : 실패
함수 원형
섹션 제목: “함수 원형”int hencUserobjDel( CEncUserImage *obj )지도 상의 사용자 정의 심볼을 삭제한다. 동일 심벌의 이미지 객체를 사용하는 모든 위치의 심볼들을 삭제한다.
CEncUserImage *obj : IN (사용자 정의 심볼 이미지 객체)
반환값
섹션 제목: “반환값”-
= 0 : 성공 (삭제된 userobj 갯수)
- < 0 : 실패
함수 원형
섹션 제목: “함수 원형”int hencUserobjDel( double x, double y, const char *name )지정한 위치와 지정한 이름의 사용자 정의 심볼을 삭제한다.
- double x : IN (경도, degree)
- double y : IN (위도, degree)
- const char *name : IN (심볼 저장소에 등록된 심벌의 이름, Null로 종료된 문자열)
반환값
섹션 제목: “반환값”-
= 0 : 성공 (삭제된 userobj 갯수)
- < 0 : 실패
함수 원형
섹션 제목: “함수 원형”int hencUserobjDel( const char *name )지도 상의 사용자 정의 심볼을 삭제한다. 동일 이름의 심벌 이미지 객체를 사용하는 모든 위치의 심볼들을 삭제한다.
const char *name : IN (심볼 저장소에 등록된 심벌의 이름, Null로 종료된 문자열)
반환값
섹션 제목: “반환값”-
= 0 : 성공 (삭제된 userobj 갯수)
- < 0 : 실패
함수 원형
섹션 제목: “함수 원형”int hencUserobjDel( double x, double y )지도 상의 지정 위치의 모든 사용자 정의 심볼을 삭제한다.
- double x : IN (경도, degree)
- double y : IN (위도, degree)
반환값
섹션 제목: “반환값”-
= 0 : 성공 (삭제된 userobj 갯수)
- < 0 : 실패
hencUserobjGet
섹션 제목: “hencUserobjGet”함수 원형
섹션 제목: “함수 원형”CEncUserObject * hencUserobjGet( int no )no 번째 사용자 지정 심벌의 객체를 반환한다.
int no : IN (사용자 객체 번호)
반환값
섹션 제목: “반환값”- != NULL : 사용자 정의 객체의 포인터값
- 이 객체는 라이브러리에서 관리하므로 직접 삭제(delete)나 해제(free)하지 말아야 한다.
- == NULL : 실패
hencUserobjGetCount
섹션 제목: “hencUserobjGetCount”함수 원형
섹션 제목: “함수 원형”int hencUserobjGetCount()등록된 사용자 정의 심벌의 개수를 반환한다.
없음
반환값
섹션 제목: “반환값”사용자 정의 심벌의 개수
hencOptGetInt
섹션 제목: “hencOptGetInt”함수 원형
섹션 제목: “함수 원형”int hencOptGetInt( const char *str, int def = 0 )전자해도 설정 INI 파일에 지정된 이름의 변수값을 읽어 들인다.
- const char *str : IN (변수명)
- int def : IN (변수가 존재하지 않을 때 사용할 기본값)
반환값
섹션 제목: “반환값”설정값
hencOptSetInt
섹션 제목: “hencOptSetInt”함수 원형
섹션 제목: “함수 원형”int hencOptSetInt( const char *str, int no )전자해도 설정 INI 파일에 지정된 이름의 변수값을 변경한다.
- const chat *str : IN (변수명)
- int no : IN (설정값)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencOptSave
섹션 제목: “hencOptSave”함수 원형
섹션 제목: “함수 원형”int hencOptSave()전자해도 설정값을 INI 파일로 저장한다.
없음
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencMapPosToWinPos
섹션 제목: “hencMapPosToWinPos”함수 원형
섹션 제목: “함수 원형”int hencMapPosToWinPos( double &x, double &y )지도상 위경도 좌표값에 해당하는 GDI Window의 좌표값을 계산한다.
- double &x : IN, OUT
- IN : 경도(degree)
- OUT : GDI Pixel의 x 좌표값
- double &y: IN, OUT
- IN : 위도(degree)
- OUT : GDI Pixel의 y 좌표값
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencWinPosToMapPos
섹션 제목: “hencWinPosToMapPos”함수 원형
섹션 제목: “함수 원형”int hencWinPosToMapPos( double &x, double &y )GDI Window 좌표값에 해당하는 지도상 위경도 좌표값을 계산한다.
- double &x : IN, OUT
- IN : GDI Pixel의 x 좌표값
- OUT : 경도(degree)
- double &y: IN, OUT
- IN : GDI Pixel의 y 좌표값
- OUT : 위도(degree)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencMapPosToGlPos
섹션 제목: “hencMapPosToGlPos”함수 원형
섹션 제목: “함수 원형”int hencMapPosToGlPos( double &x, double &y )지도상 위경도 좌표값에 해당하는 라이브러리 설정 OpenGL 좌표값을 계산한다.
- x : IN, OUT
- IN : 경도(degree)
- OUT : OpenGL Viewport의 x 좌표값
- y: IN, OUT
- IN : 위도(degree)
- OUT : OpenGL Viewport의 y 좌표값
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGlPosToMapPos
섹션 제목: “hencGlPosToMapPos”함수 원형
섹션 제목: “함수 원형”int hencGlPosToMapPos( double &x, double &y )라이브러리 설정 OpenGL 좌표값에 해당하는 지도상 위경도 좌표값을 계산한다.
- double &x : IN, OUT
- IN : OpenGL Viewport의 x 좌표값
- OUT : 경도(degree)
- double &y: IN, OUT
- IN : OpenGL Viewport의 y 좌표값
- OUT : 위도(degree)
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencWinPosToGlPos
섹션 제목: “hencWinPosToGlPos”함수 원형
섹션 제목: “함수 원형”int hencWinPosToGlPos( double &x, double &y )GDI Pixel 좌표값에 해당하는 라이브러리 설정 OpenGL 좌표값을 계산한다.
- double &x : IN, OUT
- IN : GDI Pixel의 x 좌표값
- OUT : OpenGL Viewport의 x 좌표값
- double &y: IN, OUT
- IN : GDI Pixel의 y 좌표값
- OUT : OpenGL Viewport의 y 좌표값
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencGlPosToWinPos
섹션 제목: “hencGlPosToWinPos”함수 원형
섹션 제목: “함수 원형”int hencGlPosToWinPos( double &x, double &y )라이브러리 설정 OpenGL 좌표값에 해당하는 GDI Pixel 좌표값을 계산한다.
- double &x : IN, OUT
- IN : OpenGL Viewport의 x 좌표값
- OUT : GDI Pixel의 x 좌표값
- double &y: IN, OUT
- IN : OpenGL Viewport의 y 좌표값
- OUT : GDI Pixel의 y 좌표값
반환값
섹션 제목: “반환값”- = 0 : 성공
- < 0 : 실패
hencWgs84ToMercator
섹션 제목: “hencWgs84ToMercator”함수 원형
섹션 제목: “함수 원형”double hencWgs84ToMercator( double lat )WGS84 위도값에 해당하는 Mercator 투영 좌표값을 계산한다.
double lat : IN (WGS84 위도, degree)
반환값
섹션 제목: “반환값”Mercator 투영 좌표값 (위도. degree)
hencMercatorToWgs84
섹션 제목: “hencMercatorToWgs84”함수 원형
섹션 제목: “함수 원형”double hencMercatorToWgs84( double mercator_y )Mercator 투영 좌표값에 해당하는 WGS84 위도값을 계산한다.
double mercator_y : IN, Mecator 투영 좌표 값. (위도, degree)
반환값
섹션 제목: “반환값”WGS84 투영 좌표값 (위도. degree)
hencCaptureMapTexture
섹션 제목: “hencCaptureMapTexture”함수 원형
섹션 제목: “함수 원형”GLuint hencCaptureMapTexture( GLuint texture = 0 )- 현재 지도 전시를 위한 버퍼 전체의 내용을 텍스처로 만든다.
- Texture 번호가 0인 경우, 새로 생성
- Texture 번호가 0이 아닌 경우, 주어진 Texture 번호를 재사용
GLuint texture : IN (OpenGL Texture 이름)
반환값
섹션 제목: “반환값”OpenGL Texture 이름
hencRenderMapTexture
섹션 제목: “hencRenderMapTexture”함수 원형
섹션 제목: “함수 원형”void hencRenderMapTexture( GLuint tex )이전에 보관해 둔 지도 전시를 위한 버퍼 저장 Texture를 이용해서 화면에 지도를 도시한다. 캡쳐할 당시와 동일은 창이고 창 크기의 변화가 없는 경우에만 정상적으로 그려지게 된다.
GLuint texture : IN (OpenGL Texture 이름)
반환값
섹션 제목: “반환값”없음
hencGetMapUpdateCounter
섹션 제목: “hencGetMapUpdateCounter”함수 원형
섹션 제목: “함수 원형”DWORD hencGetMapUpdateCounter()- 현재창에 대한 변경사항 카운터 값을 획득한다.
- 변경사항 카운터 값을 클리어(clear) 한 후 전시 버퍼를 새로 그려야 하는 설정의 변경사항을 확인할 수 있는 카운터 값이다.
- 이 값은 개별창을 기준으로 전시 버퍼에 대한 변동치 값이다.
- 지도 설정이 바뀔 경우에는 모든 전시창의 변동치 값이 올라가고,
- 개별창의 전시 설정이 바뀔 경우에는 해당하는 창의 변동치 값만 올라간다.
- 단일 Viewport에 대해서만 유효한 값이며, 다수의 Viewport인 경우에는 직접 변동 여부를 확인해야 한다.
없음
반환값
섹션 제목: “반환값”변경사항 카운터 값
hencClearMapUpdateCounter
섹션 제목: “hencClearMapUpdateCounter”함수 원형
섹션 제목: “함수 원형”void hencClearMapUpdateCounter()현재창에 대한 변경사항 카운터 값을 지운다.
없음
반환값
섹션 제목: “반환값”없음
hencIncMapUpdateCounter
섹션 제목: “hencIncMapUpdateCounter”함수 원형
섹션 제목: “함수 원형”void hencIncMapUpdateCounter()수동으로 현재창에 대한 변경사항이 있음을 표시한다.
없음
반환값
섹션 제목: “반환값”없음
hencIncMapUpdateCounterAll
섹션 제목: “hencIncMapUpdateCounterAll”함수 원형
섹션 제목: “함수 원형”void hencIncMapUpdateCounterAll()수동으로 전체창에 대한 변경사항이 있음을 표시한다.
없음
반환값
섹션 제목: “반환값”없음
hencClearMapUpdateCounterAll
섹션 제목: “hencClearMapUpdateCounterAll”함수 원형
섹션 제목: “함수 원형”void hencClearMapUpdateCounterAll()모든 창에 대한 변경사항 카운터를 지운다.
없음
반환값
섹션 제목: “반환값”없음
hencPrintf
섹션 제목: “hencPrintf”함수 원형
섹션 제목: “함수 원형”int hencPrintf( double x, double y, COLORREF co, const char *fmt, ... )- 지도 전시에 사용되는 글꼴과 동일한 글꼴로 지정된 좌표에 지정된 색상으로 문자열을 그린다.
- C언어의 printf 형태의 문자열 formatting 기능
- double x : IN (글자를 표시할 OpenGL x 좌표값)
- double y : IN (글자를 표시할 OpenGL y 좌표값)
- COLORREF co : IN (글자 색상)
- const char *fmt : IN (화면에 표시할 문자열, Null로 종료된 문자열)
- C언어 printf 포맷 규격을 참조
반환값
섹션 제목: “반환값”-
= 0 : 성공
- < 0 : 실패
함수 원형
섹션 제목: “함수 원형”int hencPrintf( double x, double y, double z, COLORREF co, const char *fmt, ... )- 지도 전시에 사용되는 글꼴과 동일한 글꼴로 지정된 좌표에 지정된 색상으로 문자열을 그린다. (z 좌표 포함)
- C언어의 printf 형태의 문자열 formatting 기능
- double x : IN (글자를 표시할 OpenGL x 좌표값)
- double y : IN (글자를 표시할 OpenGL y 좌표값)
- double z : IN (글자를 표시할 OpenGL z 좌표값)
- COLORREF co : IN (글자 색상)
- const char *fmt : IN (화면에 표시할 문자열, Null로 종료된 문자열)
- C언어 printf 포맷 규격을 참조
반환값
섹션 제목: “반환값”-
= 0 : 성공
- < 0 : 실패
hencDrawVRM
섹션 제목: “hencDrawVRM”함수 원형
섹션 제목: “함수 원형”void hencDrawVRM( double cx, double cy, double radius, int resoultion = 360 )VRM(Variable Range Marker) 그리기 함수로서, 중심점을 기준으로 동일한 거리의 점을 잇는 다각형을 그린다.
- double cx : IN (중심점 경도, degree)
- double cy : IN (중심점 위도, degree)
- double radius : IN (중심점으로 부터의 거리, meter)
- int resolution : IN (다각형의 면 수)
반환값
섹션 제목: “반환값”없음
hencDrawEBL
섹션 제목: “hencDrawEBL”함수 원형
섹션 제목: “함수 원형”void hencDrawEBL( double cx, double cy, double bearing, double radius1, double radius2 )EBL(Electronic Bearing Line) 그리기 함수
- double cx : IN (중심점 경도, degree)
- double cy : IN (중심점 위도, degree)
- double bearing : IN (각도. 정북 0도, CW, degree)
- double radius1 : IN (중심점으로부터의 EBL 시작점까지의 거리, meter)
- double radius2 : IN (중심점으로부터의 EBL 종점까지의 거리, meter)
반환값
섹션 제목: “반환값”없음