# Graph3D

## 概要 - Abstract

tool.Graph3D ライブラリ APIライブラリ（以下、Graph3D ライブラリライブラリ）は、3次元グラフソフトウェアを制御するためのライブラリです。

Graph3D ライブラリは拡張ライブラリであり、VCSSLの言語仕様における標準ライブラリには含まれていません。従って、全てのVCSSL処理系において、必ずしもGraph3D ライブラリの実装がサポートされるわけではありません。

Graph3D ライブラリの仕様は、広く一般的な3次元グラフソフトウェアをVCSSLから制御する事を想定して定義されており、特定の3次元グラフソフトウェアを前提としたものではありません。 Graph3D ライブラリの実装において、制御対象にどのような3次元グラフソフトウェアが採用されるかは処理系依存であり、処理系の開発元（ベンダー）、バージョン、またはグラフソフトウェアとの通信機能を提供するプラグインなどに依存します。このような事情があるため、Graph3D ライブラリが提供する各種関数も、異なる処理系に関しては、厳密に同一の挙動を期待すべきではありません。

また、同一の処理系であっても、Graph3D ライブラリは標準ライブラリでは無いため、その実装において、恒久的に同様の挙動が保証されるものではありません。Graph3D ライブラリの実装は、あくまで処理系が独自にサポートする拡張機能であるという点に留意しておく必要があります。例えば、グラフソフトウェアの大幅なアップデートが行われると、 それに伴い、Graph3D ライブラリの挙動も微妙に変化してしまうケースなどが考えられます。

RINEARN VCSSLランタイム、及びそれを搭載するVCSSL対応ソフトウェア（リニアンプロセッサーなど）では、Graph3D ライブラリをサポートしており、その実装には科学技術分野用グラフソフトウェア「 リニアングラフ3D 」を採用しています。リニアングラフ3D本体（ RinearnGraph3D ライブラリ.jar ）はVCSSLランタイムの配布パッケージ内に同梱されているため、別途何かを用意する必要はありません。

## 目次 - Index

int newGraph3D()
  3次元グラフをデフォルトのサイズで生成し、それに固有の識別番号 ( グラフID ) を割り振って返します。
int newGraph3D( int x, int y, int width, int height, string title )
  3次元グラフを指定されたサイズで生成し、それに固有の識別番号 ( グラフID ) を割り振って返します。
int getGraph3D()
  処理系で起動・確保されている特別なグラフがあれば、そのグラフIDを取得します。無ければ新規生成します。
void deleteGraph3D( int graphID )
  グラフを破棄します。
void clearGraph3D( int graphID )
  グラフの内容をクリアします。
int getGraph3DGraphics( int graphID )
  グラフの保持している描画内容を、Graphicsライブラリ互換のグラフィックスデータに変換します。変換されたグラフィックスデータは、2D/3Dレンダラ―などで加工できます。
void setGraph3DLocation( int graphID, int x, int y )
  グラフウィンドウの位置を設定します。
void setGraph3DSize( int graphID, int width, int height )
  グラフウィンドウの大きさを設定します。
void hideGraph3D( int graphID )
  グラフウィンドウを不可視化します。
void showGraph3D( int graphID )
  グラフウィンドウを可視化します。
void setGraph3DFile( int graphID, string filePath )
  ファイルを読み込み、グラフにプロットします。
void setGraph3DFile( int graphID, string filePath, string mode )
  ファイルを指定したモードで読み込み、グラフにプロットします。モードは、以下の値を文字列として指定します。 AUTO : ファイルの内容から書式を自動判定するモード , MATRIX_CSV : カンマ区切りのマトリックス書式として読み込むモード , MATRIX_STSV : タブまたは空白区切りのマトリックス書式として読み込むモード , 3COL_CSV または 3COLUMNS_CSV : カンマ区切りの3カラム書式として読み込むモード , 3COL_STSV または 3COLUMNS_STSV : タブまたは空白区切りの3カラム書式として読み込むモード , 4COL_CSV または 3COLUMNS_CSV : カンマ区切りの4カラム書式として読み込むモード , 4COL_STSV または 4COLUMNS_STSV : タブまたは空白区切りの4カラム書式として読み込むモード , なお、区切り記号については、指定モードと実際のファイル内容が食い違っても読み込める場合があります（例えばCSVファイルをSTSV系のモードで読めたり、その逆など）。しかし、これはグラフソフト側の訂正機構による挙動であり、将来のバージョンでも開ける保証はありません。そのため、可能な限り正しく指定してください。
