Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members | Related Pages

openvrml::color Class Reference
[Base Types]

A color. More...

List of all members.


Public Member Functions

 color () throw ()
 Construct.

 color (const float(&rgb)[3]) throw ()
 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.


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.


Detailed Description

A color.

VRML colors are represented as three single precision floating point components--red, green, and blue--ranging from 0.0 to 1.0.


Constructor & Destructor Documentation

openvrml::color::color float  r,
float  g,
float  b
throw () [inline]
 

Construct from red, green, and blue components.

Parameters:
r red component.
g green component.
b blue component.

Member Function Documentation

void openvrml::color::b float  value  )  throw () [inline]
 

Set the blue component.

Parameters:
value the new component value.

float openvrml::color::b  )  const throw () [inline]
 

Get the blue component.

Returns:
the blue component.

void openvrml::color::g float  value  )  throw () [inline]
 

Set the green component.

Parameters:
value the new component value.

float openvrml::color::g  )  const throw () [inline]
 

Get the green component.

Returns:
the green component.

void openvrml::color::hsv float  h,
float  s,
float  v
throw ()
 

Set the color from hue, saturation, and value.

Parameters:
h hue.
s saturation.
v value.

void openvrml::color::hsv float &  result[3]  )  const throw ()
 

Get the color as hue, saturation, and value.

Return values:
result the hue, saturation, and value.

const float & openvrml::color::operator[] size_t  index  )  const throw () [inline]
 

Index-based component access.

Parameters:
index 0 is the red component, 1 is the green component, and 2 is the blue component.
Returns:
the component corresponding to index.

void openvrml::color::r float  value  )  throw () [inline]
 

Set the red component.

Parameters:
value the new component value.

float openvrml::color::r  )  const throw () [inline]
 

Get the red component.

Returns:
the red component.

Friends And Related Function Documentation

bool operator!= const color lhs,
const color rhs
throw() [related]
 

Compare for inequality.

Parameters:
lhs left-hand operand.
rhs right-hand operand.
Returns:
true if lhs and rhs dot not have the same value; false otherwise.

std::ostream & operator<< std::ostream &  out,
const color c
[related]
 

Stream output.

Parameters:
out output stream.
c a color.
Returns:
out.

bool operator== const color lhs,
const color rhs
throw() [related]
 

Compare for equality.

Parameters:
lhs left-hand operand.
rhs right-hand operand.
Returns:
true if lhs and rhs have the same value; false otherwise.

Member Data Documentation

float openvrml::color::rgb[3] [private]
 

RGB triplet.

For internal use only.