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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.