[ODE] XML ODE Data Interchange Format

William Denniss lists at omegadelta.net
Wed Mar 10 14:11:34 MST 2004


On Wed, 2004-03-10 at 10:18, Steve Baker wrote:
> Nate W wrote:
> > On Mon, 8 Mar 2004, Billy Zelsnack wrote:
> > 
> > 
> >>use matrices. ode uses matrices internally, not some wacky structure.
> >>matrices should always be relative to their parent. the matrix layout
> >>should be exactly how ode is internally.
> > 
> > 
> > I think you're already in trouble if you want them "relative to their
> > parent" and "how ODE is internally," since ODE doesn't have much hierarchy
> > internally.  Other than geom transforms, ODE objects all have
> > their own (not relative to anything) matricies.
> 
> I have patiently explained this at least three times in this thread - but
> the message somehow isn't getting through.

Did your actual email make it through?

The following emails from you on the "XML ODE Data Interchange Format"
thread in the archives:
http://hook.org/pipermail/ode/2004-March/011547.html
http://hook.org/pipermail/ode/2004-March/011557.html
http://hook.org/pipermail/ode/2004-March/011612.html

None seem to talk about this exact issue - but I may have missed
something.

After a bit of digging into the XML discussions last month I found this
one from you: http://hook.org/pipermail/ode/2004-February/011447.html

But in that you are simply saying that you can't store all ODE data in a
tree (i.e. you need unique names and links which is what we have).

 * * *

Here's my current line of thought regarding transforms:

There can be several ways of representing the transforms - but whichever
way is used must be used consistently throughout the file.  Currently
there are two contenders - a 4x4 matrix, and location,rotation and
scale.

A Transform is always relative to its parent - unless specified
otherwise (an attribute absolute="true").


This format is not purely a way of serializing an ODE sceneand therefore
isn't a 1:1 representation.  Steve actually suggested the possibility of
serializing an ODE in the other thread by using actual ODE calls.

Think of XODE a bit like a high level C++ (or Java) binding to the lower
level ODE API.  You can still do everything you could in the low level
API - but there are some added niceties that you can take advantage of. 
XODE was designed to work with people using the low level calls, as well
as object orientated wrappers and editors.

Relative transformations are one of those "niceties".  If you don't want
them it's easy not to use them in the first place, of flatten them out
afterwards.  The <group> tag is another.


Regards,

Will.





More information about the ODE mailing list