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

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

#include <CLI/FK_CLI/include/Color_CLI.h>

公開メンバ関数

 fk_Color ()
 コンストラクタ1
 
 fk_Color (double R, double G, double B)
 コンストラクタ2
 
 fk_Color (double R, double G, double B, double A)
 コンストラクタ3
 
 fk_Color (float R, float G, float B)
 コンストラクタ4
 
 fk_Color (float R, float G, float B, float A)
 コンストラクタ5
 
 fk_Color (fk_Color^ color)
 コンストラクタ6
 
 ~fk_Color ()
 デストラクタ
 
 !fk_Color ()
 ファイナライザ
 
bool Equals (fk_Color^ C)
 同値比較メソッド1
 
virtual bool Equals (Object^ C) override
 同値比較メソッド2
 
String ^ ToString () override
 文字列出力メソッド
 
void Init (void)
 初期化メソッド1
 
void Init (float R, float G, float B)
 初期化メソッド2
 
void Init (float R, float G, float B, float A)
 初期化メソッド3
 
void Init (double R, double G, double B)
 初期化メソッド4
 
void Init (double R, double G, double B, double A)
 初期化メソッド5
 
void Set (float R, float G, float B)
 設定メソッド1
 
void Set (float R, float G, float B, float A)
 設定メソッド2
 
void Set (double R, double G, double B)
 設定メソッド3
 
void Set (double R, double G, double B, double A)
 設定メソッド4
 
void SetHSV (double H, double S, double V)
 HSV変換メソッド
 

静的公開メンバ関数

static fk_ColorGetPseudoColor (double x)
 擬似カラー取得メソッド1
 
static fk_ColorGetPseudoColor (float x)
 擬似カラー取得メソッド2
 
二項演算子
static fk_Coloroperator+ (fk_Color^, fk_Color^)
 色要素和二項演算子
 
static fk_Coloroperator- (fk_Color^, fk_Color^)
 色要素差二項演算子
 
static fk_Coloroperator* (fk_Color^, double)
 実数倍二項演算子1
 
static fk_Coloroperator* (double, fk_Color^)
 実数倍二項演算子2
 
static fk_Coloroperator/ (fk_Color^, double)
 実数商二項演算子
 
代入演算子
static void operator*= (fk_Color^, double)
 実数積代入演算子
 
static void operator/= (fk_Color^, double)
 実数商代入演算子
 
static void operator+= (fk_Color^, fk_Color^)
 単項和代入演算子
 
static void operator-= (fk_Color^, fk_Color^)
 単項差代入演算子
 

プロパティ

float col [int] [get, set]
 色要素配列プロパティ
 
float r [get, set]
 R(赤)要素プロパティ
 
float g [get, set]
 G(緑)要素プロパティ
 
float b [get, set]
 B(青)要素プロパティ
 
float a [get, set]
 A(透過色)要素プロパティ
 

詳解

RGB色を管理するクラス

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

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

参照
fk_Material, fk_Scene

構築子と解体子

◆ fk_Color() [1/6]

FK_CLI::fk_Color::fk_Color ( )

コンストラクタ1

RGB値がすべて 0.2, 透過色 1 (完全不透明) であるデフォルト値で色を生成します。

◆ fk_Color() [2/6]

FK_CLI::fk_Color::fk_Color ( double  R,
double  G,
double  B 
)

コンストラクタ2

R,G,Bの各色を引数で指定します。透過色要素は初期値では 1 になります。

引数
[in]RR要素の値
[in]GG要素の値
[in]BB要素の値

◆ fk_Color() [3/6]

FK_CLI::fk_Color::fk_Color ( double  R,
double  G,
double  B,
double  A 
)

コンストラクタ3

R,G,B,A(透過色)の各色を引数で指定します。

引数
[in]RR要素の値
[in]GG要素の値
[in]BB要素の値
[in]AA要素の値

◆ fk_Color() [4/6]

FK_CLI::fk_Color::fk_Color ( float  R,
float  G,
float  B 
)

コンストラクタ4

R,G,Bの各色を引数で指定します。透過色要素は初期値では 1 になります。

引数
[in]RR要素の値
[in]GG要素の値
[in]BB要素の値

◆ fk_Color() [5/6]

