<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta name="x_Generator" content="Microsoft Word 15 (filtered medium)">
<style>
<!--
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif}
a:x_link, span.x_MsoHyperlink
        {color:blue;
        text-decoration:underline}
a:x_visited, span.x_MsoHyperlinkFollowed
        {color:#954F72;
        text-decoration:underline}
.x_MsoChpDefault
        {}
div.x_WordSection1
        {}
-->
</style>
<div lang="EN-US" link="blue" vlink="#954F72">
<div class="x_WordSection1">
<p class="x_MsoNormal">I find vtkNew<…> to be the shortest and most readable way of creating a new VTK object. However, it is rather inconvenient that GetPointer() must be called to get the pointer. Is there a specific reason for requiring using GetPointer()?
 Could we change vtkNew to have automatic conversion to pointer type - the same way as in vtkSmartPointer?</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Andras</p>
<p class="x_MsoNormal"> </p>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_MsoNormal" style="border:none; padding:0in"><b>From: </b><a href="mailto:vtk-developers@vtk.org">David Cole via vtk-developers</a><br>
<b>Sent: </b>Friday, June 23, 2017 5:29 AM<br>
<b>To: </b><a href="mailto:elvis.stansvik@orexplore.com">Elvis Stansvik</a><br>
<b>Cc: </b><a href="mailto:vtk-developers@vtk.org">VTK Developers</a>; <a href="mailto:andrew.amaclean@gmail.com">
Andrew Maclean</a><br>
<b>Subject: </b>Re: [vtk-developers] vtk-developers Digest, Vol 158, Issue 21</p>
</div>
<p class="x_MsoNormal"> </p>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">One thing I would point out is some folks who might want to compile<br>
the VTK examples may be using a slightly older version of VTK, and<br>
perhaps one that is not even being compiled with a modern compiler<br>
capable of compiling C++ 11...<br>
<br>
So I would refrain from using "auto" in the examples until such time<br>
as all the people who want to build an example are pretty much<br>
guaranteed to be using a VTK which requires C++ 11, and therefore a<br>
compiler capable of dealing with C++ 11 constructs.<br>
<br>
I wouldn't do the "auto" thing just yet.<br>
<br>
<br>
David C.<br>
<br>
<br>
<br>
On Fri, Jun 23, 2017 at 4:47 AM, Elvis Stansvik<br>
<elvis.stansvik@orexplore.com> wrote:<br>
> 2017-06-23 10:33 GMT+02:00 Elvis Stansvik <elvis.stansvik@orexplore.com>:<br>
>> Sorry, accidently hit send. Fixes below.<br>
>><br>
>> 2017-06-23 10:29 GMT+02:00 Elvis Stansvik <elvis.stansvik@orexplore.com>:<br>
>>> 2017-06-23 1:21 GMT+02:00 Andrew Maclean <andrew.amaclean@gmail.com>:<br>
>>>> Hi Bill, Elvis,<br>
>>>>    Elvis, personally I wouldn't like to see the homogenisation of the<br>
>>>> examples by doing what you propose.<br>
>>>> The reasons are:<br>
>>>> 1) One of the advantages of the examples is seeing the different approaches<br>
>>>> used by the contributors.<br>
>>>> 2) It may dissuade contributors by implicitly forcing them to use a<br>
>>>> particular approach.<br>
>>>> 3) One of the really useful things in the example is the different ways VTK<br>
>>>> is used.<br>
>>><br>
>>> I absolutely agree with 1 and 3 (which I think are the same?), but I<br>
>>> don't see how changing to auto would in affect anything in this<br>
>>> regard.<br>
>>><br>
>>> I also don't see how it would be a homogenization. The declarations I<br>
>>> would change are already homogeneous in that they're all<br>
>>> vtkSmartPointer<Foo> a = vtkSmartPointer<Foo>::New(). Changing to auto<br>
>>> would not make it more or less homogeneous.<br>
>>><br>
>>> It would be a<br>
>><br>
>> ... It would be homogenisation if I'd change all<br>
>> vtkNew/vtkSmartPointer to auto a = vtkSmartPointer..., but that's not<br>
>> what this is about.<br>
>><br>
>>> Note that this is not about changing vtkNew to vtkSmartPointer.<br>
>>><br>
>>> And how would changing to auto in any way affect the approach taken by<br>
>>> the example?<br>
>>><br>
>>><br>
>>><br>
>>>> To me it matters little whether:<br>
>>>> auto actor = vtkSmartPointer<vtkActor>::New();<br>
>>>> vtkSmartPointer<vtkActor> actor =<br>
>>>>     vtkSmartPointer<vtkActor>::New();<br>
>>>><br>
>>>> or whether "ren/renWin" is used instead of "renderer" or "rendererWindow" in<br>
>>>> the examples.<br>
>><br>
>> It matters little to me too, but it does matter. I think it's almost<br>
>> indisputable that<br>
>><br>
>>     auto someVar = vtkSmartPointer<SomeLongTypeName>::New()<br>
>><br>
>> is more readable than<br>
>><br>
>>     vtkSmartPointer<SomeLongTypeName> someVar =<br>
>>         vtkSmartPointer<SomeLongTypeName>::New();<br>
>><br>
>> especially since the latter leads to many more lines to scan across<br>
>> when looking for something in the examples.<br>
><br>
> Another small plus I see with using auto is it's a keyword which would<br>
> be highlighted, so the declarations would stand out more.<br>
><br>
> E.g. looking at the code for this example<br>
><br>
>     <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Florensen.github.io%2FVTKExamples%2Fsite%2FCxx%2FFiltering%2FConnectivityFilter%2F&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=ha%2BCR8CriMPmQqz%2FxrAgI6lQ7RKn21tuZ6Z%2FitzKD%2Fg%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Florensen.github.io%2FVTKExamples%2Fsite%2FCxx%2FFiltering%2FConnectivityFilter%2F&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=ha%2BCR8CriMPmQqz%2FxrAgI6lQ7RKn21tuZ6Z%2FitzKD%2Fg%3D&reserved=0</a><br>
><br>
> I find it hard to quickly answer "what are the declarations?", since<br>
> they have no highlighting compared to the surrounding statements. Had<br>
> they been auto, it would have been easier since I think auto would<br>
> have been highlighted.<br>
><br>
> I think quickly identifying the variables involved helps the reading<br>
> of the examples.<br>
><br>
> Elvis<br>
><br>
>><br>
>> So, in short I agree with everything you say, but I can't see how<br>
>> changing one way of doing declarations to another is a homogenization.<br>
>> And I do think spelling matters.<br>
>><br>
>> I'm perfectly OK with leaving the examples exactly like they are<br>
>> though, just wanted to explain how I see it.<br>
>><br>
>> Elvis<br>
>><br>
>>>><br>
>>>> Of more importance are explanatory notes in the examples.<br>
>>>><br>
>>>> Bill, I see you are using vtkNamedColors. This example shows what other<br>
>>>> things you can do with this class:<br>
>>>> <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Florensen.github.io%2FVTKExamples%2Fsite%2FCxx%2FVisualization%2FNamedColors%2F&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=jnbJJe87OvOErNapbQL2HiAt6DnbOWifp67W4lNVqfo%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Florensen.github.io%2FVTKExamples%2Fsite%2FCxx%2FVisualization%2FNamedColors%2F&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=jnbJJe87OvOErNapbQL2HiAt6DnbOWifp67W4lNVqfo%3D&reserved=0</a><br>
>>>><br>
>>>> For example, assign colors by name:<br>
>>>> renderer->SetBackground(namedColors->GetColor3d("SteelBlue").GetData<br>
>>>> ());<br>
>>>> Create your own named color (in this case a red with an alpha of 0.5):<br>
>>>> namedColors->GetColor("Red", rgba);<br>
>>>> rgba[3] = 0.5; namedColors->SetColor("My Red", rgba);<br>
>>>><br>
>>>> Regards<br>
>>>>    Andrew<br>
>>>><br>
>>>>><br>
>>>>> ---------- Forwarded message ----------<br>
>>>>> From: Bill Lorensen <bill.lorensen@gmail.com><br>
>>>>> To: Elvis Stansvik <elvis.stansvik@orexplore.com><br>
>>>>> Cc: vtkdev <vtk-developers@vtk.org><br>
>>>>> Bcc:<br>
>>>>> Date: Thu, 22 Jun 2017 13:32:55 -0400<br>
>>>>> Subject: Re: [vtk-developers] vtkNew in examples (or auto?)<br>
>>>>> Let's leave them as is for now. I want to make sure I understand this.<br>
>>>>><br>
>>>>><br>
>>>>> On Thu, Jun 22, 2017 at 1:13 PM, Elvis Stansvik<br>
>>>>> <elvis.stansvik@orexplore.com> wrote:<br>
>>>>> > 2017-06-22 19:09 GMT+02:00 Bill Lorensen <bill.lorensen@gmail.com>:<br>
>>>>> >> I'm not sure what you mean by auto-fying<br>
>>>>> ><br>
>>>>> > Sorry, I should have been clearer. What I mean is changing declarations<br>
>>>>> > such as<br>
>>>>> ><br>
>>>>> ><br>
>>>>> vtkSmartPointer<vtkActor> actor =<br>
>>>>> >     vtkSmartPointer<vtkActor>::New();<br>
>>>>> ><br>
>>>>> > into<br>
>>>>> ><br>
>>>>> >   auto actor = vtkSmartPointer<vtkActor>::New();<br>
>>>>> ><br>
>>>>> > I think it would cut down on the number of lines in many examples, and<br>
>>>>> > make them more readable. (This would only be done in places where the<br>
>>>>> > type of the variable is still clear from the declaration.)<br>
>>>>> ><br>
>>>>> > Elvis<br>
>>>>> ><br>
>>>>> >><br>
>>>>> >><br>
>>>>> >><br>
>>>>> >> On Thu, Jun 22, 2017 at 1:07 PM, Elvis Stansvik<br>
>>>>> >> <elvis.stansvik@orexplore.com> wrote:<br>
>>>>> >>> 2017-06-22 19:01 GMT+02:00 Bill Lorensen <bill.lorensen@gmail.com>:<br>
>>>>> >>>> I prefer vtkSmartPointer because it can be used like any other vtk<br>
>>>>> >>>> pointer. No need for a GetPointer() is some cases. The example writer<br>
>>>>> >>>> is free to use vtkSmartPointer or vtkNew. But I would leave them as<br>
>>>>> >>>> there are.<br>
>>>>> >>><br>
>>>>> >>> Right, that's a valid point. But how about auto-fying the<br>
>>>>> >>> declarations? (but keep using vtkSmartPointer)<br>
>>>>> >>><br>
>>>>> >>> My motivation is that when reading an example, I'm often squinting to<br>
>>>>> >>> find the variable names in the declarations, wedged in there somewhere<br>
>>>>> >>> between all those type names and angle brackets. Especially as the<br>
>>>>> >>> lines are often broken due to running long.<br>
>>>>> >>><br>
>>>>> >>>><br>
>>>>> >>>><br>
>>>>> >>>> Other cleanup's sound great. I've also started using vtkNamedColors<br>
>>>>> >>>> instead of setting float values.<br>
>>>>> >>><br>
>>>>> >>> Great.<br>
>>>>> >>><br>
>>>>> >>> Elvis<br>
>>>>> >>><br>
>>>>> >>>><br>
>>>>> >>>> On Thu, Jun 22, 2017 at 12:57 PM, Elvis Stansvik<br>
>>>>> >>>> <elvis.stansvik@orexplore.com> wrote:<br>
>>>>> >>>>> Hi all,<br>
>>>>> >>>>><br>
>>>>> >>>>> How about a refactor of the examples to use vtkNew instead of<br>
>>>>> >>>>> vtkSmartPointer (where it makes sense)?<br>
>>>>> >>>>><br>
>>>>> >>>>> E.g.<br>
>>>>> >>>>><br>
>>>>> >>>>>   vtkNew<vtkActor> actor;<br>
>>>>> >>>>>   actor->SetMapper(mapper);<br>
>>>>> >>>>><br>
>>>>> >>>>>   vtkNew<vtkRenderer> renderer;<br>
>>>>> >>>>>   renderer->AddActor(actor);<br>
>>>>> >>>>><br>
>>>>> >>>>> instead of<br>
>>>>> >>>>><br>
>>>>> >>>>>   vtkSmartPointer<vtkActor> actor =<br>
>>>>> >>>>>     vtkSmartPointer<vtkActor>::New();<br>
>>>>> >>>>>   actor->SetMapper(mapper);<br>
>>>>> >>>>><br>
>>>>> >>>>>   vtkSmartPointer<vtkRenderer> renderer =<br>
>>>>> >>>>>     vtkSmartPointer<vtkRenderer>::New();<br>
>>>>> >>>>>   renderer->AddActor(actor);<br>
>>>>> >>>>><br>
>>>>> >>>>> I think it would help with the readability of the examples. Or are<br>
>>>>> >>>>> there other reasons for the prevalent use of vtkSmartPointer?<br>
>>>>> >>>>><br>
>>>>> >>>>> Another option would be to use auto, e.g.<br>
>>>>> >>>>><br>
>>>>> >>>>>   auto actor = vtkSmartPointer<vtkActor>::New();<br>
>>>>> >>>>><br>
>>>>> >>>>> Also, would anyone mind if I did a little naming cleanup, mostly<br>
>>>>> >>>>> things like "renwin" -> "window" and "iren" -> "interactor"? Those<br>
>>>>> >>>>> abbreviations are not that bad, but I think it's better in examples<br>
>>>>> >>>>> to<br>
>>>>> >>>>> spell out the variables in proper English.<br>
>>>>> >>>>><br>
>>>>> >>>>> If there are no objections, I could try to prepare an MR when time<br>
>>>>> >>>>> permits. If so, vtkNew, or auto?<br>
>>>>> >>>>><br>
>>>>> >>>>> Elvis<br>
>>>>> >>>>> _______________________________________________<br>
>>>>> >>>>> Powered by <a href="https://na01.safelinks.protection.outlook.com/?url=www.kitware.com&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=MOVhItfPCXhoqRfpkkpfmBGyNrthSQhA9SD%2Fxx0aWHI%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=www.kitware.com&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=MOVhItfPCXhoqRfpkkpfmBGyNrthSQhA9SD%2Fxx0aWHI%3D&reserved=0</a><br>
>>>>> >>>>><br>
>>>>> >>>>> Visit other Kitware open-source projects at<br>
>>>>> >>>>> <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=019a%2BwqJEgmPJZDHThfa%2B6MnSOdAv5BC3HClNEGOVfY%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=019a%2BwqJEgmPJZDHThfa%2B6MnSOdAv5BC3HClNEGOVfY%3D&reserved=0</a><br>
>>>>> >>>>><br>
>>>>> >>>>> Search the list archives at:<br>
>>>>> >>>>> <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3Dvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=4QoQc%2FSmBX0Wscw5TR%2BYg6SOXUHrHWElowi%2B03r3OZk%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3Dvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=4QoQc%2FSmBX0Wscw5TR%2BYg6SOXUHrHWElowi%2B03r3OZk%3D&reserved=0</a><br>
>>>>> >>>>><br>
>>>>> >>>>> Follow this link to subscribe/unsubscribe:<br>
>>>>> >>>>> <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=Yhue4UpNDB3dlEf0wQYhK7KzsQQES0EEuJWVOoG27Zw%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=Yhue4UpNDB3dlEf0wQYhK7KzsQQES0EEuJWVOoG27Zw%3D&reserved=0</a><br>
>>>>> >>>>><br>
>>>>> >>>><br>
>>>>> >>>><br>
>>>>> >>>><br>
>>>>> >>>> --<br>
>>>>> >>>> Unpaid intern in BillsBasement at noware dot com<br>
>>>>> >><br>
>>>>> >><br>
>>>>> >><br>
>>>>> >> --<br>
>>>>> >> Unpaid intern in BillsBasement at noware dot com<br>
>>>>><br>
>>>>><br>
>>>>><br>
>>>>> --<br>
>>>>> Unpaid intern in BillsBasement at noware dot com<br>
>>>>><br>
>>>><br>
>>>><br>
>>>> --<br>
>>>> ___________________________________________<br>
>>>> Andrew J. P. Maclean<br>
>>>><br>
>>>> ___________________________________________<br>
> _______________________________________________<br>
> Powered by <a href="https://na01.safelinks.protection.outlook.com/?url=www.kitware.com&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=MOVhItfPCXhoqRfpkkpfmBGyNrthSQhA9SD%2Fxx0aWHI%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=www.kitware.com&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=MOVhItfPCXhoqRfpkkpfmBGyNrthSQhA9SD%2Fxx0aWHI%3D&reserved=0</a><br>
><br>
> Visit other Kitware open-source projects at <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=019a%2BwqJEgmPJZDHThfa%2B6MnSOdAv5BC3HClNEGOVfY%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=019a%2BwqJEgmPJZDHThfa%2B6MnSOdAv5BC3HClNEGOVfY%3D&reserved=0</a><br>
><br>
> Search the list archives at: <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3Dvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=4QoQc%2FSmBX0Wscw5TR%2BYg6SOXUHrHWElowi%2B03r3OZk%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3Dvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=4QoQc%2FSmBX0Wscw5TR%2BYg6SOXUHrHWElowi%2B03r3OZk%3D&reserved=0</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=Yhue4UpNDB3dlEf0wQYhK7KzsQQES0EEuJWVOoG27Zw%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=Yhue4UpNDB3dlEf0wQYhK7KzsQQES0EEuJWVOoG27Zw%3D&reserved=0</a><br>
><br>
_______________________________________________<br>
Powered by <a href="https://na01.safelinks.protection.outlook.com/?url=www.kitware.com&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=MOVhItfPCXhoqRfpkkpfmBGyNrthSQhA9SD%2Fxx0aWHI%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=www.kitware.com&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=MOVhItfPCXhoqRfpkkpfmBGyNrthSQhA9SD%2Fxx0aWHI%3D&reserved=0</a><br>
<br>
Visit other Kitware open-source projects at <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=019a%2BwqJEgmPJZDHThfa%2B6MnSOdAv5BC3HClNEGOVfY%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=019a%2BwqJEgmPJZDHThfa%2B6MnSOdAv5BC3HClNEGOVfY%3D&reserved=0</a><br>
<br>
Search the list archives at: <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3Dvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=4QoQc%2FSmBX0Wscw5TR%2BYg6SOXUHrHWElowi%2B03r3OZk%3D&reserved=0">
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3Dvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=4QoQc%2FSmBX0Wscw5TR%2BYg6SOXUHrHWElowi%2B03r3OZk%3D&reserved=0</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=Yhue4UpNDB3dlEf0wQYhK7KzsQQES0EEuJWVOoG27Zw%3D&reserved=0">https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fvtk-developers&data=02%7C01%7Classo%40queensu.ca%7C0ced79d0c7c54d7f0f2808d4ba1a6217%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636338069854146481&sdata=Yhue4UpNDB3dlEf0wQYhK7KzsQQES0EEuJWVOoG27Zw%3D&reserved=0</a><br>
<br>
</div>
</span></font>
</body>
</html>