# OgreRefAppPrerequisites.h

Go to the documentation of this file.

    00001 /*
    00002 -----------------------------------------------------------------------------
    00003 This source file is part of the OGRE Reference Application, a layer built
    00004 on top of OGRE(Object-oriented Graphics Rendering Engine)
    00005 For the latest info, see http://www.ogre3d.org/
    00006
    00007 Copyright (c) 2000-2005 The OGRE Team
    00008 Also see acknowledgements in Readme.html
    00009
    00010 This program is free software; you can redistribute it and/or modify it under
    00011 the terms of the GNU Lesser General Public License as published by the Free Software
    00012 Foundation; either version 2 of the License, or (at your option) any later
    00013 version.
    00014
    00015 This program is distributed in the hope that it will be useful, but WITHOUT
    00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
    00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
    00018
    00019 You should have received a copy of the GNU Lesser General Public License along with
    00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
    00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
    00022 http://www.gnu.org/copyleft/lesser.txt.
    00023 -----------------------------------------------------------------------------
    00024 */
    00025 #ifndef __REFAPP_PREREQUISITES_H__
    00026 #define __REFAPP_PREREQUISITES_H__
    00027
    00028 // Include ODE standard C header
    00029 #include <ode/ode.h>
    00030 // Include ODE C++ headers
    00031 #include <ode/odecpp.h>
    00032 #include <ode/odecpp_collision.h>
    00033
    00034 // Include main application-facing Ogre header
    00035 #include <Ogre.h>
    00036
    00037
    00038 // To save us some typing
    00039 using namespace Ogre;
    00040
    00041 namespace OgreRefApp {
    00042
    00043     #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    00044     // Export control
    00045     #   if defined( REFERENCEAPPLAYER_EXPORTS )
    00046     #       define _OgreRefAppExport __declspec( dllexport )
    00047     #   else
    00048     #       define _OgreRefAppExport __declspec( dllimport )
    00049     #   endif
    00050     #else // Linux / Mac OSX etc
    00051     #   define _OgreRefAppExport
    00052     #endif
    00053
    00054     // Quick conversions
    00055     inline void OgreToOde(const Matrix3& ogre, dMatrix3& ode)
    00056     {
    00057         ode[0] = ogre[0][0];
    00058         ode[1] = ogre[0][1];
    00059         ode[2] = ogre[0][2];
    00060         ode[3] = ogre[0][3];
    00061         ode[4] = ogre[1][0];
    00062         ode[5] = ogre[1][1];
    00063         ode[6] = ogre[1][2];
    00064         ode[7] = ogre[1][3];
    00065         ode[8] = ogre[2][0];
    00066         ode[9] = ogre[2][1];
    00067         ode[10] = ogre[2][2];
    00068         ode[11] = ogre[2][3];
    00069     }
    00070
    00071
    00072     // Forward definitions of classes to reduce dependencies
    00073     class ApplicationObject;
    00074     class OgreHead;
    00075     class FinitePlane;
    00076     class Ball;
    00077     class Box;
    00078     class CollideCamera;
    00079
    00080 }
    00081
    00082
    00083
    00084 #endif
    00085

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 12:59:50 2006