FK_CLI::fk_Color::fk_Color ( float  R,
float  G,
float  B,
float  A 
)

コンストラクタ5

R,G,B,A(透過色)の各色を引数で指定します。

引数
[in]RR要素の値
[in]GG要素の値
[in]BB要素の値
[in]AA要素の値

◆ fk_Color() [6/6]

FK_CLI::fk_Color::fk_Color ( fk_Color color)

コンストラクタ6

他の fk_Color 型インスタンスより値をコピーしてインスンタスを生成します。

引数
[in]color別の fk_Color 型インスタンス

◆ ~fk_Color()

FK_CLI::fk_Color::~fk_Color ( )

デストラクタ

◆ !fk_Color()

FK_CLI::fk_Color::!fk_Color ( )

ファイナライザ

関数詳解

◆ operator+()

static fk_Color ^ FK_CLI::fk_Color::operator+ ( fk_Color ,
fk_Color  
)
static

色要素和二項演算子

色値 C1 と C2 の和を得るには、以下のように記述します。 C1, C2, C3 はいずれも fk_Color 型の変数です。

C3 = C1 + C2;

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

◆ operator-()

static fk_Color ^ FK_CLI::fk_Color::operator- ( fk_Color ,
fk_Color  
)
static

色要素差二項演算子

色値 C1 と C2 の差を得るには、以下のように記述します。 C1, C2, C3 はいずれも fk_Color 型の変数です。

C3 = C1 - C2;

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

◆ operator*() [1/2]

static fk_Color ^ FK_CLI::fk_Color::operator* ( fk_Color ,
double   
)
static

実数倍二項演算子1

ベクトル C1 のスカラー倍色値を得るには、以下のように記述します。 C1, C2 は共に fk_Color 型の変数で、d は double 型の変数です。

C2 = C1 * d;

色値と実数の順番は逆でも構いません。 なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。

◆ operator*() [2/2]

static fk_Color ^ FK_CLI::fk_Color::operator* ( double  ,
fk_Color  
)
static

実数倍二項演算子2

ベクトル C1 のスカラー倍色値を得るには、以下のように記述します。 C1, C2 は共に fk_Color 型の変数で、d は double 型の変数です。

C2 = d * C1;

色値と実数の順番は逆でも構いません。 なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。

◆ operator/()

static fk_Color ^ FK_CLI::fk_Color::operator/ ( fk_Color ,
double   
)
static

実数商二項演算子

ベクトル C1 のスカラー商色値を得るには、以下のように記述します。 C1, C2 は共に fk_Color 型の変数で、d は double 型の変数です。

C2 = C1/d;

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

◆ operator*=()

static void FK_CLI::fk_Color::operator*= ( fk_Color ,
double   
)
static

実数積代入演算子

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

C *= d;

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

C *= 2.0;

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

◆ operator/=()

static void FK_CLI::fk_Color::operator/= ( fk_Color ,
double   
)
static

実数商代入演算子

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

C /= d;

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

C /= 2.0;

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

◆ operator+=()

static void FK_CLI::fk_Color::operator+= ( fk_Color ,
fk_Color  
)
static

単項和代入演算子

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

C1 += C2;

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

C1 = C1 + C2;

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

◆ operator-=()

static void FK_CLI::fk_Color::operator-= ( fk_Color ,
fk_Color  
)
static

単項差代入演算子

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

C1 -= C2;

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

C1 = C1 - C2;

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

◆ Equals() [1/2]

bool FK_CLI::fk_Color::Equals ( fk_Color C)

同値比較メソッド1

二つの色値が同値かどうかを判定します。 単純に == 演算子を用いた場合はインスタンスが同一であるかどうかの判定となるため、 異なるインスタンスで同値かどうかを判定する場合はこのメソッドを利用して下さい。

引数
[in]C同値かどうかを判定する色値
戻り値
同値であれば true を、そうでなければ false を返します。

◆ Equals() [2/2]

virtual bool FK_CLI::fk_Color::Equals ( Object^  C)
overridevirtual

同値比較メソッド2

二つの色値の値が同値かどうかを判定します。 単純に == 演算子を用いた場合はインスタンスが同一であるかどうかの判定となるため、 異なるインスタンスで同値かどうかを判定する場合はこのメソッドを利用して下さい。

