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

矩形テクスチャを生成、管理するクラス [詳解]

#include <FK/RectTexture.h>

+ FK::fk_RectTexture の継承関係図
+ FK::fk_RectTexture 連携図

公開メンバ関数

 fk_RectTexture (fk_Image *image=nullptr)
 コンストラクタ
 
virtual ~fk_RectTexture ()
 デストラクタ
 
void init (void)
 初期化関数
 
bool setTextureSize (double w, double h)
 テクスチャサイズ設定関数
 
fk_TexCoord getTextureSize (void)
 テクスチャサイズ参照関数
 
void setRepeatMode (bool mode)
 リピートモード設定関数
 
bool getRepeatMode (void)
 リピートモード参照関数
 
void setRepeatParam (double wNum, double hNum)
 リピートモード枚数設定関数
 
fk_TexCoord getRepeatParam (void)
 リピートモード枚数参照関数
 
void setTextureCoord (double sX, double sY, double eX, double eY)
 部分抽出設定関数1
 
void setTextureCoord (const fk_TexCoord &S, const fk_TexCoord &E)
 部分抽出設定関数2
 
fk_TexCoord getTextureCoord (int ID)
 部分抽出参照関数
 
- 基底クラス FK::fk_Texture に属する継承公開メンバ関数
void setImage (fk_Image *image)
 画像データ設定関数
 
fk_ImagegetImage (void)
 画像データ取得関数
 
bool readBMP (std::string fileName)
 BMP ファイル入力関数
 
bool readBMPData (fk_ImType *buf)
 BMP バッファ入力関数
 
bool readPNG (std::string fileName)
 PNG ファイル入力関数
 
bool readPNGData (fk_ImType *buf)
 PNG バッファ入力関数
 
bool readJPG (std::string fileName)
 JPEG ファイル入力関数
 
const fk_DimensiongetImageSize (void)
 画像サイズ取得関数
 
const fk_DimensiongetBufferSize (void)
 画像バッファサイズ取得関数
 
void setTextureMode (fk_TexMode mode)
 テクスチャモード設定関数
 
fk_TexMode getTextureMode (void)
 テクスチャモード取得関数
 
void setTexRendMode (fk_TexRendMode mode)
 テクスチャ描画品質設定関数
 
fk_TexRendMode getTexRendMode (void)
 テクスチャ描画品質取得関数
 
void setTexWrapMode (fk_TexWrapMode mode)
 テクスチャ外周部モード設定関数
 
fk_TexWrapMode getTexWrapMode (void)
 テクスチャ外周部モード取得関数
 
void fillColor (const fk_Color &color)
 一様色初期化関数1
 
void fillColor (int r, int g, int b, int a=0)
 一様色初期化関数2
 
const fk_ImType * getImageBuf (void)
 画像データ配列先頭アドレス取得関数

 
void setFrameBuffer (fk_FrameBuffer *buffer)
 フレームバッファー設定関数
 
fk_FrameBuffergetFrameBuffer (void)
 フレームバッファー取得関数
 
void initFrameBuffer (void)
 フレームバッファー情報初期化関数
 
- 基底クラス FK::fk_Shape に属する継承公開メンバ関数
 fk_Shape (fk_Type=fk_Type::SHAPE)
 コンストラクタ
 
virtual ~fk_Shape ()
 デストラクタ
 
fk_RealShapeType getRealShapeType (void)
 形状データ構造取得関数
 
void setShaderAttribute (std::string name, int dim, std::vector< int > *array, bool self=false)
 シェーダー内 attribute 変数設定関数1
 
void setShaderAttribute (std::string name, int dim, std::vector< float > *array, bool self=false)
 シェーダー内 attribute 変数設定関数2
 
void setShaderAttribute (std::string name, int dim, std::vector< fk_Vector > *array)
 シェーダー内 attribute 変数設定関数3
 
void setShaderAttribute (std::string name, int dim, std::vector< fk_TexCoord > *array)
 シェーダー内 attribute 変数設定関数4
 
void setShaderAttribute (std::string name, int dim, std::vector< fk_HVector > *array)
 シェーダー内 attribute 変数設定関数5
 
void modifyAttribute (std::string name)
 attribute 変数更新関数
 
