<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>FTGL: FTBBox Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.2-20100208 --> <div class="navigation" id="top"> <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>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="contents"> <h1>FTBBox Class Reference</h1><!-- doxytag: class="FTBBox" --> <p><a class="el" href="classFTBBox.html" title="FTBBox is a convenience class for handling bounding boxes.">FTBBox</a> is a convenience class for handling bounding boxes. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>></code></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#a1779a36f0f573c6215de9a1bcee61f15">FTBBox</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <a href="#a1779a36f0f573c6215de9a1bcee61f15"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#a13345139067cc08b799bf7082895bda0">FTBBox</a> (float lx, float ly, float lz, float ux, float uy, float uz)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a13345139067cc08b799bf7082895bda0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#ad09fe772cbaeeeadba6f01d3655b3ca4">FTBBox</a> (<a class="el" href="classFTPoint.html">FTPoint</a> l, <a class="el" href="classFTPoint.html">FTPoint</a> u)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#ad09fe772cbaeeeadba6f01d3655b3ca4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#a08a2bdc33037650e5f2d430c127e7d14">FTBBox</a> (FT_GlyphSlot glyph)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a08a2bdc33037650e5f2d430c127e7d14"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#a377c940076f798b35450636d2cc58095">~FTBBox</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#a377c940076f798b35450636d2cc58095"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#a1432e63029459c4c4964fcab0043919e">Invalidate</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Mark the bounds invalid by setting all lower dimensions greater than the upper dimensions. <a href="#a1432e63029459c4c4964fcab0043919e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#a90dfe0b5a8d0f22632074fd8fb554926">IsValid</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determines if this bounding box is valid. <a href="#a90dfe0b5a8d0f22632074fd8fb554926"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classFTBBox.html">FTBBox</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#ae19d47a4085d77eafeb6d311686e46e8">operator+=</a> (const <a class="el" href="classFTPoint.html">FTPoint</a> vector)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Move the Bounding Box by a vector. <a href="#ae19d47a4085d77eafeb6d311686e46e8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classFTBBox.html">FTBBox</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#a98a2344c0f33fe4a6e91082af595e754">operator|=</a> (const <a class="el" href="classFTBBox.html">FTBBox</a> &bbox)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Combine two bounding boxes. <a href="#a98a2344c0f33fe4a6e91082af595e754"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#a40d501414c5eeaf4d35034c017cbc9ab">SetDepth</a> (float depth)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classFTPoint.html">FTPoint</a> const </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#a9c33d51b0bddc05ad89ecbf6790b4193">Upper</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classFTPoint.html">FTPoint</a> const </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTBBox.html#a8172e5c98a2a6e02ba7d4dc0cd6c0b0e">Lower</a> () const </td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p><a class="el" href="classFTBBox.html" title="FTBBox is a convenience class for handling bounding boxes.">FTBBox</a> is a convenience class for handling bounding boxes. </p> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00042">42</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a1779a36f0f573c6215de9a1bcee61f15"></a><!-- doxytag: member="FTBBox::FTBBox" ref="a1779a36f0f573c6215de9a1bcee61f15" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FTBBox::FTBBox </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Default constructor. </p> <p>Bounding box is set to zero. </p> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00048">48</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> </div> </div> <a class="anchor" id="a13345139067cc08b799bf7082895bda0"></a><!-- doxytag: member="FTBBox::FTBBox" ref="a13345139067cc08b799bf7082895bda0" args="(float lx, float ly, float lz, float ux, float uy, float uz)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FTBBox::FTBBox </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>lx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>ly</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>lz</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>ux</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>uy</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>uz</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor. </p> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00056">56</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> </div> </div> <a class="anchor" id="ad09fe772cbaeeeadba6f01d3655b3ca4"></a><!-- doxytag: member="FTBBox::FTBBox" ref="ad09fe772cbaeeeadba6f01d3655b3ca4" args="(FTPoint l, FTPoint u)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FTBBox::FTBBox </td> <td>(</td> <td class="paramtype"><a class="el" href="classFTPoint.html">FTPoint</a> </td> <td class="paramname"> <em>l</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classFTPoint.html">FTPoint</a> </td> <td class="paramname"> <em>u</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor. </p> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00064">64</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> </div> </div> <a class="anchor" id="a08a2bdc33037650e5f2d430c127e7d14"></a><!-- doxytag: member="FTBBox::FTBBox" ref="a08a2bdc33037650e5f2d430c127e7d14" args="(FT_GlyphSlot glyph)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FTBBox::FTBBox </td> <td>(</td> <td class="paramtype">FT_GlyphSlot </td> <td class="paramname"> <em>glyph</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor. </p> <p>Extracts a bounding box from a freetype glyph. Uses the control box for the glyph. <code>FT_Glyph_Get_CBox()</code></p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyph</em> </td><td>A freetype glyph </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00075">75</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> </div> </div> <a class="anchor" id="a377c940076f798b35450636d2cc58095"></a><!-- doxytag: member="FTBBox::~FTBBox" ref="a377c940076f798b35450636d2cc58095" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FTBBox::~FTBBox </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. </p> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00093">93</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a1432e63029459c4c4964fcab0043919e"></a><!-- doxytag: member="FTBBox::Invalidate" ref="a1432e63029459c4c4964fcab0043919e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void FTBBox::Invalidate </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Mark the bounds invalid by setting all lower dimensions greater than the upper dimensions. </p> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00100">100</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> </div> </div> <a class="anchor" id="a90dfe0b5a8d0f22632074fd8fb554926"></a><!-- doxytag: member="FTBBox::IsValid" ref="a90dfe0b5a8d0f22632074fd8fb554926" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool FTBBox::IsValid </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Determines if this bounding box is valid. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>True if all lower values are <= the corresponding upper values. </dd></dl> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00112">112</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> </div> </div> <a class="anchor" id="a8172e5c98a2a6e02ba7d4dc0cd6c0b0e"></a><!-- doxytag: member="FTBBox::Lower" ref="a8172e5c98a2a6e02ba7d4dc0cd6c0b0e" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classFTPoint.html">FTPoint</a> const FTBBox::Lower </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00165">165</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> <p>Referenced by <a class="el" href="FTFont_8h_source.html#l00251">FTFont::BBox()</a>.</p> </div> </div> <a class="anchor" id="ae19d47a4085d77eafeb6d311686e46e8"></a><!-- doxytag: member="FTBBox::operator+=" ref="ae19d47a4085d77eafeb6d311686e46e8" args="(const FTPoint vector)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classFTBBox.html">FTBBox</a>& FTBBox::operator+= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classFTPoint.html">FTPoint</a> </td> <td class="paramname"> <em>vector</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Move the Bounding Box by a vector. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>vector</em> </td><td>The vector to move the bbox in 3D space. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00124">124</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> </div> </div> <a class="anchor" id="a98a2344c0f33fe4a6e91082af595e754"></a><!-- doxytag: member="FTBBox::operator|=" ref="a98a2344c0f33fe4a6e91082af595e754" args="(const FTBBox &bbox)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classFTBBox.html">FTBBox</a>& FTBBox::operator|= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classFTBBox.html">FTBBox</a> & </td> <td class="paramname"> <em>bbox</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Combine two bounding boxes. </p> <p>The result is the smallest bounding box containing the two original boxes.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>bbox</em> </td><td>The bounding box to merge with the second one. </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00138">138</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> <p>References <a class="el" href="FTPoint_8h_source.html#l00249">FTPoint::X()</a>, <a class="el" href="FTPoint_8h_source.html#l00250">FTPoint::Y()</a>, and <a class="el" href="FTPoint_8h_source.html#l00251">FTPoint::Z()</a>.</p> </div> </div> <a class="anchor" id="a40d501414c5eeaf4d35034c017cbc9ab"></a><!-- doxytag: member="FTBBox::SetDepth" ref="a40d501414c5eeaf4d35034c017cbc9ab" args="(float depth)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void FTBBox::SetDepth </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>depth</em></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00150">150</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> </div> </div> <a class="anchor" id="a9c33d51b0bddc05ad89ecbf6790b4193"></a><!-- doxytag: member="FTBBox::Upper" ref="a9c33d51b0bddc05ad89ecbf6790b4193" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classFTPoint.html">FTPoint</a> const FTBBox::Upper </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="FTBBox_8h_source.html#l00159">159</a> of file <a class="el" href="FTBBox_8h_source.html">FTBBox.h</a>.</p> <p>Referenced by <a class="el" href="FTFont_8h_source.html#l00251">FTFont::BBox()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="FTBBox_8h_source.html">FTBBox.h</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address> </body> </html>