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

RGB色を管理するクラス [詳解]

#include <FK/Color.h>

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

公開メンバ関数

 fk_Color (float r=0.2f, float g=0.2f, float b=0.2f, float a=1.0f)
 コンストラクタ1
 
 fk_Color (double r, double g, double b, double a=1.0)
 コンストラクタ2
 
virtual ~fk_Color ()
 デストラクタ
 
 fk_Color (const fk_Color &col)
 コピーコンストラクタ
 
fk_Coloroperator= (const fk_Color &col)
 単純代入演算子
 
fk_Coloroperator*= (double)
 実数積代入演算子
 
fk_Coloroperator/= (double)
 実数商代入演算子
 
fk_Coloroperator+= (const fk_Color &)
 単項和代入演算子
 
fk_Coloroperator-= (const fk_Color &)
 単項差代入演算子
 
void init (void)
 初期化関数1
 
void init (float r, float g, float b, float a=1.0f)
 初期化関数2
 
void init (double r, double g, double b, double a=1.0)
 初期化関数3
 
void set (float r, float g, float b, float a=1.0f)
 設定関数1
 
void set (double r, double g, double b, double a=1.0)
 設定関数2
 
void setHSV (double h, double s, double v)
 HSV変換関数
 
void setR (float r)
 R要素設定関数
 
void setG (float g)
 G要素設定関数
 
void setB (float b)
 B要素設定関数
 
void setA (float a)
 A要素設定関数
 
void setR (double r)
 R要素設定関数
 
void setG (double g)
 G要素設定関数
 
void setB (double b)
 B要素設定関数
 
void setA (double a)
 A要素設定関数
 
float getR (void) const
 R要素参照関数
 
float getG (void) const
 G要素参照関数
 
float getB (void) const
 B要素参照関数
 
float getA (void) const
 A要素参照関数
 
- 基底クラス FK::fk_BaseObject に属する継承公開メンバ関数
 fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT)
 コンストラクタ
 
fk_Type getObjectType (void) const
 タイプ取得関数
 

静的公開メンバ関数

static double clamp (double x)
 色成分範囲補正関数1
 
static float clamp (float x)
 色成分範囲補正関数2
 
static fk_Color getPseudoColor (double x)
 擬似カラー取得関数1
 
static fk_Color getPseudoColor (float x)
 擬似カラー取得関数2
 

公開変数類

std::vector< float > col
 色要素配列
 

詳解

RGB色を管理するクラス

このクラスは、RGBA法による色を管理、制御する機能を提供します。 「RGBA」のRが赤、Gが緑、Bが青、Aが透過度を意味します。 各要素は float 型によって表現し、値域は 0 から 1 までです。 透過色要素は 0 が完全な透明、1 が完全な不透明となります。

なお、透過色を設定した場合でも、 シーンで透過処理設定を有効としなければ、透過処理が行われません。 詳細は fk_Scene::setBlendStatus() の説明を参照して下さい。

参照
fk_Material, fk_Scene

構築子と解体子

◆ fk_Color() [1/3]

FK::fk_Color::fk_Color ( float  r = 0.2f,
float  g = 0.2f,
float  b = 0.2f,
float  a = 1.0f 
)

コンストラクタ1

引数
[in]rR要素の値
[in]gG要素の値
[in]bB要素の値
[in]a透過要素の値

◆ fk_Color() [2/3]

FK::fk_Color::fk_Color ( double  r,
double  g,
double  b,
double  a = 1.0 
)

コンストラクタ2

引数の型が double 型である以外は、「コンストラクタ1」と同じです。

引数
[in]rR要素の値
[in]gG要素の値
[in]bB要素の値
[in]a透過要素の値

◆ ~fk_Color()

virtual FK::fk_Color::~fk_Color ( )
inlinevirtual

デストラクタ

◆ fk_Color() [3/3]

FK::fk_Color::fk_Color ( const fk_Color col)

コピーコンストラクタ

関数詳解

◆ operator=()

fk_Color & FK::fk_Color::operator= ( const fk_Color col)

単純代入演算子

◆ operator*=()

fk_Color & FK::fk_Color::operator*= ( double  )

実数積代入演算子

以下のコードは、C の各成分を d 倍します。 C は fk_Color 型の変数、d は double 型の変数です。

C *= d;

d は変数でなく数値でも構いません。

C *= 2.0;

なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。

◆ operator/=()

fk_Color & FK::fk_Color::operator/= ( double  )

実数商代入演算子

以下のコードは、C の各成分を 1/d 倍します。 C は fk_Color 型の変数、d は double 型の変数です。

C /= d;

d は変数でなく数値でも構いません。

C /= 2.0;

なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。 また、d が 0 であった場合は C の値を変更しません。

◆ operator+=()

fk_Color & FK::fk_Color::operator+= ( const fk_Color )

単項和代入演算子

以下のコードは、C1 に C2 を追加します。 C1、C2 はいずれも fk_Color 型の変数です。

C1 += C2;

上記コードは、以下のコードと同義です。

C1 = C1 + C2;

