FineKernelToolKit: FK::fk_ShapeViewer クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
FK::fk_ShapeViewer クラス

簡易形状表示システム用クラス [詳解]

`#include <FK/ShapeViewer.h>`

FK::fk_ShapeViewer の継承関係図
[凡例]
FK::fk_ShapeViewer 連携図
[凡例]

## 公開メンバ関数

| fk_ShapeViewer (int w=300, int h=360)
| コンストラクタ
virtual | ~fk_ShapeViewer ()
| デストラクタ
描画処理・描画領域制御関数
bool | draw (void)
| 描画更新関数
void | setWindowSize (int w, int h)
| 描画領域サイズ変更関数
形状制御関数
void | setShape (fk_Shape *shape)
| 単独形状設定関数
void | setShape (int ID, fk_Shape *shape)
| ID付き形状設定関数
fk_Shape * | getShape (int ID=0)
| 形状参照関数
int | getModelNum (void)
| 形状設定数参照関数
void | clearModel (void)
| 形状設定初期化関数
全体描画属性制御関数
void | setDrawMode (fk_Draw mode)
| 描画モード設定関数
fk_Draw | getDrawMode (void)
| 描画モード参照関数
void | setElementMode (fk_ElementMode mode)
| 要素モード設定関数
fk_ElementMode | getElementMode (void)
| 要素モード設定関数
void | setShadingMode (fk_ShadingMode mode)
| シェーディングモード設定関数
fk_ShadingMode | getShadingMode (void)
| シェーディングモード参照関数
void | setSmoothMode (bool mode)
| スムースモード設定関数
bool | getSmoothMode (void)
| スムースモード参照関数
void | setBlendStatus (bool mode)
| 透過処理設定関数
bool | getBlendStatus (void)
| 透過処理参照関数
void | setBGColor (fk_Color col)
| 背景色設定関数1
void | setBGColor (float r, float g, float b)
| 背景色設定関数2
fk_Color | getBGColor (void)
| 背景色参照関数
void | setAxisMode (bool mode)
| 座標軸描画設定関数
bool | getAxisMode (void)
| 座標軸描画参照関数
void | setAxisScale (double scale)
| 座標軸大きさ設定関数
double | getAxisScale (void)
| 座標軸大きさ参照関数
fk_Vector | getCenter (void)
| 描画領域中心座標参照関数
形状個別描画属性・マテリアル設定関数
void | setDrawMode (int ID, fk_Draw mode)
| 個別形状描画モード設定関数
fk_Draw | getDrawMode (int ID)
| 個別形状描画モード参照関数
void | setElementMode (int ID, fk_ElementMode mode)
| 形状別要素モード設定関数
fk_ElementMode | getElementMode (int ID)
| 形状別要素モード設定関数
void | setShadingMode (int ID, fk_ShadingMode mode)
| シェーディングモード設定関数
fk_ShadingMode | getShadingMode (int ID)
| シェーディングモード参照関数
void | setSmoothMode (int ID, bool mode)
| スムースモード設定関数
bool | getSmoothMode (int ID)
| スムースモード参照関数
void | setPointSize (int ID, double size)
| 形状頂点描画サイズ設定関数
double | getPointSize (int ID)
| 形状頂点描画サイズ参照関数
void | setMaterial (int ID, fk_Material mat)
| 形状マテリアル設定関数
void | setEdgeColor (int ID, fk_Color col)
| 形状稜線描画色設定関数
void | setVertexColor (int ID, fk_Color col)
| 形状頂点描画色設定関数
カメラ角度・倍率制御関数
void | setHead (double angle)
| カメラヘッド角設定関数
double | getHead (void)
| カメラヘッド角参照関数
void | setPitch (double angle)
| カメラピッチ角設定関数
double | getPitch (void)
| カメラピッチ角参照関数
void | setBank (double angle)
| カメラバンク角設定関数
double | getBank (void)
| カメラバンク角参照関数
void | setScale (double scale)
| カメラ倍率設定関数
double | getScale (void)
| カメラ倍率参照関数
形状位置・姿勢制御関数
void | setPosition (int ID, fk_Vector pos)
| 形状位置設定関数1
void | setPosition (int ID, double x, double y, double z)
| 形状位置設定関数2
void | setAngle (int ID, fk_Angle angle)
| 形状姿勢設定関数1
void | setAngle (int ID, double h, double p, double b)
| 形状姿勢設定関数2
void | setVec (int ID, fk_Vector vec)
| 形状方向ベクトル設定関数1
void | setVec (int ID, double x, double y, double z)
| 形状方向ベクトル設定関数2
void | setUpvec (int ID, fk_Vector vec)
| 形状アップベクトル設定関数1
void | setUpvec (int ID, double x, double y, double z)
| 形状アップベクトル設定関数2
フレームレート制御関数
void | setFPS (int fps)
| FPS設定関数
描画画像取り込み関数
bool | snapImage (std::string fileName, fk_ImageType format=fk_ImageType::BMP, fk_SnapProcMode mode=fk_SnapProcMode::FRONT)
| 描画画像ファイル出力関数
bool | snapImage (fk_Image *image, fk_SnapProcMode mode=fk_SnapProcMode::FRONT)
| 描画画像データ出力関数
メッセージ出力制御関数
void | setPutStrMode (const fk_PutStrMode mode)
| メッセージ出力モード設定関数
fk_PutStrMode | getPutStrMode (void)
| メッセージ出力モード参照関数
bool | setPutFile (const std::string &str)
| メッセージ出力用ファイル設定関数
void | putString (const std::string &str)
| メッセージ出力文字列設定関数
void | printf (const char *format,...)
| メッセージ出力書式付き設定関数
void | clearBrowser (void)
| メッセージ出力用ブラウザ初期化関数
基底クラス FK::fk_BaseObject に属する継承公開メンバ関数
| fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT)
| コンストラクタ
fk_Type | getObjectType (void) const
| タイプ取得関数

