Cloudtree references class를 약 3년만에 새버전으로 갱신합니다.
이전 포스팅된 버전이 v1.0.2인데 왜 하나 건너뛰어 v1.0.4로 건너뛰었냐 물으신다면,
v1.0.3을 만들어놓고 포스팅하기도 전에 상당한 기간의 상주 개발에 투입되는 바람에... ㅠㅠ
게다가 v1.0.3을 프로젝트에 쓰면서 사업에 맞게 약간씩 수정하다보니, 배포하기엔 코드가 너저분해진 덕분에 이번 배포 버전은 v1.0.4가 되었네요.
각설하고, 이번엔 CPP와 C# 양쪽의 레퍼런스 양식을 최대한 통일하고, 어느 한쪽에만 있던 기능을 양쪽에 상호 이식하였습니다.
물론 이번에도 최종 릴리즈 DLL과 해당 DLL을 적용한 예제 어플리케이션이 포함된 프로젝트를 함께 업로드합니다.
Cloudtree erences v1.0.4 | |||
수학 | 유클리딘 거리 계산 | 2차원 | EuclideanDistance(src_x, src_y, dest_x, dest_y) |
3차원 | EuclideanDistance(src_x, src_y, src_z, dest_x, dest_y, dest_z) | ||
가우시안 랜덤 값 도출 | Gaussian(mean, stdev) | ||
Radian↔Degree 변환 | Deg2Rad(deg) | ||
Rad2Deg(rad) | |||
좌표계 | 위경고도를 이용한 방위각, 고각 계산 |
LosAzimuthP1toP2(P1_lat, P1_lon, P2_lat, P2_lon) | |
LosElevationP1toP2(P1_lat, P1_lon, P1_alt, P2_lat, P2_lon, P2_alt) | |||
위경고도를 이용한 두지점 사이의 거리 |
LatLonDistance(P1_Lat_Deg, P1_Lon_Deg, P2_Lat_Deg, P2_Lon_Deg) | ||
LatLonAltDistance(P1_Lat_Deg, P1_Lon_Deg, P1_Alt_m, P2_Lat_Deg, P2_Lon_Deg, P2_Alt_m) | |||
Geocentric(ECEF) ↔ Geodetic(LLA) 변환 | Geoc2Geod(x, y, z, lat, lon, alt) | ||
Geod2Geoc(lat, lon, alt, x, y, z) | |||
시간 | 시간 경과 체크 | GetDuration(start_time) | |
공유 메모리 |
공유메모리 할당과 해제, 쓰기와 읽기 |
CreateSharedMemory(SharedMemKey, BufferSize) | |
CloseSharedMem() | |||
WriteSharedMemory(data) | |||
ReadSharedMemory(data) | |||
보간곡선 | 보간곡선생성 | 베지어 곡선 생성 | getBezier2DPoList(pos, PosOnCurve, result) |
캣멀롬 곡선 생성 | getCatmullRom2DPoList(pos, result) | ||
통신 | TCP/IP서버 | 서버 생성 | CreateTcpServer(IP, PORT, MaxDatumLength) |
서버 연결 | ConnectTcpServer() | ||
클라이언트로 데이터 전송 | SendDataTcpServer(sendData, length) | ||
서버 종료 | DisconnectTcpServer() | ||
TCP/IP 클라이언트 | 클라이언트 생성 | CreateTcpClient(IP, PORT, MaxDatumLength) | |
클라이언트 연결 | ConnectTcpClient() | ||
서버로 데이터 전송 | SendDataTcpClient(sendData, length) | ||
클라이언트 종료 | DisconnectTcpClient() | ||
UDP 멀티캐스트 | 멀티캐스트 생성 | CreateUdpMulticast(IP, PORT, MaxDatumLength, Purpose) | |
멀티캐스트 Join | ConnectUdpMulticast() | ||
멀티캐스트로 데이터 전송 | SendDataUdpMulticast(sendData, length) | ||
멀티캐스트 종료 | DisconnectUdpMulticast() | ||
UDP 유니캐스트 | 유니캐스트 생성 | CreateUdpUnicast(myIP, myPORT, DestIP, DestPort, MaxDatumLength) | |
유니캐스트 연결 | ConnectUdpUnicast() | ||
유니캐스트 데이터 전송 | SendDataUdpUnicast(sendData, length) | ||
유니캐스트 종료 | DisconnectUdpUnicast() |
하기 첨부된 레퍼런스 클래스 예제 어플리케이션 프로젝트를 열어보시면 사용법은 쉽게 아실 수 있으리라 생각됩니다.
이번 레퍼런스 클래스와 예제 어플리케이션은 Microsoft Visual Studio 2019(VC16.0)에서 작성되었으며, C# 어플리케이션의 경우 .Net Frameworks 4.0을 기반으로 작성되었습니다.