- 基底クラス FK::fk_Attribute に属する継承公開メンバ関数
 fk_Attribute (void)
 コンストラクタ
 
virtual ~fk_Attribute ()
 デストラクタ
 
bool setAttrII (const int key, const int value)
 キーが int 型、値が int 型である属性設定関数
 
bool setAttrID (const int key, const double value)
 キーが int 型、値が double 型である属性設定関数
 
bool setAttrIS (const int key, const std::string value)
 キーが int 型、値が std::string 型である属性設定関数
 
bool setAttrSI (const std::string key, const int value)
 キーが std::string 型、値が int 型である属性設定関数
 
bool setAttrSD (const std::string key, const double value)
 キーが std::string 型、値が double 型である属性設定関数
 
bool setAttrSS (const std::string key, const std::string value)
 キーが std::string 型、値が std::string 型である属性設定関数
 
int getAttrII (const int key) const
 キーが int 型、値が int 型である属性参照関数
 
double getAttrID (const int key) const
 キーが int 型、値が double 型である属性参照関数
 
std::string getAttrIS (const int key) const
 キーが int 型、値が std::string 型である属性参照関数
 
int getAttrSI (const std::string key) const
 キーが std::string 型、値が int 型である属性参照関数
 
double getAttrSD (const std::string key) const
 キーが std::string 型、値が double 型である属性参照関数
 
std::string getAttrSS (const std::string key) const
 キーが std::string 型、値が std::string 型である属性参照関数
 
bool existAttrII (const int key) const
 キーが int 型、値が int 型である属性存在参照関数
 
bool existAttrID (const int key) const
 キーが int 型、値が double 型である属性存在参照関数
 
bool existAttrIS (const int key) const
 キーが int 型、値が std::string 型である属性存在参照関数
 
bool existAttrSI (const std::string key) const
 キーが std::string 型、値が int 型である属性存在参照関数
 
bool existAttrSD (const std::string key) const
 キーが std::string 型、値が double 型である属性存在参照関数
 
bool existAttrSS (const std::string key) const
 キーが std::string 型、値が std::string 型である属性存在参照関数
 
bool deleteAttrII (const int key)
 キーが int 型、値が int 型である属性消去関数
 
bool deleteAttrID (const int key)
 キーが int 型、値が double 型である属性消去関数
 
bool deleteAttrIS (const int key)
 キーが int 型、値が std::string 型である属性消去関数
 
bool deleteAttrSI (const std::string key)
 キーが std::string 型、値が int 型である属性消去関数
 
bool deleteAttrSD (const std::string key)
 キーが std::string 型、値が double 型である属性消去関数
 
bool deleteAttrSS (const std::string key)
 キーが std::string 型、値が std::string 型である属性消去関数
 
- 基底クラス FK::fk_BaseObject に属する継承公開メンバ関数
 fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT)
 コンストラクタ
 
fk_Type getObjectType (void) const
 タイプ取得関数
 

詳解

矩形テクスチャを生成、管理するクラス

このクラスは、矩形型のテクスチャを制御する機能を提供します。 テクスチャを表示する方法としては、最も簡単なクラスとなります。

テクスチャ画像を表示する最低限の手順は、以下の通りです。

  1. 画像を入力する。
  2. setTextureSize() 関数で大きさを設定する。
  3. fk_Model に登録する。

あとは、他の形状クラスと同様です。

矩形の配置は、モデルの方向ベクトルに垂直となり、 画像の中心とモデルの中心が一致するように配置されます。 また、画像の表側はモデルの後方 (初期状態では +z 方向) 側から見た場合に見えるという点に注意して下さい。

参照
fk_Texture, fk_TriTexture, fk_MeshTexture, fk_IFSTexture

構築子と解体子

◆ fk_RectTexture()

FK::fk_RectTexture::fk_RectTexture ( fk_Image image = nullptr)

コンストラクタ

引数
[in]imageテクスチャ画像。省略するか nullptr を代入した場合は、 テクスチャ画像を初期状態では生成しません。

◆ ~fk_RectTexture()

virtual FK::fk_RectTexture::~fk_RectTexture ( )
virtual

デストラクタ

関数詳解

◆ init()

void FK::fk_RectTexture::init ( void  )

初期化関数

現在設定されているテクスチャ画像を廃棄し、全ての設定を初期状態に戻します。

