[ODE] Introduction / Suggestions etc

Adam Moravanszky amoravanszky at dplanet.ch
Fri Oct 18 15:49:01 2002


This is a multi-part message in MIME format.

------=_NextPart_000_0019_01C27709.9D4F8300
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

> worth a look.  Speaking of which, I'm reminded of a message from Adam @
> Novodex that I didn't get around to replying to the other day...
>
> Anyhow, once a good file format gets agreed upon, I think a second key
> ingredient to standardization would be to have some open and shared
> "deserialization" code available.  The less work it takes for application
> developers to import such files, quicker they (we?) will support it.

Hi Nate,

I attached some simple parser code (only 7K, I guess that is OK).  It can
create the ODS data structure from a C++ stream, or write a structure to a
stream.  This stuff only works on the ODS syntax level, and is not physics
specific.  All the higher (physics) level serialization code is part of the
free viewer code in the SDK download, but of course on that level things are
less portable -- as you know for example our joint limits are specified
quite differently than those in ODE, for example.  Still, standardization
even on this level would not hurt.

--  Adam Moravanszky

/*================*\
|Chief Software Architect
|NovodeX AG
|physics middleware
|www.novodex.com
\*================*/

------=_NextPart_000_0019_01C27709.9D4F8300
Content-Type: application/x-zip-compressed;
	name="odblock.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="odblock.zip"

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

------=_NextPart_000_0019_01C27709.9D4F8300--