openvrml::color Struct Reference
A POD-struct comprising a color.
More...
#include <openvrml/basetypes.h>
List of all members.
Public Member Functions |
const float & | operator[] (std::size_t index) const throw () |
| Index-based component access.
|
float | r () const throw () |
| Get the red component.
|
float | g () const throw () |
| Get the green component.
|
float | b () const throw () |
| Get the blue component.
|
void | r (float value) throw () |
| Set the red component.
|
void | g (float value) throw () |
| Set the green component.
|
void | b (float value) throw () |
| Set the blue component.
|
void | hsv (float(&result)[3]) const throw () |
| Get the color as hue, saturation, and value.
|
void | hsv (float h, float s, float v) throw () |
| Set the color from hue, saturation, and value.
|
Public Attributes |
float | rgb [3] |
| RGB triplet.
|
Related Functions |
(Note that these are not member functions.)
|
const openvrml::color | make_color () throw() |
| Create a zero-initialized color.
|
const openvrml::color | make_color (const float(&rgb)[3]) throw() |
| Create a color.
|
const openvrml::color | make_color (const float r, const float g, const float b) throw() |
| Create a color.
|
bool | operator== (const color &lhs, const color &rhs) throw() |
| Compare for equality.
|
bool | operator!= (const color &lhs, const color &rhs) throw() |
| Compare for inequality.
|
std::istream & | operator>> (std::istream &in, color &c) |
| Stream input.
|
std::ostream & | operator<< (std::ostream &out, const color &c) |
| Stream output.
|
Detailed Description
A POD-struct comprising a color.
VRML colors are represented as three single-precision floating point components—red, green, and blue—ranging from 0.0 to 1.0.
Member Function Documentation
const float & openvrml::color::operator[] |
( |
std::size_t |
index |
) |
const throw () [inline] |
Index-based component access.
- Parameters:
-
[in] | index | 0 is the red component, 1 is the green component, and 2 is the blue component. |
- Returns:
- the component corresponding to
index
.
float openvrml::color::r |
( |
|
) |
const throw () [inline] |
Get the red component.
- Returns:
- the red component.
float openvrml::color::g |
( |
|
) |
const throw () [inline] |
Get the green component.
- Returns:
- the green component.
float openvrml::color::b |
( |
|
) |
const throw () [inline] |
Get the blue component.
- Returns:
- the blue component.
void openvrml::color::r |
( |
float |
value |
) |
throw () [inline] |
Set the red component.
- Parameters:
-
[in] | value | the new component value. |
void openvrml::color::g |
( |
float |
value |
) |
throw () [inline] |
Set the green component.
- Parameters:
-
[in] | value | the new component value. |
void openvrml::color::b |
( |
float |
value |
) |
throw () [inline] |
Set the blue component.
- Parameters:
-
[in] | value | the new component value. |
void openvrml::color::hsv |
( |
float(&) |
result[3] |
) |
const throw () |
Get the color as hue, saturation, and value.
- Parameters:
-
[out] | result | the hue, saturation, and value. |
void openvrml::color::hsv |
( |
float |
h, |
|
|
float |
s, |
|
|
float |
v | |
|
) |
| | throw () |
Set the color from hue, saturation, and value.
- Parameters:
-
[in] | h | hue. |
[in] | s | saturation. |
[in] | v | value. |
Friends And Related Function Documentation
Create a zero-initialized color.
- Returns:
- a zero-initialized color.
const openvrml::color make_color |
( |
const float(&) |
rgb[3] |
) |
throw() [related] |
Create a color.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
- Parameters:
-
[in] | rgb | an array comprising red, green, and blue components. |
- Returns:
- a color.
const openvrml::color make_color |
( |
const float |
r, |
|
|
const float |
g, |
|
|
const float |
b | |
|
) |
| | throw() [related] |
Create a color.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
- Parameters:
-
[in] | r | red component. |
[in] | g | green component. |
[in] | b | blue component. |
- Returns:
- a color.
bool operator== |
( |
const color & |
lhs, |
|
|
const color & |
rhs | |
|
) |
| | throw() [related] |
Compare for equality.
- Parameters:
-
[in] | lhs | left-hand operand. |
[in] | rhs | right-hand operand. |
- Returns:
true
if lhs
and rhs
have the same value; false
otherwise.
bool operator!= |
( |
const color & |
lhs, |
|
|
const color & |
rhs | |
|
) |
| | throw() [related] |
Compare for inequality.
- Parameters:
-
[in] | lhs | left-hand operand. |
[in] | rhs | right-hand operand. |
- Returns:
true
if lhs
and rhs
do not have the same value; false
otherwise.
std::istream & operator>> |
( |
std::istream & |
in, |
|
|
color & |
c | |
|
) |
| | [related] |
Stream input.
Consistent with the VRML97 convention, commas (“
,”) in the input are treated as whitespace.
If any of the color components is outside the the range [0.0, 1.0], the failbit
will be set on in
and c
will be left in an arbitrary state.
- Parameters:
-
[in,out] | in | input stream. |
[out] | c | a color . |
- Returns:
in
.
std::ostream & operator<< |
( |
std::ostream & |
out, |
|
|
const color & |
c | |
|
) |
| | [related] |
Stream output.
- Parameters:
-
[in,out] | out | output stream. |
[in] | c | a color . |
- Returns:
out
.
- Examples:
- pretty_print.cpp.
Member Data Documentation