Re: The (ab) use of iObject
Mike Gist <[email protected]>
| Newsgroups | gmane.comp.graphics.crystalspace.devel |
|---|---|
| Message-ID | <CAONw8qa0CnWfO_5rP+EQN4pZAw2AHSEsbEOZrWBCga6sAibTQg@mail.gmail.com> |
Hey, I believe that iObject was used for regions before collections replaced them. I actually wasn't aware of a different purpose for iObject :) I have no objections to having specific interfaces for features like collections though. Would this be a big API breaker in any way? Mike On 3 September 2012 14:00, Jorrit Tyberghein <[email protected]>wrote: > Hi all, > > In CS we use the iObject system for various things. For example > collections are iObjects' which have > other iObjects' as children. So a mesh, sector, or other CS object is > attached to a collection by having > the collection as its parent. > > Also there is iSaverFile. This interface represents a CS file to save too. > Engine objects (like > meshes and so on) are attached to iSaverFile so that the saver plugin > knows which objects to > save. > > See the problem? An iObject can have only one parent. So what does one > have to do when > one wants to use collections and in addition iSaverFile? > > There are other examples. CEL also uses iObject for some usages (but > luckily in a safe direction > from a CS object to an internal CEL object) and also the new physics will > (I believe) use iObject. > > I think the problem is that iObject is a very generic interface and as > such I think it should only > be used for generic situations. The original purpose of iObject was an > interface that allowed a game > developer to attach game logic to CS objects. That's exactly what CEL is > doing. But that's not > what CS collection system and iSaverFile are doing. > > I think it would be best if fundamental and internal CS facilities not > touch this generic iObject > system but instead have their own specific system. That way collisions are > less likely and > you can actually use things together. So for example, the collection > system in CS should not > base itself on the iObject system at all but use a custom parent/child > relationship. > > Opinions please? > > > -- > Project Manager of Crystal Space (http://www.crystalspace3d.org) > and CEL (http://cel.crystalspace3d.org) > Support Crystal Space. Donate at > https://sourceforge.net/donate/index.php?group_id=649 > Personal page: http://users.telenet.be/jorritTyberghein/ > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Crystal-develop mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/crystal-develop > > -- - Mike ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Crystal-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/crystal-develop