引数
[in]C同値かどうかを判定する色値
戻り値
同値であれば true を、そうでなければ false を返します。

◆ ToString()

String ^ FK_CLI::fk_Color::ToString ( )
override

文字列出力メソッド

現在の色成分値を文字列として出力します。

戻り値
成分値の文字列

◆ Init() [1/5]

void FK_CLI::fk_Color::Init ( void  )

初期化メソッド1

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

◆ Init() [2/5]

void FK_CLI::fk_Color::Init ( float  R,
float  G,
float  B 
)

初期化メソッド2

色要素の設定を行います。 Set(float, float, float) と同様に動作します。

引数
[in]RR要素値
[in]GG要素値
[in]BB要素値

◆ Init() [3/5]

void FK_CLI::fk_Color::Init ( float  R,
float  G,
float  B,
float  A 
)

初期化メソッド3

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

引数
[in]RR要素値
[in]GG要素値
[in]BB要素値
[in]AA要素値

◆ Init() [4/5]

void FK_CLI::fk_Color::Init ( double  R,
double  G,
double  B 
)

初期化メソッド4

色要素の設定を行います。 Set(double, double, double) と同様に動作します。

引数
[in]RR要素値
[in]GG要素値
[in]BB要素値

◆ Init() [5/5]

void FK_CLI::fk_Color::Init ( double  R,
double  G,
double  B,
double  A 
)

初期化メソッド5

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

引数
[in]RR要素値
[in]GG要素値
[in]BB要素値
[in]AA要素値

◆ Set() [1/4]

void FK_CLI::fk_Color::Set ( float  R,
float  G,
float  B 
)

設定メソッド1

色要素の設定を行います。 Init(float, float, float) と同様に動作します。

引数
[in]RR要素値
[in]GG要素値
[in]BB要素値

◆ Set() [2/4]

void FK_CLI::fk_Color::Set ( float  R,
float  G,
float  B,
float  A 
)

設定メソッド2

色要素の設定を行います。 Init(float, float, float, float) と同様に動作します。

引数
[in]RR要素値
[in]GG要素値
[in]BB要素値
[in]AA要素値

◆ Set() [3/4]

void FK_CLI::fk_Color::Set ( double  R,
double  G,
double  B 
)

設定メソッド3

色要素の設定を行います。 Init(double, double, double) と同様に動作します。

引数
[in]RR要素値
[in]GG要素値
[in]BB要素値

◆ Set() [4/4]

void FK_CLI::fk_Color::Set ( double  R,
double  G,
double  B,
double  A 
)

設定メソッド4

色要素の設定を行います。 Init(double, double, double, double) と同様に動作します。

引数
[in]RR要素値
[in]GG要素値
[in]BB要素値
[in]AA要素値

◆ SetHSV()

void FK_CLI::fk_Color::SetHSV ( double  H,
double  S,
double  V 
)

HSV変換メソッド

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

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

◆ GetPseudoColor() [1/2]

static fk_Color ^ FK_CLI::fk_Color::GetPseudoColor ( double  x)
static

擬似カラー取得メソッド1

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

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

◆ GetPseudoColor() [2/2]

static fk_Color ^ FK_CLI::fk_Color::GetPseudoColor ( float  x)
static

擬似カラー取得メソッド2

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

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

プロパティ詳解

◆ col

float FK_CLI::fk_Color::col[int]
getset

色要素配列プロパティ

各色要素を float の配列によってアクセスできるプロパティです。 メソッドを介さずに直接参照、操作しても問題ありません。

◆ r

float FK_CLI::fk_Color::r
getset

R(赤)要素プロパティ

R(赤)要素の参照・設定を行います。0から1の値となります。

◆ g

float FK_CLI::fk_Color::g
getset

G(緑)要素プロパティ

G(緑)要素の参照・設定を行います。0から1の値となります。

◆ b

float FK_CLI::fk_Color::b
getset

B(青)要素プロパティ

B(青)要素の参照・設定を行います。0から1の値となります。

◆ a

float FK_CLI::fk_Color::a
getset

A(透過色)要素プロパティ

A(透過色)要素の参照・設定を行います。 0から1の値となり、0 が完全な透明、1 が完全な不透明となります。