<html>

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<meta name=Generator content="Microsoft Word 10 (filtered)">

<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
h3
        {margin-right:0cm;
        margin-left:0cm;
        font-size:13.5pt;
        font-family:Verdana;
        color:#330099;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {font-family:Arial;
        color:windowtext;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>If I have an convex regular surface, say S1, whose
bounds are (x-min,x-max,y-min,y-max,z-min,z-max). S1 is convex i.e for each
point (x,y) there exists one and only one z) and regular &#8211; it has no
holes in it. S1 is obtained from a dataset of unordered x,y,z points and the surface
is obtained by triangulating it using a Delaunay 2D triangulation. (z &#8211;
z-min) will be the &#8220;height&#8221; of the surface above the plane defined
by (x-min,x-max,y-min,y-max).</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>How can I create a 3-D volume defined by the plane (x-min,x-max,y-min,y-max)
and the height above the plane (z &#8211; z-min)?</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>I thought of using the surface S1 to cut a cube whose
bounds are (x-min,x-max,y-min,y-max,z-min,z-max), but I am not sure how to do
this.</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>Has anyone any clues?</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>I thought of trying something like this, however the
implicit dataset can&#8217;t evaluate the dataset.</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>// Generate the surface S1</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;PointSource[0]-&gt;GetPolyDataOutput()-&gt;GetBounds(bounds[0]);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Del2D[0]-&gt;SetInput(this-&gt;PointSource[0]-&gt;GetPolyDataOutput());</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Deci[0]-&gt;SetInput(this-&gt;Del2D[0]-&gt;GetOutput());</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Smoother[0]-&gt;SetInput(this-&gt;Deci[0]-&gt;GetOutput());</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Elev[0]-&gt;SetInput(this-&gt;Smoother[0]-&gt;GetOutput());</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Elev[0]-&gt;SetLowPoint(0,0,bounds[0][4]);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Elev[0]-&gt;SetHighPoint(0,0,bounds[0][5]);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Elev[0]-&gt;SetScalarRange(bounds[0][4],bounds[0][5]);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Lut[0]-&gt;SetHueRange(0.66667,0);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Map[0]-&gt;SetInput(this-&gt;Elev[0]-&gt;GetPolyDataOutput());</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Map[0]-&gt;SetLookupTable(this-&gt;Lut[0]);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Act[0]-&gt;SetMapper(this-&gt;Map[0]);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;Act[0]-&gt;GetProperty()-&gt;SetOpacity(0.7);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;ren-&gt;AddProp(this-&gt;Act[0]);
// OK so far, we have the surface.</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></font></p>

<p class=MsoNormal style='text-indent:36.0pt'><font size=2 face="Courier New"><span
lang=EN-AU style='font-size:10.0pt;font-family:"Courier New"'>// Try to cut the
cube with the surface.</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;cube[0]-&gt;SetBounds(bounds[0]);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;implicitDataset[0]-&gt;SetDataSet(this-&gt;Deci[0]-&gt;GetOutput());</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;cut[0]-&gt;SetCutFunction(this-&gt;implicitDataset[0]);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;cut[0]-&gt;SetInput(this-&gt;cube[0]-&gt;GetOutput());</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;cut[0]-&gt;Update();&nbsp;
// Fails here because it can&#8217;t evaluate the dataset.</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;map-&gt;SetInput(this-&gt;cut[0]-&gt;GetOutput());</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;act-&gt;SetMapper(this-&gt;map);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this-&gt;ren-&gt;AddProp(this-&gt;act);</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>Declarations are:</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PointSource[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkDelaunay2D
*Del2D[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkDecimatePro
*Deci[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkSmoothPolyDataFilter
*Smoother[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkElevationFilter
*Elev[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkLookupTable
*Lut[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkPolyDataMapper
*Map[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkActor
*Act[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkCubeSource
*cube[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkImplicitDataSet
*implicitDataset[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkCutter
*cut[2];</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkDataSetMapper
*map;</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>Thanks in advance for any help,</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>Andrew</span></font></p>

<p class=MsoNormal><font size=2 face="Courier New"><span lang=EN-AU
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;</span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-AU style='font-size:
10.0pt;font-family:Arial'>&nbsp;</span></font></p>

<h3><b><font size=2 color="#330099" face=Verdana><span style='font-size:10.0pt'>___________________________________________<br>
</span></font></b><font size=2><span style='font-size:10.0pt'>Andrew J. P.
 Maclean</span></font></h3>

<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=383
 style='width:287.6pt' height=75>
 <tr height=75 style='height:56.25pt'>
  <td width=50 height=75 valign=top style='width:37.8pt;padding:0cm 0cm 0cm 0cm;
  height:56.25pt'>
  <p class=MsoNormal><font size=2 face=Verdana><span lang=EN-AU
  style='font-size:10.0pt;font-family:Verdana'>Postal:</span></font></p>
  </td>
  <td width=333 height=75 valign=top style='width:249.8pt;padding:0cm 0cm 0cm 0cm;
  height:56.25pt'>
  <p class=MsoNormal><font size=2 face=Verdana><span lang=EN-AU
  style='font-size:10.0pt;font-family:Verdana'>Australian Centre for Field
  Robotics<br>
  The Rose Street Building J04<br>
  The </span></font><font size=2 face=Verdana><span lang=EN-AU
    style='font-size:10.0pt;font-family:Verdana'>University</span></font><font
   size=2 face=Verdana><span lang=EN-AU style='font-size:10.0pt;font-family:
   Verdana'> of </span></font><font size=2 face=Verdana><span lang=EN-AU
    style='font-size:10.0pt;font-family:Verdana'>Sydney</span></font><font
  size=2 face=Verdana><span lang=EN-AU style='font-size:10.0pt;font-family:
  Verdana'>&nbsp; 2006&nbsp; NSW<br>
  </span></font><font size=2 face=Verdana><span lang=EN-AU style='font-size:
    10.0pt;font-family:Verdana'>AUSTRALIA</span></font></p>
  </td>
 </tr>
 <tr>
  <td width=50 style='width:37.8pt;padding:0cm 0cm 0cm 0cm'>
  <p class=MsoNormal><font size=2 face=Verdana><span lang=EN-AU
  style='font-size:10.0pt;font-family:Verdana'>Room:</span></font></p>
  </td>
  <td width=333 style='width:249.8pt;padding:0cm 0cm 0cm 0cm'>
  <p class=MsoNormal><font size=2 face=Verdana><span lang=EN-AU
  style='font-size:10.0pt;font-family:Verdana'>106</span></font></p>
  </td>
 </tr>
 <tr>
  <td width=50 style='width:37.8pt;padding:0cm 0cm 0cm 0cm'>
  <p class=MsoNormal><font size=2 face=Verdana><span lang=EN-AU
  style='font-size:10.0pt;font-family:Verdana'>Phone:</span></font></p>
  </td>
  <td width=333 style='width:249.8pt;padding:0cm 0cm 0cm 0cm'>
  <p class=MsoNormal><font size=2 face=Verdana><span lang=EN-AU
  style='font-size:10.0pt;font-family:Verdana'>+61 2 9351 3283</span></font></p>
  </td>
 </tr>
 <tr>
  <td width=50 style='width:37.8pt;padding:0cm 0cm 0cm 0cm'>
  <p class=MsoNormal><font size=2 face=Verdana><span lang=EN-AU
  style='font-size:10.0pt;font-family:Verdana'>Fax:</span></font></p>
  </td>
  <td width=333 style='width:249.8pt;padding:0cm 0cm 0cm 0cm'>
  <p class=MsoNormal><font size=2 face=Verdana><span lang=EN-AU
  style='font-size:10.0pt;font-family:Verdana'>+61 2 9351 7474</span></font></p>
  </td>
 </tr>
 <tr>
  <td width=50 style='width:37.8pt;padding:0cm 0cm 0cm 0cm'>
  <p class=MsoNormal><font size=2 face=Verdana><span lang=EN-AU
  style='font-size:10.0pt;font-family:Verdana'>&nbsp;</span></font></p>
  </td>
  <td width=333 style='width:249.8pt;padding:0cm 0cm 0cm 0cm'>
  <p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-AU
  style='font-size:12.0pt'><a href="http://www.acfr.usyd.edu.au/"><font size=2
  face=Verdana><span style='font-size:10.0pt;font-family:Verdana'>http://www.acfr.usyd.edu.au/</span></font></a></span></font></p>
  </td>
 </tr>
</table>

<p class=MsoNormal><b><font size=2 color="#330099" face=Verdana><span
style='font-size:10.0pt;font-family:Verdana;color:#330099;font-weight:bold'>___________________________________________</span></font></b></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-AU
style='font-size:12.0pt'>&nbsp;</span></font></p>

</div>

</body>

</html>