void setGraph3DFile( int graphID, string file[ ] )
  複数のファイルを読み込み、グラフにプロットします。
void setGraph3DFile( int graphID, string file[ ], string mode[ ] )
  複数のファイルを、指定したモードで読み込み、グラフにプロットします。モードは、以下の値を文字列として指定します。 AUTO : ファイルの内容から書式を自動判定するモード , MATRIX_CSV : カンマ区切りのマトリックス書式として読み込むモード , MATRIX_STSV : タブまたは空白区切りのマトリックス書式として読み込むモード , 3COL_CSV または 3COLUMNS_CSV : カンマ区切りの3カラム書式として読み込むモード , 3COL_STSV または 3COLUMNS_STSV : タブまたは空白区切りの3カラム書式として読み込むモード , 4COL_CSV または 3COLUMNS_CSV : カンマ区切りの4カラム書式として読み込むモード , 4COL_STSV または 4COLUMNS_STSV : タブまたは空白区切りの4カラム書式として読み込むモード , なお、区切り記号については、指定モードと実際のファイル内容が食い違っても読み込める場合があります（例えばCSVファイルをSTSV系のモードで読めたり、その逆など）。しかし、これはグラフソフト側の訂正機構による挙動であり、将来のバージョンでも開ける保証はありません。そのため、可能な限り正しく指定してください。
void setGraph3DData( int graphID, string data )
  ファイルの内容と同じ書式で記載されたテキストを読み込み、グラフにプロットします。
void setGraph3DData( int graphID, float dataX[ ], float dataY[ ], float dataZ[ ] )
  座標値を格納する float 型配列を読み込み、グラフにプロットします。
void setGraph3DData( int graphID, float dataX[ ][ ], float dataY[ ][ ], float dataZ[ ][ ] )
  座標値を格納する float 型配列を読み込み、グラフにプロットします。
void setGraph3DData( int graphID, float dataX[ ][ ][ ], float dataY[ ][ ][ ], float dataZ[ ][ ][ ] )
  座標値を格納する float 型配列を読み込み、グラフにプロットします。
void addGraph3DData( int graphID, float dataX[ ], float dataY[ ], float dataZ[ ] )
  座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
void addGraph3DData( int graphID, float dataX[ ][ ], float dataY[ ][ ], float dataZ[ ][ ] )
  座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
void addGraph3DData( int graphID, float dataX[ ][ ][ ], float dataY[ ][ ][ ], float dataZ[ ][ ][ ] )
  座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
void setGraph3DConfigurationFile( int graphID, string file )
  設定ファイルを読み込み、グラフに自動で設定を行います。
void setGraph3DConfigurationCode( int graphID, string code )
  設定ファイルと同様の書式で記載されたコード（設定コード）を読み込み、グラフに自動で設定を行います。
void setGraph3DRange( int graphID, double xMin, double xMax, double yMin, double yMax, double zMin, double zMax )
  プロット範囲を設定します。
void setGraph3DRangeX( int graphID, double xMin, double xMax )
  X軸のプロット範囲を設定します。
void setGraph3DRangeY( int graphID, double yMin, double yMax )
  Y軸のプロット範囲を設定します。
void setGraph3DRangeZ( int graphID, double zMin, double zMax )
  Z軸のプロット範囲を設定します。
void setGraph3DAutoRange( int graphID, bool autoX, bool autoY, bool autoZ )
  プロット範囲の自動調整機能を有効化または無効化します。
void setGraph3DLabel( int graphID, string xLabel, string yLabel, string zLabel )
  各軸のラベルを設定します。
void setGraph3DLabelX( int graphID, string label )
  X軸のラベルを設定します。
void setGraph3DLabelY( int graphID, string label )
  Y軸のラベルを設定します。
void setGraph3DLabelZ( int graphID, string label )
  Z軸のラベルを設定します。
