コード生成・セーブとロード

コード生成

生成対象RTコンポーネントの各種プロファイル情報を設定した後、テンプレートコードの生成を行います。 基本プロファイル入力ページの「 コード生成 」ボタンをクリックすると、入力したプロファイル情報に応じたテンプレートコードの生成が行われます。

CodeGen.png
テンプレートコードの生成


各言語を選択した際のコード生成実行時に生成されるテンプレートファイルは以下のとおりです。

生成ファイル一覧

  • C++ ( 「 Use old build environment. 」のチェックボックスを ON しない場合 )
ファイル名 説明
<RTC名> Comp.cpp RT コンポーネントを起動するコードです。
<RTC名>.h RT コンポーネント本体のヘッダです。
<RTC名>.cpp RT コンポーネント本体のコードです。
<サービス型名>SVC_impl.h サービスプロバイダのヘッダです。(
ServiceProvider にて指定された Type のみが出力されます。
<サービス型名>SVC_impl. cpp サービスプロバイダの実装コードです。(
ServiceProvider にて指定された Type のみが出力されます。
CMakeLists.txt CMake 用の設定ファイルファイルです。
doc/
doxyfile.in Doxygen 用の設定ファイルファイルです。
cmake/
 uninstall_target.cmake.in アンインストールターゲット追加の雛形ファイル(CMake用)
 cpack_options.cmake WiXパッケージ作成用モジュール(CMake/WiX用)
 License.rtf パッケージ情報に含まれるライセンス表示(CMake/WiX用)
 wix.xsl.in WiXパッケージに含めるファイルを指定するテンプレート(CMake/WiX用)
cmake/Modules/
 FindOpenRTM.cmake OpenRTM-aist環境設定取得用モジュール(CMake用)
  • C++ ( 「 Use old build environment. 」のチェックボックスを ON した場合 )
ファイル名 説明
<RTC名> Comp.cpp RT コンポーネントを起動するコードです。
<RTC名>.h RT コンポーネント本体のヘッダです。
<RTC名>.cpp RT コンポーネント本体のコードです。
<サービス型名>SVC_impl.h サービスプロバイダのヘッダです。(
ServiceProvider にて指定された Type のみが出力されます。
<サービス型名>SVC_impl. cpp サービスプロバイダの実装コードです。(
ServiceProvider にて指定された Type のみが出力されます。
Makefile.<RTC名> コンパイルするための Makefile です。
<RTC名>_vc8.sln Visual Studio 2005用のソリューションファイルです。
<RTC名>_vc8.vcproj Visual Studio 2005用のRTコンポーネントプロジェクトファイルです。
<RTC名>Comp_vc8.vcproj Visual Studio 2005用の起動コード用プロジェクトファイルです。
<RTC名>_vc9.sln Visual Studio 2008用のソリューションファイルです。
<RTC名>_vc9.vcproj Visual Studio 2008用のRTコンポーネントプロジェクトファイルです。
<RTC名>Comp_vc9.vcproj Visual Studio 2008用の起動コード用プロジェクトファイルです。
Copyprops.bat プロパティ・ファイルコピー用バッチファイルです。
User_config.vsprops ユーザ定義用プロパティ・ファイルです。
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 サービスプロバイダの実装クラスです。(
CMakeLists.txt CMake 用の設定ファイルファイルです。
doc/
doxyfile.in Doxygen 用の設定ファイルファイルです。
cmake_modules/
 cmake_javacompile.cmake.in Javaコンパイルターゲット追加の雛形ファイル(CMake用)
 FindOpenRTMJava.cmake OpenRTM-aist-Java環境設定取得用モジュール(CMake用)
cmake/
 uninstall_target.cmake.in アンインストールターゲット追加の雛形ファイル(CMake用)
 cpack_options.cmake WiXパッケージ作成用モジュール(CMake/WiX用)
 License.rtf パッケージ情報に含まれるライセンス表示(CMake/WiX用)
cpack_resources/
 wix.xsl.in WiXパッケージに含めるファイルを指定するテンプレート(CMake/WiX用)
  • Python
ファイル名 説明
<RTC名>.py RT コンポーネントのコードです。
<サービス型名>_idl.py
<サービス型名>_idl_example.py サービスプロバイダの実装ファイルです。(
CMakeLists.txt CMake 用の設定ファイルファイルです。
doc/
doxyfile.in Doxygen 用の設定ファイルファイルです。
cmake_modules/
 FindOpenRTMPython.cmake OpenRTM-aist-Python環境設定取得用モジュール(CMake用)
cmake/
 uninstall_target.cmake.in アンインストールターゲット追加の雛形ファイル(CMake用)
 cpack_options.cmake WiXパッケージ作成用モジュール(CMake/WiX用)
 License.rtf パッケージ情報に含まれるライセンス表示(CMake/WiX用)
cpack_resources/
 Description.txt パッケージ情報に含まれる説明(CMake用)
 License.txt パッケージ情報に含まれるライセンス表示(CMake/Linux用)
 wix.xsl.in WiXパッケージに含めるファイルを指定するテンプレート(CMake/WiX用)
 ※ RtcBuilder は、このサービスプロバイダの実装ファイルを出力する際、オペレーションのテンプレートを生成するために、IDL をパースします。しかし、このパース機能には以下のような制限が存在します。
  • プリプロセッサにおいて、#include ディレクティブのみ使用可能。(#ifdef などは単に無視される)
  • 生成されるオペレーションは直接指定されたインタフェースのオペレーションのみで、親から継承したオペレーションは含まれない。

出力選択

RtcBuilder は、生成したファイルと同名のファイルが出力先に既に存在し、既存ファイルと生成ファイルの間で出力内容に差異が存在する場合、どちらの出力を利用するかを選択する確認画面が表示されます。

fig4-2SelectOutPut_ja.png
出力選択画面


出力の選択では、以下の3つ出力候補の中から選択します。
  • Original  : 既に存在するファイルをそのまま残す
  • Merge   : マージブロックを利用したマージを行う(※1
  • Generate : 新たに生成した内容で上書きする

 ※1 Mergeでは、<rtc-template block=”block”>タグで囲まれた範囲のみを最新の生成内容で上書します。生成したテンプレートは、ユーザが変更しない範囲をあらかじめこのタグで囲んでいます。このタグの中は変更後もマージすることで消えてしまいますので、修正しないようにしてください。

パースペクティブ切り替え

 生成対象言語の開発環境用プラグインがインストールされている場合、コード生成実行後にパースペクティブ切り替えの確認メッセージが表示されます。 対象のプラグインがインストールされている場合には以下のようなメッセージが表示されますので、パースペクティブの切り替えを行うかどうかを選択してください。

fig4-3MessagePerspectiveSwitch_ja.png
パースペクティブ切り替え確認メッセージ


生成言語と開発環境用プラグインの関係は以下のとおりです。
  • Java : JDT(Java Development Tools) → あらかじめEclipseに含まれている開発環境です。
  • C++ : CDT(C/C++ Development Tooling)
  • Python : PyDev

 ※各言語用の開発環境用プラグインがインストールされており、出力対象プロジェクトが新規作成プロジェクトの場合は、各プロジェクトのプロパティに対象言語の属性が設定されます。

生成ファイルのパッケージング機能

生成したテンプレートファイル、テンプレートファイルを基に作成した RT コンポーネントの実行用バイナリファイルなどを各種形式でアーカイブする機能です。 基本プロファイル入力ページの「 パッケージ化 」ボタンをクリックすると、パッケージング内容を設定するための「RTコンポーネント パッケージ化」画面が表示されます。

fig6-1FunctionPack_ja.png
各種成果物のパッケージング機能



fig6-2ExportRTC_ja.png
RTコンポーネント パッケージ化画面


以下、各項目について説明いたします。

RTコンポーネント パッケージ化画面 項目説明

項目 説明
対象プロジェクト パッケージング対象のプロジェクトを選択してください。
宛先ディレクトリ パッケージングした成果物を出力するディレクトリを入力してください。「参照」ボタンを使用することで、ディレクトリ選択ダイアログが表示されます。
アーカイブ方式 作成するアーカイブの形式を選択してください。
オプション 各アクション内での動作に関する概要説明。省略可能項目。
アーカイブ形式 ZIP フォーマットを利用したアーカイブと、tar フォーマットを利用したアーカイブを作成することが可能です。使用するフォーマット形式を選択してください。
アーカイブ内容の圧縮 アーカイブ内容を圧縮する場合には、チェックボックスを ON にしてください。
ディレクトリ構造 アーカイブ対象プロジェクトのディレクトリ構造をそのまま保持した形でアーカイブを行うか、全てルートディレクトリに入れた形でアーカイブを行うかを選択してください。

アーカイブ方式(「ソース」「バイナリ」「ソース+バイナリ」)ごとに、どのファイル種類をアーカイブに含めるかは、後述の「設定画面」にて設定することができます。


設定内容のセーブとロード

RTCBuilder では、RTC プロファイルエディタで入力した内容を RTC プロファイル XML(RTC.xml) に保存したり、保存した内容を再度読み込むことが可能です。

セーブ

 RTC プロファイルエディタで入力した内容は、RTC プロファイル XML(RTC.xml) に保存することが可能です。入力内容は以下の操作により保存することができます。
  • エディタを右クリックし、表示されたコンテクストメニューから「Save」もしくは「Save As…」を選択
  • メニューバーの[File]-[Save…]もしくは[File]-[Save As…]を選択

 ※[Save As…]を選んだ場合、任意のプロジェクト内に保存することが可能です。

fig5-1Save_ja.png
fig5-1Save2_ja.png
セーブ

ロード

RTC プロファイルエディタの内容を保存した RTC プロファイル XML(RTC.xml) は以下の操作により読み込むことが可能です。
  • エディタを右クリックし、コンテクストメニューから「Open」を選択
  • メニューバーの[File]-[Open File…]を選択
fig5-2Load_ja.png
fig5-2Load2_ja.png
ロード

最新バージョン

初めての方へ

Windows msi(インストーラ) パッケージ (サンプルの実行ができます。)

C++,Python,Java,
Toolsを含む
1.1.2-RELEASE

RTコンポーネントを開発するためには開発環境のインストールが必要です。詳細はダウンロードページ

統計

Webサイト統計
ユーザ数:1632
プロジェクト統計
RTコンポーネント286
RTミドルウエア21
ツール20
文書・仕様書1

Join our slack

Enter email address for slack invite.

旧Webサイト

OpenRTM.org旧Webサイト

OpenHRP3

動力学シミュレータ

Choreonoid

モーションエディタ/シミュレータ

OpenHRI

対話制御コンポーネント群

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク

VirCA

遠隔空間同士を接続し、実験を行うことが可能な仮想空間プラットホーム