[Python-ogre-commit] SF.net SVN: python-ogre:[799] trunk/python-ogre
Brought to you by:
andy_miller,
roman_yakovenko
|
From: <and...@us...> - 2008-11-18 07:52:57
|
Revision: 799
http://python-ogre.svn.sourceforge.net/python-ogre/?rev=799&view=rev
Author: andy_miller
Date: 2008-11-18 07:52:54 +0000 (Tue, 18 Nov 2008)
Log Message:
-----------
OgreOde and Ode updates for Linux
Modified Paths:
--------------
trunk/python-ogre/PythonOgreConfig_posix.py
trunk/python-ogre/code_generators/ode/generate_code.py
trunk/python-ogre/code_generators/ode/return_pointee_value.hpp
trunk/python-ogre/code_generators/ogre/return_pointee_value.hpp
trunk/python-ogre/environment.py
trunk/python-ogre/patch/ogreode.patch
Modified: trunk/python-ogre/PythonOgreConfig_posix.py
===================================================================
--- trunk/python-ogre/PythonOgreConfig_posix.py 2008-11-17 12:00:04 UTC (rev 798)
+++ trunk/python-ogre/PythonOgreConfig_posix.py 2008-11-18 07:52:54 UTC (rev 799)
@@ -47,7 +47,7 @@
PATH_OIS = os.path.join(BASE_DIR, 'ogre','Dependencies')
PATH_Newton = os.path.join(BASE_DIR, 'newtonSDK','sdk')
-PATH_ODE = os.path.join(BASE_DIR, 'ode-0.9')
+PATH_ODE = os.path.join(BASE_DIR, 'ode-0.10.1')
PATH_OGG = os.path.join(BASE_DIR, 'libogg-1.1.3')
PATH_VORBIS= os.path.join(BASE_DIR, 'libvorbis-1.2.0')
PATH_OPENAL= os.path.join(BASE_DIR, 'openal-soft-1.5.304')
Modified: trunk/python-ogre/code_generators/ode/generate_code.py
===================================================================
--- trunk/python-ogre/code_generators/ode/generate_code.py 2008-11-17 12:00:04 UTC (rev 798)
+++ trunk/python-ogre/code_generators/ode/generate_code.py 2008-11-18 07:52:54 UTC (rev 799)
@@ -335,8 +335,11 @@
return_pointee_value_source_path \
= os.path.join ( os.path.dirname(code_repository.__file__),
'return_pointee_value.hpp')
+ if not os.path.exists(return_pointee_value_source_path):
+ return_pointee_value_source_path \
+ = os.path.join ( os.getcwd(),
+ 'return_pointee_value.hpp')
- print return_pointee_value_source_path
return_pointee_value_target_path \
= os.path.join( environment.ode.generated_dir, 'return_pointee_value.hpp' )
Modified: trunk/python-ogre/code_generators/ode/return_pointee_value.hpp
===================================================================
--- trunk/python-ogre/code_generators/ode/return_pointee_value.hpp 2008-11-17 12:00:04 UTC (rev 798)
+++ trunk/python-ogre/code_generators/ode/return_pointee_value.hpp 2008-11-18 07:52:54 UTC (rev 799)
@@ -1,3 +1,8 @@
+// Copyright 2004-2008 Roman Yakovenko.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
#ifndef RETURN_POINTEE_VALUE_9_11_2006
#define RETURN_POINTEE_VALUE_9_11_2006
@@ -25,7 +30,7 @@
};
template <class R>
- struct reference_existing_object_requires_a_pointer_return_type
+ struct return_pointee_value_requires_a_pointer_return_type
# if defined(__GNUC__) && __GNUC__ >= 3 || defined(__EDG__)
{}
# endif
@@ -44,7 +49,7 @@
typedef typename mpl::if_c<
ok
, to_python_indirect<T, detail::make_value_holder>
- , detail::reference_existing_object_requires_a_pointer_return_type<T>
+ , detail::return_pointee_value_requires_a_pointer_return_type<T>
>::type type;
};
};
Modified: trunk/python-ogre/code_generators/ogre/return_pointee_value.hpp
===================================================================
--- trunk/python-ogre/code_generators/ogre/return_pointee_value.hpp 2008-11-17 12:00:04 UTC (rev 798)
+++ trunk/python-ogre/code_generators/ogre/return_pointee_value.hpp 2008-11-18 07:52:54 UTC (rev 799)
@@ -1,4 +1,4 @@
-// Copyright 2004 Roman Yakovenko.
+// Copyright 2004-2008 Roman Yakovenko.
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
Modified: trunk/python-ogre/environment.py
===================================================================
--- trunk/python-ogre/environment.py 2008-11-17 12:00:04 UTC (rev 798)
+++ trunk/python-ogre/environment.py 2008-11-18 07:52:54 UTC (rev 799)
@@ -1047,7 +1047,7 @@
[0, "patch -s -N -i ../../python-ogre/patch/ogreode.patch -p0", baseDir],
[0, "chmod +x autogen.sh", baseDir],
[0, "./autogen.sh", baseDir],
- [0, "./configure --prefix=%s" % PREFIX, baseDir],
+ [0, "./configure --without-samples --prefix=%s" % PREFIX, baseDir],
[0, "make", baseDir],
[0, "make install", baseDir],
]
Modified: trunk/python-ogre/patch/ogreode.patch
===================================================================
--- trunk/python-ogre/patch/ogreode.patch 2008-11-17 12:00:04 UTC (rev 798)
+++ trunk/python-ogre/patch/ogreode.patch 2008-11-18 07:52:54 UTC (rev 799)
@@ -1,245 +1,95 @@
-Index: include/OgreOdeEntityInformer.h
-===================================================================
---- include/OgreOdeEntityInformer.h (revision 2510)
-+++ include/OgreOdeEntityInformer.h (working copy)
-@@ -36,12 +36,12 @@
- const TriangleIndex* getIndices();
- unsigned int getIndexCount();
-
-+ bool getBoneVertices(unsigned char bone,unsigned int &vertex_count, Ogre::Vector3* &vertices);
- protected:
- void addVertexData(const Ogre::VertexData *vertex_data,
- const Ogre::VertexData *blended_data = 0,
- const Ogre::Mesh::IndexMap *indexMap = 0);
- void addIndexData(Ogre::IndexData *data, const unsigned int offset = 0);
-- bool getBoneVertices(unsigned char bone,unsigned int &vertex_count, Ogre::Vector3* &vertices);
-
- Ogre::Entity* _entity;
- Ogre::SceneNode* _node;
-Index: src/OgreOdeTriangleMeshDataManager.cpp
-===================================================================
---- src/OgreOdeTriangleMeshDataManager.cpp (revision 2510)
-+++ src/OgreOdeTriangleMeshDataManager.cpp (working copy)
-@@ -1,106 +1,106 @@
--#include "OgreOdePrecompiledHeaders.h"
--
--#include "OgreOdeTriangleMeshDataManager.h"
--
-+#include "OgreOdePrecompiledHeaders.h"
-
-+#include "OgreOdeTriangleMeshDataManager.h"
-+
-+
+Index: include/OgreOdeEntityInformer.h
+===================================================================
+--- include/OgreOdeEntityInformer.h (revision 2510)
++++ include/OgreOdeEntityInformer.h (working copy)
+@@ -36,12 +36,12 @@
+ const TriangleIndex* getIndices();
+ unsigned int getIndexCount();
+
++ bool getBoneVertices(unsigned char bone,unsigned int &vertex_count, Ogre::Vector3* &vertices);
+ protected:
+ void addVertexData(const Ogre::VertexData *vertex_data,
+ const Ogre::VertexData *blended_data = 0,
+ const Ogre::Mesh::IndexMap *indexMap = 0);
+ void addIndexData(Ogre::IndexData *data, const unsigned int offset = 0);
+- bool getBoneVertices(unsigned char bone,unsigned int &vertex_count, Ogre::Vector3* &vertices);
+
+ Ogre::Entity* _entity;
+ Ogre::SceneNode* _node;
+Index: src/OgreOdeGeometry.cpp
+===================================================================
+--- src/OgreOdeGeometry.cpp (revision 2510)
++++ src/OgreOdeGeometry.cpp (working copy)
+@@ -924,7 +924,7 @@
+
+ _data = dGeomTriMeshDataCreate();
+
+- dGeomTriMeshDataBuildSimple(_data,(const dReal*)_vertices, (int)vertex_count, _indices, (int) index_count);
++ dGeomTriMeshDataBuildSimple(_data,(const dReal*)_vertices, (int)vertex_count, /*(const int *)*/_indices, (int) index_count);
+
+ _geom = dCreateTriMesh(getSpaceID(space),_data,0,0,0);
+ registerGeometry();
+Index: src/OgreOdeTriangleMeshDataManager.cpp
+===================================================================
+--- src/OgreOdeTriangleMeshDataManager.cpp (revision 2510)
++++ src/OgreOdeTriangleMeshDataManager.cpp (working copy)
+@@ -6,7 +6,7 @@
using namespace Ogre;
--using namespace OgreOde;
--
--template<> TriangleMeshDataManager *Ogre::Singleton<TriangleMeshDataManager>::ms_Singleton = 0;
--
--namespace OgreOde
--{
-- //-----------------------------------------------------------------------
-- TriangleMeshDataManager::TriangleMeshDataManager()
-- {
-- }
--
-- //-----------------------------------------------------------------------
-- TriangleMeshDataManager::~TriangleMeshDataManager()
-- {
-- //mTriangleMeshDataMap.clear();
-- }
--
-- //-----------------------------------------------------------------------
-- TriangleMeshDataManager *TriangleMeshDataManager::getSingletonPtr ()
-- {
-- return ms_Singleton;
-- }
--
-- //-----------------------------------------------------------------------
-- TriangleMeshDataManager &TriangleMeshDataManager::getSingleton ()
-- {
-- assert (ms_Singleton);
-- return (*ms_Singleton);
-- }
--
--
-- //-----------------------------------------------------------------------
-- void TriangleMeshDataManager::addTriangleMeshData(const String& name, TriangleMeshDataPtr shape, Vector3 scale)
-- {
--
-- mTriangleMeshDataMap[name][scale] = shape;
--
-- // reduce count so when Ode::Geometry changes its dataPtr or is deleted we arn't
-- // left with this one on a referance count of 1
-- unsigned int* count = shape.useCountPointer();
-- (*count)--;
--
-- }
--
--
-- //-----------------------------------------------------------------------
-- void TriangleMeshDataManager::removeTriangleMeshData(const String& name, Vector3 scale)
-- {
--
-- TriangleMeshDataPtrMap::iterator itr = mTriangleMeshDataMap.find(name);
-- if(itr != mTriangleMeshDataMap.end())
-- {
--
-- std::map<Ogre::Vector3, OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess>::iterator itr2;
--
-- itr2 = itr->second.find(scale);
--
-- if ( itr2 != itr->second.end() )
-- {
-- //printf ("no TriangleMeshData for scale so erase it\n");
-- itr->second.erase(itr2);
-- itr2->second.setNull();
-- }
--
-- if (itr->second.size() == 0)
-- {
-- //printf ("have no TriangleMeshData for this mesh so erase it from map\n");
-- mTriangleMeshDataMap.erase(itr);
-- }
-- }
--
-- }
--
--
-- /** looks for mesh name then size or returns a NULL TriangleMeshDataPtr
-- */
-- //-----------------------------------------------------------------------
-- TriangleMeshDataPtr TriangleMeshDataManager::getTriangleMeshData(const String& name, Vector3 scale)
-- {
--
-- TriangleMeshDataPtrMap::iterator itr = mTriangleMeshDataMap.find(name);
-- if(itr != mTriangleMeshDataMap.end())
-- {
-- std::map<Ogre::Vector3, OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess>::iterator itr2;
--
-- itr2 = itr->second.find(scale);
--
-- if ( itr2 != itr->second.end() )
-- {
-- return itr2->second;
-- }
-- }
--
-- //printf ("TriangleMeshDataManager::getTriangleMeshData not found\n");
--
-- return NULL;
--
-- }
--
--}
-+using namespace OgreOde;
-+
-+template<> OgreOde::TriangleMeshDataManager * Ogre::Singleton<OgreOde::TriangleMeshDataManager>::ms_Singleton = 0;
-+
-+namespace OgreOde
-+{
-+ //-----------------------------------------------------------------------
-+ TriangleMeshDataManager::TriangleMeshDataManager()
-+ {
-+ }
-+
-+ //-----------------------------------------------------------------------
-+ TriangleMeshDataManager::~TriangleMeshDataManager()
-+ {
-+ //mTriangleMeshDataMap.clear();
-+ }
-+
-+ //-----------------------------------------------------------------------
-+ TriangleMeshDataManager *TriangleMeshDataManager::getSingletonPtr ()
-+ {
-+ return ms_Singleton;
-+ }
-+
-+ //-----------------------------------------------------------------------
-+ TriangleMeshDataManager &TriangleMeshDataManager::getSingleton ()
-+ {
-+ assert (ms_Singleton);
-+ return (*ms_Singleton);
-+ }
-+
-+
-+ //-----------------------------------------------------------------------
-+ void TriangleMeshDataManager::addTriangleMeshData(const String& name, TriangleMeshDataPtr shape, Vector3 scale)
-+ {
-+
-+ mTriangleMeshDataMap[name][scale] = shape;
-+
-+ // reduce count so when Ode::Geometry changes its dataPtr or is deleted we arn't
-+ // left with this one on a referance count of 1
-+ unsigned int* count = shape.useCountPointer();
-+ (*count)--;
-+
-+ }
-+
-+
-+ //-----------------------------------------------------------------------
-+ void TriangleMeshDataManager::removeTriangleMeshData(const String& name, Vector3 scale)
-+ {
-+
-+ TriangleMeshDataPtrMap::iterator itr = mTriangleMeshDataMap.find(name);
-+ if(itr != mTriangleMeshDataMap.end())
-+ {
-+
-+ std::map<Ogre::Vector3, OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess>::iterator itr2;
-+
-+ itr2 = itr->second.find(scale);
-+
-+ if ( itr2 != itr->second.end() )
-+ {
-+ //printf ("no TriangleMeshData for scale so erase it\n");
-+ itr->second.erase(itr2);
-+ itr2->second.setNull();
-+ }
-+
-+ if (itr->second.size() == 0)
-+ {
-+ //printf ("have no TriangleMeshData for this mesh so erase it from map\n");
-+ mTriangleMeshDataMap.erase(itr);
-+ }
-+ }
-+
-+ }
-+
-+
-+ /** looks for mesh name then size or returns a NULL TriangleMeshDataPtr
-+ */
-+ //-----------------------------------------------------------------------
-+ TriangleMeshDataPtr TriangleMeshDataManager::getTriangleMeshData(const String& name, Vector3 scale)
-+ {
-+
-+ TriangleMeshDataPtrMap::iterator itr = mTriangleMeshDataMap.find(name);
-+ if(itr != mTriangleMeshDataMap.end())
-+ {
-+ std::map<Ogre::Vector3, OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess>::iterator itr2;
-+
-+ itr2 = itr->second.find(scale);
-+
-+ if ( itr2 != itr->second.end() )
-+ {
-+ return itr2->second;
-+ }
-+ }
-+
-+ //printf ("TriangleMeshDataManager::getTriangleMeshData not found\n");
-+
-+ return NULL;
-+
-+ }
-+
-+}
-Index: prefab/src/OgreOdeRagdoll.cpp
-===================================================================
---- prefab/src/OgreOdeRagdoll.cpp (revision 2510)
-+++ prefab/src/OgreOdeRagdoll.cpp (working copy)
-@@ -10,6 +10,7 @@
+ using namespace OgreOde;
+
+-template<> TriangleMeshDataManager *Ogre::Singleton<TriangleMeshDataManager>::ms_Singleton = 0;
++template<> OgreOde::TriangleMeshDataManager * Ogre::Singleton<OgreOde::TriangleMeshDataManager>::ms_Singleton = 0;
+
+ namespace OgreOde
+ {
+Index: prefab/src/OgreOdeRagdoll.cpp
+===================================================================
+--- prefab/src/OgreOdeRagdoll.cpp (revision 2512)
++++ prefab/src/OgreOdeRagdoll.cpp (working copy)
+@@ -10,6 +10,7 @@
#include "OgreOde_Prefab.h"
#include "OgreOdeRagdoll.h"
-+#include "OgreAlignedAllocator.h"
++#include "OgreAlignedAllocator.h"
using namespace Ogre;
using namespace OgreOde;
+@@ -734,4 +735,4 @@
+ void RagdollFactory::destroyInstance( MovableObject* obj)
+ {
+ delete obj;
+-}
+\ No newline at end of file
++}
+Index: loader/include/OgreOdeDotLoader.h
+===================================================================
+--- loader/include/OgreOdeDotLoader.h (revision 2510)
++++ loader/include/OgreOdeDotLoader.h (working copy)
+@@ -15,8 +15,8 @@
+ DotLoader(OgreOde::World * world = 0, OgreOde::Space * space = 0);
+ ~DotLoader(){};
+
+- void setWorld(OgreOde::World * world) {_world = world;};
+- void setSpace(OgreOde::Space * space) {_space = space;};
++ void setWorld(OgreOde::World * world);// {_world = world;};
++ void setSpace(OgreOde::Space * space);// {_space = space;};
+
+ ObjectList *load(const Ogre::String &filename, const Ogre::StringVector &objects_names, const Ogre::StringVector &instance_names);
+ void save(const Ogre::String &filename, const Ogre::StringVector &objects_names, ObjectList *objects);
+Index: loader/src/OgreOdeDotLoader.cpp
+===================================================================
+--- loader/src/OgreOdeDotLoader.cpp (revision 2510)
++++ loader/src/OgreOdeDotLoader.cpp (working copy)
+@@ -62,6 +62,12 @@
+ {
+
+ }
++
++void DotLoader::setWorld(OgreOde::World * world)
++{_world = world;};
++void DotLoader::setSpace(OgreOde::Space * space)
++{_space = space;};
++
+ //------------------------------------------------------------------------------------------------
+ ObjectList *DotLoader::load(const String &filename, const StringVector &objects_names, const StringVector &instance_names)
+ {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|