<div class="gmail_quote">Try this:</div><div class="gmail_quote"><br></div><div class="gmail_quote">I didn&#39;t really look at the logic, but it compiles and doesn&#39;t crash.</div><div class="gmail_quote"><br></div><div class="gmail_quote">
<div class="gmail_quote">#include &lt;vtkPolyDataMapper.h&gt;</div><div class="gmail_quote">#include &lt;vtkActor.h&gt;</div><div class="gmail_quote">#include &lt;vtkRenderWindow.h&gt;</div><div class="gmail_quote">#include &lt;vtkRenderer.h&gt;</div>
<div class="gmail_quote">#include &lt;vtkRenderWindowInteractor.h&gt;</div><div class="gmail_quote">#include &lt;vtkPolyData.h&gt;</div><div class="gmail_quote">#include &lt;vtkTransform.h&gt;</div><div class="gmail_quote">
#include &lt;vtkTransformPolyDataFilter.h&gt;</div><div class="gmail_quote">#include &lt;vtkAppendPolyData.h&gt;</div><div class="gmail_quote">#include &lt;vtkCylinderSource.h&gt;</div><div class="gmail_quote">#include &lt;vtkSmartPointer.h&gt;</div>
<div class="gmail_quote"><br></div><div class="gmail_quote">int main (int argc, char *argv[])</div><div class="gmail_quote">{</div><div class="gmail_quote">  vtkSmartPointer&lt;vtkCylinderSource&gt; source =</div><div class="gmail_quote">
     vtkSmartPointer&lt;vtkCylinderSource&gt;::New();</div><div class="gmail_quote">  source-&gt;SetCenter(1,1,1);</div><div class="gmail_quote">  source-&gt;Update();</div><div class="gmail_quote">  </div><div class="gmail_quote">
  // Determine which axes are flipped</div><div class="gmail_quote">  bool xFlipped=true;</div><div class="gmail_quote">  bool yFlipped=true;</div><div class="gmail_quote">  //bool yFlipped=false;</div><div class="gmail_quote">
 </div><div class="gmail_quote">  // Add a new vtkAppendData to deal with the new symmetrical data</div><div class="gmail_quote">  vtkSmartPointer&lt;vtkAppendPolyData&gt; appendData =</div><div class="gmail_quote">      vtkSmartPointer&lt;vtkAppendPolyData&gt;::New();</div>
<div class="gmail_quote"><br></div><div class="gmail_quote">  // Add the source data</div><div class="gmail_quote">  appendData-&gt;AddInput(source-&gt;GetOutput());</div><div class="gmail_quote"><br></div><div class="gmail_quote">
  if(xFlipped)</div><div class="gmail_quote">    {</div><div class="gmail_quote">     // Add a vtkTranform to apply symmetry to the dataset</div><div class="gmail_quote">   vtkSmartPointer&lt;vtkTransform&gt; pTranslationX =</div>
<div class="gmail_quote">      vtkSmartPointer&lt;vtkTransform&gt;::New();</div><div class="gmail_quote">  </div><div class="gmail_quote">   pTranslationX-&gt;Translate(1.0, 0.0, 0.0);</div><div class="gmail_quote">    // Apply translation filter to data for given symmetry</div>
<div class="gmail_quote">    vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt; pTransformFilter1 =</div><div class="gmail_quote">        vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt;::New();</div><div class="gmail_quote">
    pTransformFilter1-&gt;SetInputConnection(source-&gt;GetOutputPort());</div><div class="gmail_quote">    pTransformFilter1-&gt;SetTransform(pTranslationX);</div><div class="gmail_quote">    pTransformFilter1-&gt;Update();</div>
<div class="gmail_quote">  </div><div class="gmail_quote">    // Create a vtkPolyData set and add it to the vtkAppendPolyData for the symmetrical data</div><div class="gmail_quote">    vtkSmartPointer&lt;vtkPolyData&gt; pData1 =</div>
<div class="gmail_quote">        pTransformFilter1-&gt;GetOutput();</div><div class="gmail_quote">    appendData-&gt;AddInput(pData1);</div><div class="gmail_quote">      }</div><div class="gmail_quote">      </div><div class="gmail_quote">
  if(yFlipped)</div><div class="gmail_quote">    {</div><div class="gmail_quote">    vtkSmartPointer&lt;vtkTransform&gt; pTranslationY =</div><div class="gmail_quote">        vtkSmartPointer&lt;vtkTransform&gt;::New();</div>
<div class="gmail_quote">    pTranslationY-&gt;Translate(0.0, 1.0, 0.0);</div><div class="gmail_quote">    // Apply translation filter to data for given symmetry</div><div class="gmail_quote">    vtkSmartPointer&lt;vtkPolyData&gt; pTempData =</div>
<div class="gmail_quote">        appendData-&gt;GetOutput();</div><div class="gmail_quote">    vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt; pTransformFilter2 =</div><div class="gmail_quote">        vtkSmartPointer&lt;vtkTransformPolyDataFilter&gt;::New();</div>
<div class="gmail_quote">    pTransformFilter2-&gt;SetInputConnection(source-&gt;GetOutputPort());</div><div class="gmail_quote">    pTransformFilter2-&gt;SetTransform(pTranslationY);</div><div class="gmail_quote">    pTransformFilter2-&gt;Update();</div>
<div class="gmail_quote"><br></div><div class="gmail_quote">    // Create a vtkPolyData set and add it to the vtkAppendPolyData for the symmetrical data</div><div class="gmail_quote">    vtkPolyData * pData1 = pTransformFilter2-&gt;GetOutput();</div>
<div class="gmail_quote">    appendData-&gt;AddInput(pData1);</div><div class="gmail_quote">    }</div><div class="gmail_quote"><br></div><div class="gmail_quote">  appendData-&gt;Update();</div><div class="gmail_quote">  vtkPolyData* result = appendData-&gt;GetOutput();</div>
<div class="gmail_quote"><br></div><div class="gmail_quote">  vtkSmartPointer&lt;vtkPolyDataMapper&gt; mapper = </div><div class="gmail_quote">      vtkSmartPointer&lt;vtkPolyDataMapper&gt;::New();</div><div class="gmail_quote">
  mapper-&gt;SetInput(result);</div><div class="gmail_quote">  </div><div class="gmail_quote">  vtkSmartPointer&lt;vtkActor&gt; actor = </div><div class="gmail_quote">      vtkSmartPointer&lt;vtkActor&gt;::New();</div><div class="gmail_quote">
  actor-&gt;SetMapper(mapper);</div><div class="gmail_quote"><br></div><div class="gmail_quote">  vtkSmartPointer&lt;vtkRenderer&gt; renderer =</div><div class="gmail_quote">    vtkSmartPointer&lt;vtkRenderer&gt;::New();</div>
<div class="gmail_quote"><br></div><div class="gmail_quote">  vtkSmartPointer&lt;vtkRenderWindow&gt; renderWindow =</div><div class="gmail_quote">    vtkSmartPointer&lt;vtkRenderWindow&gt;::New();</div><div class="gmail_quote">
  renderWindow-&gt;AddRenderer(renderer);</div><div class="gmail_quote"><br></div><div class="gmail_quote">  // Add Actor to renderer</div><div class="gmail_quote">  renderer-&gt;SetBackground(1,1,1); // Background color white</div>
<div class="gmail_quote"> </div><div class="gmail_quote">  // Add Actor to renderer</div><div class="gmail_quote">  renderer-&gt;AddActor(actor);</div><div class="gmail_quote"><br></div><div class="gmail_quote">  vtkSmartPointer&lt;vtkRenderWindowInteractor&gt; interactor =</div>
<div class="gmail_quote">      vtkSmartPointer&lt;vtkRenderWindowInteractor&gt;::New();</div><div class="gmail_quote">  interactor-&gt;SetRenderWindow(renderWindow);</div><div class="gmail_quote">  interactor-&gt;Start();</div>
<div class="gmail_quote">      </div><div class="gmail_quote">  return 0;</div><div class="gmail_quote">}</div><div><br></div></div><div class="gmail_quote"><br clear="all">Thanks,<br><br>David</div>