[ODE] XML ODE Data Interchange Format

William Denniss lists at omegadelta.net
Mon Mar 8 09:43:44 MST 2004


On Mon, 2004-03-08 at 01:14, Jani Laakso wrote:
> William Denniss wrote:
> 
> > I'll make a revision to the spec tomorrow taking into account these and
> >
> >the other comments received to date.
> >  
> >
> William, I'd assume editors export the whole simulation "as-is" on any 
> given time user hits the export button, so the simplest case would be to 
> export simulation same way. User can use editors to create an simulation 
> that consist of single car and nothing more, but the final simulation 
> can consists of huge number of entities. I'm here calling an ODE object 
> as an entity, e.g. truck, jeep, motorcycle or house is an entity.
> 
> Here's a quick alternative:
> 
> <xode>
>   <!-- this file has been accessed using ODEd editor -->
>   <extension id="1" name="ODEd" />
>   <!-- ODEd defines it's own data -->
>   <ext id="1">
>     <version>1.0</version>
>     <files id="1" path="./motorcycle.3ds" />
>     <files id="1" path="./jeep.3ds" />
>     <files id="1" path="./truck.3ds" />
>   </ext>
>   <world id="1">
>     <!-- Define all entities for the simulation -->
>     <entity name="motorcycle1">
>       <body name="chassis">
>         <space id="1" />
>         <position />
>         <quaternion />
>         <geom />
>         <!-- ODEd defines it's own data -->
>         <ext id="1">
>           <mesh id="1" node="chassis" />
>         </ext>
>       </body>
>       <body name="frontTire" group="wheels" />
>       <body name="backTire" group="wheels" />
>     <jointgroup />
>     </entity>
>     <entity name="truck1" />
>     <entity name="jeep1" />
>     <entity name="jeep2" />
>     <entity name="jeep3" />
>     <entity name="house" />
>       <geom />
>     </entity>
>   </world>
> </xode>
> 

Jani,

This was the idea behind the <group> tag.  But the group is more
abstract - it could be used as an "entitiy" or anything else you can
dream up.  Other uses are thing like grouping all of the wheels of a car
for easy access by the program later, etc.

I definitely wanted to take this into account.  Your above example can
be achieved currently just by replacing all instances of "entity" with
"group".  Perhaps we could just add an attribute to group which can
specify if it's an entity so that an application can query the file and
get a list of entities.  Eg.

<group entity="true">


> By the way, what does the name attribute mean on xode tag? Are you 
> planning to support only one entity per file?

The <xode> tag is the root tag - I see no need to have more than once
since we already have <world> for defining totally separate scenes, and
<group> which can be used for <entities>.

Basically I think the spec can currently do what you wish but I shall
take these comments on board and make sure my explanations are very
clear for each tag in the spec.


Cheers,

Will.


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



More information about the ODE mailing list