fonttools/Documentation/fontToolsDocs/fontTools.pens.pointInsidePen.html
Erik van Blokland 3646055ea2 initial import
git-svn-id: http://svn.robofab.com/trunk@1 b5fa9d6c-a76f-4ffd-b3cb-f825fc41095c
2008-01-07 17:40:34 +00:00

94 lines
6.0 KiB
HTML

<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module fontTools.pens.pointInsidePen</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="fontTools.html"><font color="#ffffff">fontTools</font></a>.<a href="fontTools.pens.html"><font color="#ffffff">pens</font></a>.pointInsidePen</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/code/fontTools/Lib/fontTools/pens/pointInsidePen.py">/code/fontTools/Lib/fontTools/pens/pointInsidePen.py</a></font></td></tr></table>
<p><tt>fontTools.pens.pointInsidePen&nbsp;--&nbsp;Pen&nbsp;implementing&nbsp;"point&nbsp;inside"&nbsp;testing<br>
for&nbsp;shapes.</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="fontTools.pens.basePen.html#BasePen">fontTools.pens.basePen.BasePen</a>(<a href="fontTools.pens.basePen.html#AbstractPen">fontTools.pens.basePen.AbstractPen</a>)
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="fontTools.pens.pointInsidePen.html#PointInsidePen">PointInsidePen</a>
</font></dt></dl>
</dd>
</dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="PointInsidePen">class <strong>PointInsidePen</strong></a>(<a href="fontTools.pens.basePen.html#BasePen">fontTools.pens.basePen.BasePen</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>This&nbsp;pen&nbsp;implements&nbsp;"point&nbsp;inside"&nbsp;testing:&nbsp;to&nbsp;test&nbsp;whether<br>
a&nbsp;given&nbsp;point&nbsp;lies&nbsp;inside&nbsp;the&nbsp;shape&nbsp;(black)&nbsp;or&nbsp;outside&nbsp;(white).<br>
Instances&nbsp;of&nbsp;this&nbsp;class&nbsp;can&nbsp;be&nbsp;recycled,&nbsp;as&nbsp;long&nbsp;as&nbsp;the<br>
<a href="#PointInsidePen-setTestPoint">setTestPoint</a>()&nbsp;method&nbsp;is&nbsp;used&nbsp;to&nbsp;set&nbsp;the&nbsp;new&nbsp;point&nbsp;to&nbsp;test.<br>
&nbsp;<br>
Typical&nbsp;usage:<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pen&nbsp;=&nbsp;<a href="#PointInsidePen">PointInsidePen</a>(glyphSet,&nbsp;(100,&nbsp;200))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outline.draw(pen)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isInside&nbsp;=&nbsp;pen.<a href="#PointInsidePen-getResult">getResult</a>()<br>
&nbsp;<br>
Both&nbsp;the&nbsp;even-odd&nbsp;algorithm&nbsp;and&nbsp;the&nbsp;non-zero-winding-rule<br>
algorithm&nbsp;are&nbsp;implemented.&nbsp;The&nbsp;latter&nbsp;is&nbsp;the&nbsp;default,&nbsp;specify<br>
True&nbsp;for&nbsp;the&nbsp;evenOdd&nbsp;argument&nbsp;of&nbsp;__init__&nbsp;or&nbsp;setTestPoint<br>
to&nbsp;use&nbsp;the&nbsp;even-odd&nbsp;algorithm.<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="fontTools.pens.pointInsidePen.html#PointInsidePen">PointInsidePen</a></dd>
<dd><a href="fontTools.pens.basePen.html#BasePen">fontTools.pens.basePen.BasePen</a></dd>
<dd><a href="fontTools.pens.basePen.html#AbstractPen">fontTools.pens.basePen.AbstractPen</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="PointInsidePen-__init__"><strong>__init__</strong></a>(self, glyphSet, testPoint, evenOdd<font color="#909090">=0</font>)</dt></dl>
<dl><dt><a name="PointInsidePen-getResult"><strong>getResult</strong></a>(self)</dt><dd><tt>After&nbsp;the&nbsp;shape&nbsp;has&nbsp;been&nbsp;drawn,&nbsp;<a href="#PointInsidePen-getResult">getResult</a>()&nbsp;returns&nbsp;True&nbsp;if&nbsp;the&nbsp;test<br>
point&nbsp;lies&nbsp;within&nbsp;the&nbsp;(black)&nbsp;shape,&nbsp;and&nbsp;False&nbsp;if&nbsp;it&nbsp;doesn't.</tt></dd></dl>
<dl><dt><a name="PointInsidePen-setTestPoint"><strong>setTestPoint</strong></a>(self, testPoint, evenOdd<font color="#909090">=0</font>)</dt><dd><tt>Set&nbsp;the&nbsp;point&nbsp;to&nbsp;test.&nbsp;Call&nbsp;this&nbsp;_before_&nbsp;the&nbsp;outline&nbsp;gets&nbsp;drawn.</tt></dd></dl>
<hr>
Methods inherited from <a href="fontTools.pens.basePen.html#BasePen">fontTools.pens.basePen.BasePen</a>:<br>
<dl><dt><a name="PointInsidePen-addComponent"><strong>addComponent</strong></a>(self, glyphName, transformation)</dt><dd><tt>This&nbsp;default&nbsp;implementation&nbsp;simply&nbsp;transforms&nbsp;the&nbsp;points<br>
of&nbsp;the&nbsp;base&nbsp;glyph&nbsp;and&nbsp;draws&nbsp;it&nbsp;onto&nbsp;self.</tt></dd></dl>
<dl><dt><a name="PointInsidePen-closePath"><strong>closePath</strong></a>(self)</dt></dl>
<dl><dt><a name="PointInsidePen-curveTo"><strong>curveTo</strong></a>(self, *points)</dt></dl>
<dl><dt><a name="PointInsidePen-endPath"><strong>endPath</strong></a>(self)</dt></dl>
<dl><dt><a name="PointInsidePen-lineTo"><strong>lineTo</strong></a>(self, pt)</dt></dl>
<dl><dt><a name="PointInsidePen-moveTo"><strong>moveTo</strong></a>(self, pt)</dt></dl>
<dl><dt><a name="PointInsidePen-qCurveTo"><strong>qCurveTo</strong></a>(self, *points)</dt></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>EPSILON</strong> = 1e-10<br>
<strong>ONE_PLUS_EPSILON</strong> = 1.0000000001<br>
<strong>ZERO_MINUS_EPSILON</strong> = -1e-10<br>
<strong>__all__</strong> = ['PointInsidePen']</td></tr></table>
</body></html>