## 詳解

簡易形状表示システム用クラス

このクラスは、簡易形状表示システムを制御する機能を提供します。

FK システムにおいて、形状を表示するためには形状用インスタンスの他にモデル、 シーン、ウィンドウを準備する必要があります。 また、様々な角度から形状を閲覧したい場合には、 さらにカメラ操作のプログラムを追加しなければなりません。 fk_ShapeViewer を用いると、モデル、シーン、ウィンドウを準備する必要はなく、 閲覧するための機能が最初から備わっています。

fk_ShapeViewer が備えている標準機能は、以下のようなものがあります。

- VRML、STL、DXF 各フォーマットファイル入力機能と、VRML ファイル出力機能。
- 表示されている画像をファイルに保存する機能。
- 面表示、稜線表示、頂点表示の各 ON/OFF および座標軸表示の ON/OFF。
- 光源回転有無の制御。
- 面のマテリアルおよび稜線、頂点の表示色設定。
- GUI による姿勢制御および表示倍率、座標軸サイズの制御。
- 左右矢印キーによるヘディング角制御。
- スペースキーによる表示倍率制御。スペースキー単体で拡大、 シフトキーとスペースキーを同時に押すことで縮小が行えます。
- マウスドラッグ操作による形状の平行移動。

上記の操作は全てメニューなどの GUI から操作が可能で、 プログラムとして記述する必要がありません。 また、以下に述べるような各種メンバ関数を利用することで、 プログラムから細かく制御することもできます。 例えば、複数の形状を別々に動作させるといった制御も可能となります。 特に ID を指定しなかった場合や、メニューから形状データを読み込んだ場合は、 形状 ID が 0 となります。

変形アニメーションの様子を表示することも可能です。 これは、 draw() を変形する度に呼び出すことで実現できます。

参照
  fk_Window

## 構築子と解体子

## ◆ fk_ShapeViewer()

FK::fk_ShapeViewer::fk_ShapeViewer | ( | int | w = 300,
|  | int | h = 360 )

コンストラクタ

描画領域の大きさを指定することができます。単位はピクセルとなります。 ウィンドウ全体の大きさではないことに注意して下さい。

引数

  [in] | w | 描画領域横幅
  [in] | h | 描画領域縦幅

## ◆ ~fk_ShapeViewer()

virtual FK::fk_ShapeViewer::~fk_ShapeViewer | ( |  | ) |

virtual

デストラクタ

## 関数詳解

## ◆ draw()

bool FK::fk_ShapeViewer::draw | ( | void |  | ) |

描画更新関数

形状の描画を行います。 GUI ならびにメンバ関数によって操作を行っても、 この関数を呼ばなければ画面は更新されません。

通常は、以下のようなコードを記述することになります。

    fk_ShapeViewer  viewer;

    while(viewer.draw() == true) {
        // (もし必要なら)形状の変形処理を記述
    }

戻り値
  描画が正常に行えた場合、true を返します。 そうでない場合に false を返します。 これは例えば、ウィンドウが閉じられた場合などがそれに当たります。

## ◆ setWindowSize()

