Open Dynamics Engine
|
00001 /************************************************************************* 00002 * * 00003 * OU library interface file for Open Dynamics Engine, * 00004 * Copyright (C) 2008 Oleh Derevenko. All rights reserved. * 00005 * Email: odar@eleks.com (change all "a" to "e") * 00006 * * 00007 * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. * 00008 * All rights reserved. Email: russ@q12.org Web: www.q12.org * 00009 * * 00010 * * 00011 * This library is free software; you can redistribute it and/or * 00012 * modify it under the terms of EITHER: * 00013 * (1) The GNU Lesser General Public License as published by the Free * 00014 * Software Foundation; either version 2.1 of the License, or (at * 00015 * your option) any later version. The text of the GNU Lesser * 00016 * General Public License is included with this library in the * 00017 * file LICENSE.TXT. * 00018 * (2) The BSD-style license that is included with this library in * 00019 * the file LICENSE-BSD.TXT. * 00020 * * 00021 * This library is distributed in the hope that it will be useful, * 00022 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files * 00024 * LICENSE.TXT and LICENSE-BSD.TXT for more details. * 00025 * * 00026 *************************************************************************/ 00027 00028 /* 00029 00030 ODE interface to OU library functions. 00031 00032 */ 00033 00034 00035 #ifndef _ODE_ODEOU_H_ 00036 #define _ODE_ODEOU_H_ 00037 00038 00039 #if dOU_ENABLED 00040 00041 #include <ou/assert.h> 00042 #include <ou/enumarrays.h> 00043 #include <ou/macros.h> 00044 #include <ou/templates.h> 00045 #include <ou/typewrapper.h> 00046 #include <ou/simpleflags.h> 00047 #include <ou/customization.h> 00048 00049 #if dATOMICS_ENABLED 00050 #include <ou/atomic.h> 00051 #include <ou/atomicflags.h> 00052 #endif 00053 00054 #if dTLS_ENABLED 00055 #include <ou/threadlocalstorage.h> 00056 #endif 00057 00058 00059 using namespace _OU_NAMESPACE; 00060 00061 00062 class COdeOu 00063 { 00064 public: 00065 static bool DoOUCustomizations(); 00066 static void UndoOUCustomizations(); 00067 00068 #if dATOMICS_ENABLED 00069 static bool InitializeAtomics() { return InitializeAtomicAPI(); } 00070 static void FinalizeAtomics() { FinalizeAtomicAPI(); } 00071 #endif 00072 }; 00073 00074 00075 #endif // dOU_ENABLED 00076 00077 00078 #endif // _ODE_ODEOU_H_