<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>OpenVRML: openvrml::color_rgba Struct Reference</title> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <link rel="icon" href="../vrml-16"> <link rel="start" href="http://openvrml.org/index" title="OpenVRML Home"> <link rel="prev" href="http://openvrml.org/discussion" title="Discussion"> <link rel="contents" href="index" title="Documentation Main Page"> <link rel="index" href="functions" title="OpenVRML Compound Members"> <link rel="appendix" href="conformance" title="Conformance Test Results"> <style type="text/css"> @import url("doxygen.css"); @import url("tabs.css"); @import url("http://openvrml.org/openvrml.css"); body, td { font-size: 100%; } p, center, td, th, ul, dl, div { font-family: inherit; } h2 { border-bottom-style: solid; border-bottom-width: 1px; } /* * Doxygen as of 1.5.4-20071217 uses the class "navpath" instead of "nav". * For now, we'll do both. */ div.nav, div.navpath { background-color: transparent; text-align: left; margin-top: 1em; margin-bottom: 1em; border-color: black; border-left: none; border-right: none; padding-top: 0.5em; padding-bottom: 0.5em; } div.nav a.el:link, div.nav a.el:visited, div.navpath a.el:link, div.navpath a.el:visited { border-width: 1px; border-style: solid; border-color: silver; padding: 2px; } div.nav a.el:link:hover, div.nav a.el:visited:hover, div.navpath a.el:link:hover, div.navpath a.el:visited:hover { border-style: outset; border-color: gray; } div.nav a.el:active, div.navpath a.el:active { border-style: inset; border-color: gray; } .body td { background-color: transparent; } div.qindex { background-color: transparent; border: none; } a { color: inherit; } a.qindex { text-decoration: inherit; color: inherit; padding: 0; } a.qindex:visited { text-decoration: inherit; font-weight: inherit; color: inherit; padding: 0; } a.qindex:hover { text-decoration: inherit; background-color: transparent; padding: 0; } a.qindexHL { text-decoration: inherit; font-weight: inherit; background-color: transparent; color: inherit; padding: 0; } a.qindexHL:hover { text-decoration: inherit; background-color: transparent; color: inherit; padding: 0; } a.qindexHL:visited { text-decoration: inherit; background-color: transparent; color: inherit; } a.el { text-decoration: inherit; font-weight: inherit } a.elRef { font-weight: inherit } a.code:link, a.code:visited { text-decoration: inherit; font-weight: inherit; color: inherit; } a.codeRef:link { font-weight: normal; color: inherit; } a { color: inherit; } a:visited { color: silver; } a:hover { color: inherit; text-decoration: inherit; background-color: transparent; } h1 { line-height: 1.2em; } div.qindex { font-size: smaller; } div.qindex .qindex:link, div.qindex .qindex:visited { font-weight: inherit; } div.qindex .qindexHL:link, div.qindex .qindexHL:visited { font-weight: bold; } td.memItemLeft, td.memItemRight, td.memTemplParams, td.memTemplItemLeft, td.memTemplItemRight, .memtemplate, .memname td { font-family: Consolas, "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Lucida Console", LucidaTypewriter, monospace; } td.memItemLeft, td.memItemRight, td.mdescLeft, td.mdescRight { background-color: rgb(95%, 95%, 95%); } .mdTable { background-color: rgb(95%, 95%, 95%); } .memproto td code { font-family: inherit; font-style: italic; } td.pass { background-color: rgb(50%, 100%, 50%); } td.fail { background-color: rgb(100%, 50%, 50%); } td.invalid { background-color: rgb(75%, 75%, 75%); } .memitem { background-color: rgb(95%, 95%, 95%); border-color: rgb(80%, 80%, 80%); } .memproto { background-color: rgb(90%, 90%, 90%); border-color: rgb(65%, 65%, 65%); font-weight: inherit; } .memname { font-weight: inherit; } div.tabs { background-image: url("tab_b-openvrml.png"); } div.tabs span { background-image: url("tab_l-openvrml.png"); } div.tabs a { background-image: url("tab_r-openvrml.png"); border-bottom: 1px solid #a5a5a5; } div.tabs a:link, div.tabs a:visited, div.tabs a:active, div.tabs a:hover { color: black; } table { border-collapse: collapse; border-spacing: 0; } .note { border: 1px solid rgb(65%, 65%, 65%); background-color: rgb(95%, 95%, 95%); margin-left: 10%; margin-right: 10%; } </style> </head> <body> <table class="sitenav"> <tr> <th><a href="http://openvrml.org/index" title="Home">Home</a></th> <th><a href="http://openvrml.org/download" title="Download">Download</a></th> <th><a href="http://openvrml.org/screenshots/index" title="Screen shots">Screen shots</a></th> <th><a href="http://openvrml.org/discussion" title="Mailing lists and IRC">Discussion</a></th> <th>Documentation</th> </tr> </table> <div class="body"> <!-- Generated by Doxygen 1.5.4 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="nav"> <a class="el" href="namespaceopenvrml.html">openvrml</a>::<a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a></div> <h1>openvrml::color_rgba Struct Reference</h1><!-- doxytag: class="openvrml::color_rgba" --><code>#include <openvrml/basetypes.h></code> <p> <p> <a href="structopenvrml_1_1color__rgba-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> A POD-struct comprising a <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a> with an alpha channel. <p> VRML <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a>s</code> are represented as four single-precision floating point components—red, green, blue, and alpha—ranging from 0.0 to 1.0. For the alpha channel, 1.0 is opaque. <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const float & </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#f0826f38f30d5814962050faf7368d0a">operator[]</a> (std::size_t index) const throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Index-based component access. <a href="#f0826f38f30d5814962050faf7368d0a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#0f2bfcd3b04aeea97ee60214d0d8c6b5">r</a> () const throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the red component. <a href="#0f2bfcd3b04aeea97ee60214d0d8c6b5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#016a3f799b671cab83ee03fe4c72ac32">g</a> () const throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the green component. <a href="#016a3f799b671cab83ee03fe4c72ac32"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#9d18caf7ebcc0164b6fbb27b81ebb2d6">b</a> () const throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the blue component. <a href="#9d18caf7ebcc0164b6fbb27b81ebb2d6"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#01b0e94565a21b38a6922b0c0a8a2f08">a</a> () const throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the alpha component. <a href="#01b0e94565a21b38a6922b0c0a8a2f08"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#e5f72ee6d3a4dff1854e138602092a19">r</a> (float value) throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the red component. <a href="#e5f72ee6d3a4dff1854e138602092a19"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#93f9ed2a853641cd462fd3f65c7139e7">g</a> (float value) throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the green component. <a href="#93f9ed2a853641cd462fd3f65c7139e7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#f95d328a1a5bcd784d74af045a526e40">b</a> (float value) throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the blue component. <a href="#f95d328a1a5bcd784d74af045a526e40"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#babf761ea9a4e5f41127a67b886d5909">a</a> (float value) throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the alpha component. <a href="#babf761ea9a4e5f41127a67b886d5909"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#07b7e0a834bcf1defdafefc1e40d24e7">hsv</a> (float(&result)[4]) const throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a> as hue, saturation, and value. <a href="#07b7e0a834bcf1defdafefc1e40d24e7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#25391974d9ffef068486847ec2114a7a">hsv</a> (float h, float s, float v, float a=1.0f) throw ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the <a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a> from hue, saturation, and value. <a href="#25391974d9ffef068486847ec2114a7a"></a><br></td></tr> <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#fb6490cf688f76d508d44ef594559fae">rgba</a> [4]</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">RGB triplet plus alpha. <a href="#fb6490cf688f76d508d44ef594559fae"></a><br></td></tr> <tr><td colspan="2"><br><h2>Related Functions</h2></td></tr> <tr><td colspan="2">(Note that these are not member functions.) <br><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1color__rgba.html">openvrml::color_rgba</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#1fc4be7825d1b7affab5dc8aa1fa3a42">make_color_rgba</a> () throw()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a zero-initialized <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>. <a href="#1fc4be7825d1b7affab5dc8aa1fa3a42"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1color__rgba.html">openvrml::color_rgba</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#c703785c6278c61d534950dc39114fe0">make_color_rgba</a> (const float(&<a class="el" href="structopenvrml_1_1color__rgba.html#fb6490cf688f76d508d44ef594559fae">rgba</a>)[4]) throw()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>. <a href="#c703785c6278c61d534950dc39114fe0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structopenvrml_1_1color__rgba.html">openvrml::color_rgba</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#e0740cd4c57857d469eb7d6bc6e40f11">make_color_rgba</a> (const float r, const float g, const float b, const float a) throw()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>. <a href="#e0740cd4c57857d469eb7d6bc6e40f11"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#76aba19dfc0e4d2bb2015d3b69c6f289">operator==</a> (const <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> &lhs, const <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> &rhs) throw()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compare for equality. <a href="#76aba19dfc0e4d2bb2015d3b69c6f289"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#bf4b0af409ae896b4ec7f1c6292bfbac">operator!=</a> (const <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> &lhs, const <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> &rhs) throw()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compare for inequality. <a href="#bf4b0af409ae896b4ec7f1c6292bfbac"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">std::istream & </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#277f166452713d744d3984f9c58dbbc7">operator>></a> (std::istream &in, <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> &c)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Stream input. <a href="#277f166452713d744d3984f9c58dbbc7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="structopenvrml_1_1color__rgba.html#3987eaaec7fdac2a1947a09129301b0b">operator<<</a> (std::ostream &out, const <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> &c)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Stream output. <a href="#3987eaaec7fdac2a1947a09129301b0b"></a><br></td></tr> </table> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="f0826f38f30d5814962050faf7368d0a"></a><!-- doxytag: member="openvrml::color_rgba::operator[]" ref="f0826f38f30d5814962050faf7368d0a" args="(std::size_t index) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const float & openvrml::color_rgba::operator[] </td> <td>(</td> <td class="paramtype">std::size_t </td> <td class="paramname"> <em>index</em> </td> <td> ) </td> <td width="100%"> const throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Index-based component access. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>index</em> </td><td>0 is the red component, 1 is the green component, 2 is the blue component, and 3 is the alpha component.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the component corresponding to <code>index</code>. </dd></dl> </div> </div><p> <a class="anchor" name="0f2bfcd3b04aeea97ee60214d0d8c6b5"></a><!-- doxytag: member="openvrml::color_rgba::r" ref="0f2bfcd3b04aeea97ee60214d0d8c6b5" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float openvrml::color_rgba::r </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the red component. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the red component. </dd></dl> </div> </div><p> <a class="anchor" name="016a3f799b671cab83ee03fe4c72ac32"></a><!-- doxytag: member="openvrml::color_rgba::g" ref="016a3f799b671cab83ee03fe4c72ac32" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float openvrml::color_rgba::g </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the green component. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the green component. </dd></dl> </div> </div><p> <a class="anchor" name="9d18caf7ebcc0164b6fbb27b81ebb2d6"></a><!-- doxytag: member="openvrml::color_rgba::b" ref="9d18caf7ebcc0164b6fbb27b81ebb2d6" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float openvrml::color_rgba::b </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the blue component. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the blue component. </dd></dl> </div> </div><p> <a class="anchor" name="01b0e94565a21b38a6922b0c0a8a2f08"></a><!-- doxytag: member="openvrml::color_rgba::a" ref="01b0e94565a21b38a6922b0c0a8a2f08" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float openvrml::color_rgba::a </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the alpha component. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the alpha component. </dd></dl> </div> </div><p> <a class="anchor" name="e5f72ee6d3a4dff1854e138602092a19"></a><!-- doxytag: member="openvrml::color_rgba::r" ref="e5f72ee6d3a4dff1854e138602092a19" args="(float value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void openvrml::color_rgba::r </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>value</em> </td> <td> ) </td> <td width="100%"> throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the red component. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>value</em> </td><td>the new component value. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="93f9ed2a853641cd462fd3f65c7139e7"></a><!-- doxytag: member="openvrml::color_rgba::g" ref="93f9ed2a853641cd462fd3f65c7139e7" args="(float value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void openvrml::color_rgba::g </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>value</em> </td> <td> ) </td> <td width="100%"> throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the green component. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>value</em> </td><td>the new component value. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="f95d328a1a5bcd784d74af045a526e40"></a><!-- doxytag: member="openvrml::color_rgba::b" ref="f95d328a1a5bcd784d74af045a526e40" args="(float value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void openvrml::color_rgba::b </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>value</em> </td> <td> ) </td> <td width="100%"> throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the blue component. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>value</em> </td><td>the new component value. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="babf761ea9a4e5f41127a67b886d5909"></a><!-- doxytag: member="openvrml::color_rgba::a" ref="babf761ea9a4e5f41127a67b886d5909" args="(float value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void openvrml::color_rgba::a </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>value</em> </td> <td> ) </td> <td width="100%"> throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the alpha component. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>value</em> </td><td>the new component value. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="07b7e0a834bcf1defdafefc1e40d24e7"></a><!-- doxytag: member="openvrml::color_rgba::hsv" ref="07b7e0a834bcf1defdafefc1e40d24e7" args="(float(&result)[4]) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void openvrml::color_rgba::hsv </td> <td>(</td> <td class="paramtype">float & </td> <td class="paramname"> <em>result</em>[4] </td> <td> ) </td> <td width="100%"> const throw ()</td> </tr> </table> </div> <div class="memdoc"> <p> Get the <a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a> as hue, saturation, and value. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>result</em> </td><td>the hue, saturation, and value. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="25391974d9ffef068486847ec2114a7a"></a><!-- doxytag: member="openvrml::color_rgba::hsv" ref="25391974d9ffef068486847ec2114a7a" args="(float h, float s, float v, float a=1.0f)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void openvrml::color_rgba::hsv </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>h</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>v</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>a</em> = <code>1.0f</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> throw ()</td> </tr> </table> </div> <div class="memdoc"> <p> Set the <a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a> from hue, saturation, and value. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>h</em> </td><td>hue. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>s</em> </td><td>saturation. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>v</em> </td><td>value. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>a</em> </td><td>alpha. </td></tr> </table> </dl> </div> </div><p> <hr><h2>Friends And Related Function Documentation</h2> <a class="anchor" name="1fc4be7825d1b7affab5dc8aa1fa3a42"></a><!-- doxytag: member="openvrml::color_rgba::make_color_rgba" ref="1fc4be7825d1b7affab5dc8aa1fa3a42" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="structopenvrml_1_1color__rgba.html">openvrml::color_rgba</a> make_color_rgba </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> throw()<code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create a zero-initialized <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>a zero-initialized <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>. </dd></dl> </div> </div><p> <a class="anchor" name="c703785c6278c61d534950dc39114fe0"></a><!-- doxytag: member="openvrml::color_rgba::make_color_rgba" ref="c703785c6278c61d534950dc39114fe0" args="(const float(&rgba)[4])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="structopenvrml_1_1color__rgba.html">openvrml::color_rgba</a> make_color_rgba </td> <td>(</td> <td class="paramtype">const float & </td> <td class="paramname"> <em>rgba</em>[4] </td> <td> ) </td> <td width="100%"> throw()<code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create a <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>. <p> This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rgba</em> </td><td>an array comprising red, green, blue, and alpha components.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>a <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>. </dd></dl> </div> </div><p> <a class="anchor" name="e0740cd4c57857d469eb7d6bc6e40f11"></a><!-- doxytag: member="openvrml::color_rgba::make_color_rgba" ref="e0740cd4c57857d469eb7d6bc6e40f11" args="(const float r, const float g, const float b, const float a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="structopenvrml_1_1color__rgba.html">openvrml::color_rgba</a> make_color_rgba </td> <td>(</td> <td class="paramtype">const float </td> <td class="paramname"> <em>r</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float </td> <td class="paramname"> <em>g</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float </td> <td class="paramname"> <em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float </td> <td class="paramname"> <em>a</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> throw()<code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create a <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>. <p> This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>r</em> </td><td>red component. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>g</em> </td><td>green component. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>b</em> </td><td>blue component. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>a</em> </td><td>alpha component.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>a <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>. </dd></dl> </div> </div><p> <a class="anchor" name="76aba19dfc0e4d2bb2015d3b69c6f289"></a><!-- doxytag: member="openvrml::color_rgba::operator==" ref="76aba19dfc0e4d2bb2015d3b69c6f289" args="(const color_rgba &lhs, const color_rgba &rhs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> & </td> <td class="paramname"> <em>lhs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> & </td> <td class="paramname"> <em>rhs</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> throw()<code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Compare for equality. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lhs</em> </td><td>left-hand operand. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rhs</em> </td><td>right-hand operand.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>true</code> if <code>lhs</code> and <code>rhs</code> have the same value; <code>false</code> otherwise. </dd></dl> </div> </div><p> <a class="anchor" name="bf4b0af409ae896b4ec7f1c6292bfbac"></a><!-- doxytag: member="openvrml::color_rgba::operator!=" ref="bf4b0af409ae896b4ec7f1c6292bfbac" args="(const color_rgba &lhs, const color_rgba &rhs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> & </td> <td class="paramname"> <em>lhs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> & </td> <td class="paramname"> <em>rhs</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> throw()<code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Compare for inequality. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lhs</em> </td><td>left-hand operand. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>rhs</em> </td><td>right-hand operand.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>true</code> if <code>lhs</code> and <code>rhs</code> dot not have the same value; <code>false</code> otherwise. </dd></dl> </div> </div><p> <a class="anchor" name="277f166452713d744d3984f9c58dbbc7"></a><!-- doxytag: member="openvrml::color_rgba::operator>>" ref="277f166452713d744d3984f9c58dbbc7" args="(std::istream &in, color_rgba &c)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::istream & operator>> </td> <td>(</td> <td class="paramtype">std::istream & </td> <td class="paramname"> <em>in</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> & </td> <td class="paramname"> <em>c</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Stream input. <p> Consistent with the VRML97 convention, commas (“<code></code>,”) in the input are treated as whitespace.<p> If any of the <a class="el" href="structopenvrml_1_1color.html" title="A POD-struct comprising a color.">color</a> components is outside the the range [0.0, 1.0], the <code>failbit</code> will be set on <code>in</code> and <code>c</code> will be left in an arbitrary state.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>in</em> </td><td>input stream. </td></tr> <tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>c</em> </td><td>a <code><a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a></code>.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>in</code>. </dd></dl> </div> </div><p> <a class="anchor" name="3987eaaec7fdac2a1947a09129301b0b"></a><!-- doxytag: member="openvrml::color_rgba::operator<<" ref="3987eaaec7fdac2a1947a09129301b0b" args="(std::ostream &out, const color_rgba &c)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">std::ostream & operator<< </td> <td>(</td> <td class="paramtype">std::ostream & </td> <td class="paramname"> <em>out</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structopenvrml_1_1color__rgba.html">color_rgba</a> & </td> <td class="paramname"> <em>c</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Stream output. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>out</em> </td><td>output stream. </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>c</em> </td><td>a <a class="el" href="structopenvrml_1_1color__rgba.html" title="A POD-struct comprising a color with an alpha channel.">color_rgba</a>.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>out</code>. </dd></dl> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="fb6490cf688f76d508d44ef594559fae"></a><!-- doxytag: member="openvrml::color_rgba::rgba" ref="fb6490cf688f76d508d44ef594559fae" args="[4]" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float <a class="el" href="structopenvrml_1_1color__rgba.html#fb6490cf688f76d508d44ef594559fae">openvrml::color_rgba::rgba</a>[4] </td> </tr> </table> </div> <div class="memdoc"> <p> RGB triplet plus alpha. <p> </div> </div><p> </div> <address class="footer"><span class="images"><a href="http://opengl.org"><img src="OGL_sm_wht.png" width="68" height="32" border="0" alt="OpenGL"></a><a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=7151&type=3" width="125" height="37" border="0" alt="SourceForge.net"></a></span><a href="http://sourceforge.net/tracker/?func=add&group_id=7151&atid=107151">Report error</a><br>Generated Tue Feb 5 04:13:15 2008 by Doxygen 1.5.4</address> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> <script type="text/javascript">_uacct = "UA-446379-2"; urchinTracker();</script> </body> </html>