| Home | Download | Screen shots | Discussion | Documentation |
|---|
#include <openvrml/basetypes.h>
VRML colors are represented as three single-precision floating point components—red, green, and blue—ranging from 0.0 to 1.0.
Public Member Functions | |
| color () throw () | |
| Construct. | |
| color (const float(&rgb)[3]) throw () | |
| Construct from a 3-element float array. | |
| color (float r, float g, float b) throw () | |
| Construct from red, green, and blue components. | |
| const float & | operator[] (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. | |
Private Attributes | |
| float | rgb [3] |
| RGB triplet. | |
Friends | |
| std::istream & | operator>> (std::istream &in, color &c) |
| Stream input. | |
Related Functions | |
| (Note that these are not member functions.) | |
| 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::ostream & | operator<< (std::ostream &out, const color &c) |
| Stream output. | |
| openvrml::color::color | ( | ) | throw () |
Construct.
| openvrml::color::color | ( | const float & | rgb[3] | ) | throw () [explicit] |
Construct from a 3-element float array.
| [in] | rgb | an array comprising red, green, and blue components. |
| openvrml::color::color | ( | float | r, | |
| float | g, | |||
| float | b | |||
| ) | throw () |
Construct from red, green, and blue components.
| [in] | r | red component. |
| [in] | g | green component. |
| [in] | b | blue component. |
| const float & openvrml::color::operator[] | ( | size_t | index | ) | const throw () [inline] |
Index-based component access.
| [in] | index | 0 is the red component, 1 is the green component, and 2 is the blue component. |
index. | float openvrml::color::r | ( | ) | const throw () [inline] |
Get the red component.
| float openvrml::color::g | ( | ) | const throw () [inline] |
Get the green component.
| float openvrml::color::b | ( | ) | const throw () [inline] |
Get the blue component.
| void openvrml::color::r | ( | float | value | ) | throw () [inline] |
Set the red component.
| [in] | value | the new component value. |
| void openvrml::color::g | ( | float | value | ) | throw () [inline] |
Set the green component.
| [in] | value | the new component value. |
| void openvrml::color::b | ( | float | value | ) | throw () [inline] |
Set the blue component.
| [in] | value | the new component value. |
| void openvrml::color::hsv | ( | float & | result[3] | ) | const throw () |
Get the color as hue, saturation, and value.
| [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.
| [in] | h | hue. |
| [in] | s | saturation. |
| [in] | v | value. |
| std::istream& operator>> | ( | std::istream & | in, | |
| color & | c | |||
| ) | [friend] |
Stream input.
Consistent with the VRML97 convention, commas (“,”) in the input are treated as whitespace.
If any of the color components are outside the the range [0.0, 1.0], the failbit will be set on in and c will be left in an arbitrary state.
| [in,out] | in | input stream. |
| [out] | c | a color. |
in. Compare for equality.
| [in] | lhs | left-hand operand. |
| [in] | rhs | right-hand operand. |
true if lhs and rhs have the same value; false otherwise. Compare for inequality.
| [in] | lhs | left-hand operand. |
| [in] | rhs | right-hand operand. |
true if lhs and rhs do not have the same value; false otherwise. | std::ostream & operator<< | ( | std::ostream & | out, | |
| const color & | c | |||
| ) | [related] |
float openvrml::color::rgb[3] [private] |
RGB triplet.
For internal use only.