void FK::fk_ShapeViewer::setWindowSize | ( | int | w,
|  | int | h )

描画領域サイズ変更関数

描画領域のサイズを変更します。単位はピクセルとなります。

引数

  [in] | w | 描画領域横幅
  [in] | h | 描画領域縦幅

## ◆ setShape() [1/2]

void FK::fk_ShapeViewer::setShape | ( | fk_Shape * | shape | ) |

単独形状設定関数

形状を描画対象として設定します。 fk_Shape の派生クラスであれば、 (テクスチャ系も含めて)全てのクラスを描画対象として設定できます。 なお、この関数は ID を 0 番として setShape(int, fk_Shape *) を用いた場合と同義になります。

引数

  [in] | shape | 形状インスタンス

## ◆ setShape() [2/2]

void FK::fk_ShapeViewer::setShape | ( | int | ID,
|  | fk_Shape * | shape )

ID付き形状設定関数

形状を描画対象として設定します。 setShape(fk_Shape *) との違いは、 指定の際に ID を付けることです。 複数の形状を同時に描画したい場合は、 異なる ID をそれぞれの形状に付けることで実現できます。

引数

  [in] | ID | 形状 ID
  [in] | shape | 形状インスタンス

## ◆ getShape()

fk_Shape * FK::fk_ShapeViewer::getShape | ( | int | ID = 0 | ) |

形状参照関数

指定した ID で設定されている形状インスタンスを返します。

引数

  [in] | ID | 形状 ID

戻り値
  形状インスタンスを返します。 指定した ID の形状インスタンスが存在しない場合は、nullptr を返します。

## ◆ getModelNum()

int FK::fk_ShapeViewer::getModelNum | ( | void |  | ) |

形状設定数参照関数

現在設定されている形状の個数を返します。

戻り値
  形状個数

## ◆ clearModel()

void FK::fk_ShapeViewer::clearModel | ( | void |  | ) |

形状設定初期化関数

現在設定されている全ての形状情報を消去します。

## ◆ setDrawMode() [1/2]

void FK::fk_ShapeViewer::setDrawMode | ( | fk_Draw | mode | ) |

描画モード設定関数

登録されている全ての形状の描画モードを設定します。 描画モードとは、 面、稜線、頂点のそれぞれを描画するかどうかを制御するものです。 描画モードには以下のようなものがあります。

- fk_Draw::NONE: 何も描画しません。
- fk_Draw::POINT: 頂点を描画します。 曲線・曲面の場合は制御点を描画します。
- fk_Draw::LINE: 稜線を描画します。 曲線・曲面の場合は制御点を結ぶポリラインを描画します。
- fk_Draw::FACE: 面の表を描画します。
- fk_Draw::BACK_FACE: 面の裏を描画します。
- fk_Draw::FRONTBACK_FACE: 面の表と裏を描画します。
- fk_Draw::TEXTURE: テクスチャを描画します。
- fk_Draw::GEOM_LINE: 曲線や、曲面グリッド線を描画します。
- fk_Draw::GEOM_POINT: 曲線上や曲面上の分割点を描画します。
- fk_Draw::GEOM_FACE: 曲面を描画します。

これらの描画モードは、 ビット論理和を用いて複数のものを同時に指定することが可能です。 以下のコードは、頂点、稜線、面の表をすべて描画するように設定します。

    fk_ShapeViewer  viewer;

    viewer.setDrawMode(fk_Draw::POINT | fk_Draw::LINE | fk_Draw::FACE);

個別の形状に対して別々の描画モードを設定する場合は、 setDrawMode(int, fk_Draw) を利用して下さい。

引数

  [in] | mode | 描画モード

参照
  setDrawMode(int, fk_Draw), fk_Model::setDrawMode()

## ◆ getDrawMode() [1/2]

fk_Draw FK::fk_ShapeViewer::getDrawMode | ( | void |  | ) |

描画モード参照関数

現在の描画モードを参照します。

戻り値
  描画モード

参照
  setDrawMode(fk_Draw)

## ◆ setElementMode() [1/2]

void FK::fk_ShapeViewer::setElementMode | ( | fk_ElementMode | mode | ) |

要素モード設定関数

形状表示の際、モデル設定と形状個別要素設定のどちらを採用するかを設定します。 モードには以下のものがあります。

- fk_ElementMode::NONE: 何も描画しません。
- fk_ElementMode::MODEL: モデル設定を優先します。
- fk_ElementMode::ELEMENT: 形状内の個別要素設定を優先します。

引数

  [in] | mode | 設定モード

