[ 前へ | 目次 | 次へ ]
Japanese English

ステップ 5 - Java™言語で関数/変数を実装する
(プラグイン開発)

ここでは、RINPn の機能を強化するために、Java言語でプラグインを作ってみましょう!

スポンサーリンク


ライブラリ スクリプトによる方法以外にも、Java言語を用いて、新しい組み込み関数/変数を実装する事もできます。 RINPn および Vnano では、組み込み関数/変数を提供する事を目的とした、 Java® 言語で記述されたプログラムの事を「 プラグイン 」と呼びます。

プラグインによる関数/変数定義は、 ステップ 4 のようにライブラリ スクリプトで関数や変数を定義する方法と比べて、 Java® 言語の高い機能性を利用できる事が大きなメリットになるかもしれません。

半面、実装したコードをコンパイルする際には、 別途 Java® 言語の開発環境 (JDK) が必要です。 ここでは、ご使用のPCに既に何らかのJDKが導入されていて、javac コマンドが使用可能になっている事を前提として解説します。 JDK の導入方法については、例えば「 OpenJDK   インストール   (ここにOSの名前) 」などでWeb検索してみてください。

プラグインの使用方法

RINPn では、プラグインは「 plugin 」フォルダ内に置きます。 このフォルダ内には、標準で、以下のようなプラグインのサンプル「 ExamplePlugin.java 」が同梱されています:

(plugin フォルダ内の ExamplePlugin.java をテキストエディタで開いた内容)

public class ExamplePlugin {

    public double pivar = 1.0;

    public double pifun(double arg) {
        return arg * 2.0;
    }
}

このプラグインは標準でコンパイルされており、読み込まれるよう設定されています(それぞれの方法はすぐ後で説明します)。

上のプラグインで定義しているフィールド「 pivar 」やメソッド「 pifun(arg) 」は、 例えば ステップ 1 で扱った、電卓に入力する計算式の中で、 以下のように関数/変数として使用できます:

INPUT:
1 + pivar

OUTPUT:
2

INPUT:
pifun(2)

OUTPUT:
4

同様に、ステップ 2 でコマンドライン引数に指定している計算式の中や、 ステップ 3 でのスクリプト内でも使用できます。

プラグインのコンパイル方法

プラグインのコード内容を編集した場合には、コンパイルする必要があります。 以下のように、普通の Java® 言語のプログラムと同様にコンパイルできます:

cd RINPnのpluginフォルダの場所(パス)
javac ExamplePlugin.vnano

なお、「 plugin 」フォルダ内のさらに org/vcssl/connect フォルダ内には、 Vnano のプラグイン開発に有用なインターフェース類 ( XFCI1 や XNCI1 など ) が、 標準で配置されています。 そのため、必要に応じて、それらのインターフェース類をプラグインから import して使用できます (詳細は Vnanoのドキュメント内の「 プラグインの開発 」をご参照ください)。 その場合でも、特に何かを用意したり、コンパイラにオプション等を指定したりする必要はありません。

新しいプラグインの追加方法(読み込み登録)

新しいプラグインを作成した際は、まず、そのファイルを RINPn の「 plugin 」フォルダ内に置いてコンパイルしてください。 子孫階層のフォルダに置きたい場合は、それに整合する階層のパッケージをプラグインのコード先頭で宣言して、 普通のパッケージ所属クラスと同様の方法でコンパイルしてください。

続いて、そのプラグインのクラスファイルのパスを、「 plugin 」フォルダ直下にあるテキストファイル「 VnanoPluginList.txt 」内に記載(追記)してください。 そうすると、そのプラグインが読み込まれるようになります。

Vnano 標準プラグイン

「 plugin 」フォルダ内のさらに org/vcssl/nano/plugin フォルダ内には、 基本的な機能群(数学関数やユーティリティ関数など)を提供する「 Vnano 標準プラグイン 」が配置されており、 標準で読み込まれるよう設定されています。

標準プラグインによって提供される機能の一覧や詳細仕様については、 Vnano 公式サイト内の、標準プラグインの仕様書ページ をご参照ください。 なお、RINPn において特によく使いそうな関数や変数については、 本文書の「 主な組み込み関数/変数 」のページでもリストアップし、簡略化した機能説明文を掲載しています。

- 本文書内の商標などについて -
  • OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • Windows は、米国 Microsoft Corporation の米国およびその他の国における登録商標です。
  • Linux は、Linus Torvalds 氏の米国およびその他の国における商標または登録商標です。
  • Ubuntu は、Canonical Ltd. の米国およびその他の国における商標または登録商標です。
  • その他、文中に使用されている商標は、その商標を保持する各社の各国における商標または登録商標です。


スポンサーリンク



Japanese English
この階層の目次
新しいお知らせ

各ソフトウェアをアップデート、リニアングラフのコマンド拡張やVCSSLの英語対応など
2024/02/05 - 各ソフトの一斉アップデートの内容をお知らせします。今回は、リニアングラフのコマンド機能を大幅拡張したのがメインです。また、VCSSLのメッセージ類の英語対応も行いました。

Vnano の Ver.1.1 で実装した反復計算高速化の内側
2024/01/17 - 前回のお知らせ記事の続編です。スクリプトエンジン Vnano の Ver.1.1 において実施した高速化を、エンジン内部の実装面から掘り下げて解説します。

スクリプトエンジン Vnano の Ver.1.1 を公開、同じ内容の反復実行が劇的に高速化
2023/12/22 - スクリプトエンジン Vnano の最新版を公開しました。同じ計算式やスクリプトを反復実行する速さが、大幅に向上しました。次期版リニアングラフ3D内での活用例を交えつつ、詳しく解説します。

コードアーカイブ新着
[公式ガイドサンプル] 各種の図形や画像を描画する

「VCSSL 2DCG開発ガイド」内のサンプルコードです。図形や画像などを描画します。
2022-12-16
角度の「度」とラジアンとを相互変換し、図示もするツール

45度などの「度」の値と、ラジアンの値とを相互に変換できるツールです。対応する角度の図示もできます。
2022-11-22
[公式ガイドサンプル] 立体モデルを回転させるアニメーション

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、アニメーションで回転させ続けます
2022-11-18
[公式ガイドサンプル] 立体モデルを回転させる

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、指定した角度だけ回転させます。
2022-11-17
[公式ガイドサンプル] 四則演算の計算順序や、カッコを使った順序指定

「VCSSLスタートアップガイド」内のサンプルコードです。四則演算が計算される順序や、カッコを使って順序を指定する方法を例示します。
2022-10-31