On Friday 08 October 2010 16:09:12 Jean-Sébastien Guay wrote: > Hi Magnus, > > >> I'm aware that this introduces a massive API break, but in fact this has > >> already been done to some extent when MatrixManipulator was renamed. All > >> old code using this class had to be adapted there as well. > >> > >> In general, what does the community feel about breaking API in this > >> manner between major revisions? Is this more of a nuisance, or a way to > >> keep the API clean and consistent? > > I agree with you that the API has already been broken, and I think > consistency would be important as well, so I would agree with your changes. > > To note, I recently made our framework compile with recent OSG from SVN, > and since I needed to keep backward compatibility (i.e. compile with OSG > 2.6, 2.8.3 and SVN from the same code base) I ended up putting a typedef > CameraManipulator MatrixManipulator in a few places. OSG could pretty > easily have added a header called MatrixManipulator that would have been > simply: > > #include <osgGA/CameraManipulator> > typedef CameraManipulator MatrixManipulator; > > and thus kept backward compatibility. It would have made things easier > for me and probably others too, but then again since the next official > version of OSG is 3.0, changing the API and having as little backward > compatibility overhead makes sense too... > > J-S
Hi Robert, and OSG community, with the tight schedule towards OSG 3.0, do you feel it's worthwile aiming for internal API consistency still? J-S makes a very good point that backwards compatibility is important, too. Should we aim to provide a clean API moving forward, while still maintaining backwards compatibility via typedefs and defines, where needed? I'm willing to chip in and provide further patches. Please advise. Regards, Magnus _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
