48 return (
r != 0) || (
g != 0) || (
b != 0);
93 Color3 (
const class Color3unorm8& other);
96 return (
r == 0.0f) && (
g == 0.0f) && (
b == 0.0f);
100 return (
r == 1.0f) && (
g == 1.0f) && (
b == 1.0f);
162 return Color3(r * s, g * s, b * s);
165 return Color3(r / rkVector.
r, g / rkVector.
g, b / rkVector.
b);
170 return (*
this) * (1.0f / fScalar);
189 float dot (
const Color3& rkVector)
const;
190 float unitize (
float fTolerance = 1e-06f);
211 inline float min()
const {
216 inline float max()
const {
221 return (*
this) + (other - *
this) * a;
225 inline float sum()
const {
316 return ((
float*)
this)[i];
322 return ((
float*)
this)[i];
348 return (
r == rkVector.
r &&
g == rkVector.
g &&
b == rkVector.
b );
353 return (
r != rkVector.
r ||
g != rkVector.
g ||
b != rkVector.
b );
358 return Color3(
r + rkVector.
r,
g + rkVector.
g,
b + rkVector.
b);
363 return Color3(
r -rkVector.
r,
g - rkVector.
g,
b - rkVector.
b);
368 return Color3(
r * rkVector.
r,
g * rkVector.
g,
b * rkVector.
b);
414 return sqrtf(
r*
r +
g*
g +
b*
b);
419 float lenSquared =
r *
r +
g *
g +
b *
b;
421 if (lenSquared != 1.0f) {
422 return *
this / sqrtf(lenSquared);
430 return r*rkVector.
r +
g*rkVector.
g +
b*rkVector.
b;
435 return Color3(
g*rkVector.
b -
b*rkVector.
g,
b*rkVector.
r -
r*rkVector.
b,
436 r*rkVector.
g -
g*rkVector.
r);
441 Color3 kCross(
g*rkVector.
b -
b*rkVector.
g,
b*rkVector.
r -
r*rkVector.
b,
442 r*rkVector.
g -
g*rkVector.
r);
465 #if 0 // Disabled to avoid taking these useful names from the namespace
467 typedef float Biradiance;
468 typedef float Radiance;
469 typedef float Radiosity;
470 typedef float Energy;
471 typedef float Irradiance;
float dot(const Color3 &rkVector) const
Definition: Color3.h:429
bool operator>(const Color3 &) const
float max() const
Definition: Color3.h:216
float average() const
Definition: Color3.h:229
Color3 pow(const Color3 &other) const
Definition: Color3.h:194
static const Color3 & white()
Definition: Color3.cpp:192
static Color3 fromASRGB(uint32)
Definition: Color3.cpp:256
Color3()
Initializes to all zero.
Definition: Color3.h:45
bool operator>=(const Color3 &) const
Color3 & operator=(const Any &a)
Definition: Color3.cpp:25
bool fuzzyNe(const Color3 &other) const
Definition: Color3.h:333
float length() const
Definition: Color3.h:413
static Color3 random()
Definition: Color3.cpp:263
Color3 cross(const Color3 &rkVector) const
Definition: Color3.h:434
Color3 Radiance3
Definition: Color3.h:451
static Color3 jetColorMap(const float &val)
Definition: Color3.cpp:372
bool operator!=(const Color3 &rkVector) const
Definition: Color3.h:352
Color3 operator*(float s) const
Definition: Color3.h:161
static const Color3 & gray()
Definition: Color3.cpp:186
static const Color3 & purple()
Definition: Color3.cpp:139
Definition: HashTrait.h:105
Color3 Irradiance3
Definition: Color3.h:460
float squaredLength() const
Definition: Color3.h:408
bool any(float x)
Definition: g3dmath.h:424
bool fuzzyEq(const Color3 &other) const
Definition: Color3.h:327
Color3 Power3
Definition: Color3.h:463
bool operator<=(const Color3 &) const
static const Color3 & green()
Definition: Color3.cpp:127
bool fuzzyNe(double a, double b)
Definition: g3dmath.h:861
const Color3 & rgb() const
Definition: Color3.h:84
G3D::Color3 operator/(float s, const G3D::Color3 &c)
Definition: Color3.h:287
Color3 & operator/=(float fScalar)
Definition: Color3.cpp:270
static const Color3 & orange()
Definition: Color3.cpp:163
Color3 unitCross(const Color3 &rkVector) const
Definition: Color3.h:440
std::string toString() const
Definition: Color3.cpp:394
T max(const T &x, const T &y)
Definition: g3dmath.h:320
static size_t hashCode(const G3D::Color3 &key)
Definition: Color3.h:477
static const Color3 & cyan()
Definition: Color3.cpp:145
Color3 direction() const
Definition: Color3.h:418
Color3(float v)
Initializes all channels to v.
Definition: Color3.h:77
Color3 Biradiance3
Definition: Color3.h:448
Color3 lerp(const Color3 &other, float a) const
Definition: Color3.h:220
static const Color3 & yellow()
Definition: Color3.cpp:151
bool isOne() const
Definition: Color3.h:99
T min(const T &x, const T &y)
Definition: g3dmath.h:305
Easy loading and saving of human-readable configuration files.
Definition: Any.h:184
float g
Definition: Color3.h:139
static Color3 fromHSV(const Vector3 &_hsv)
Definition: Color3.cpp:302
static Color3 ansiMap(uint32 i)
Definition: Color3.cpp:100
static const Color3 & blue()
Definition: Color3.cpp:133
Any toAny() const
Definition: Color3.cpp:93
static const Color3 & one()
Definition: Color3.cpp:180
static const Color3 & zero()
Definition: Color3.cpp:174
static const Color3 & wheelRandom()
Definition: Color3.cpp:222
void serialize(class BinaryOutput &bo) const
Definition: Color3.cpp:215
size_t hashCode() const
Definition: Color3.cpp:232
static const Color3 & red()
Definition: Color3.cpp:121
float unitize(float fTolerance=1e-06f)
Definition: Color3.cpp:286
Color3 & operator-=(const Color3 &rkVector)
Definition: Color3.h:385
Color3 Energy3
Definition: Color3.h:457
static Color3 fromARGB(uint32)
Definition: Color3.cpp:252
float r
Definition: Color3.h:139
const float & operator[](int i) const
Definition: Color3.h:321
static Vector3 toHSV(const Color3 &_rgb)
Definition: Color3.cpp:337
Color3 operator/(const Color3 &rkVector) const
Definition: Color3.h:164
float sum() const
Definition: Color3.h:225
Color3 & operator*=(const Color3 &rkVector)
Definition: Color3.h:401
float min() const
Definition: Color3.h:211
Definition: BinaryOutput.h:52
Color3 max(const Color3 &other) const
Definition: Color3.h:202
Color3 operator-() const
Definition: Color3.h:372
bool isFinite() const
Definition: Color3.cpp:198
Color3 pow(float other) const
Definition: Color3.h:198
static const Color3 & black()
Definition: Color3.cpp:169
const FieldDescriptor value
Definition: descriptor.h:1522
bool operator==(const Color3 &rkVector) const
Definition: Color3.h:347
uint32_t uint32
Definition: g3dmath.h:168
bool nonZero() const
Definition: Color3.h:47
static Color3 pastelMap(uint32 i)
Definition: Color3.cpp:111
Color3 & operator+=(const Color3 &rkVector)
Definition: Color3.h:377
void deserialize(class BinaryInput &bi)
Definition: Color3.cpp:208
Color3 Radiosity3
Definition: Color3.h:454
float value
Definition: Color1.h:37
Color3 bgr() const
Definition: Color3.h:270
bool isZero() const
Definition: Color3.h:95
Color3 min(const Color3 &other) const
Definition: Color3.h:206
bool operator<(const Color3 &) const
bool fuzzyEq(double a, double b)
Definition: g3dmath.h:857
G3D::Color3 operator*(float s, const G3D::Color3 &c)
Definition: Color3.h:275
static const Color3 & brown()
Definition: Color3.cpp:157
static Color3 rainbowColorMap(float hue)
Definition: Color3.cpp:400
Color3 operator+(const Color3 &rkVector) const
Definition: Color3.h:357
float b
Definition: Color3.h:139