[ODE] XML ODE Data Interchange Format

William Denniss lists at omegadelta.net
Mon Mar 8 10:02:43 MST 2004


On Mon, 2004-03-08 at 00:29, Jani Laakso wrote:
> In short, basically what I'm trying to say is:
> -XODE should define only ODE related data

This is what it currently does isn't it?  Is there anywhere that is
defining information not pertaining to the ODE scene (we'll take out
mesh - it only had two attributes anyway).

> -let each editor take care of their own definitions (e.g. visual side 
> binding)

Definitally.

If it's the discussed new colour attribute you are worried about, then
that can be converted to an extension easily as well.

> 
> William Denniss wrote:
> 
> >Maybe as you say we don't need the <mesh> tag at all.  The way I see it
> >is the the importer doesn't necessarily have to have a file name - it
> >could even just use the mesh tags name as an identifier to get the file
> >- but a separate <mesh> tag is not needed for that, it could use the
> >name of the <body> to achieve the same effect.
> >  
> >
> XODE should not define anything on the visual representation side, I'd 
> personally like to focus getting good ODE XML definition and nothing 
> more. We do not know how a specific application or editor want's to bind 
> visual side to ODE objects. Just let them do their own definition using 
> simple <ext> tag or even another XML file.

My goal exactly.  It's completely up to the importer to decide how to
display the graphics - there's no point to try and handle graphics when
there are many great standards already out there.

> >The extension you proposed will do fine to store the file locations, and
> >it would make sense for it to be the standard way of storing such
> >information.  There could be another tag as well to specify the linked
> >file format/version, eg <format>Max Object</format>. Perhaps this is not
> >needed with .3ds files but it could be handy if a format has several
> >different versions which must be treated slightly differently.
> >  
> >
> I wouldn't worry about defining these on XODE schema / DTD. I'd let the 
> <ext> tag to be as free as it can get and let editors exploit it  in any 
> way they wish. Most probably they would define formats, filenames or 3d 
> visual node names but this should not be a concern for XODE (imho).

I also agree with this.  What I meant by "it would make sense for it to
be the standard way of storing such information", I meant that the
"file-location" extension should be the standard extension used by
people to store this information.  I wasn't suggesting moving it into
the spec.  Sorry for the confusion.

I think we should have a collection of individually defined   "common
extensions" (colour can be in this boat too) totally separate from the
official XODE spec but still a recommended standard to encourage
interoperability.  After all storing a filename is very trivial and it's
silly for everyone to do it differently.


> If developer uses editor X which defines non-XODE supported data under 
> <ext> tag, then developer knows about these tags and reads e.g. visual 
> representation related data like:
> 
> <xode>
> 
>   <!-- this file has been accessed using ODEd editor -->
>   <extension id="1" name="ODEd" />
> 
>   <!-- this file has been accessed using Juice editor -->
>   <extension id="2" name="juice" />
> 
>   <!-- ODEd defines some more it's own data -->
>   <ext id="1">
>     <version>1.0</version>
>   </ext>
> 
>   <!-- Another imaginary example for general Juice settings -->
>   <ext id="2">
>     <version>1.0</version>
>     <visualfiles>
>       <filename name="motorcycle.xyz" id="1"/>
>       <filename name="truck.xyz" id="2"/>
>       <filename name="jeep.xyz" id="3"/>
>     </visualfiles>
>   </ext>
> 
>   <!-- Define all ODE objects -->
>   <entity name="motorcycle">
>     <body name="chassis">
>     <geom />
>     <ext id="1">
>       <!-- compact ODEd definition block for the current body -->
>       <mesh filename="vehicles.3ds" node="bike/tire/left" />
>     </ext>
>     <ext id="2">
>       <!-- sample Juice definition block.. -->
>       <visual id="1">
>         <node>tireLeft</node>
>         <scale x="0.5" y="0.5" z="0.5" />
>       </visual>
>     </ext>
>     </body>
>     <body name="frontLeftTire" />
>     <body name="frontRightTire" />
>     <body name="rearLeftTire" />
>     <body name="rearRightTire" />
>     <jointgroup />
>   </entity>
>   <entity name="truck" />
>   <entity name="jeep" />
> 
> </xode>
>
> Just my five cents, Jani.

Jani - I believe we are on the same page on this one :)  Perhaps I have
not explained myself as best I could, but our goals are quite similar.

Cheers,

Will.

-- 
William Denniss - will@ http://tanksoftware.com/



More information about the ODE mailing list