void setGraph3DTick( int graphID, double xTickCoords[ ], string xTickLabels[ ], double yTickCoords[ ], string yTickLabels[ ], double zTickCoords[ ], string zTickLabels[ ], double colorBarTickCoords[ ], string colorBarTickLabels[ ] )
  各軸の目盛りを設定します。
void setGraph3DTickX( int graphID, double tickCoords[ ], string tickLabels[ ] )
  X軸の目盛りを設定します。
void setGraph3DTickY( int graphID, double tickCoords[ ], string tickLabels[ ] )
  Y軸の目盛りを設定します。
void setGraph3DTickZ( int graphID, double tickCoords[ ], string tickLabels[ ] )
  Z軸の目盛りを設定します。
void setGraph3DTickColorBar( int graphID, double tickCoords[ ], string tickLabels[ ] )
  カラーバー軸の目盛りを設定します。
void setGraph3DCameraAngle( int graphID, float horizontalAngle, float verticalAngle, string mode )
  カメラアングルを設定します。引数 horizontalAngle と verticalAngle には、グラフ原点からカメラ位置を見るベクトル（カメラ方向ベクトル）を、天頂軸（後述）を基準とした水平角と垂直角で指定します。垂直角は、カメラ方向ベクトルが天頂軸となす角度を指定します。水平角は、天頂軸と鉛直な面への、カメラ方向ベクトルの射影の向きを角度で指定します。ここで天頂軸は、引数 mode に以下の値を指定する事によって、X/Y/Z軸から選択できます： ZENITH_X : X軸を天頂軸とする角度指定モード , ZENITH_Y : Y軸を天頂軸とする角度指定モード , ZENITH_Z : Z軸を天頂軸とする角度指定モード ,
void setGraph3DCameraMagnification( int graphID, float magnification )
  カメラ倍率を設定します。
void setGraph3DCameraDistance( int graphID, float distance )
  カメラ距離を設定します。
void setGraph3DCameraPerspective( int graphID, bool perspective )
  カメラの遠近感の有効/無効を設定します。
void setGraph3DOption( int graphID, string option, bool value )
  グラフのオプション項目を設定します。項目名は処理系に依存します。代表的なオプション項目名は以下の通りです： WITH_POINTS : 点プロット , WITH_LINES : 線プロット , WITH_MESHES : メッシュプロット , WITH_MEMBRANES : 曲面プロット , FLAT : 平面化 , FRAME : 枠線描画 , SCALE : 目盛り描画 , GRID_LINE : グリッドライン描画 , GRADATION : Z値によるグラデーション彩色 , ALPHA : 半透明描画 , LOG_X : X対数軸表示 , LOG_Y : Y対数軸表示 , LOG_Z : Z対数軸表示 , REVERSE_X : X軸反転表示 , REVERSE_Y : Y軸反転表示 , REVERSE_Z : Z軸反転表示 ,
void setGraph3DMenu( int graphID, string option, string value )
  ※ この関数の用途は、事実上ラベル設定専用であり、現在は setGraph3DLabel 関数やsetGraph3DLabelX/Y/Z 関数などで代替可能です。そちらの方が可読性が高いため、特に事情が無ければ、今後はそちらを用いる事が推奨されます。グラフのメニュー項目を設定します。項目名は処理系に依存します。代表的なオプション項目名は以下の通りです： SET_LABEL_X : X軸ラベル , SET_LABEL_Y : Y軸ラベル , SET_LABEL_Z : Z軸ラベル ,
void setGraph3DAnimation( int graphID, string option, bool state )
  グラフのアニメーションを有効化または無効化します。利用可能なアニメーションモードは処理系に依存します。代表的なアニメーションモードは以下の通りです： TRACE : 点をアニメーションし、軌跡を残す , INDEX : 点をアニメーションする , INDEX-SERIES : 系列をアニメーションする , INDEX-X : メッシュデータのX方向ラインをアニメーションする , INDEX-Y : メッシュデータのY方向ラインをアニメーションする , RANGE-X : プロット範囲をX方向にスライドさせる , RANGE-Y : プロット範囲をY方向にスライドさせる , RANGE-Z : プロット範囲をZ方向にスライドさせる ,
void exportGraph3D( int graphID, string filename, string format )
  グラフを画像に出力します。
