Improper Shortcut Terms

Brad

29-06-2007 04:05:28

Although I could have made separate tickets on the python-ogre site for each and every incorrectly or illogically bound shortcut term I come across, I decided it would be much easier for myself (and others) to post these as they come across them. Most were inconsistent matters I discovered after making the switch from PyOgre and finding myself having to repair these broken names.

Here's my current list.

ogreRoot.renderSystem
is not equivalent to:
ogreRoot.getRenderSystem()
ogreRoot.setRenderSystem()

entity.skeleton
is equivalent to:
entity.hasSkeleton()
instead of:
entity.getSkeleton()

entity.skeleton.blendMode
is equivalent to:
entity.skeleton.getBlendMode()
but not:
entity.skeleton.setBlendMode()
but strangely this will work:
entity.skeleton.setBlendMode = 1

node.parent
not equal to:
node.getParent()


Hopefully none were mistakes on my part. I only quickly jot them down if I remember to at the time as there have been several more I have forgotten to record. Hope it helps. Keep up the good work.

andy

29-06-2007 05:48:23

It might be good to create a page on the Python-Ogre wiki specifically for people converting from PyOgre - this way we can keep the list updated..

I did make a section in the FAQ (http://www.python-ogre.org/wiki/FAQindex), however it's far from complete.. I also made notes in an older release (http://www.python-ogre.org/wiki/Version07Info) which describes how we create properties..

To be clear, we are not trying to match PyOgre, or to 'overload' every getter and setter with a Python property -- instead (because we want to focus on stability and long term maintainability) we are very conservative on what gets exposed, so sometimes things are (intentionally) left out.

Specifically to your list:
RenderSystem as a property indeed doesn't exist (didn't match our criteria)
entity.skeleton is probably :( a bug, we look for 'has<name>' before 'get<name>' and I'll look to change the order
entity.skeleton.blendMode is correctly exposed - however we fixed some setter functionality after RC2 so may not be in the binary release yet
node.parent is also not a qualifing property

I'll take another look at our property creation rules to double check the rendersystem and parent properties and why we don't expose them.

Thanks for list -- keep it coming :)

Andy