[Insight-developers] Re: itkTypeMacro
Lorensen, William E (Research)
lorensen at crd.ge.com
Thu Jan 20 13:04:22 EST 2005
Go for it! I assume you will replace Self with the classname?
Bill
-----Original Message-----
From: Stephen R. Aylward [mailto:aylward at unc.edu]
Sent: Thursday, January 20, 2005 10:34 AM
To: Insight-developers (E-mail)
Subject: [Insight-developers] Re: itkTypeMacro
The following classes use the itkTypeMacro incorrectly (See Luis'
explanation at the end of this email).
Bill, should I wait until a greener dashboard before making these
changes, or should I do them today?
Stephen
> ./Code/Algorithms/itkSimplexMeshVolumeCalculator.h:
itkTypeMacro(Self, Object);
> ./Code/BasicFilters/itkMinimumMaximumImageCalculator.h:
itkTypeMacro(Self, Object);
> ./Code/BasicFilters/itkSpatialObjectToImageStatisticsCalculator.h:
itkTypeMacro(Self, Object);
> ./Code/Common/itkImageDuplicator.h: itkTypeMacro(Self, Object);
> ./Code/IO/itkPolygonGroupSpatialObjectXMLFile.h:
itkTypeMacro(Self,Superclass);
> ./Code/IO/itkSpatialObjectReader.h: itkTypeMacro(Self, Superclass);
> ./Code/IO/itkSpatialObjectWriter.h: itkTypeMacro(Self, Superclass);
> ./Code/SpatialObject/itkAffineGeometryFrame.h:
itkTypeMacro(Self,Superclass);
> ./Code/SpatialObject/itkSceneSpatialObject.h: itkTypeMacro(Self,
Superclass);
./Code/Common/itkNonUniformBSpline.h: itkTypeMacro( Self, Superclass );
./Code/Common/itkTreeNode.h: itkTypeMacro( Self, Superclass );
./Code/SpatialObject/itkArrowSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkCylinderSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkDTITubeSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkEllipseSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkGaussianSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkGroupSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkLandmarkSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkLineSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkPlaneSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkPointBasedSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkPolygonGroupSpatialObject.h: itkTypeMacro(
Self, Superclass );
./Code/SpatialObject/itkPolygonSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkSpatialObject.h: itkTypeMacro( Self, Superclass );
./Code/SpatialObject/itkSpatialObjectProperty.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkSpatialObjectTreeNode.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkSurfaceSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkTubeSpatialObject.h: itkTypeMacro( Self,
Superclass );
./Code/SpatialObject/itkVesselTubeSpatialObject.h: itkTypeMacro( Self,
Superclass );
Luis Ibanez wrote:
>
> Hi Stephen,
>
> Yeap, using "Self" in the Type Macro is not useful
> since the macro simply takes the string of its
> argument an this is what is returned in
>
> GetNameOfClass()
>
> The code in the macro is
>
>
>
> #define itkTypeMacro(thisClass,superclass) \
> virtual const char * GetNameOfClass() const \
> { return #thisClass; }
>
>
>
> so... when we put
>
>
> itkTypeMacro( Self, Superclass)
>
>
> the effect is that the method GetNameOfClass() will
> return "Self" as the name of the class.
>
>
> It will be good to fix the classes that we identify
> using itkTypeMacro(Self,Superclass)...
>
>
>
> Luis
>
>
>
> ---------------------------
> Stephen R. Aylward wrote:
>
>> Hi Luis,
>>
>> You raised an interesting point today....
>>
>> Is it true that we cannot use
>>
>> itkTypeMacro( Self, Superclass );
>>
>> ?????
>>
>> Is so, then there are changes to be made in several classes (including
>> the spatial object classes) in ITK!
>>
>> I can help make those changes...
>>
>> Thanks,
>> Stephen
>>
>
>
>
>
--
===========================================================
Dr. Stephen R. Aylward
Associate Professor of Radiology
Adjunct Associate Professor of Computer Science and Surgery
http://caddlab.rad.unc.edu
aylward at unc.edu
(919) 966-9695
_______________________________________________
Insight-developers mailing list
Insight-developers at itk.org
http://www.itk.org/mailman/listinfo/insight-developers
More information about the Insight-developers
mailing list