void exportGraph3D( int graphID, string filename, string format, float quality )
  グラフを画像に出力します。
void onGraph3DClose( int graphID )
  グラフウィンドウが閉じられた際にコールされます。

## 構造体 - Structs

- なし - None -

## 変数 - Variables

- なし - None -

## 関数 - Functions

文法的定義 - Signature | int newGraph3D()
関数名 - Name | newGraph3D
役割 - Role | 3次元グラフをデフォルトのサイズで生成し、それに固有の識別番号 ( グラフID ) を割り振って返します。
戻り値 - Return | (int型) 生成したグラフのID

文法的定義 - Signature | int newGraph3D( int x, int y, int width, int height, string title )
関数名 - Name | newGraph3D
役割 - Role | 3次元グラフを指定されたサイズで生成し、それに固有の識別番号 ( グラフID ) を割り振って返します。
引数 - Arguments | (int型) x : グラフウィンドウ左上頂点のX座標 (int型) y : グラフウィンドウ左上頂点のY座標 (int型) width : グラフウィンドウの幅 (int型) height : グラフウィンドウの高さ (string型) title : グラフウィンドウタイトル
戻り値 - Return | (int型) 生成したグラフのID

文法的定義 - Signature | int getGraph3D()
関数名 - Name | getGraph3D
役割 - Role | 処理系で起動・確保されている特別なグラフがあれば、そのグラフIDを取得します。無ければ新規生成します。
戻り値 - Return | (int型) 取得または生成したグラフID

文法的定義 - Signature | void deleteGraph3D( int graphID )
関数名 - Name | deleteGraph3D
役割 - Role | グラフを破棄します。
引数 - Arguments | (int型) graphID : 対象グラフのID
戻り値 - Return | (void型)

文法的定義 - Signature | void clearGraph3D( int graphID )
関数名 - Name | clearGraph3D
役割 - Role | グラフの内容をクリアします。
引数 - Arguments | (int型) graphID : 対象グラフのID
戻り値 - Return | (void型)

文法的定義 - Signature | int getGraph3DGraphics( int graphID )
関数名 - Name | getGraph3DGraphics
役割 - Role | グラフの保持している描画内容を、Graphicsライブラリ互換のグラフィックスデータに変換します。変換されたグラフィックスデータは、2D/3Dレンダラ―などで加工できます。
引数 - Arguments | (int型) graphID : 対象グラフのID
戻り値 - Return | (int型) グラフィックスデータID

文法的定義 - Signature | void setGraph3DLocation( int graphID, int x, int y )
関数名 - Name | setGraph3DLocation
役割 - Role | グラフウィンドウの位置を設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (int型) x : グラフウィンドウ左上頂点のX座標 (int型) y : グラフウィンドウ左上頂点のY座標
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DSize( int graphID, int width, int height )
関数名 - Name | setGraph3DSize
役割 - Role | グラフウィンドウの大きさを設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (int型) width : グラフウィンドウの幅 (int型) height : グラフウィンドウ高さ
戻り値 - Return | (void型)

文法的定義 - Signature | void hideGraph3D( int graphID )
関数名 - Name | hideGraph3D
役割 - Role | グラフウィンドウを不可視化します。
引数 - Arguments | (int型) graphID : 対象グラフのID
戻り値 - Return | (void型)

