FineKernelToolKit  2.9.0
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 ページ
Public メソッド | すべてのメンバ一覧
クラス fk_ShapeViewer

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

+ fk_ShapeViewerに対する継承グラフ
+ fk_ShapeViewerのコラボレーション図

Public メソッド

 fk_ShapeViewer (int w=300, int h=360)
 コンストラクタ [詳細]
 
virtual ~fk_ShapeViewer ()
 デストラクタ [詳細]
 
描画処理・描画領域制御関数
bool draw (void)
 描画更新関数 [詳細]
 
void setWindowSize (int w, int h)
 描画領域サイズ変更関数 [詳細]
 
void setOGLPointerMode (bool mode)
 OpenGL 頂点配列処理制御関数 [詳細]
 
bool getOGLPointerMode (void)
 OpenGL 頂点配列処理参照関数 [詳細]
 
形状制御関数
void setShape (fk_Shape *shape)
 単独形状設定関数 [詳細]
 
void setShape (int ID, fk_Shape *shape)
 ID付き形状設定関数 [詳細]
 
fk_ShapegetShape (int ID=0)
 形状参照関数 [詳細]
 
int getModelNum (void)
 形状設定数参照関数 [詳細]
 
void clearModel (void)
 形状設定初期化関数 [詳細]
 
virtual bool shapeProcess (fk_Solid *shape)
 形状設定時処理関数 [詳細]
 
全体描画属性制御関数
void setDrawMode (fk_DrawMode mode)
 描画モード設定関数 [詳細]
 
fk_DrawMode getDrawMode (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_DrawMode mode)
 個別形状描画モード設定関数 [詳細]
 
fk_DrawMode getDrawMode (int ID)
 個別形状描画モード参照関数 [詳細]
 
void setLineWidth (int ID, double width)
 形状稜線描画幅設定関数 [詳細]
 
