FineKernelToolKit 4.2.13
|
2D スプライトモデルクラス [詳解]
#include <CLI/FK_CLI/include/SpriteModel_CLI.h>
公開メンバ関数 | |
fk_SpriteModel () | |
コンストラクタ | |
~fk_SpriteModel () | |
デストラクタ | |
!fk_SpriteModel () | |
ファイナライザ | |
bool | ReadBMP (String^ filename) |
Windows Bitmap (BMP)画像読み込みメソッド | |
bool | ReadPNG (String^ filename) |
PNG画像読み込みメソッド | |
bool | ReadJPG (String^ filename) |
JPEG(JPG)画像読み込みメソッド | |
void | SetPositionLT (double x, double y) |
画像位置指定メソッド | |
void | SetSpriteArea (double x, double y, double w, double h) |
画像表示領域指定メソッド | |
bool | InitFont (String^ fontFileName) |
文字列描画用フォント設定メソッド | |
void | DrawText (String^ str) |
文字列表示メソッド | |
void | DrawText (String^ str, bool mode) |
初期化設定付き文字列表示メソッド | |
void | ClearText (void) |
文字列消去メソッド | |
![]() | |
fk_Model () | |
コンストラクタ | |
~fk_Model () | |
デストラクタ | |
!fk_Model () | |
ファイナライザ | |
bool | SetParent (fk_Model^ model, bool mode) |
親モデル設定メソッド1 | |
bool | SetParent (fk_Model^ model) |
親モデル設定メソッド2 | |
void | DeleteParent (bool mode) |
親モデル解除メソッド1 | |
void | DeleteParent (void) |
親モデル解除メソッド2 | |
bool | EntryChild (fk_Model^ model, bool mode) |
子モデル設定メソッド1 | |
bool | EntryChild (fk_Model^ model) |
子モデル設定メソッド2 | |
bool | DeleteChild (fk_Model^ model, bool mode) |
子モデル解除メソッド1 | |
bool | DeleteChild (fk_Model^ model) |
子モデル解除メソッド2 | |
void | DeleteChildren (bool mode) |
全子モデル解除メソッド1 | |
void | DeleteChildren (void) |
全子モデル解除メソッド2 | |
void | SnapShot (void) |
位置・姿勢保存メソッド | |
bool | Restore (void) |
位置・姿勢復元メソッド | |
bool | Restore (double t) |
位置・姿勢途中復元メソッド | |
void | AdjustSphere (void) |
境界球自動設定メソッド | |
void | AdjustAABB (void) |
AABB 自動設定メソッド | |
void | AdjustOBB (void) |
OBB 自動設定メソッド | |
void | AdjustCapsule (void) |
境界カプセル自動設定メソッド(全自動) | |
void | AdjustCapsule (fk_Axis axis) |
境界カプセル自動設定メソッド(座標軸による中心軸設定) | |
void | AdjustCapsule (fk_Vector^ P, fk_Axis axis) |
境界カプセル自動設定関数(中心軸上の点と座標軸) | |
void | AdjustCapsule (fk_Vector^ S, fk_Vector^ E, bool mode) |
境界カプセル自動設定メソッド(中心軸直接指定, 順番指定付) | |
void | AdjustCapsule (fk_Vector^ S, fk_Vector^ E) |
境界カプセル自動設定メソッド(中心軸直接指定, 順番指定付) | |
bool | IsInter (fk_Model^ model) |
モデル間干渉判定メソッド | |
bool | IsCollision (fk_Model^ model, double % time) |
モデル間衝突判定メソッド | |
void | ResetInter (void) |
干渉継続状態初期化メソッド | |
void | EntryInterModel (fk_Model^ model) |
干渉自動停止モデル登録メソッド | |
void | DeleteInterModel (fk_Model^ model) |
干渉自動停止モデル解除メソッド | |
void | ClearInterModel (void) |
干渉自動停止モデル初期化メソッド | |
bool | GlRotate (fk_Vector^ origin, fk_Axis axis, double theta) |
グローバル座標系座標軸回転メソッド1 | |
bool | GlRotate (double x, double y, double z, fk_Axis axis, double theta) |
グローバル座標系座標軸回転メソッド2 | |
bool | GlRotate (fk_Vector^ A, fk_Vector^ B, double theta) |
グローバル座標系任意軸回転メソッド1 | |
bool | GlRotate (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta) |
グローバル座標系任意軸回転メソッド2 | |
bool | LoRotate (fk_Vector^ origin, fk_Axis axis, double theta) |
ローカル座標系座標軸回転メソッド1 | |
bool | LoRotate (double x, double y, double z, fk_Axis axis, double theta) |
ローカル座標系座標軸回転メソッド2 | |
bool | LoRotate (fk_Vector^ A, fk_Vector^ B, double theta) |
ローカル座標系任意軸回転メソッド1 | |
bool | LoRotate (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta) |
ローカル座標系任意軸回転メソッド2 | |
bool | GlRotateWithVec (fk_Vector^ origin, fk_Axis axis, double theta) |
グローバル座標系座標軸回転(姿勢付き)メソッド1 | |
bool | GlRotateWithVec (double x, double y, double z, fk_Axis axis, double theta) |
グローバル座標系座標軸回転(姿勢付き)メソッド2 | |
bool | GlRotateWithVec (fk_Vector^ A, fk_Vector^ B, double theta) |
グローバル座標系任意軸回転(姿勢付き)メソッド1 | |
bool | GlRotateWithVec (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta) |
グローバル座標系任意軸回転(姿勢付き)メソッド2 | |
bool | LoRotateWithVec (fk_Vector^ origin, fk_Axis axis, double theta) |
ローカル座標系座標軸回転(姿勢付き)メソッド1 | |
bool | LoRotateWithVec (double x, double y, double z, fk_Axis axis, double theta) |
ローカル座標系座標軸回転(姿勢付き)メソッド2 | |
bool | LoRotateWithVec (fk_Vector^ A, fk_Vector^ B, double theta) |
ローカル座標系任意軸回転(姿勢付き)メソッド1 | |
bool | LoRotateWithVec (double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta) |
ローカル座標系任意軸回転(姿勢付き)メソッド2 | |
bool | GlTranslate (fk_Vector^ v) |
グローバル座標系平行移動メソッド1 | |
bool | GlTranslate (double x, double y, double z) |
グローバル座標系平行移動メソッド2 | |
bool | LoTranslate (fk_Vector^ v) |
ローカル座標系平行移動メソッド1 | |
bool | LoTranslate (double x, double y, double z) |
ローカル座標系平行移動メソッド2 | |
bool | GlMoveTo (fk_Vector^ p) |
グローバル座標系位置指定メソッド1 | |
bool | GlMoveTo (double x, double y, double z) |
グローバル座標系位置指定メソッド2 | |
![]() | |
void | SetAABBMaxMin (fk_Vector^ max, fk_Vector^ min) |
軸平行境界ボックス (AABB) 最大最小設定メソッド | |
void | SetOBBMaxMin (fk_Vector^ max, fk_Vector^ min) |
有向境界ボックス (OBB) 最大最小設定メソッド | |
void | SetCapsule (fk_Vector^ startPos, fk_Vector^ endPos, double radius) |
カプセル型設定メソッド | |
![]() | |
bool | SetScale (double scale, fk_Axis axis) |
軸方向絶対倍率設定メソッド | |
bool | SetScale (double x, double y, double z) |
軸方向個別絶対倍率設定メソッド | |
bool | PrdScale (double scale) |
全体相対倍率設定メソッド | |
bool | PrdScale (double scale, fk_Axis axis) |
軸方向相対倍率設定メソッド | |
bool | PrdScale (double x, double y, double z) |
軸方向個別相対倍率設定メソッド | |
double | GetScale (fk_Axis axis) |
軸方向倍率取得メソッド | |
bool | GlFocus (fk_Vector^ p) |
グローバル座標系注視点設定メソッド1 | |
bool | GlFocus (double x, double y, double z) |
グローバル座標系注視点設定メソッド2 | |
bool | LoFocus (fk_Vector^ p) |
ローカル座標系注視点設定メソッド1 | |
bool | LoFocus (double x, double y, double z) |
ローカル座標系注視点設定メソッド2 | |
bool | GlVec (fk_Vector^ v) |
グローバル座標系方向ベクトル設定メソッド1 | |
bool | GlVec (double x, double y, double z) |
グローバル座標系方向ベクトル設定メソッド2 | |
bool | GlUpvec (fk_Vector^ v) |
グローバル座標系アップベクトル設定メソッド1 | |
bool | GlUpvec (double x, double y, double z) |
グローバル座標系アップベクトル設定メソッド2 | |
bool | LoUpvec (fk_Vector^ v) |
ローカル座標系アップベクトル設定メソッド1 | |
bool | LoUpvec (double x, double y, double z) |
ローカル座標系アップベクトル設定メソッド2 | |
bool | GlAngle (fk_Angle^ angle) |
グローバル座標系オイラー角設定メソッド1 | |
bool | GlAngle (double h, double p, double b) |
グローバル座標系オイラー角設定メソッド2 | |
bool | LoAngle (fk_Angle^ angle) |
ローカル座標系オイラー角設定メソッド1 | |
bool | LoAngle (double h, double p, double b) |
ローカル座標系オイラー角設定メソッド2 | |
プロパティ | |
fk_TextImage^ | Text [get] |
文字列描画オブジェクトプロパティ | |
fk_Image^ | Image [get, set] |
画像データプロパティ | |
fk_RectTexture^ | Texture [get] |
テクスチャデータプロパティ | |
fk_TexMode | TextureMode [get, set] |
テクスチャデータプロパティ | |
fk_TexCoord^ | Size [get, set] |
表示サイズプロパティ | |
bool | SmoothMode [get, set] |
画像表示モードプロパティ | |
![]() | |
unsigned int | ID [get] |
ID プロパティ | |
fk_Shape^ | Shape [get, set] |
形状プロパティ | |
fk_Model^ | Parent [get, set] |
親モデルプロパティ | |
fk_Material^ | Material [get, set] |
マテリアルプロパティ | |
fk_Color^ | PointColor [get, set] |
頂点色プロパティ | |
fk_Color^ | LineColor [get, set] |
稜線色プロパティ | |
fk_Color^ | CurveColor [get, set] |
曲線色プロパティ | |
double | PointSize [get, set] |
頂点描画サイズプロパティ | |
fk_Draw | DrawMode [get, set] |
描画モードプロパティ | |
fk_ElementMode | ElementMode [get, set] |
要素モード関連プロパティ | |
fk_ShadingMode | ShadingMode [get, set] |
シェーディングモード関連プロパティ | |
bool | SmoothMode [get, set] |
スムースモードプロパティ | |
bool | ReverseDrawMode [get, set] |
描画順序制御プロパティ | |
fk_DepthMode | DepthMode [get, set] |
前後関係制御プロパティ | |
fk_BlendMode | BlendMode [get, set] |
ブレンドモード設定プロパティ | |
fk_BlendFactor | BlendSrcFactor [get, set] |
ブレンド時の入力ピクセル係数設定プロパティ | |
fk_BlendFactor | BlendDstFactor [get, set] |
ブレンド時の出力ピクセル係数設定プロパティ | |
bool | ShadowEffect [get, set] |
影投影プロパティ | |
bool | ShadowDraw [get, set] |
影表示プロパティ | |
bool | FogMode [get, set] |
霧効果プロパティ | |
fk_Vector^ | InhPosition [get] |
継承位置ベクトルプロパティ | |
fk_Vector^ | InhVec [get] |
継承方向ベクトルプロパティ | |
fk_Vector^ | InhUpvec [get] |
継承アップベクトルプロパティ | |
fk_Angle^ | InhAngle [get] |
継承オイラー角参照メソッド | |
double | InhScale [get] |
継承全体倍率プロパティ | |
fk_Matrix^ | InhMatrix [get] |
継承変換行列プロパティ | |
fk_Matrix^ | InhInvMatrix [get] |
継承逆変換行列プロパティ | |
fk_Matrix^ | InhBaseMatrix [get] |
継承移動・回転要素変換行列プロパティ | |
fk_Matrix^ | InhInvBaseMatrix [get] |
継承移動・回転要素逆変換行列プロパティ | |
bool | InterMode [get, set] |
干渉継続モード設定メソッド | |
bool | InterStatus [get] |
干渉継続状態プロパティ | |
bool | InterStopMode [get, set] |
干渉自動停止モードプロパティ | |
![]() | |
fk_BoundaryMode | BMode [get, set] |
境界ボリューム選択プロパティ | |
double | SphereRadius [get, set] |
境界球半径プロパティ | |
fk_Vector^ | SpherePos [get, set] |
fk_Vector^ | AABB [get, set] |
軸平行境界ボックス (AABB) サイズプロパティ | |
fk_Vector^ | AABBMax [get, set] |
軸平行境界ボックス (AABB) 最大値側プロパティ | |
fk_Vector^ | AABBMin [get, set] |
軸平行境界ボックス (AABB) 最小値側プロパティ | |
fk_Vector^ | OBB [get, set] |
有向境界ボックス (OBB) サイズプロパティ | |
fk_Vector^ | OBBMax [get, set] |
有向境界ボックス (OBB) 最大値側プロパティ | |
fk_Vector^ | OBBMin [get, set] |
有向境界ボックス (OBB) 最小値側プロパティ | |
double | CapsuleRadius [get, set] |
カプセル型領域規定距離プロパティ | |
double | CapsuleLength [get] |
カプセル型中心軸長プロパティ | |
fk_Vector^ | CapsuleStart [get, set] |
カプセル型中心軸始点プロパティ | |
fk_Vector^ | CapsuleEnd [get, set] |
カプセル型中心軸終点プロパティ | |
bool | BDraw [get, set] |
境界ボリューム描画有無プロパティ | |
fk_Color^ | BLineColor [get, set] |
境界ボリューム非干渉描画色プロパティ | |
fk_Color^ | BIntLineColor [get, set] |
境界ボリューム干渉状態描画色プロパティ | |
double | BLineWidth [get, set] |
境界ボリューム描画線幅プロパティ | |
![]() | |
fk_Vector^ | Position [get] |
位置ベクトルプロパティ | |
fk_Vector^ | Vec [get] |
方向ベクトルプロパティ | |
fk_Vector^ | Upvec [get] |
アップベクトルプロパティ | |
fk_Angle^ | Angle [get] |
オイラー角取得メソッド | |
fk_Matrix^ | Matrix [get] |
変換行列プロパティ | |
fk_Matrix^ | InvMatrix [get] |
逆変換行列プロパティ | |
fk_Matrix^ | BaseMatrix [get] |
移動・回転要素変換行列プロパティ | |
fk_Matrix^ | InvBaseMatrix [get] |
移動・回転要素逆変換行列プロパティ | |
bool | ScaleMode [get] |
拡大縮小状態判定プロパティ | |
double | Scale [get, set] |
全体倍率プロパティ | |
2D スプライトモデルクラス
このクラスは、画像や文字列をディスプレイ座標系に従って配置する機能を提供します。
リアルタイム 3DCG において (3次元空間の投影によらず) ディスプレイ上に直接画像やメッセージ等のビットマップ画像を表示する処理を 「スプライト表示」と呼びます。 スプライト表示を行うための方法はプラットフォームによって異なるため、 FK では直接スプライト表示を行う機能は提供しませんが、 本クラスはディスプレイ座標系での指定に従って、 適切にテクスチャ画像の配置を行うことによって(擬似的に)スプライト表示を実現します。
FK_CLI::fk_SpriteModel::fk_SpriteModel | ( | ) |
コンストラクタ
FK_CLI::fk_SpriteModel::~fk_SpriteModel | ( | ) |
デストラクタ
FK_CLI::fk_SpriteModel::!fk_SpriteModel | ( | ) |
ファイナライザ
bool FK_CLI::fk_SpriteModel::ReadBMP | ( | String^ | filename | ) |
Windows Bitmap (BMP)画像読み込みメソッド
Windows Bitmap 形式 (BMP形式) の画像を読み込みます。
[in] | filename | BMP形式ファイル名 |
bool FK_CLI::fk_SpriteModel::ReadPNG | ( | String^ | filename | ) |
PNG画像読み込みメソッド
PNG形式の画像を読み込みます。アルファチャンネルによる透過に対応しています。
[in] | filename | PNG形式ファイル名 |
bool FK_CLI::fk_SpriteModel::ReadJPG | ( | String^ | filename | ) |
JPEG(JPG)画像読み込みメソッド
JPEG形式の画像を読み込みます。
[in] | filename | PNG形式ファイル名 |
void FK_CLI::fk_SpriteModel::SetPositionLT | ( | double | x, |
double | y | ||
) |
画像位置指定メソッド
指定した座標が左上になるように位置を変更します。 指定する数値は、画面中心を原点とする座標系で、 数値 1 が 1 ピクセルに相当する値になります。
画像の中心位置を指定したい場合は、 fk_Model::GlMoveTo() を利用して下さい。
このような操作を行った場合、 再度本メソッドによって適切な位置に指定を行う必要があります。
[in] | x | 画像左上の x 座標値。 |
[in] | y | 画像左上の y 座標値。 |
void FK_CLI::fk_SpriteModel::SetSpriteArea | ( | double | x, |
double | y, | ||
double | w, | ||
double | h | ||
) |
画像表示領域指定メソッド
画像の一部分だけを表示領域として切り出します。 本メソッドでの座標系は、画像のピクセル数が横幅 \( W \), 縦幅 \( H \) としたとき、 画像の左上が \( (0, 0) \) であり、右下が \( (W-1, H-1) \) となります。
[in] | x | 表示領域左上の x 座標値。 |
[in] | y | 表示領域左上の y 座標値。 |
[in] | w | 表示領域の横幅ピクセル数。 |
[in] | h | 表示領域の縦幅ピクセル数。 |
bool FK_CLI::fk_SpriteModel::InitFont | ( | String^ | fontFileName | ) |
文字列描画用フォント設定メソッド
文字表示を行うための、フォントの設定を行います。 DrawText() による文字列表示を行いたい場合は、事前に本メソッドを実行する必要があります。 ここで指定するものは TrueType 形式のフォントファイルとなります。 通常は「ttf」あるいは「ttc」という拡張子のファイルとなっています。
[in] | fontFileName | フォントファイル名 |
void FK_CLI::fk_SpriteModel::DrawText | ( | String^ | str | ) |
文字列表示メソッド
指定された文字列を表示する画像を設定します。 本メソッドを実行する前に、事前に InitFont() でフォント指定を行う必要があります。
[in] | str | 指定文字列。既に設定されていた文字列があった場合は、その末尾に付け足します。 |
void FK_CLI::fk_SpriteModel::DrawText | ( | String^ | str, |
bool | mode | ||
) |
初期化設定付き文字列表示メソッド
指定された文字列を表示する画像を設定します。 本メソッドを実行する前に、事前に InitFont() でフォント指定を行う必要があります。
[in] | str | 指定文字列 |
[in] | mode | true を渡すとこれまでに入力した文字列を一旦消去し、 新たに文字列を生成します。 false を渡すと、 DrawText(String^) と同様に、 これまでに入力した文字列への付け足しを行います。 |
void FK_CLI::fk_SpriteModel::ClearText | ( | void | ) |
|
get |
文字列描画オブジェクトプロパティ
drawText() メソッドによって制御される fk_TextImage 型のプロパティです。 このプロパティに対して様々な操作を行うことができ、 フォントや表示色など多くの属性を制御できます。 詳細は、 fk_TextImage クラスのマニュアルを参照して下さい。 なお、このプロパティに対して別に生成した fk_TextImage 型インスタンスを代入することはできません。
|
getset |
画像データプロパティ
内部の画像データインスタンスの参照・設定を行います。 画像サイズを変更しない限りは、内部データを直接変更しても問題ありません。
|
get |
テクスチャデータプロパティ
内部データのテクスチャイン寸タンスの取得を行います。
|
getset |
|
getset |
表示サイズプロパティ
画像の表示サイズの参照・設定を行います。 通常は画像の設定時に自動調整を行っていますので、 敢えてそこからサイズを変更したい時に使います。 引数を省略すると、読み込んである画像と同じサイズに復元します。 数値 1 が 1 ピクセルに相当する値になります。 -1 を指定した場合、元画像の横幅・縦幅となります。
|
getset |
画像表示モードプロパティ
画像を滑らかに表示するかどうかという状態の参照・設定を行います。 true であれば滑らかな表示に設定し、 false であれば滑らかな表示は行いません。