## ◆ getElementMode() [1/2]

fk_ElementMode FK::fk_ShapeViewer::getElementMode | ( | void |  | ) |

要素モード設定関数

表示の際の優先モードを取得します。

戻り値
  設定モード

参照
  setElementMode()

## ◆ setShadingMode() [1/2]

void FK::fk_ShapeViewer::setShadingMode | ( | fk_ShadingMode | mode | ) |

シェーディングモード設定関数

描画の際のシェーディングモードを設定します。 詳細は fk_Model::setShadingMode() を参照して下さい。

引数

  [in] | mode | シェーディグモード

参照
  fk_Model::setShadingMode(), setShadingMode(int, fk_ShadingMode)

## ◆ getShadingMode() [1/2]

fk_ShadingMode FK::fk_ShapeViewer::getShadingMode | ( | void |  | ) |

シェーディングモード参照関数

現在設定されているシェーディングモードを取得します。

戻り値
  シェーディングモード

参照
  setShadingMode(fk_ShadingMode)

## ◆ setSmoothMode() [1/2]

void FK::fk_ShapeViewer::setSmoothMode | ( | bool | mode | ) |

スムースモード設定関数

モデルのスムースモードを設定します。 詳細は fk_Model::setSmoothMode() を参照して下さい。

引数

  [in] | mode | true である場合、スムースモードを有効とします。 false である場合無効とします。

参照
  fk_Model::setSmoothMode()

## ◆ getSmoothMode() [1/2]

bool FK::fk_ShapeViewer::getSmoothMode | ( | void |  | ) |

スムースモード参照関数

現在のモデルのスムースモードを取得します。

戻り値
  有効である場合 true を、無効である場合 false を返します。

参照
  setSmoothMode(bool)

## ◆ setBlendStatus()

void FK::fk_ShapeViewer::setBlendStatus | ( | bool | mode | ) |

透過処理設定関数

描画の際、透過処理を有効とするかどうかを設定します。 機能的には fk_Scene::setBlendStatus() と同様です。 詳細は、 fk_Scene::setBlendStatus() のマニュアルを参照して下さい。

引数

  [in] | mode | true であれば有効、false であれば無効とします。

参照
  fk_Scene::setBlendStatus(), getBlendStatus()

## ◆ getBlendStatus()

bool FK::fk_ShapeViewer::getBlendStatus | ( | void |  | ) |

透過処理参照関数

現在の透過処理状態を取得します。

戻り値
  有効であれば true を、無効であれば false を返します。

参照
  setBlendStatus()

## ◆ setBGColor() [1/2]

void FK::fk_ShapeViewer::setBGColor | ( | fk_Color | col | ) |

背景色設定関数1

描画領域の背景色を設定します。

引数

  [in] | col | 背景色

参照
  setBGColor(float, float, float), fk_Color, getBGColor()

## ◆ setBGColor() [2/2]

void FK::fk_ShapeViewer::setBGColor | ( | float | r,
|  | float | g,
|  | float | b )

背景色設定関数2

描画領域の背景色を設定します。 各色要素は 0 から 1 までの値を取ります。 それ以外の値が与えられた場合、0 以下なら 0 に、1 以上なら 1 に丸められます。

引数

  [in] | r | 背景色の赤要素
  [in] | g | 背景色の緑要素
  [in] | b | 背景色の青要素

参照
  setBGColor(fk_Color), getBGColor()

## ◆ getBGColor()

fk_Color FK::fk_ShapeViewer::getBGColor | ( | void |  | ) |

背景色参照関数

描画領域の背景色を取得します。

戻り値
  背景色

参照
  fk_Color, setBGColor(fk_Color) setBGColor(float, float, float)

## ◆ setAxisMode()

void FK::fk_ShapeViewer::setAxisMode | ( | bool | mode | ) |

座標軸描画設定関数

座標軸の表示の有無を設定します。

引数

  [in] | mode | true であれば描画有効、false であれば無効とします。

参照
  setAxisScale(), getAxisMode()

## ◆ getAxisMode()

bool FK::fk_ShapeViewer::getAxisMode | ( | void |  | ) |

座標軸描画参照関数

座標軸の表示状態を取得します。

戻り値
  描画有効であれば true を、無効であれば false を返します。

参照
  setAxisMode()

## ◆ setAxisScale()

void FK::fk_ShapeViewer::setAxisScale | ( | double | scale | ) |

座標軸大きさ設定関数

座標軸の大きさを設定します。ここでいう大きさとは、 各軸の長さのことです。

