Color3
#include <Imath/ImathColor.h>
The Color3
class template represents a 3-component color, with
pre-defined typedefs of unsigned char
, half
, and float
.
The Color3
class inherits from Vec3
and thus has
fields named x
, y
, and z
. The class itself implies no
specific interpretation of the values.
There are also various utility functions that operate on colors
defined in ImathColorAlgo.h
and described in Color Functions.
Example:
#include <Imath/ImathColor.h>
#include <cassert>
void
color3_example ()
{
Imath::C3c r (255, 0, 0);
Imath::C3c g (0, 255, 0);
Imath::C3c b (0, 0, 255);
Imath::C3c c = r + g + b;
assert (c.x == 255);
assert (c.x == 255);
assert (c.x == 255);
}
-
typedef Color3<unsigned char> Imath::Color3c
3 8-bit integer channels
-
typedef Color3<half> Imath::Color3h
3 half channels
-
typedef Color3<float> Imath::Color3f
3 float channels
-
typedef Color3<unsigned char> Imath::C3c
3 8-bit integer channels
-
typedef Color3<half> Imath::C3h
3 half channels
-
typedef Color3<float> Imath::C3f
3 float channels
-
template<class T>
class Color3 : public Imath::Vec3<T>
3-channel color class that inherits from Vec3.
This class does not impose interpretation on the channels, which can represent either rgb or hsv color values.
Note: because Color3 inherits from Vec3, its member fields are called x
, y
, and z
.
Constructors and Assignemt
-
inline Color3() noexcept
No initialization by default.
-
inline explicit constexpr Color3(T a) noexcept
Initialize to (a a a)
-
inline constexpr Color3(T a, T b, T c) noexcept
Initialize to (a b c)
-
inline constexpr Color3(const Color3 &c) noexcept
Construct from Color3.
-
template<class S>
inline constexpr Color3(const Vec3<S> &v) noexcept
Construct from Vec3.
-
~Color3() = default
Destructor.
-
inline constexpr const Color3 &operator=(const Color3 &c) noexcept
Component-wise assignment.
Arithmetic
-
inline constexpr const Color3 &operator+=(const Color3 &c) noexcept
Component-wise addition.
-
inline constexpr Color3 operator+(const Color3 &c) const noexcept
Component-wise addition.
-
inline constexpr const Color3 &operator-=(const Color3 &c) noexcept
Component-wise subtraction.
-
inline constexpr Color3 operator-(const Color3 &c) const noexcept
Component-wise subtraction.
-
inline constexpr Color3 operator-() const noexcept
Component-wise multiplication by -1.
-
inline constexpr const Color3 &negate() noexcept
Component-wise multiplication by -1.
-
inline constexpr const Color3 &operator*=(const Color3 &c) noexcept
Component-wise multiplication.
-
inline constexpr const Color3 &operator*=(T a) noexcept
Component-wise multiplication.
-
inline constexpr Color3 operator*(const Color3 &c) const noexcept
Component-wise multiplication.
-
inline constexpr Color3 operator*(T a) const noexcept
Component-wise multiplication.
-
inline constexpr const Color3 &operator/=(const Color3 &c) noexcept
Component-wise division.
-
inline constexpr const Color3 &operator/=(T a) noexcept
Component-wise division.
-
inline constexpr Color3 operator/(const Color3 &c) const noexcept
Component-wise division.
-
inline constexpr Color3 operator/(T a) const noexcept
Component-wise division.