00001 /************************************************************************* 00002 * * 00003 * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. * 00004 * All rights reserved. Email: russ@q12.org Web: www.q12.org * 00005 * * 00006 * This library is free software; you can redistribute it and/or * 00007 * modify it under the terms of EITHER: * 00008 * (1) The GNU Lesser General Public License as published by the Free * 00009 * Software Foundation; either version 2.1 of the License, or (at * 00010 * your option) any later version. The text of the GNU Lesser * 00011 * General Public License is included with this library in the * 00012 * file LICENSE.TXT. * 00013 * (2) The BSD-style license that is included with this library in * 00014 * the file LICENSE-BSD.TXT. * 00015 * * 00016 * This library is distributed in the hope that it will be useful, * 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files * 00019 * LICENSE.TXT and LICENSE-BSD.TXT for more details. * 00020 * * 00021 *************************************************************************/ 00022 00023 /* Library initialization/finalization functions. */ 00024 00025 #ifndef _ODE_ODEINIT_H_ 00026 #define _ODE_ODEINIT_H_ 00027 00028 #include <ode/common.h> 00029 00030 00031 #ifdef __cplusplus 00032 extern "C" { 00033 #endif 00034 00035 00036 /* ************************************************************************ */ 00037 /* Library initialization */ 00038 00071 enum dInitODEFlags { 00072 dInitFlagManualThreadCleanup = 0x00000001, //@< Thread local data is to be cleared explicitly on @c dCleanupODEAllDataForThread function call 00073 }; 00074 00090 ODE_API void dInitODE(void); 00091 00108 ODE_API int dInitODE2(unsigned int uiInitFlags/*=0*/); 00109 00110 00135 enum dAllocateODEDataFlags { 00136 dAllocateFlagBasicData = 0, //@< Allocate basic data required for library to operate 00137 00138 dAllocateFlagCollisionData = 0x00000001, //@< Allocate data for collision detection 00139 00140 dAllocateMaskAll = ~0U, //@< Allocate all the possible data that is currently defined or will be defined in the future. 00141 }; 00142 00166 ODE_API int dAllocateODEDataForThread(unsigned int uiAllocateFlags); 00167 00193 ODE_API void dCleanupODEAllDataForThread(); 00194 00195 00216 ODE_API void dCloseODE(void); 00217 00218 00219 00220 00221 00222 #ifdef __cplusplus 00223 }; // extern "C" 00224 #endif 00225 00226 00227 #endif // _ODE_ODEINIT_H_