引数

  [in] | scale | 大きさ

## ◆ getAxisScale()

double FK::fk_ShapeViewer::getAxisScale | ( | void |  | ) |

座標軸大きさ参照関数

座標軸の大きさを取得します。

戻り値
  大きさ

参照
  setAxisScale()

## ◆ getCenter()

fk_Vector FK::fk_ShapeViewer::getCenter | ( | void |  | ) |

描画領域中心座標参照関数

現在の描画領域で中心(注視点)となっている位置の位置ベクトルを返します。

戻り値
  中心の位置ベクトル

## ◆ setDrawMode() [2/2]

void FK::fk_ShapeViewer::setDrawMode | ( | int | ID,
|  | fk_Draw | mode )

個別形状描画モード設定関数

個別の形状に対して描画モードを設定します。 描画モードとは、 面、稜線、頂点のそれぞれを描画するかどうかを制御するものです。 描画モードには以下のようなものがあります。

- fk_Draw::NONE: 何も描画しません。
- fk_Draw::POINT: 頂点を描画します。 曲線・曲面の場合は制御点を描画します。
- fk_Draw::LINE: 稜線を描画します。 曲線・曲面の場合は制御点を結ぶポリラインを描画します。
- fk_Draw::FACE: 面の表を描画します。
- fk_Draw::BACK_FACE: 面の裏を描画します。
- fk_Draw::FRONTBACK_FACE: 面の表と裏を描画します。
- fk_Draw::TEXTURE: テクスチャを描画します。
- fk_Draw::GEOM_LINE: 曲線や、曲面グリッド線を描画します。
- fk_Draw::GEOM_POINT: 曲線上や曲面上の分割点を描画します。
- fk_Draw::GEOM_FACE: 曲面を描画します。

これらの描画モードは、 ビット論理和を用いて複数のものを同時に指定することが可能です。 以下のコードは、頂点、稜線、面の表をすべて描画するように設定します。

    fk_ShapeViewer  viewer;

    viewer.setDrawMode(fk_Draw::POINT | fk_Draw::LINE | fk_Draw::FACE);

全ての形状に対しての描画モードを設定する場合は、 setDrawMode(fk_Draw) を利用して下さい。

引数

  [in] | ID | 形状 ID
  [in] | mode | 描画モード

参照
  setDrawMode(fk_Draw), fk_Model::setDrawMode()

## ◆ getDrawMode() [2/2]

fk_Draw FK::fk_ShapeViewer::getDrawMode | ( | int | ID | ) |

個別形状描画モード参照関数

現在の形状個別の描画モードを参照します。

引数

  [in] | ID | 形状ID

戻り値
  描画モード

参照
  setDrawMode(int, fk_Draw)

## ◆ setElementMode() [2/2]

void FK::fk_ShapeViewer::setElementMode | ( | int | ID,
|  | fk_ElementMode | mode )

形状別要素モード設定関数

形状表示の際、モデル設定と形状個別要素設定のどちらを採用するかを設定します。 モードには以下のものがあります。

- fk_ElementMode::NONE: 何も描画しません。
- fk_ElementMode::MODEL: モデル設定を優先します。
- fk_ElementMode::ELEMENT: 形状内の個別要素設定を優先します。

引数

  [in] | ID | 形状 ID
  [in] | mode | 設定モード

## ◆ getElementMode() [2/2]

fk_ElementMode FK::fk_ShapeViewer::getElementMode | ( | int | ID | ) |

形状別要素モード設定関数

表示の際の優先モードを取得します。

引数

  [in] | ID | 形状 ID

戻り値
  設定モード

参照
  setElementMode()

## ◆ setShadingMode() [2/2]

void FK::fk_ShapeViewer::setShadingMode | ( | int | ID,
|  | fk_ShadingMode | mode )

シェーディングモード設定関数

描画の際のシェーディングモードを設定します。 詳細は fk_Model::setShadingMode() を参照して下さい。

引数

  [in] | ID | 形状ID
  [in] | mode | シェーディグモード

参照
  fk_Model::setShadingMode(), setShadingMode(fk_ShadingMode)

## ◆ getShadingMode() [2/2]

fk_ShadingMode FK::fk_ShapeViewer::getShadingMode | ( | int | ID | ) |

シェーディングモード参照関数

現在設定されているシェーディングモードを取得します。

引数

  [in] | ID | 形状ID

戻り値
  シェーディングモード

参照
  setShadingMode(fk_ShadingMode)

## ◆ setSmoothMode() [2/2]