double getLineWidth (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 setFrameMode (fk_FrameMode mode)
 フレームレート制御方法指定関数 [詳細]
 
fk_FrameMode getFrameMode (void)
 フレームレート制御方法参照関数 [詳細]
 
void setFrameInterval (int ms)
 フレーム間時間設定関数 [詳細]
 
int getFrameInterval (void)
 フレーム間時間参照関数 [詳細]
 
int getSkipFrame (void)
 スキップフレーム数参照関数 [詳細]
 
描画画像取り込み関数
bool snapImage (std::string fileName, fk_ImageType format=FK_IMAGE_BMP, fk_SnapProcMode mode=FK_SNAP_GL_FRONT)
 描画画像ファイル出力関数 [詳細]
 
bool snapImage (fk_Image *image, fk_SnapProcMode mode=FK_SNAP_GL_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)
 メッセージ出力用ブラウザ初期化関数 [詳細]
 
- Public メソッド inherited from fk_BaseObject
 fk_BaseObject (fk_ObjectType type=FK_BASEOBJECT)
 コンストラクタ [詳細]
 
fk_ObjectType getObjectType (void) const
 タイプ取得関数 [詳細]
 

説明

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

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

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

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

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

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

参照
fk_Window

コンストラクタとデストラクタ

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

コンストラクタ

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

引数
[in]w描画領域横幅
[in]h描画領域縦幅
virtual fk_ShapeViewer::~fk_ShapeViewer ( )
virtual

デストラクタ

関数

bool fk_ShapeViewer::draw ( void  )

描画更新関数

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

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

fk_ShapeViewer  viewer;

while(viewer.draw() == true) {
    // (もし必要なら)形状の変形処理を記述
}
戻り値
描画が正常に行えた場合、true を返します。 そうでない場合に false を返します。 これは例えば、ウィンドウが閉じられた場合などがそれに当たります。
void fk_ShapeViewer::setWindowSize ( int  w,
int  h 
)

描画領域サイズ変更関数

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

引数
[in]w描画領域横幅
[in]h描画領域縦幅
void fk_ShapeViewer::setOGLPointerMode ( bool  mode)

OpenGL 頂点配列処理制御関数

この関数は、OpenGL 環境における頂点配列の使用を制御します。 OpenGL には「頂点配列」と呼ばれる仕組みがあり、 一般的にはこの機能を用いると描画処理が高速になります。 しかし、実行する環境によってはかえって低速になったり、 描画に不具合が生じることもあります。 そのような場合、この関数を用いて頂点配列を利用しないように、 内部処理を切り替えることが可能です。 デフォルトでは「有効」となっています。

覚え書き
この関数による設定は、OpenGL 環境においてのみ有効です。 Direct3D 版においては設定は意味をなしません。
引数
[in]modetrue の場合、頂点配列処理を有効とします。 false の場合は無効とします。
bool fk_ShapeViewer::getOGLPointerMode ( void  )

OpenGL 頂点配列処理参照関数

現在の OpenGL 頂点配列処理が有効であるかどうかを参照します。 頂点配列についての詳細は setOGLPointerMode() の解説を参照して下さい。

戻り値
頂点配列処理が有効である場合 true を、 無効である場合 false を返します。
参照
setOGLPointerMode()
void fk_ShapeViewer::setShape ( fk_Shape shape)

単独形状設定関数

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

引数
[in]shape形状インスタンス
void fk_ShapeViewer::setShape ( int  ID,
fk_Shape shape 
)

ID付き形状設定関数

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

引数
[in]ID形状 ID
[in]shape形状インスタンス
fk_Shape* fk_ShapeViewer::getShape ( int  ID = 0)

形状参照関数

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

引数
[in]ID形状 ID
戻り値
形状インスタンスを返します。 指定した ID の形状インスタンスが存在しない場合は、NULL を返します。
int fk_ShapeViewer::getModelNum ( void  )

形状設定数参照関数

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

戻り値
形状個数
void fk_ShapeViewer::clearModel ( void  )

形状設定初期化関数

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

virtual bool fk_ShapeViewer::shapeProcess ( fk_Solid shape)
virtual

形状設定時処理関数

この関数は、 setShape() やファイルからの形状入力が行われた際に、 自動的に呼び出されます。 呼び出された際に、引数には形状インスタンスが入ります。 このクラスは仮想関数となっており、 fk_ShapeViewer の派生クラスにおいてこの関数を再定義することにより、 形状設定やファイル入力時に形状に対して修正や分析などを行うことが可能となります。

引数
[in]shape形状インスタンス
戻り値
現バージョンでは特に意味はありません。
void fk_ShapeViewer::setDrawMode ( fk_DrawMode  mode)

描画モード設定関数

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

  • FK_NONEMODE: 何も描画しません。
  • FK_POINTMODE: 頂点を描画します。
  • FK_LINEMODE: 稜線を描画します。
  • FK_POLYMODE: 面の表を描画します。
  • FK_BACK_POLYMODE: 面の裏を描画します。
  • FK_FRONTBACK_POLYMODE: 面の表と裏を描画します。

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

fk_ShapeViewer  viewer;

viewer.setDrawMode(FK_POINTMODE | FK_LINEMODE | FK_POLYMODE);

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

引数
[in]mode描画モード
参照
setDrawMode(int, fk_DrawMode), fk_Model::setDrawMode()
fk_DrawMode fk_ShapeViewer::getDrawMode ( void  )

描画モード参照関数

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

戻り値
描画モード
参照
setDrawMode(fk_DrawMode)
void fk_ShapeViewer::setBlendStatus ( bool  mode)

透過処理設定関数

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

引数
[in]modetrue であれば有効、false であれば無効とします。
参照
fk_Scene::setBlendStatus(), getBlendStatus()
bool fk_ShapeViewer::getBlendStatus ( void  )

透過処理参照関数

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

戻り値
有効であれば true を、無効であれば false を返します。
参照
setBlendStatus()
void fk_ShapeViewer::setBGColor ( fk_Color  col)

背景色設定関数1

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

引数
[in]col背景色
参照
setBGColor(float, float, float), fk_Color, getBGColor()
void 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()
fk_Color fk_ShapeViewer::getBGColor ( void  )

背景色参照関数

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

戻り値
背景色
参照
fk_Color, setBGColor(fk_Color) setBGColor(float, float, float)
void fk_ShapeViewer::setAxisMode ( bool  mode)

座標軸描画設定関数

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

引数
[in]modetrue であれば描画有効、false であれば無効とします。
参照
setAxisScale(), getAxisMode()
bool fk_ShapeViewer::getAxisMode ( void  )

座標軸描画参照関数

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

戻り値
描画有効であれば true を、無効であれば false を返します。
参照
setAxisMode()
void fk_ShapeViewer::setAxisScale ( double  scale)

座標軸大きさ設定関数

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

引数
[in]scale大きさ
double fk_ShapeViewer::getAxisScale ( void  )

座標軸大きさ参照関数

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

戻り値
大きさ
参照
setAxisScale()
fk_Vector fk_ShapeViewer::getCenter ( void  )

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

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

戻り値
中心の位置ベクトル
void fk_ShapeViewer::setDrawMode ( int  ID,
fk_DrawMode  mode 
)

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

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

  • FK_NONEMODE: 何も描画しません。
  • FK_POINTMODE: 頂点を描画します。
  • FK_LINEMODE: 稜線を描画します。
  • FK_POLYMODE: 面の表を描画します。
  • FK_BACK_POLYMODE: 面の裏を描画します。
  • FK_FRONTBACK_POLYMODE: 面の表と裏を描画します。

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

fk_ShapeViewer  viewer;

viewer.setDrawMode(0, FK_POINTMODE | FK_LINEMODE | FK_POLYMODE);

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

引数
[in]ID形状 ID
[in]mode描画モード
参照
setDrawMode(fk_DrawMode), fk_Model::setDrawMode()
fk_DrawMode fk_ShapeViewer::getDrawMode ( int  ID)

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

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

引数
[in]ID形状ID
戻り値
描画モード
参照
setDrawMode(int, fk_DrawMode)
void fk_ShapeViewer::setLineWidth ( int  ID,
double  width 
)

形状稜線描画幅設定関数

形状に対し、稜線の描画幅を設定します。 単位はピクセルです。整数以外も設定可能です。

引数
[in]ID形状ID
[in]width描画幅
double fk_ShapeViewer::getLineWidth ( int  ID)

形状稜線描画幅参照関数

形状の稜線描画幅を取得します。 単位はピクセルです。

引数
[in]ID形状ID
戻り値
描画幅
参照
setLineWidth()
void fk_ShapeViewer::setPointSize ( int  ID,
double  size 
)

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

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

引数
[in]ID形状ID
[in]size描画サイズ
double fk_ShapeViewer::getPointSize ( int  ID)

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

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

引数
[in]ID形状ID
戻り値
描画サイズ
参照
setPointSize()
void fk_ShapeViewer::setMaterial ( int  ID,
fk_Material  mat 
)

形状マテリアル設定関数

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

引数
[in]ID形状ID
[in]matマテリアル
参照
setEdgeColor(), setVertexColor(), fk_Material
void fk_ShapeViewer::setEdgeColor ( int  ID,
fk_Color  col 
)

形状稜線描画色設定関数

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

引数
[in]ID形状ID
[in]col稜線色
参照
setMaterial(), setVertexColor(), fk_Color
void fk_ShapeViewer::setVertexColor ( int  ID,
fk_Color  col 
)

形状頂点描画色設定関数

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

引数
[in]ID形状ID
[in]col頂点色
参照
setMaterial(), setEdgeColor(), fk_Color
void fk_ShapeViewer::setHead ( double  angle)

カメラヘッド角設定関数

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

引数
[in]angleヘッド角の角度
参照
setPitch(), setBank(), setScale(), fk_Angle
double fk_ShapeViewer::getHead ( void  )

カメラヘッド角参照関数

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

戻り値
ヘッド角の角度
参照
setHead()
void fk_ShapeViewer::setPitch ( double  angle)

カメラピッチ角設定関数

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

引数
[in]angleピッチ角の角度
参照
setHead(), setBank(), setScale(), fk_Angle
double fk_ShapeViewer::getPitch ( void  )

カメラピッチ角参照関数

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

戻り値
ピッチ角の角度
参照
setPitch()
void fk_ShapeViewer::setBank ( double  angle)

カメラバンク角設定関数

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

引数
[in]angleバンク角の角度
参照
setHead(), setPitch(), setScale(), fk_Angle
double fk_ShapeViewer::getBank ( void  )

カメラバンク角参照関数

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

戻り値
バンク角の角度
参照
setBank()
void fk_ShapeViewer::setScale ( double  scale)

カメラ倍率設定関数

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

引数
[in]scale表示倍率
参照
setHead(), setPicth(), setBank()
double fk_ShapeViewer::getScale ( void  )

カメラ倍率参照関数

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

戻り値
表示倍率
参照
setScale()
void 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)
void 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)
void 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)
void 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)
void 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)
void 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)
void 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)
void 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)
void fk_ShapeViewer::setFrameMode ( fk_FrameMode  mode)

