[vtk-developers] Proposing vtkObjectMacro

Aashish Chaudhary aashish.chaudhary at kitware.com
Thu Sep 13 14:49:51 EDT 2012


I think a reasonable compromise would be to have

1) vtkClassMacro

and

2) vtkDisableCopyMacro

Since we already have a marco for New, (vtkStandardNewMarco), having New
inside vtkClassMacro may not be a bad idea (and hence it could be useful to
have it).



On Thu, Sep 13, 2012 at 2:44 PM, Utkarsh Ayachit <
utkarsh.ayachit at kitware.com> wrote:

> I am suggesting the vtkDisableCopy() macro as an alternative to the
> vtkClassMacro() since after stripping out the controversial parts for
> vtkClassMacro() all that remains is disable copy, vtkTypeMacro() and
> New() and frankly, New() is also not always needed since it doens't
> work for abstract classes.
>
>
> On Thu, Sep 13, 2012 at 2:40 PM, Marcus D. Hanwell
> <marcus.hanwell at kitware.com> wrote:
> > Why provide a disable copy macro when it is a requirement of vtkObject
> > derived classes? It should just be part of the vtkClassMacro, with
> > QObject derived classes they can have copy constructors, and so
> > provided an option makes more sense there.
> >
> > On Thu, Sep 13, 2012 at 2:29 PM, Aashish Chaudhary
> > <aashish.chaudhary at kitware.com> wrote:
> >> +1 to remove construct and destructor. Also I think like Qt we should
> >> provide disable copy macro and use it in vtkClassMacro.
> >>
> >> Thanks,
> >>
> >>
> >> On Thu, Sep 13, 2012 at 12:39 PM, Cory Quammen <cquammen at cs.unc.edu>
> wrote:
> >>>
> >>> +1 if you remove the constructors/destructor declarations.
> >>>
> >>> Cory
> >>>
> >>> On Thu, Sep 13, 2012 at 11:33 AM, Patchett, John M <patchett at lanl.gov>
> >>> wrote:
> >>> > Though I don't usually involve myself in VTK development, I think
> >>> > that obfuscated understandability is part of the reason that I've
> seen
> >>> > a large number of otherwise bright developers (students) become
> >>> > integration impotent when asked to put their ideas/code in
> >>> > VTK/ParaView...
> >>> > If a goal is to have contributors, this is a bad idea.
> >>> >
> >>> >
> >>> > --John.
> >>> >
> >>> >
> >>> > On 9/13/12 9:22 AM, "Marcus D. Hanwell" <marcus.hanwell at kitware.com>
> >>> > wrote:
> >>> >
> >>> >>On Thu, Sep 13, 2012 at 11:07 AM, Utkarsh Ayachit
> >>> >><utkarsh.ayachit at kitware.com> wrote:
> >>> >>>> I am in favor of adding the macro, and disagree with Utkarsh in
> that
> >>> >>>> we already have the type macro etc and it will remove the need
> for a
> >>> >>>> lot of boiler plate code in each class declaration.
> >>> >>>
> >>> >>> Note  that vtkTypeMacro() doesn't force you to add anything in the
> cxx
> >>> >>> file. You can pretty much not know what that macro does and you're
> >>> >>> okay. Not so with this macro. Also hiding constructor/destructor is
> >>> >>> really weird to me. Why would you? I don't think I am thrilled by
> >>> >>> having to implement function definitions without seeing their
> >>> >>> declarations in the header. None of the existing macros do that,
> not
> >>> >>> even in Qt, as far as I know. Readability of code is far more
> >>> >>> important that saving typing a few more lines, IMHO.
> >>> >>>
> >>> >>I can see your point with the contructor/desctructor. Even with them
> >>> >>removed I still think this macro would be very useful.
> >>> >>
> >>> >>Marcus
> >>> >>_______________________________________________
> >>> >>Powered by www.kitware.com
> >>> >>
> >>> >>Visit other Kitware open-source projects at
> >>> >>http://www.kitware.com/opensource/opensource.html
> >>> >>
> >>> >>Follow this link to subscribe/unsubscribe:
> >>> >>http://www.vtk.org/mailman/listinfo/vtk-developers
> >>> >>
> >>> >
> >>> > _______________________________________________
> >>> > Powered by www.kitware.com
> >>> >
> >>> > Visit other Kitware open-source projects at
> >>> > http://www.kitware.com/opensource/opensource.html
> >>> >
> >>> > Follow this link to subscribe/unsubscribe:
> >>> > http://www.vtk.org/mailman/listinfo/vtk-developers
> >>> >
> >>>
> >>>
> >>>
> >>> --
> >>> Cory Quammen
> >>> Research Associate
> >>> Department of Computer Science
> >>> The University of North Carolina at Chapel Hill
> >>> _______________________________________________
> >>> Powered by www.kitware.com
> >>>
> >>> Visit other Kitware open-source projects at
> >>> http://www.kitware.com/opensource/opensource.html
> >>>
> >>> Follow this link to subscribe/unsubscribe:
> >>> http://www.vtk.org/mailman/listinfo/vtk-developers
> >>>
> >>
> >>
> >>
> >> --
> >> | Aashish Chaudhary
> >> | R&D Engineer
> >> | Kitware Inc.
> >> | www.kitware.com
> >>
> >> _______________________________________________
> >> Powered by www.kitware.com
> >>
> >> Visit other Kitware open-source projects at
> >> http://www.kitware.com/opensource/opensource.html
> >>
> >> Follow this link to subscribe/unsubscribe:
> >> http://www.vtk.org/mailman/listinfo/vtk-developers
> >>
> >>
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.vtk.org/mailman/listinfo/vtk-developers
> >
>



-- 
| Aashish Chaudhary
| R&D Engineer
| Kitware Inc.
| www.kitware.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20120913/8f734be2/attachment.html>


More information about the vtk-developers mailing list