◆ setTextureSize()

bool FK::fk_RectTexture::setTextureSize ( double  w,
double  h 
)

テクスチャサイズ設定関数

矩形テクスチャの大きさを設定します。

引数
[in]w横幅
[in]h縦幅
戻り値
横幅、縦幅のいずれかで 0 以下の値が入力されていた場合、 false を返します。設定に成功した場合は true を返します。

◆ getTextureSize()

fk_TexCoord FK::fk_RectTexture::getTextureSize ( void  )

テクスチャサイズ参照関数

矩形テクスチャの大きさを取得します。

戻り値
矩形テクスチャの大きさ

◆ setRepeatMode()

void FK::fk_RectTexture::setRepeatMode ( bool  mode)

リピートモード設定関数

リピートモードの設定を行います。 リピートモードを有効にすると、画像が縦横に行列上に並んでいる状態になります。 並ぶ枚数については、 setRepeatParam() 関数で設定します。

リピートモードを利用する場合、画像の横幅、縦幅いずれも \( 2^n \) (n は整数) で表される数値でなければならないという条件があります。 (横幅と縦幅は一致している必要はありません。) この条件を満たさなかった場合の動作は保証されません。 また、リピートモードを有効とした場合、 setTextureCoord() による 画像の切り出しも無効となります。

引数
[in]modetrue であればリピートモードを有効とし、 false であれば無効とします。
参照
setRepeatParam()

◆ getRepeatMode()

bool FK::fk_RectTexture::getRepeatMode ( void  )

リピートモード参照関数

現在のリピートモードの状態を取得します。

戻り値
true であればリピートモードが有効であることを意味します。 false であれば無効であることを意味します。
参照
setRepeatMode()

◆ setRepeatParam()

void FK::fk_RectTexture::setRepeatParam ( double  wNum,
double  hNum 
)

リピートモード枚数設定関数

リピートモードでの、縦方向と横方向に並べる枚数を設定します。 リピートモードについては setRepeatMode() の説明を参照して下さい。

なお、枚数は正であれば整数である必要はありません。 その場合は、右端と上端の画像が途中で切れます。

引数
[in]wNum横方法の枚数
[in]hNum縦方向の枚数
参照
setRepeatMode()

◆ getRepeatParam()

fk_TexCoord FK::fk_RectTexture::getRepeatParam ( void  )

リピートモード枚数参照関数

リピートモードの、各方向の枚数を取得します。

戻り値
各方向の枚数
参照
setRepeatParam()

◆ setTextureCoord() [1/2]

void FK::fk_RectTexture::setTextureCoord ( double  sX,
double  sY,
double  eX,
double  eY 
)

部分抽出設定関数1

画像の部分矩形領域を切り出し、その部分をテクスチャ画像とします。 領域指定はテクスチャ座標系を用います。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 なお、 setRepeatMode() でリピートモードを有効とした場合、 この部分抽出の設定は無効となります。

引数
[in]sX抽出左下部分の x 成分
[in]sY抽出左下部分の y 成分
[in]eX抽出右上部分の x 成分
[in]eY抽出右上部分の y 成分

◆ setTextureCoord() [2/2]

void FK::fk_RectTexture::setTextureCoord ( const fk_TexCoord S,
const fk_TexCoord E 
)

部分抽出設定関数2

画像の部分矩形領域を切り出し、その部分をテクスチャ画像とします。 領域指定はテクスチャ座標系を用います。 テクスチャ座標系については fk_TexCoord の説明を参照して下さい。 なお、 setRepeatMode() でリピートモードを有効とした場合、 この部分抽出の設定は無効となります。

引数
[in]S抽出左下部分のテクスチャ座標
[in]E抽出右上部分のテクスチャ座標

◆ getTextureCoord()

fk_TexCoord FK::fk_RectTexture::getTextureCoord ( int  ID)

部分抽出参照関数

setTextureCoord() 関数によって部分抽出領域を設定した場合、 その領域のテクスチャ座標を取得します。

引数
[in]ID0 であれば左下部のテクスチャ座標を、 1 であれば右上部のテクスチャ座標を返します。 それ以外の値を入力した場合は、常に (0, 0) を返します。
戻り値
左上部、または右上部のテクスチャ座標
参照
setTextureCoord()