<!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> </DIV>
<DIV><FONT face=Arial size=2>Sorry to use attachments like this ... I don't have
a web-site yet.</FONT></DIV>
<DIV> </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.
</FONT></DIV>
<DIV> </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> </DIV>
<DIV><FONT face=Arial size=2>I plan to add a method allowing use of the
BoundaryOnly property soon.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </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> </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> </DIV>
<DIV><FONT face=Arial size=2>// Description:<BR>// Convenience methods to set
the WindingRule property<BR>void SetWindingRuleToOdd()
{this->SetWindingRule(GLU_TESS_WINDING_ODD);}<BR>void
SetWindingRuleToNonZero()
{this->SetWindingRule(GLU_TESS_WINDING_NONZERO);}<BR>void
SetWindingRuleToPositive()
{this->SetWindingRule(GLU_TESS_WINDING_POSITIVE);}<BR>void
SetWindingRuleToNegative()
{this->SetWindingRule(GLU_TESS_WINDING_NEGATIVE);}<BR>void
SetWindingRuleToAbsGEqTwo()
{this->SetWindingRule(GLU_TESS_WINDING_ABS_GEQ_TWO);}</FONT></DIV>
<DIV> </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> </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>