int dInitODE2( unsigned int uiInitFlags /*=0*/ );
引数のuiInitFlagsには、dInitODEFlags列挙型の値を指定します。処理が成功した場合にはゼロ以外の値を返します。
enum dInitODEFlags { // dCleanupODEAllDataForThread()関数の呼び出し時に、 // スレッドのローカルデータが確実に消去されるようにする dInitFlagManualThreadCleanup = 0x00000001, };
ODE 0.10まではdInitODE()という関数が使用されていましたが、現在ではこれは
dInitODE2( 0 ); dAllocateODEDataForThread( dAllocateMaskAll );
のように実行するのと同じ意味となります。「簡単!実践!ロボットシミュレーション」正誤表 | demura.net:RoboCup・ODE・夢考房
なおdAllocateODEDataForThread()はスレッドの初期化を行う関数です。
void dCloseODE( void )
終了処理をするときにはdCloseODE()を呼び出すより先に、作成したワールドやスペースのオブジェクトを破棄する必要があります。
ボディとジオメトリは、それを格納するワールドとスペースが破棄されたときに自動的に破棄されるため、通常は明示的に破棄する必要はありません。
ジョイントは、それを格納するワールドかジョイント グループが破棄されたときに自動的に破棄されます。よってこれも、明示的に破棄する必要はありません。