The (ab) use of iObject

Jorrit Tyberghein <[email protected]>
Newsgroups gmane.comp.graphics.crystalspace.devel
Message-ID <CAA49VV+MHmPCcwpboCUJgirnuYhhWJpsr+0nvrPgz9j2uqx8Ww@mail.gmail.com>
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
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.