[ITK] [ITK-dev] ITK API Change (was ITKApps failing after recent commit)

Matt McCormick matt.mccormick at kitware.com
Tue May 26 11:31:54 EDT 2015


Hi Bill,

Thanks for bringing attention to this.  If we cannot find a way for
external Event code to work without modification, I thing we should
revert the change before we release 4.8.

2 cents,
Matt

On Tue, May 26, 2015 at 11:26 AM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
> itkEventMacro no longer works the way it used to. Applications that used
> itkEventMacro(myEvent, itk::UserEvent);
> must break up the statement into two statements and two files:
> in the .h file
> itkEventMacroDeclaration(myEvent,itk::UserEvent);
> in the .cxx file
> itkEventMacroDefinition(myEvent,itk::UserEvent);
>
> The problems occurs when an application has multiple source files that
> include the file with itkEventMacro. Duplicate symbols are created
> now. Prior to the API-break this was fine.
>
> Application code that uses itkEventMacro that wants to support ITK
> pre-the-API-break and post-the-API-break will need further statements.
>
> I am working on getting the ITKApps to work with both pre and post
> API-break versions.
>
> The unintended consequences of this API break are troublesome.
>
> On Mon, May 25, 2015 at 3:10 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>> itksnap also has issues with the API change. I'll try to make a small
>> example that illustrates the problem.
>>
>>
>>
>> On Mon, May 25, 2015 at 12:08 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>>> Looks to me that the API for itkEventMacro has changed. This is bad.
>>> In ITKApps there are several definitions like this. How must these be
>>> changed?
>>>
>>> namespace fltk {
>>>
>>> /**
>>>  *  List of the events expected in this domain
>>>  */
>>> itkEventMacro( RedrawEvent,            itk::UserEvent );
>>> itkEventMacro( GlDrawEvent,            itk::UserEvent );
>>> itkEventMacro( VolumeReslicedEvent,    itk::UserEvent );
>>> itkEventMacro( ClippingPlaneEvent,     itk::UserEvent );
>>>
>>>
>>>
>>> } // end namespace fltk
>>>
>>>
>>> On Mon, May 25, 2015 at 11:59 AM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>>>> Since this topic was merged, ITKApps failk to build. I narrowed it
>>>> down using git commit.
>>>>
>>>> http://review.source.kitware.com/#/c/19729/
>>>>
>>>> Here is the failing dashboard entry:
>>>> https://open.cdash.org/viewBuildError.php?buildid=3828894
>>>>
>>>> I'll take a lot to see if I can fix it.
>>>>
>>>> Bill
>>>
>>>
>>>
>>> --
>>> Unpaid intern in BillsBasement at noware dot com
>>
>>
>>
>> --
>> Unpaid intern in BillsBasement at noware dot com
>
>
>
> --
> Unpaid intern in BillsBasement at noware dot com
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-developers
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-developers


More information about the Community mailing list