<div dir="ltr">Hi Grant,<div>   I think you will find that most of the recent submissions support either VTK 6.1 or more recent. I for one have not bothered writing compatible versions for VTK 5.x. I also have adopted this approach in writing the C++ examples.</div><div><br></div><div>I refer you to the following discussion that we had a while back regarding supporting different versions of Python: <a href="http://markmail.org/message/43hbrqh3tu4nmig3">http://markmail.org/message/43hbrqh3tu4nmig3</a></div><div><br></div><div>The upshot of this is that it is just not possible to support different versions of Python within the code itself since python has no equivalents "#if" or "#ifdef", from this discussion you will also see that your Option 3 will not work. The implication here is that the approach used in the C++ examples using #ifdef for pipeline differences will not work in Python.</div><div><br></div><div>In one or two cases I have used an approach like this:</div><div><br></div><div><pre class="" style="padding:0px;border:0px none white;color:rgb(0,0,0);line-height:1.2em;font-stretch:normal;font-size:10px;margin-top:0px;margin-bottom:0px;vertical-align:top;background-image:none;background-repeat:initial"><span class="" style="color:rgb(255,119,0);font-weight:bold">def</span> CheckVTKVersion<span class="">(</span>requiredMajorVersion<span class="">)</span>:
    <span class="" style="color:rgb(72,61,139)">''</span><span class="" style="color:rgb(72,61,139)">'
    Check the VTK version.
    :param: requiredMajorVersion e.g. 6
    '</span><span class="" style="color:rgb(72,61,139)">''</span>
    version = vtk.<span class="">vtkVersion</span><span class="">(</span><span class="">)</span>
    <span class="" style="color:rgb(255,119,0);font-weight:bold">if</span> version.<span class="">GetVTKMajorVersion</span><span class="">(</span><span class="">)</span> <span class="" style="color:rgb(102,204,102)">></span> requiredMajorVersion:
        <span class="" style="color:rgb(255,119,0);font-weight:bold">raise</span>
    <span class="" style="color:rgb(255,119,0);font-weight:bold">else</span>:
        <span class="" style="color:rgb(255,119,0);font-weight:bold">return</span>
 