void FK::fk_ShapeViewer::setSmoothMode | ( | int | ID,
|  | bool | mode )

スムースモード設定関数

指定した ID 形状のスムースモードを設定します。 詳細は fk_Model::setSmoothMode() を参照して下さい。

引数

  [in] | ID | 形状ID
  [in] | mode | true である場合、スムースモードを有効とします。 false である場合無効とします。

参照
  fk_Model::setSmoothMode()

## ◆ getSmoothMode() [2/2]

bool FK::fk_ShapeViewer::getSmoothMode | ( | int | ID | ) |

スムースモード参照関数

指定した ID 形状のスムースモードを取得します。

引数

  [in] | ID | 形状ID

戻り値
  有効である場合 true を、無効である場合 false を返します。

参照
  setSmoothMode(int, bool)

## ◆ setPointSize()

void FK::fk_ShapeViewer::setPointSize | ( | int | ID,
|  | double | size )

形状頂点描画サイズ設定関数

形状に対し、頂点描画サイズを設定します。 単位はピクセルです。整数以外も設定可能です。

引数

  [in] | ID | 形状ID
  [in] | size | 描画サイズ

## ◆ getPointSize()

double FK::fk_ShapeViewer::getPointSize | ( | int | ID | ) |

形状頂点描画サイズ参照関数

形状の頂点描画サイズを取得します。 単位はピクセルです。

引数

  [in] | ID | 形状ID

戻り値
  描画サイズ

参照
  setPointSize()

## ◆ setMaterial()

void FK::fk_ShapeViewer::setMaterial | ( | int | ID,
|  | fk_Material | mat )

形状マテリアル設定関数

形状に対し、面のマテリアルを設定します。

引数

  [in] | ID | 形状ID
  [in] | mat | マテリアル

参照
  setEdgeColor(), setVertexColor(), fk_Material

## ◆ setEdgeColor()

void FK::fk_ShapeViewer::setEdgeColor | ( | int | ID,
|  | fk_Color | col )

形状稜線描画色設定関数

形状に対し、稜線の描画色を設定します。

引数

  [in] | ID | 形状ID
  [in] | col | 稜線色

参照
  setMaterial(), setVertexColor(), fk_Color

## ◆ setVertexColor()

void FK::fk_ShapeViewer::setVertexColor | ( | int | ID,
|  | fk_Color | col )

形状頂点描画色設定関数

形状に対し、頂点の描画色を設定します。

引数

  [in] | ID | 形状ID
  [in] | col | 頂点色

参照
  setMaterial(), setEdgeColor(), fk_Color

## ◆ setHead()

void FK::fk_ShapeViewer::setHead | ( | double | angle | ) |

カメラヘッド角設定関数

カメラのヘッド角を設定します。 ヘッド角についての詳細は、 fk_Angle の解説を参照して下さい。 引数の単位は弧度法(ラジアン)となります。

引数

  [in] | angle | ヘッド角の角度

参照
  setPitch(), setBank(), setScale(), fk_Angle

## ◆ getHead()

double FK::fk_ShapeViewer::getHead | ( | void |  | ) |

カメラヘッド角参照関数

現在のカメラのヘッド角を取得します。

戻り値
  ヘッド角の角度

参照
  setHead()

## ◆ setPitch()

void FK::fk_ShapeViewer::setPitch | ( | double | angle | ) |

カメラピッチ角設定関数

カメラのピッチ角を設定します。 ピッチ角についての詳細は、 fk_Angle の解説を参照して下さい。 引数の単位は弧度法(ラジアン)となります。

引数

  [in] | angle | ピッチ角の角度

参照
  setHead(), setBank(), setScale(), fk_Angle

## ◆ getPitch()

double FK::fk_ShapeViewer::getPitch | ( | void |  | ) |

カメラピッチ角参照関数

現在のカメラのピッチ角を取得します。

戻り値
  ピッチ角の角度

参照
  setPitch()

## ◆ setBank()

void FK::fk_ShapeViewer::setBank | ( | double | angle | ) |

カメラバンク角設定関数

カメラのバンク角を設定します。 バンク角についての詳細は、 fk_Angle の解説を参照して下さい。 引数の単位は弧度法(ラジアン)となります。

引数

  [in] | angle | バンク角の角度

参照
  setHead(), setPitch(), setScale(), fk_Angle

## ◆ getBank()

double FK::fk_ShapeViewer::getBank | ( | void |  | ) |

カメラバンク角参照関数

現在のカメラのバンク角を取得します。

戻り値
  バンク角の角度

参照
  setBank()

## ◆ setScale()