なお演算の結果、成分値が 1 を超える場合はその成分を 1 とします。

◆ operator-=()

fk_Color & FK::fk_Color::operator-= ( const fk_Color )

単項差代入演算子

以下のコードは、C1 から C2 を引きます。 C1、C2 はいずれも fk_Color 型の変数です。

C1 -= C2;

上記コードは、以下のコードと同義です。

C1 = C1 - C2;

なお演算の結果、成分値が 0 未満となる場合はその成分を 0 にします。

◆ init() [1/3]

void FK::fk_Color::init ( void  )

初期化関数1

(R, G, B, A) = (0, 0, 0, 1) で初期化を行います。

◆ init() [2/3]

void FK::fk_Color::init ( float  r,
float  g,
float  b,
float  a = 1.0f 
)

初期化関数2

色要素の設定を行います。同一引数型を持つ set() と同様に動作します。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
[in]aA要素値

◆ init() [3/3]

void FK::fk_Color::init ( double  r,
double  g,
double  b,
double  a = 1.0 
)

初期化関数3

色要素の設定を行います。同一引数型を持つ set() と同様に動作します。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
[in]aA要素値

◆ set() [1/2]

void FK::fk_Color::set ( float  r,
float  g,
float  b,
float  a = 1.0f 
)

設定関数1

色要素の設定を行います。同一引数型を持つ init() と同様に動作します。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
[in]aA要素値

◆ set() [2/2]

void FK::fk_Color::set ( double  r,
double  g,
double  b,
double  a = 1.0 
)

設定関数2

色要素の設定を行います。同一引数型を持つ init() と同様に動作します。

引数
[in]rR要素値
[in]gG要素値
[in]bB要素値
[in]aA要素値

◆ setHSV()

void FK::fk_Color::setHSV ( double  h,
double  s,
double  v 
)

HSV変換関数

HSV色からの変換を行い、その結果を格納します。 透明度は 1.0 (完全な不透明) となります。

引数
[in]h色相要素値。単位は弧度法(ラジアン)です。
[in]s彩度要素値。最小値は0、最大値は1です。
[in]v明度要素値。最小値は0、最大値は1です。

◆ setR() [1/2]

void FK::fk_Color::setR ( float  r)

R要素設定関数

引数
[in]rR要素値

◆ setG() [1/2]

void FK::fk_Color::setG ( float  g)

G要素設定関数

引数
[in]gG要素値

◆ setB() [1/2]

void FK::fk_Color::setB ( float  b)

B要素設定関数

引数
[in]bB要素値

◆ setA() [1/2]

void FK::fk_Color::setA ( float  a)

A要素設定関数

引数
[in]aA要素値

◆ setR() [2/2]

void FK::fk_Color::setR ( double  r)

R要素設定関数

引数
[in]rR要素値

◆ setG() [2/2]

void FK::fk_Color::setG ( double  g)

G要素設定関数

引数
[in]gG要素値

◆ setB() [2/2]

void FK::fk_Color::setB ( double  b)

B要素設定関数

引数
[in]bB要素値

◆ setA() [2/2]

void FK::fk_Color::setA ( double  a)

A要素設定関数

引数
[in]aA要素値

◆ getR()

float FK::fk_Color::getR ( void  ) const

R要素参照関数

戻り値
R要素値

◆ getG()

float FK::fk_Color::getG ( void  ) const

G要素参照関数

戻り値
G要素値

◆ getB()

float FK::fk_Color::getB ( void  ) const

B要素参照関数

戻り値
B要素値

◆ getA()

float FK::fk_Color::getA ( void  ) const

A要素参照関数

戻り値
A要素値

◆ clamp() [1/2]

static double FK::fk_Color::clamp ( double  x)
static

色成分範囲補正関数1

入力した成分値に対し、0 未満である場合 0 を、 1 以上である場合 1 を、それ以外の場合は入力値自身を返します。

引数
[in]x入力値
戻り値
補正値

◆ clamp() [2/2]

static float FK::fk_Color::clamp ( float  x)
static

色成分範囲補正関数2

入力した成分値に対し、0 未満である場合 0 を、 1 以上である場合 1 を、それ以外の場合は入力値自身を返します。

引数
[in]x入力値
戻り値
補正値

◆ getPseudoColor() [1/2]

static fk_Color FK::fk_Color::getPseudoColor ( double  x)
static

擬似カラー取得関数1

入力した数値に対する擬似カラーを出力します。 入力値の最小値は0, 最大値は1と想定しています。

引数
[in]x入力値
戻り値
擬似カラー

◆ getPseudoColor() [2/2]

static fk_Color FK::fk_Color::getPseudoColor ( float  x)
static

擬似カラー取得関数2

入力した数値に対する擬似カラーを出力します。 入力値の最小値は0, 最大値は1と想定しています。

引数
[in]x入力値
戻り値
擬似カラー

メンバ詳解

◆ col

std::vector<float> FK::fk_Color::col

色要素配列

各色要素を float の配列によって格納しています。 メンバ関数を介さずに直接参照、操作しても問題ありません。