코드생성 / 설정내용의 저장 및 불러오기

코드 생성

생성 대상 RT컴퍼넌트의 각종 프로파일 정보를 설정한 후, 템플릿 코드의 생성을 실시합니다. 기본 프로파일 입력 페이지의「 Generate 」버튼을 클릭하면, 입력한 프로파일 정보로 응한 템플릿 코드의 생성을 합니다.

fig4-1GenerateTemplate.png
템플릿 코드의 생성


각 언어를 선택했을 때의 코드 생성 실행시에 생성되는 템플릿 파일은 이하대로입니다.

생성 파일 일람

  • 언어 공통
파일명 설명
README_<RTC명> README 파일입니다.RT 컴퍼넌트 생성시로 설정한 정보등이 기술되고 있습니다.
  • C++
파일명 설명
<RTC명> Comp.cpp RT 컴퍼넌트를 기동하는 코드입니다.
<RTC명>.h RT 컴퍼넌트 본체의 헤더입니다.
<RTC명>.cpp RT 컴퍼넌트 본체의 코드입니다.
<서비스형명>SVC_impl.h 서비스 프로바이더의 헤더입니다.(※)
ServiceProvider 에서 지정된 Type 만이 출력됩니다.
<서비스형명>SVC_impl. cpp 서비스 프로바이더의 실장 코드입니다.(※)
ServiceProvider 에서 지정된 Type 만이 출력됩니다.
Makefile.<RTC명> 컴파일하기 위한 Makefile 입니다.
<RTC명>.vcproj Visual Studio 용 프로젝트 파일입니다.
※대상 OS로서「 Windows 」를 선택했을 경우만 생성됩니다.
OpenRTM-aist.vsprops OpenRTM-aist 용 프롭퍼티·파일입니다.
  • Java
파일명 설명
<RTC명>Comp.java RT 컴퍼넌트의 기동용 클래스입니다.
<RTC명>.java RT 컴퍼넌트의 Component Profile, 초기화 처리등을 정의한 클래스입니다.
<RTC명>Impl.java RT 컴퍼넌트의 본체입니다.
build_<RTC명>.xml RT 컴퍼넌트의 빌드용 파일입니다.
<서비스형명> SVC_impl.java 서비스 프로바이더의 실장 클래스입니다.(※)
  • Python
<RTC명>.py RT 컴퍼넌트의 코드입니다.
<서비스형명>_idl.py
<서비스형명>_idl_example.py 서비스 프로바이더의 실장 파일입니다.(※)
 ※ RtcBuilder 는, 이 서비스 프로바이더의 실장 파일을 출력할 때, 오퍼레이션의 템플릿을 생성하기 위해서, IDL 를 퍼스 합니다.그러나, 이 퍼스 기능에는 이하와 같은 제한이 존재합니다.
  • 프리프로세서에 대하고, #include 지시문만 사용 가능.(#ifdef 등은 단지 무시된다)
  • 생성되는 오퍼레이션은 직접 지정된 인터페이스의 오퍼레이션만으로, 부모로부터 계승한 오퍼레이션은 포함되지 않는다.

출력 선택

RtcBuilder 는, 생성한 파일과 동명의 파일이 출력 끝에 이미 존재해, 기존 파일과 생성 파일의 사이에 출력 내용에 차이가 존재하는 경우, 어느 쪽의 출력을 이용하는지를 선택하는 확인 화면이 표시됩니다.

fig4-2SelectOutPut.png
출력 선택 화면


출력의 선택에서는, 이하의 3개 출력 후보중에서 선택합니다.
  • Original  : 이미 존재하는 파일을 그대로 남긴다
  • Merge   : 머지 블록을 이용한 머지를 실시한다(※1)
  • Generate : 새롭게 생성한 내용으로 덧쓰기한다

 ※1 Merge에서는,<rtc-template block=”block”>태그로 둘러싸인 범위만을 최신의 생성 내용으로 상서합니다.생성한 템플릿은, 유저가 변경하지 않는 범위를 미리 이 태그로 둘러싸고 있습니다.이 태그의 안은 변경 후도 머지 하는 것으로 사라져 버리기 때문에, 수정하지 않게 해 주세요.

퍼스펙티브 변환

 생성 대상 언어의 개발 환경용 플러그 인이 인스톨 되고 있는 경우, 코드 생성 실행 후에 퍼스펙티브 변환의 확인 메세지가 표시됩니다. 대상의 플러그 인이 인스톨 되고 있는 경우에는 이하와 같은 메세지가 표시되기 때문에, 퍼스펙티브의 변환을 실시할지를 선택해 주세요.

fig4-3MessagePerspectiveSwitch.png
퍼스펙티브 변환 확인 메세지


생성 언어와 개발 환경용 플러그 인의 관계는 이하대로입니다.
  • Java : JDT(Java Development Tools) → 미리 Eclipse에 포함되어 있는 개발 환경입니다.
  • C++ : CDT(C/C++ Development Tooling)
  • Python : PyDev

 ※ 각 언어용의 개발 환경용 플러그 인이 인스톨 되고 있어 출력 대상 프로젝트가 신규 작성 프로젝트의 경우는, 각 프로젝트의 프롭퍼티에 대상 언어의 속성이 설정됩니다.

설정 내용의 세이브와 로드

RTCBuilder 에서는, RTC 프로파일 에디터로 입력한 내용을 RTC 프로파일 XML(RTC.xml)에 보존하거나 보존한 내용을 재차 읽어들이는 것이 가능합니다.

세이브

 RTC 프로파일 에디터로 입력한 내용은, RTC 프로파일 XML(RTC.xml)에 보존하는 것이 가능합니다.입력 내용은 이하의 조작에 의해 보존할 수 있습니다.
  • 에디터를 오른쪽 클릭해, 표시된 콘텍스트 메뉴로부터 「Save」혹은「Save As…」를 선택
  • 도구모음의[File][Save…]혹은[File][Save As…]를 선택

 ※[Save As…]를 선택했을 경우, 임의의 프로젝트내에 보존하는 것이 가능합니다.

fig5-1Save.png
세이브


 ※임의의 프로젝트 이외의 디렉토리를 보존 끝에 지정했을 경우는, 이하의 메세지가 표시되어 보존되지 않습니다.보존처를 임의의 프로젝트내의 디렉토리다시 로 지정해 주세요.

SaveError.png
보존처의 지정이 부정의 경우의 에러

로드

RTC 프로파일 에디터의 내용을 보존한 RTC 프로파일 XML(RTC.xml)는 이하의 조작에 의해 읽어들이는 것이 가능합니다.
  • 에디터를 오른쪽 클릭해, 콘텍스트 메뉴로부터 「Open」를 선택
  • 도구모음의[File][Open File…]를 선택
    fig5-2Load.png
    로드