void FK::fk_ShapeViewer::setScale | ( | double | scale | ) |

カメラ倍率設定関数

カメラの表示倍率を設定します。

引数

  [in] | scale | 表示倍率

参照
  setHead(), setPicth(), setBank()

## ◆ getScale()

double FK::fk_ShapeViewer::getScale | ( | void |  | ) |

カメラ倍率参照関数

カメラの表示倍率を取得します。

戻り値
  表示倍率

参照
  setScale()

## ◆ setPosition() [1/2]

void FK::fk_ShapeViewer::setPosition | ( | int | ID,
|  | fk_Vector | pos )

形状位置設定関数1

形状の位置を設定します。

引数

  [in] | ID | 形状ID
  [in] | pos | 形状位置ベクトル

参照
  setPosition(int, double, double, double), setAngle(int, fk_Angle), setVec(int, fk_Vector), setUpvec(int, fk_Vector)

## ◆ setPosition() [2/2]

void FK::fk_ShapeViewer::setPosition | ( | int | ID,
|  | double | x,
|  | double | y,
|  | double | z )

形状位置設定関数2

形状の位置を設定します。

引数

  [in] | ID | 形状ID
  [in] | x | 形状位置ベクトルのx成分
  [in] | y | 形状位置ベクトルのy成分
  [in] | z | 形状位置ベクトルのz成分

参照
  setPosition(int, fk_Vector), setAngle(int, fk_Angle), setVec(int, fk_Vector), setUpvec(int, fk_Vector)

## ◆ setAngle() [1/2]

void FK::fk_ShapeViewer::setAngle | ( | int | ID,
|  | fk_Angle | angle )

形状姿勢設定関数1

形状の姿勢をオイラー角で設定します。 オイラー角については、 fk_Angle の解説を参照して下さい。

引数

  [in] | ID | 形状ID
  [in] | angle | 姿勢を表すオイラー角

参照
  setAngle(int, double, double, double), setPosition(int, fk_Vector), setVec(int, fk_Vector), setUpvec(int, fk_Vector)

## ◆ setAngle() [2/2]

void FK::fk_ShapeViewer::setAngle | ( | int | ID,
|  | double | h,
|  | double | p,
|  | double | b )

形状姿勢設定関数2

形状の姿勢をオイラー角で設定します。 オイラー角については、 fk_Angle の解説を参照して下さい。 なお、角度の単位は弧度法(ラジアン)となります。

引数

  [in] | ID | 形状ID
  [in] | h | 姿勢を表すオイラー角のヘッド角度
  [in] | p | 姿勢を表すオイラー角のピッチ角度
  [in] | b | 姿勢を表すオイラー角のバンク角度

参照
  setAngle(int, fk_Angle), setPosition(int, fk_Vector), setVec(int, fk_Vector), setUpvec(int, fk_Vector)

## ◆ setVec() [1/2]

void FK::fk_ShapeViewer::setVec | ( | int | ID,
|  | fk_Vector | vec )

形状方向ベクトル設定関数1

形状の方向ベクトルを設定します。 方向ベクトルは正規化してある必要はありません。

引数

  [in] | ID | 形状ID
  [in] | vec | 方向ベクトル

参照
  setVec(int, double, double, double), setPosition(int, fk_Vector), setAngle(int, fk_Angle), setUpvec(int, fk_Vector)

## ◆ setVec() [2/2]

void FK::fk_ShapeViewer::setVec | ( | int | ID,
|  | double | x,
|  | double | y,
|  | double | z )

形状方向ベクトル設定関数2

形状の方向ベクトルを設定します。 方向ベクトルは正規化してある必要はありません。

引数

  [in] | ID | 形状ID
  [in] | x | 方向ベクトルのx成分
  [in] | y | 方向ベクトルのy成分
  [in] | z | 方向ベクトルのz成分

参照
  setVec(int, fk_Vector), setPosition(int, fk_Vector), setAngle(int, fk_Angle), setUpvec(int, fk_Vector)

## ◆ setUpvec() [1/2]

void FK::fk_ShapeViewer::setUpvec | ( | int | ID,
|  | fk_Vector | vec )

形状アップベクトル設定関数1

形状のアップベクトルを設定します。 アップベクトルは正規化してある必要はありません。

引数

  [in] | ID | 形状ID
  [in] | vec | アップベクトル

参照
  setUpvec(int, double, double, double), setPosition(int, fk_Vector), setAngle(int, fk_Angle), setVec(int, fk_Vector)

## ◆ setUpvec() [2/2]

