FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
Color.h
[詳解]
1#if !defined(__FK_COLOR_HEADER__)
2#define __FK_COLOR_HEADER__
3
4#include <FK/Base.h>
5
6namespace FK {
7
9
21 class fk_Color : public fk_BaseObject {
22 public:
23
24#if !defined(FK_DOXYGEN_USER_PROCESS)
25 static constexpr float EPS = 0.0001f;
26#endif
27
29
33 std::vector<float> col;
34
36
42 fk_Color(float r = 0.2f, float g = 0.2f, float b = 0.2f, float a = 1.0f);
43
45
53 fk_Color(double r, double g, double b, double a = 1.0);
54
56 virtual ~fk_Color() {}
57
59
64 friend bool operator ==(fk_Color left, fk_Color right);
65
68
71
73
87
89
104
106
119
121
134
136
139 void init(void);
140
142
150 void init(float r, float g, float b, float a = 1.0f);
151
153
161 void init(double r, double g, double b, double a = 1.0);
162
164
172 void set(float r, float g, float b, float a = 1.0f);
173
175
183 void set(double r, double g, double b, double a = 1.0);
184
186
194 void setHSV(double h, double s, double v);
195
197
200 void setR(float r);
201
203
206 void setG(float g);
207
209
212 void setB(float b);
213
215
218 void setA(float a);
219
221
224 void setR(double r);
225
227
230 void setG(double g);
231
233
236 void setB(double b);
237
239
242 void setA(double a);
243
245
248 float getR(void) const;
249
251
254 float getG(void) const;
255
257
260 float getB(void) const;
261
263
266 float getA(void) const;
267
269
271
279 static double clamp(double x);
280
282
290 static float clamp(float x);
291
293
301 static fk_Color getPseudoColor(double x);
302
304
312 static fk_Color getPseudoColor(float x);
313
316
317 friend fk_Color operator +(const fk_Color &, const fk_Color &);
318 friend fk_Color operator -(const fk_Color &, const fk_Color &);
319 friend fk_Color operator *(const fk_Color &, double);
320 friend fk_Color operator *(double, const fk_Color &);
321 friend fk_Color operator /(const fk_Color &, double);
322
324
325#if !defined(FK_DOXYGEN_USER_PROCESS)
326 std::string OutStr(void);
327#endif
328 };
329
331
340
342
351
353
363 fk_Color operator *(const fk_Color &, double);
364
366
376 fk_Color operator *(double, const fk_Color &);
377
379
388 fk_Color operator /(const fk_Color &, double);
389}
390
391#endif // __FK_COLOR_HEADER__
392
393/****************************************************************************
394 *
395 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
396 *
397 * Redistribution and use in source and binary forms,
398 * with or without modification, are permitted provided that the
399 * following conditions are met:
400 *
401 * - Redistributions of source code must retain the above
402 * copyright notice, this list of conditions and the
403 * following disclaimer.
404 *
405 * - Redistributions in binary form must reproduce the above
406 * copyright notice, this list of conditions and the
407 * following disclaimer in the documentation and/or
408 * other materials provided with the distribution.
409 *
410 * - Neither the name of the copyright holders nor the names
411 * of its contributors may be used to endorse or promote
412 * products derived from this software without specific
413 * prior written permission.
414 *
415 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
416 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
417 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
418 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
419 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
420 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
421 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
422 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
423 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
424 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
425 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
426 * POSSIBILITY OF SUCH DAMAGE.
427 *
428 ****************************************************************************/
429/****************************************************************************
430 *
431 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
432 *
433 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
434 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
435 *
436 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
437 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
438 *
439 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
440 * および下記免責条項を含めること。
441 *
442 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
443 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
444 * 含めること。
445 *
446 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
447 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
448 * コントリビューターの名前を使用してはならない。
449 *
450 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
451 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
452 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
453 * に限定されない、いかなる保証もないものとします。著作権者もコン
454 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
455 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
456 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
457 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
458 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
459 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
460 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
461 * ついて、一切責任を負わないものとします。
462 *
463 ****************************************************************************/
FK の各クラスの基盤となる基本クラス
Definition Base.h:113
RGB色を管理するクラス
Definition Color.h:21
void setA(float a)
A要素設定関数
void setB(float b)
B要素設定関数
void set(float r, float g, float b, float a=1.0f)
設定関数1
float getG(void) const
G要素参照関数
friend fk_Color operator*(const fk_Color &, double)
実数倍二項演算子1
void init(void)
初期化関数1
fk_Color(float r=0.2f, float g=0.2f, float b=0.2f, float a=1.0f)
コンストラクタ1
fk_Color & operator*=(double)
実数積代入演算子
virtual ~fk_Color()
デストラクタ
Definition Color.h:56
friend fk_Color operator-(const fk_Color &, const fk_Color &)
色要素差二項演算子
fk_Color & operator-=(const fk_Color &)
単項差代入演算子
friend bool operator==(fk_Color left, fk_Color right)
比較等号演算子
friend fk_Color operator+(const fk_Color &, const fk_Color &)
色要素和二項演算子
void setG(float g)
G要素設定関数
void setHSV(double h, double s, double v)
HSV変換関数
float getR(void) const
R要素参照関数
float getB(void) const
B要素参照関数
void init(double r, double g, double b, double a=1.0)
初期化関数3
static float clamp(float x)
色成分範囲補正関数2
static double clamp(double x)
色成分範囲補正関数1
void setB(double b)
B要素設定関数
void setA(double a)
A要素設定関数
std::vector< float > col
色要素配列
Definition Color.h:33
fk_Color & operator=(const fk_Color &col)
単純代入演算子
static fk_Color getPseudoColor(float x)
擬似カラー取得関数2
fk_Color(const fk_Color &col)
コピーコンストラクタ
void set(double r, double g, double b, double a=1.0)
設定関数2
void setR(float r)
R要素設定関数
void setR(double r)
R要素設定関数
fk_Color(double r, double g, double b, double a=1.0)
コンストラクタ2
fk_Color & operator/=(double)
実数商代入演算子
friend fk_Color operator/(const fk_Color &, double)
実数商二項演算子
void init(float r, float g, float b, float a=1.0f)
初期化関数2
fk_Color & operator+=(const fk_Color &)
単項和代入演算子
static fk_Color getPseudoColor(double x)
擬似カラー取得関数1
float getA(void) const
A要素参照関数
void setG(double g)
G要素設定関数
Fine Kernel Toolkit 名前空間
Definition Angle.h:6
fk_Color operator+(const fk_Color &, const fk_Color &)
色要素和二項演算子
fk_Color operator/(const fk_Color &, double)
実数商二項演算子
fk_Color operator-(const fk_Color &, const fk_Color &)
色要素差二項演算子
fk_Color operator*(const fk_Color &, double)
実数倍二項演算子1