<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Sorry to use attachments like this ... I don't have 
a web-site yet.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I've updated the code for the 
vtkGLUTesselatorTriangleFilter as recommended for GLU 1.2/1.3. I've also added 
methods to set Tolerance and WindingMethod (the latter has convenience methods 
to enable use when scripting). I've attached the code with scripts for the 
self-intersecting star example from the OpenGL Programming Guide.&nbsp; 
</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>If it meets your standards (and backward 
compatability to GLU 1.0/1.1 is not a big issue) please check it 
in.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I&nbsp;plan to add a method allowing use of the 
BoundaryOnly property soon.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>A question - What is the preferred approach when 
using Set/Get Macros on non-standard types defined outside of VTK? I have the 
following ...</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>// Description:<BR>// Set WindingRule property. Can 
be any of GLU_TESS_WINDING_ODD, GLU_TESS_WINDING_NONZERO,<BR>// 
GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE or 
GLU_TESS_WINDING_ABS_GEQ_TWO.<BR>// Default is 
GLU_TESS_WINDING_ODD.<BR>vtkSetMacro(WindingRule,GLenum);<BR>vtkGetMacro(WindingRule,GLenum);</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>// Description:<BR>// Convenience methods to set 
the WindingRule property<BR>void SetWindingRuleToOdd() 
{this-&gt;SetWindingRule(GLU_TESS_WINDING_ODD);}<BR>void 
SetWindingRuleToNonZero() 
{this-&gt;SetWindingRule(GLU_TESS_WINDING_NONZERO);}<BR>void 
SetWindingRuleToPositive() 
{this-&gt;SetWindingRule(GLU_TESS_WINDING_POSITIVE);}<BR>void 
SetWindingRuleToNegative() 
{this-&gt;SetWindingRule(GLU_TESS_WINDING_NEGATIVE);}<BR>void 
SetWindingRuleToAbsGEqTwo() 
{this-&gt;SetWindingRule(GLU_TESS_WINDING_ABS_GEQ_TWO);}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>... now, while I can set WindingRule using the 
convenience methods under python/tcl, I can't get the current value as the 
wrapping parser skipped the Set and Get Macros (because of GLenum). Should I 
replace GLenum here with something the wrapper likes, or should I provide 
something like GetWindingRuleAsString and return eg. 
'GLU_TESS_WINDING_ODD'.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Thanks</FONT></DIV>
<DIV><FONT face=Arial size=2>Malcolm Drummond<BR>GeoVision 
cc</FONT></DIV></BODY></HTML>