<span class="" style="color:rgb(255,119,0);font-weight:bold">if</span> __name__ == <span class="" style="color:rgb(72,61,139)">'__main__'</span>:
    <span class="" style="color:rgb(255,119,0);font-weight:bold">try</span>:
        CheckVTKVersion<span class="">(</span><span class="" style="color:rgb(255,69,0)">6</span><span class="">)</span>
    <span class="" style="color:rgb(255,119,0);font-weight:bold">except</span>:
        <span class="" style="color:rgb(255,119,0);font-weight:bold">print</span> <span class="" style="color:rgb(72,61,139)">"You need VTK Version 6 or greater."</span>
        <span class="" style="color:rgb(255,119,0);font-weight:bold">print</span> <span class="" style="color:rgb(72,61,139)">"The class vtkNamedColors is in VTK version 6 or greater."</span>
        exit<span class="">(</span><span class="" style="color:rgb(255,69,0)">0</span><span class="">)</span>
    iren = main<span class="">(</span><span class="">)</span>
    iren.<span class="">Start</span><span class="">(</span><span class="">)</span></pre><pre class="" style="padding:0px;border:0px none white;color:rgb(0,0,0);line-height:1.2em;font-stretch:normal;font-size:10px;margin-top:0px;margin-bottom:0px;vertical-align:top;background-image:none;background-repeat:initial"><span class=""><br></span></pre><div><br></div><div>This code would give errors anyway if run under VTK5 because of the pipeline re-architecture so it is of more use for checking for 6.2 features.<br><br>My preference would be to just update the examples to VTK 6. In most cases it is a fairly straight forward process.<br></div></div><div><br></div><div>I think creating separate examples for VTK5 and VTK6 would be a lot of work for very little return, given that people seem to be migrating to VTK6 anyway and new users should be using VTK6.</div><div><br></div><div>Regards</div><div>   Andrew</div><div><br><br><br><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>---------- Forwarded message ----------<br>From: "Windes, Grant" <<a href="mailto:Grant.Windes@smith-nephew.com">Grant.Windes@smith-nephew.com</a>><br>To: "<a href="mailto:vtk-developers@vtk.org">vtk-developers@vtk.org</a>" <<a href="mailto:vtk-developers@vtk.org">vtk-developers@vtk.org</a>><br>Cc: <br>Date: Wed, 10 Dec 2014 00:22:16 +0000<br>Subject: [vtk-developers] VTK 6.1 python examples<br>





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal">I’ve been working on migrating our application (written in python) from vtk 5.10 to vtk 6.1<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">All the python examples that I have read through on the vtk wiki are still using vtk 5 syntax (<a href="http://vtk.org/Wiki/VTK/Examples/Python/GeometricObjects/Display/Cube" target="_blank">http://vtk.org/Wiki/VTK/Examples/Python/GeometricObjects/Display/Cube</a>)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">What’s the best way to go about updating these to both support vtk 5 and support vtk 6+<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Any preference about updating the wiki pages? Or maybe I am missing the location of the vtk6 python examples<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p><u></u><span>1.<span style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:'Times New Roman'">      
</span></span><u></u>Fix something in the current build system?<u></u><u></u></p>
<p><u></u><span>2.<span style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:'Times New Roman'">      
</span></span><u></u>Create separate examples for vtk5 and vtk6<u></u><u></u></p>
<p><u></u><span>3.<span style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:'Times New Roman'">      
</span></span><u></u>Use if check (Seems like it could get messy)<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">if VTK_MAJOR_VERSION <= 5:<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">      current vtk<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">code else:<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">      vtk6+ code<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">-Grant<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in"><u></u> <u></u></p>
</div>
</div>

<br><br>---------- Forwarded message ----------<br>From: Bill Lorensen <<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>><br>To: "Windes, Grant" <<a href="mailto:Grant.Windes@smith-nephew.com">Grant.Windes@smith-nephew.com</a>><br>Cc: VTK Developers <<a href="mailto:vtk-developers@vtk.org">vtk-developers@vtk.org</a>><br>Date: Tue, 9 Dec 2014 21:14:00 -0500<br>Subject: Re: [vtk-developers] VTK 6.1 python examples<br><p dir="ltr">You can edit the examples on the wiki. For the c++ examples we use offers to support vtk5 and 6.</p>
<div class="gmail_quote">On Dec 9, 2014 8:55 PM, "Windes, Grant" <<a href="mailto:Grant.Windes@smith-nephew.com" target="_blank">Grant.Windes@smith-nephew.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal">I’ve been working on migrating our application (written in python) from vtk 5.10 to vtk 6.1<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">All the python examples that I have read through on the vtk wiki are still using vtk 5 syntax (<a href="http://vtk.org/Wiki/VTK/Examples/Python/GeometricObjects/Display/Cube" target="_blank">http://vtk.org/Wiki/VTK/Examples/Python/GeometricObjects/Display/Cube</a>)<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">What’s the best way to go about updating these to both support vtk 5 and support vtk 6+<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Any preference about updating the wiki pages? Or maybe I am missing the location of the vtk6 python examples<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p><u></u><span>1.<span style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:'Times New Roman'">      
</span></span><u></u>Fix something in the current build system?<u></u><u></u></p>
<p><u></u><span>2.<span style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:'Times New Roman'">      
</span></span><u></u>Create separate examples for vtk5 and vtk6<u></u><u></u></p>
<p><u></u><span>3.<span style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7pt;line-height:normal;font-family:'Times New Roman'">      
</span></span><u></u>Use if check (Seems like it could get messy)<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">if VTK_MAJOR_VERSION <= 5:<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">      current vtk<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">code else:<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in">      vtk6+ code<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">-Grant<u></u><u></u></p>
<p class="MsoNormal" style="margin-left:0.5in"><u></u> <u></u></p>
</div>
</div>

<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtk-developers" target="_blank">http://public.kitware.com/mailman/listinfo/vtk-developers</a><br>
<br>
<br></blockquote></div>
<br><br></blockquote></div>-- <br><div class="gmail_signature">___________________________________________<br>Andrew J. P. Maclean<br><br>___________________________________________</div>
</div></div></div>