From: Gerrit V. <vo...@ca...> - 2006-08-31 07:22:29
|
Hi, On Thu, 2006-08-31 at 08:45 +0200, Marcus Roth wrote: > Hi, > > could we add as many as possible new interfaces from 2.0 to 1.8? For > example the editXXX functions or the new field access methods for Ptr > fields. It would be nice, if it is possible to compile an application with > 1.8 and 2.0 with a view #ifdef OPENSG_20. > > We talked already about this, but I don't know, if the decission was > already mad to do this. yes we did but the solution was to compromise between 2.x and 1.x For example 2.x got the getXXX methods with editXXX signature or ptr's got the dcast back (which forces us to keep the FCPtrs around for the time being). 1.x mainly got the addToPtr/clearPtr field stuff from 2.x (currently where needed) but this has some semantic nightmares (because of 1.x shortcoming) ;-( which might break current applications (or at least make them leak memory). My current problem is that my references for OpenSG use represent only a narrow special case with a very small set of self made OpenSG containers which I changed manually. I haven't had time to look into scripting the modifications needed for self made OpenSG containers. So making sure that it is as painless as possible is not so easy without a broader test base. Currently we try to minimize the use of #if OPENSG_MAJOR_VERSION < 2 to get code compiling against both versions. Just as an info Avalon (for those who know it) currently has 46 (of 1135) cpp files where this is needed but the number also includes the cases where 2.x is missing features. The major source for the cases to stay is btw the new geometry implementation. regards, gerrit |