void FK::fk_ShapeViewer::setUpvec | ( | int | ID,
|  | double | x,
|  | double | y,
|  | double | z )

形状アップベクトル設定関数2

形状のアップベクトルを設定します。 アップベクトルは正規化してある必要はありません。

引数

  [in] | ID | 形状ID
  [in] | x | アップベクトルのx成分
  [in] | y | アップベクトルのy成分
  [in] | z | アップベクトルのz成分

参照
  setUpvec(int, fk_Vector), setPosition(int, fk_Vector), setAngle(int, fk_Angle), setVec(int, fk_Vector)

## ◆ setFPS()

void FK::fk_ShapeViewer::setFPS | ( | int | fps | ) |

FPS設定関数

update()をコールした際に調整するFPSを指定します。 FPS(Frame Per Second)とは、1秒間中で画面更新が行われる回数の単位です。 この値を 0 に設定した場合は、FPS制御を行いません。 デフォルトは60です。

引数

  [in] | fps | FPS値

## ◆ snapImage() [1/2]

bool FK::fk_ShapeViewer::snapImage | ( | std::string | fileName,
|  | fk_ImageType | format = fk_ImageType::BMP,
|  | fk_SnapProcMode | mode = fk_SnapProcMode::FRONT )

描画画像ファイル出力関数

この関数は、描画領域に表示されている画像を、画像ファイルとして出力します。

引数

  [in] | fileName | 画像ファイル名
  [in] | format | 画像ファイルのフォーマット。 現在利用可能なフォーマットは、 fk_ImageType の解説を参照して下さい。
  [in] | mode | 画像の取込先となるグラフィックスデバイス名。 取り込みがうまく動作しない場合は、 この引数の値を変更してください。

戻り値
  出力に成功すれば true を、失敗すれば false を返します。

参照
  fk_Window::snapImage(std::string, fk_ImageType, fk_SnapProcMode)

## ◆ snapImage() [2/2]

bool FK::fk_ShapeViewer::snapImage | ( | fk_Image * | image,
|  | fk_SnapProcMode | mode = fk_SnapProcMode::FRONT )

描画画像データ出力関数

この関数は、描画領域に表示されている画像を、 fk_Image 型のインスタンスに出力します。

引数

  [in] | image | 画像データ出力先インスタンス
  [in] | mode | 画像の取込先となるグラフィックスデバイス名。 取り込みがうまく動作しない場合は、 この引数の値を変更してください。

戻り値
  出力に成功すれば true を、失敗すれば false を返します。

参照
  fk_Window::snapImage(fk_Image *, fk_SnapProcMode)

## ◆ setPutStrMode()

void FK::fk_ShapeViewer::setPutStrMode | ( | const fk_PutStrMode | mode | ) |

メッセージ出力モード設定関数

実質的に、 fk_Window::setPutStrMode() とまったく同じ動作となります。 そちらの解説を参照して下さい。

参照
  fk_Window::setPutStrMode()

## ◆ getPutStrMode()

fk_PutStrMode FK::fk_ShapeViewer::getPutStrMode | ( | void |  | ) |

メッセージ出力モード参照関数

実質的に、 fk_Window::getPutStrMode() とまったく同じ動作となります。 そちらの解説を参照して下さい。

参照
  fk_Window::getPutStrMode()

## ◆ setPutFile()

bool FK::fk_ShapeViewer::setPutFile | ( | const std::string & | str | ) |

メッセージ出力用ファイル設定関数

実質的に、 fk_Window::setPutFile() とまったく同じ動作となります。 そちらの解説を参照して下さい。

参照
  fk_Window::setPutFile()

## ◆ putString()

void FK::fk_ShapeViewer::putString | ( | const std::string & | str | ) |

メッセージ出力文字列設定関数

実質的に、 fk_Window::putString() とまったく同じ動作となります。 そちらの解説を参照して下さい。

参照
  fk_Window::putString()

## ◆ printf()

void FK::fk_ShapeViewer::printf | ( | const char * | format,
|  |  | ... )

メッセージ出力書式付き設定関数

実質的に、 fk_Window::printf() とまったく同じ動作となります。 そちらの解説を参照して下さい。

参照
  fk_Window::printf()

## ◆ clearBrowser()

void FK::fk_ShapeViewer::clearBrowser | ( | void |  | ) |

メッセージ出力用ブラウザ初期化関数

実質的に、 fk_Window::clearBrowser() とまったく同じ動作となります。 そちらの解説を参照して下さい。

参照
  fk_Window::clearBrowser()