文法的定義 - Signature | void showGraph3D( int graphID )
関数名 - Name | showGraph3D
役割 - Role | グラフウィンドウを可視化します。
引数 - Arguments | (int型) graphID : 対象グラフのID
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DFile( int graphID, string filePath )
関数名 - Name | setGraph3DFile
役割 - Role | ファイルを読み込み、グラフにプロットします。
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) filePath : プロットするファイルのファイル名またはパス
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DFile( int graphID, string filePath, string mode )
関数名 - Name | setGraph3DFile
役割 - Role | ファイルを指定したモードで読み込み、グラフにプロットします。 モードは、以下の値を文字列として指定します。 AUTO ファイルの内容から書式を自動判定するモード MATRIX_CSV カンマ区切りのマトリックス書式として読み込むモード MATRIX_STSV タブまたは空白区切りのマトリックス書式として読み込むモード 3COL_CSV または 3COLUMNS_CSV カンマ区切りの3カラム書式として読み込むモード 3COL_STSV または 3COLUMNS_STSV タブまたは空白区切りの3カラム書式として読み込むモード 4COL_CSV または 3COLUMNS_CSV カンマ区切りの4カラム書式として読み込むモード 4COL_STSV または 4COLUMNS_STSV タブまたは空白区切りの4カラム書式として読み込むモード なお、区切り記号については、指定モードと実際のファイル内容が食い違っても読み込める場合があります（例えばCSVファイルをSTSV系のモードで読めたり、その逆など）。しかし、これはグラフソフト側の訂正機構による挙動であり、将来のバージョンでも開ける保証はありません。そのため、可能な限り正しく指定してください。
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) filePath : プロットするファイルのファイル名またはパス (string型) mode : プロットするファイルのモード
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DFile( int graphID, string file[ ] )
関数名 - Name | setGraph3DFile
役割 - Role | 複数のファイルを読み込み、グラフにプロットします。
引数 - Arguments | (int型) graphID : 対象グラフのID (string[]型) file : プロットするファイルのファイル名またはパス
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DFile( int graphID, string file[ ], string mode[ ] )
関数名 - Name | setGraph3DFile
役割 - Role | 複数のファイルを、指定したモードで読み込み、グラフにプロットします。 モードは、以下の値を文字列として指定します。 AUTO ファイルの内容から書式を自動判定するモード MATRIX_CSV カンマ区切りのマトリックス書式として読み込むモード MATRIX_STSV タブまたは空白区切りのマトリックス書式として読み込むモード 3COL_CSV または 3COLUMNS_CSV カンマ区切りの3カラム書式として読み込むモード 3COL_STSV または 3COLUMNS_STSV タブまたは空白区切りの3カラム書式として読み込むモード 4COL_CSV または 3COLUMNS_CSV カンマ区切りの4カラム書式として読み込むモード 4COL_STSV または 4COLUMNS_STSV タブまたは空白区切りの4カラム書式として読み込むモード なお、区切り記号については、指定モードと実際のファイル内容が食い違っても読み込める場合があります（例えばCSVファイルをSTSV系のモードで読めたり、その逆など）。しかし、これはグラフソフト側の訂正機構による挙動であり、将来のバージョンでも開ける保証はありません。そのため、可能な限り正しく指定してください。
引数 - Arguments | (int型) graphID : 対象グラフのID (string[]型) file : プロットする各ファイルの、ファイル名またはパスを格納する配列 (string[]型) mode : プロットする各ファイルの、モードを格納する配列
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DData( int graphID, string data )
関数名 - Name | setGraph3DData
役割 - Role | ファイルの内容と同じ書式で記載されたテキストを読み込み、グラフにプロットします。
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) data : ファイルの内容と同じ書式で記載されたテキスト
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DData( int graphID, float dataX[ ], float dataY[ ], float dataZ[ ] )
関数名 - Name | setGraph3DData
役割 - Role | 座標値を格納する float 型配列を読み込み、グラフにプロットします。
引数 - Arguments | (int型) graphID : 対象グラフのID (float[]型) dataX : X座標を格納する配列（ [ 点インデックス ] ） (float[]型) dataY : Y座標を格納する配列（ [ 点インデックス ] ） (float[]型) dataZ : Z座標を格納する配列（ [ 点インデックス ] ）
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DData( int graphID, float dataX[ ][ ], float dataY[ ][ ], float dataZ[ ][ ] )
関数名 - Name | setGraph3DData
役割 - Role | 座標値を格納する float 型配列を読み込み、グラフにプロットします。
引数 - Arguments | (int型) graphID : 対象グラフのID (float[][]型) dataX : X座標を格納する配列（ [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ） (float[][]型) dataY : Y座標を格納する配列（ [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ） (float[][]型) dataZ : Z座標を格納する配列（ [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ）
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DData( int graphID, float dataX[ ][ ][ ], float dataY[ ][ ][ ], float dataZ[ ][ ][ ] )
関数名 - Name | setGraph3DData
役割 - Role | 座標値を格納する float 型配列を読み込み、グラフにプロットします。
引数 - Arguments | (int型) graphID : 対象グラフのID (float[][][]型) dataX : X座標を格納する配列（ [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ） (float[][][]型) dataY : Y座標を格納する配列（ [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ） (float[][][]型) dataZ : Z座標を格納する配列（ [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ）
戻り値 - Return | (void型)

文法的定義 - Signature | void addGraph3DData( int graphID, float dataX[ ], float dataY[ ], float dataZ[ ] )
関数名 - Name | addGraph3DData
役割 - Role | 座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
引数 - Arguments | (int型) graphID : 対象グラフのID (float[]型) dataX : X座標を格納する配列（ [ 点インデックス ] ） (float[]型) dataY : Y座標を格納する配列（ [ 点インデックス ] ） (float[]型) dataZ : Z座標を格納する配列（ [ 点インデックス ] ）
戻り値 - Return | (void型)

文法的定義 - Signature | void addGraph3DData( int graphID, float dataX[ ][ ], float dataY[ ][ ], float dataZ[ ][ ] )
関数名 - Name | addGraph3DData
役割 - Role | 座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
引数 - Arguments | (int型) graphID : 対象グラフのID (float[][]型) dataX : X座標を格納する配列（ [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ） (float[][]型) dataY : Y座標を格納する配列（ [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ） (float[][]型) dataZ : Z座標を格納する配列（ [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ）
戻り値 - Return | (void型)

文法的定義 - Signature | void addGraph3DData( int graphID, float dataX[ ][ ][ ], float dataY[ ][ ][ ], float dataZ[ ][ ][ ] )
関数名 - Name | addGraph3DData
役割 - Role | 座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
引数 - Arguments | (int型) graphID : 対象グラフのID (float[][][]型) dataX : X座標を格納する配列（ [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ） (float[][][]型) dataY : Y座標を格納する配列（ [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ） (float[][][]型) dataZ : Z座標を格納する配列（ [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] ）
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DConfigurationFile( int graphID, string file )
関数名 - Name | setGraph3DConfigurationFile
役割 - Role | 設定ファイルを読み込み、グラフに自動で設定を行います。
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) file : 設定ファイルのファイル名またはパス
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DConfigurationCode( int graphID, string code )
関数名 - Name | setGraph3DConfigurationCode
役割 - Role | 設定ファイルと同様の書式で記載されたコード（設定コード）を読み込み、グラフに自動で設定を行います。
引数 - Arguments | (int型) graphID : 対象グラフのID line : 設定コードの内容
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DRange( int graphID, double xMin, double xMax, double yMin, double yMax, double zMin, double zMax )
関数名 - Name | setGraph3DRange
役割 - Role | プロット範囲を設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (double型) xMin : X軸の最小値 (double型) xMax : X軸の最大値 (double型) yMin : Y軸の最小値 (double型) yMax : Y軸の最大値 (double型) zMin : Z軸の最小値 (double型) zMax : Z軸の最大値
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DRangeX( int graphID, double xMin, double xMax )
関数名 - Name | setGraph3DRangeX
役割 - Role | X軸のプロット範囲を設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (double型) xMin : X軸の最小値 (double型) xMax : X軸の最大値
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DRangeY( int graphID, double yMin, double yMax )
関数名 - Name | setGraph3DRangeY
役割 - Role | Y軸のプロット範囲を設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (double型) yMin : Y軸の最小値 (double型) yMax : Y軸の最大値
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DRangeZ( int graphID, double zMin, double zMax )
関数名 - Name | setGraph3DRangeZ
役割 - Role | Z軸のプロット範囲を設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (double型) zMin : Z軸の最小値 (double型) zMax : Z軸の最大値
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DAutoRange( int graphID, bool autoX, bool autoY, bool autoZ )
関数名 - Name | setGraph3DAutoRange
役割 - Role | プロット範囲の自動調整機能を有効化または無効化します。
引数 - Arguments | (int型) graphID : 対象グラフのID (bool型) autoX : X軸方向の自動調性機能を有効にするならtrue、無効にするならfalse (bool型) autoY : Y軸方向の自動調性機能を有効にするならtrue、無効にするならfalse (bool型) autoZ : Z軸方向の自動調性機能を有効にするならtrue、無効にするならfalse
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DLabel( int graphID, string xLabel, string yLabel, string zLabel )
関数名 - Name | setGraph3DLabel
役割 - Role | 各軸のラベルを設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) xLabel : X軸のラベル (string型) yLabel : Y軸のラベル (string型) zLabel : Z軸のラベル
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DLabelX( int graphID, string label )
関数名 - Name | setGraph3DLabelX
役割 - Role | X軸のラベルを設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) label : X軸のラベル
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DLabelY( int graphID, string label )
関数名 - Name | setGraph3DLabelY
役割 - Role | Y軸のラベルを設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) label : Y軸のラベル
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DLabelZ( int graphID, string label )
関数名 - Name | setGraph3DLabelZ
役割 - Role | Z軸のラベルを設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) label : Z軸のラベル
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DTick( int graphID, double xTickCoords[ ], string xTickLabels[ ], double yTickCoords[ ], string yTickLabels[ ], double zTickCoords[ ], string zTickLabels[ ], double colorBarTickCoords[ ], string colorBarTickLabels[ ] )
関数名 - Name | setGraph3DTick
役割 - Role | 各軸の目盛りを設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (double[]型) xTickCoords : X軸の目盛り刻み位置の座標値 (string[]型) xTickLabels : X軸の目盛りのラベル (double[]型) yTickCoords : Y軸の目盛り刻み位置の座標値 (string[]型) yTickLabels : Y軸の目盛りのラベル (double[]型) zTickCoords : Z軸の目盛り刻み位置の座標値 (string[]型) zTickLabels : Z軸の目盛りのラベル (double[]型) colorBarTickCoords : カラーバーの目盛り刻み位置の座標値 (string[]型) colorBarTickLabels : カラーバーの目盛りのラベル
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DTickX( int graphID, double tickCoords[ ], string tickLabels[ ] )
関数名 - Name | setGraph3DTickX
役割 - Role | X軸の目盛りを設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (double[]型) tickCoords : 目盛り刻み位置の座標値 (string[]型) tickLabels : 目盛りのラベル
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DTickY( int graphID, double tickCoords[ ], string tickLabels[ ] )
関数名 - Name | setGraph3DTickY
役割 - Role | Y軸の目盛りを設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (double[]型) tickCoords : 目盛り刻み位置の座標値 (string[]型) tickLabels : 目盛りのラベル
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DTickZ( int graphID, double tickCoords[ ], string tickLabels[ ] )
関数名 - Name | setGraph3DTickZ
役割 - Role | Z軸の目盛りを設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (double[]型) tickCoords : 目盛り刻み位置の座標値 (string[]型) tickLabels : 目盛りのラベル
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DTickColorBar( int graphID, double tickCoords[ ], string tickLabels[ ] )
関数名 - Name | setGraph3DTickColorBar
役割 - Role | カラーバー軸の目盛りを設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (double[]型) tickCoords : 目盛り刻み位置の座標値 (string[]型) tickLabels : 目盛りのラベル
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DCameraAngle( int graphID, float horizontalAngle, float verticalAngle, string mode )
関数名 - Name | setGraph3DCameraAngle
役割 - Role | カメラアングルを設定します。引数 horizontalAngle と verticalAngle には、グラフ原点からカメラ位置を見るベクトル（カメラ方向ベクトル）を、天頂軸（後述）を基準とした水平角と垂直角で指定します。垂直角は、カメラ方向ベクトルが天頂軸となす角度を指定します。水平角は、天頂軸と鉛直な面への、カメラ方向ベクトルの射影の向きを角度で指定します。ここで天頂軸は、引数 mode に以下の値を指定する事によって、X/Y/Z軸から選択できます： ZENITH_X X軸を天頂軸とする角度指定モード ZENITH_Y Y軸を天頂軸とする角度指定モード ZENITH_Z Z軸を天頂軸とする角度指定モード
引数 - Arguments | (int型) graphID : 対象グラフのID (float型) horizontalAngle : 水平角 (float型) verticalAngle : 垂直角 (string型) mode : 角度指定モード（値は上記のリスト参照）
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DCameraMagnification( int graphID, float magnification )
関数名 - Name | setGraph3DCameraMagnification
役割 - Role | カメラ倍率を設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (float型) magnification : カメラ倍率
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DCameraDistance( int graphID, float distance )
関数名 - Name | setGraph3DCameraDistance
役割 - Role | カメラ距離を設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (float型) distance : カメラ距離
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DCameraPerspective( int graphID, bool perspective )
関数名 - Name | setGraph3DCameraPerspective
役割 - Role | カメラの遠近感の有効/無効を設定します。
引数 - Arguments | (int型) graphID : 対象グラフのID (bool型) perspective : 遠近感の有効/無効（有効な場合にtrue）
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DOption( int graphID, string option, bool value )
関数名 - Name | setGraph3DOption
役割 - Role | グラフのオプション項目を設定します。項目名は処理系に依存します。代表的なオプション項目名は以下の通りです： WITH_POINTS 点プロット WITH_LINES 線プロット WITH_MESHES メッシュプロット WITH_MEMBRANES 曲面プロット FLAT 平面化 FRAME 枠線描画 SCALE 目盛り描画 GRID_LINE グリッドライン描画 GRADATION Z値によるグラデーション彩色 ALPHA 半透明描画 LOG_X X対数軸表示 LOG_Y Y対数軸表示 LOG_Z Z対数軸表示 REVERSE_X X軸反転表示 REVERSE_Y Y軸反転表示 REVERSE_Z Z軸反転表示
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) option : オプション項目名 (bool型) value : オプションを有効にするならtrue、無効にするにはfalse
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DMenu( int graphID, string option, string value )
関数名 - Name | setGraph3DMenu
役割 - Role | ※ この関数の用途は、事実上ラベル設定専用であり、現在は setGraph3DLabel 関数やsetGraph3DLabelX/Y/Z 関数などで代替可能です。そちらの方が可読性が高いため、特に事情が無ければ、今後はそちらを用いる事が推奨されます。 グラフのメニュー項目を設定します。項目名は処理系に依存します。代表的なオプション項目名は以下の通りです： SET_LABEL_X X軸ラベル SET_LABEL_Y Y軸ラベル SET_LABEL_Z Z軸ラベル
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) option : メニュー項目名 (string型) value : メニュー項目を有効にするならtrue、無効にするにはfalse
戻り値 - Return | (void型)

文法的定義 - Signature | void setGraph3DAnimation( int graphID, string option, bool state )
関数名 - Name | setGraph3DAnimation
役割 - Role | グラフのアニメーションを有効化または無効化します。利用可能なアニメーションモードは処理系に依存します。代表的なアニメーションモードは以下の通りです： TRACE 点をアニメーションし、軌跡を残す INDEX 点をアニメーションする INDEX-SERIES 系列をアニメーションする INDEX-X メッシュデータのX方向ラインをアニメーションする INDEX-Y メッシュデータのY方向ラインをアニメーションする RANGE-X プロット範囲をX方向にスライドさせる RANGE-Y プロット範囲をY方向にスライドさせる RANGE-Z プロット範囲をZ方向にスライドさせる
引数 - Arguments | (int型) graphID : 対象グラフのID mode : アニメーションモード (bool型) state : アニメーションを有効化するならtrue、無効化するならfalse
戻り値 - Return | (void型)

文法的定義 - Signature | void exportGraph3D( int graphID, string filename, string format )
関数名 - Name | exportGraph3D
役割 - Role | グラフを画像に出力します。
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) filename : 出力ファイル名またはパス 形式（ : "PNG" または "JPEG" ）
戻り値 - Return | (void型)

文法的定義 - Signature | void exportGraph3D( int graphID, string filename, string format, float quality )
関数名 - Name | exportGraph3D
役割 - Role | グラフを画像に出力します。
引数 - Arguments | (int型) graphID : 対象グラフのID (string型) filename : 出力ファイル名またはパス 形式（ : "PNG" または "JPEG" ） (float型) quality : 品質（ 0.0 ~ 100.0 ）
戻り値 - Return | (void型)

## イベントハンドラ - Event Handler

文法的定義 - Signature | void onGraph3DClose( int graphID )
関数名 - Name | onGraph3DClose
役割 - Role | グラフウィンドウが閉じられた際にコールされます。
引数 - Arguments | (int型) graphID : イベント発生元グラフのID
戻り値 - Return | (void型)