フレームレート制御方法指定関数

この関数は、フレームレートを制御するためのモードを指定します。 「フレームレート」とは、1秒間あたりの画面更新回数のことです。 フレームレートの制御には、以下の2種類があります。

  • フレームレートが高すぎる場合に、一定のフレームレート以上が出ないようにする。 この制御を「ウェイトモード」と言います。
  • フレームレートが低すぎる場合に、画面更新をスキップする。 この制御を「スキップモード」と言います。

モードには、以下の3種類が指定できます。

  • FK_DEFAULT_FRAME: 制御を行いません。
  • FK_WAIT_FRAME: ウェイトモードを有効にします。
  • FK_SKIP_FRAME: スキップモードを有効にします。

なお、FK_WAIT_FRAME と FK_SKIP_FRAME は同時に指定することが可能です。 その場合は、以下のようにビット論理和演算子を利用します。

fk_ShapeViewer  viewer;

viewer.setFrameMode(FK_WAIT_FRAME | FK_SKIP_FRAME);
引数
[in]mode制御モード
参照
setFrameInterval(), getSkipFrame(), fk_Window::setFrameMode()
fk_FrameMode fk_ShapeViewer::getFrameMode ( void  )

フレームレート制御方法参照関数

現在のフレームレート制御方法を取得します。

