콘텐츠로 이동

henc · 객체·심볼·정보

객체 추출, 수심 정보, S-52 ENC 심볼, S-57/S-52 정보 조회

int hencSelectObj( HENCOBJECT obj )

지정한 객체(Object)를 선택된 모양으로 전시하도록 설정한다.

  • 함수를 이용하여 검색한 객체 핸들값(Object handle)
  • = 0 : 성공
  • < 0 : 실패

int hencPickObj( double x, double y, list &listObjs )
  • 검색되는 객체는 현재 화면의 전시 설정에 따라 대상이 제한된다. 지정된 좌표에서 현재 배율로 화면 상의 약 10 pixel 범위 이내의 점, 선, 영역이 검색된다.
  • 단, 현재 표시하지 않고 있는 객체나 지도셀은 검색에서 제외된다.
  • double x : IN (경도, degree)
  • double y : IN (위도, degree)
  • list &listObjs : IN, OUT (검색된 객체의 고유 핸들값 목록)
  • = 0 : 성공
  • < 0 : 실패

void hencObjToString( HENCOBJECT obj, string &str )

해당 객체에 대한 세부 정보를 문자열 형태로 변환해 준다.

  • HENCOBJECT obj : IN (ENC 특성객체 핸들값)
  • hencPickObj()로부터 획득한 값이어야 한다.
  • string &str : IN, OUT (객체에 대한 상세 정보를 포함하고 있는 문자열)

없음


const char *hencGetFilenameOfObj( HENCOBJECT obj )

해당 객체를 포함하고 있는 파일을 검색하여 파일명을 추출한다.

  • 로부터 획득한 값이어야 한다.
  • != NULL : 파일명, Null로 종료된 문자열
  • == NULL : 파일명을 찾을 수 없음(실패)

EEncObject hencObjGetCode( HENCOBJECT obj )

해당 객체의 S-57 객체코드(Object Code) 값을 알아낸다.

  • hencPickObj()로부터 획득한 값이어야 한다.
  • S-57 특성객체 카탈로그(Feature Object Catalog) 참조

EObjectPrimitiveType hencObjGetPrimType( HENCOBJECT obj )

해당 객체의 S-57 객체의 Primitive Type(점, 선, 면)을 알아낸다.

  • HENCOBJECT obj : IN (ENC 특성객체 핸들값)
  • 로부터 획득한 값이어야 한다.

해당 객체의 S-57 특성객체 Primitive Type 참조


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 : 실패

HENCDEPTHMAP hencDepthmapGenerate()

현재 로드된 모든 ENC 지도셀(Map Cell)로부터 수심 정보 만을 수집한다.

없음

  • != 0 : 생성된 수심 정보의 핸들값
  • == 0 : 실패

int hencDepthmapSave( HENCDEPTHMAP hdd, const char *fn )

생성된 수심 정보의 집합을 파일로 저장한다.

  • HENCDEPTHMAP hdd : IN ( 함수로 생성한 수심 정보 핸들값)
  • const char * fn : IN (수심 정보 저장 파일명)
  • = 0 : 성공
  • < 0 : 실패

HENCDEPTHMAP hencDepthmapLoad( const char *fn )

수심 정보 파일로부터 수심 정보 집합을 읽어 들인다.

const char *fn : IN (수심 정보 저장 파일명)

  • != 0 : 읽어온 수심 정보의 핸들값
  • == 0 : 실패

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 : 실패

int hencDepthmapDelete( HENCDEPTHMAP hdd )

수심 정보 집합이 점유하고 있는 메모리를 해제한다.

HENCDEPTHMAP hdd : IN (수심 정보 집합의 핸들값)

  • = 0 : 성공
  • < 0 : 실패

int hencGetEncSymbolCount()

사용 가능한 S-52 심볼의 개수를 획득한다.

없음

라이브러리에서 사용 가능한 심벌의 개수


const char *hencGetEncSymbolName( int no )

S-52 심볼 번호에 대한 문자열의 이름을 획득한다.

int no : IN (심볼 번호)

  • != NULL : 심볼 이름, Null로 종료된 문자열
  • S-52 표준 문서에 명시된 이름과 동일
  • == NULL : 실패 (잘못된 심볼 번호)

int hencDrawEncSymbol( const char *name )

S-52 심볼을 화면에 전시한다.

  • const char *name : IN (Null로 종료된 문자열)
  • S-52 표준 문서에 명시된 이름과 동일
  • = 0 : 성공
  • < 0 : 실패

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 : 실패

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 : 실패

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 : 실패

int hencGetEncLineCount()

사용 가능한 S-52 Complex Line의 개수를 획득한다.

없음

라이브러리에서 사용이 가능한 Complex Line의 개수


const char *hencGetEncLineName( int no )

S-52 Complex Line 번호에 대한 문자열의 이름을 획득한다.

int no : IN (Complex Line 번호)

  • != NULL : Complex Line 번호 문자열 이름, Null로 종료된 문자열
  • S-52 표준 문서에 명시된 이름과 동일
  • == NULL : 실패 (잘못된 번호)

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 : 실패

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 : 실패

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 : 실패

int hencGetEncPatternCount()

사용 가능한 S-52 Fill 패턴의 개수를 획득한다.

없음

라이브러리에서 사용이 가능한 Fill 패턴의 개수


const char * hencGetEncPatternName( int no )

S-52 Fill 패턴 번호에 대한 문자열 이름을 획득한다.

int no : IN (Fill 패턴 번호)

  • != NULL : 패턴 번호 문자열 이름, Null로 종료된 문자열
  • S-52 표준 문서에 명시된 이름과 동일
  • == NULL : 실패 (잘못된 패턴 번호)

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 : 실패

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 : 실패

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 : 실패

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 값


const char * hencGetColorName( EEncColor color )

색상 코드에 해당하는 acronym을 획득한다.

EEncColor color : IN (S-52 색상 코드)

  • != NULL : S-52 color acronym 문자열
  • == NULL : 실패 (잘못된 문자열)

const char * hencGetPrimName( EObjectPrimitiveType t )
  • S-57 ENC Object Primitive Type 참조

EObjectPrimitiveType t : IN (S-57 ENC Object Primitive Type)

  • != NULL : 문자열
  • == NULL : 실패

const char * hencGetObjectName( EEncObject obj )

S-57 Feature Object Code에 해당하는 acronym 문자열을 획득한다.

EEncObject obj : IN (S-57 Feature Object Code)

  • != NULL : 문자열
  • == NULL : 실패

const char * hencGetObjectDesc( EEncObject obj )

S-57 Feature Object Code에 해당하는 description 문자열을 획득한다.

EEncObject obj : IN (S-57 Feature Object Code)

  • != NULL : 문자열
  • == NULL : 실패

const char * hencGetAttrName( EEncAttr attr )

S-57 Feature Attribute Code에 해당하는 acronym 문자열을 획득한다.

EEncAttr attr : IN (S-57 Feature Attribute Code)

  • != NULL : 문자열
  • == NULL : 실패

EEncAttr hencEnumAttr( const char *acronym )

S-57 Feature Attribute acronym에 해당하는 코드값을 획득한다.

const char *acronym : IN (S-57 Feature Attribute acronym 문자열)

S-57 Feature Attribute Code


EEncObject hencEnumObjectName( const char *acronym )

S-57 Feature Object acronym에 해당하는 코드값을 획득한다.

const char *acronym : IN (S-57 Feature Object acronym 문자열)

S-57 Feature Object Code