API 레퍼런스
Mech-Vision SDK는 비전 솔루션, 프로젝트, 스텝의 전체 수명 주기를 관리하기 위한 다음 핵심 클래스를 제공합니다.
핵심 클래스 개요
| 클래스명 | 설명 |
|---|---|
|
솔루션의 수명 주기를 관리합니다. 솔루션 열기, 닫기, 저장, 이름 변경과 함께 솔루션 정보, 프로젝트 정보, 카메라 정보, 통신 구성 등을 가져올 수 있습니다. |
|
비전 프로젝트를 관리합니다. 프로젝트 저장, 실행/정지, 출력 데이터 가져오기, 스텝 출력 포트 고정 등을 지원하며, 실행 상태 및 캡처 완료 콜백도 등록할 수 있습니다. |
|
비전 프로젝트 내의 단일 스텝을 관리합니다. 스텝 정보 가져오기, 스텝 파라미터 읽기/쓰기(JSON 형식), 스텝 단독 실행, 스텝 출력 데이터 가져오기 등을 지원합니다. |
|
통합 오류 상태 구조체입니다. 작업 결과의 오류 코드( |
Solution 클래스
자주 사용하는 메서드
| 메서드 시그니처 | 반환값 | 설명 |
|---|---|---|
|
|
지정한 경로의 솔루션을 엽니다. |
|
|
현재 열려 있는 솔루션을 닫습니다. |
|
|
현재 솔루션을 저장합니다. |
|
|
솔루션 이름을 변경합니다(솔루션 디렉터리 이름도 함께 변경). 이름 변경 작업 사이에는 일정 시간 간격이 필요합니다. |
|
|
솔루션 기본 정보를 가져와 |
|
|
솔루션 내 모든 프로젝트의 정보 목록을 가져와 |
Project 클래스
자주 사용하는 메서드
| 메서드 시그니처 | 반환값 | 설명 |
|---|---|---|
|
— |
생성자이며, 프로젝트 이름을 전달합니다. |
|
|
프로젝트 기본 정보를 가져와 |
|
|
프로젝트를 저장합니다. |
|
|
프로젝트를 실행합니다. |
|
|
실행 중인 프로젝트를 중지합니다. |
|
|
프로젝트의 출력 데이터(JSON 문자열)를 가져옵니다. |
|
|
지정한 스텝의 출력 포트 데이터를 고정하여 프로젝트 실행 종료 후 데이터가 삭제되지 않도록 합니다. |
|
|
프로젝트 실행 상태 변경 콜백을 등록합니다(프로젝트 시작/종료 시 트리거됨). |
|
|
프로젝트 캡처 완료 콜백을 등록합니다(모든 캡처 스텝 실행 완료 후 트리거됨). |
Step 클래스
자주 사용하는 메서드
| 메서드 시그니처 | 반환값 | 설명 |
|---|---|---|
|
— |
생성자이며, 스텝 이름과 소속 프로젝트 이름을 전달합니다. |
|
|
스텝 기본 정보를 가져와 |
|
|
속성 이름 JSON 배열에 따라 스텝 파라미터를 가져옵니다. |
|
|
JSON 문자열을 통해 스텝 파라미터를 일괄 설정합니다. |
|
|
이 스텝만 단독 실행합니다(처음부터 해당 스텝까지 실행). |
|
|
지정한 포트의 스텝 출력 데이터를 가져옵니다(사전에 |
ErrorStatus 구조체
모든 SDK 메서드는 `ErrorStatus`를 반환하며, 다음 필드를 포함합니다.
struct ErrorStatus {
std::string code; // 오류 코드(예: "SUCCESS", "-E_FILE_IO_ERROR")
std::string description; // 오류 설명
bool ok() const; // 성공 여부(code == "SUCCESS")
};
자주 사용하는 오류 코드
| 오류 코드 | 의미 |
|---|---|
|
작업 성공 |
|
내부 오류(프로젝트 서비스 미등록 등) |
|
파일 I/O 오류(경로 없음, 저장 실패 등) |
|
잘못된 파라미터(파라미터가 비어 있거나 형식이 올바르지 않음) |
|
버전 비호환 |
|
권한 부족 |
|
솔루션이 열려 있지 않음 |
|
솔루션 사용자 이름 또는 비밀번호 오류 |
|
프로젝트를 찾을 수 없음 |
|
프로젝트가 실행 중이어서 이 작업을 수행할 수 없음 |
|
실행 중인 프로젝트 작업 수가 상한을 초과함 |
|
스텝이 존재하지 않음 |
|
스텝 속성 이름이 존재하지 않거나 속성값 유형이 일치하지 않음 |
|
지정한 파라미터 레시피 이름이 존재하지 않음 |
|
전역 변수가 존재하지 않음 |
|
전역 변수 유형 불일치 |
전역 함수
| 함수 시그니처 | 설명 |
|---|---|
|
SDK를 초기화합니다. JSON 구성 파일 경로를 전달할 수 있으며, 전달하지 않으면 기본 구성을 사용합니다. 프로그램 시작 시 가장 먼저 호출해야 합니다. |
|
SDK를 종료하고 모든 리소스를 해제합니다. 프로그램 종료 전에 반드시 호출해야 합니다. |
|
SDK를 통해 Vision 서비스를 시작합니다. |
|
SDK를 통해 시작한 Vision 서비스를 종료합니다. |