戻り値
制御モードを返します。
参照
setFrameMode()
void fk_ShapeViewer::setFrameInterval ( int  ms)

フレーム間時間設定関数

この関数は、フレームレート制御の「ウェイトモード」および 「スキップモード」における、 フレーム間時間の設定を行います。 「フレーム間時間」とは、 あるフレームが表示されてから次のフレームが表示されるまでの時間のことです。 例えば秒間60フレームとしたい場合は、 フレーム間時間は $\frac{1}{60} = 0.01666\cdots$ となります。 なお、本関数では指定はミリ秒(1000分の1秒)単位で行い、 型は int 型となります。従って、前述した秒間60フレームの場合は 「16」または「17」を指定することになります。

引数
[in]msフレーム間時間。単位はミリ秒です。
参照
setFrameMode() getSkipFrame(), fk_Window::setFrameInterval()
int fk_ShapeViewer::getFrameInterval ( void  )

フレーム間時間参照関数

現在設定されているフレーム間時間を参照します。

戻り値
フレーム間時間を返します。単位はミリ秒です。
参照
setFrameInterval()
int fk_ShapeViewer::getSkipFrame ( void  )

スキップフレーム数参照関数

フレーム制御で「スキップモード」を用いている場合に、 現在表示されているフレームとその前のフレームの間に、 何枚分のフレームが描画スキップされたかを参照します。

戻り値
スキップされたフレーム枚数
参照
setFrameMode(), setFrameInterval(), fk_Window::getSkipFrame()
bool fk_ShapeViewer::snapImage ( std::string  fileName,
fk_ImageType  format = FK_IMAGE_BMP,
fk_SnapProcMode  mode = FK_SNAP_GL_FRONT 
)

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

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

引数
[in]fileName画像ファイル名
[in]format画像ファイルのフォーマット。 現在利用可能なフォーマットは、 fk_ImageType の解説を参照して下さい。
[in]mode画像の取込先となるグラフィックスデバイス名。 取り込みがうまく動作しない場合は、 この引数の値を変更してください。
戻り値
出力に成功すれば true を、失敗すれば false を返します。
参照
fk_Window::snapImage(std::string, fk_ImageType, fk_SnapProcMode)
bool fk_ShapeViewer::snapImage ( fk_Image image,
fk_SnapProcMode  mode = FK_SNAP_GL_FRONT 
)

描画画像データ出力関数

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

引数
[in]image画像データ出力先インスタンス
[in]mode画像の取込先となるグラフィックスデバイス名。 取り込みがうまく動作しない場合は、 この引数の値を変更してください。
戻り値
出力に成功すれば true を、失敗すれば false を返します。
参照
fk_Window::snapImage(fk_Image *, fk_SnapProcMode)
void fk_ShapeViewer::setPutStrMode ( const fk_PutStrMode  mode)

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

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

参照
fk_Window::setPutStrMode()
fk_PutStrMode fk_ShapeViewer::getPutStrMode ( void  )

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

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

参照
fk_Window::getPutStrMode()
bool fk_ShapeViewer::setPutFile ( const std::string &  str)

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

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

参照
fk_Window::setPutFile()
void fk_ShapeViewer::putString ( const std::string &  str)

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

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

参照
fk_Window::putString()
void fk_ShapeViewer::printf ( const char *  format,
  ... 
)

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

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

参照
fk_Window::printf()
void fk_ShapeViewer::clearBrowser ( void  )

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

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

参照
fk_Window::clearBrowser()