[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26684] branches/bge_eigen2/source/ gameengine: Committing the first bits of the conversion from Moto to Eigen2 :
Mitchell Stokes
mogurijin at gmail.com
Sun Feb 7 18:33:02 CET 2010
Revision: 26684
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26684
Author: moguri
Date: 2010-02-07 18:33:02 +0100 (Sun, 07 Feb 2010)
Log Message:
-----------
Committing the first bits of the conversion from Moto to Eigen2:
* CMake and SCons files have been updated to include Eigen2 for BGE libraries
* Expressions has been converted from Moto to Eigen2
* Physics/Common and Physics/Bullet have been converted from Moto to Eigen2
* btAlignedObjectArray has been copied to Expressions and renamed to KX_AlignedObjectArray
* Added a back() and reverse() to KX_AlignedObjectArray to help with converting std::vector
* KX_EigenTypes.h has been added as the main include for using Eigen types in the BGE
Modified Paths:
--------------
branches/bge_eigen2/source/gameengine/BlenderRoutines/CMakeLists.txt
branches/bge_eigen2/source/gameengine/BlenderRoutines/SConscript
branches/bge_eigen2/source/gameengine/Converter/CMakeLists.txt
branches/bge_eigen2/source/gameengine/Converter/SConscript
branches/bge_eigen2/source/gameengine/Expressions/CMakeLists.txt
branches/bge_eigen2/source/gameengine/Expressions/ConstExpr.cpp
branches/bge_eigen2/source/gameengine/Expressions/ConstExpr.h
branches/bge_eigen2/source/gameengine/Expressions/Expression.h
branches/bge_eigen2/source/gameengine/Expressions/IdentifierExpr.cpp
branches/bge_eigen2/source/gameengine/Expressions/IdentifierExpr.h
branches/bge_eigen2/source/gameengine/Expressions/IfExpr.cpp
branches/bge_eigen2/source/gameengine/Expressions/IfExpr.h
branches/bge_eigen2/source/gameengine/Expressions/ListValue.cpp
branches/bge_eigen2/source/gameengine/Expressions/ListValue.h
branches/bge_eigen2/source/gameengine/Expressions/Operator1Expr.cpp
branches/bge_eigen2/source/gameengine/Expressions/Operator1Expr.h
branches/bge_eigen2/source/gameengine/Expressions/Operator2Expr.cpp
branches/bge_eigen2/source/gameengine/Expressions/Operator2Expr.h
branches/bge_eigen2/source/gameengine/Expressions/PyObjectPlus.cpp
branches/bge_eigen2/source/gameengine/Expressions/PyObjectPlus.h
branches/bge_eigen2/source/gameengine/Expressions/SConscript
branches/bge_eigen2/source/gameengine/Expressions/Value.cpp
branches/bge_eigen2/source/gameengine/Expressions/Value.h
branches/bge_eigen2/source/gameengine/GameLogic/CMakeLists.txt
branches/bge_eigen2/source/gameengine/GameLogic/SConscript
branches/bge_eigen2/source/gameengine/Ketsji/CMakeLists.txt
branches/bge_eigen2/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt
branches/bge_eigen2/source/gameengine/Ketsji/KXNetwork/SConscript
branches/bge_eigen2/source/gameengine/Ketsji/SConscript
branches/bge_eigen2/source/gameengine/Network/CMakeLists.txt
branches/bge_eigen2/source/gameengine/Network/SConscript
branches/bge_eigen2/source/gameengine/Physics/Bullet/CMakeLists.txt
branches/bge_eigen2/source/gameengine/Physics/Bullet/CcdGraphicController.cpp
branches/bge_eigen2/source/gameengine/Physics/Bullet/CcdGraphicController.h
branches/bge_eigen2/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
branches/bge_eigen2/source/gameengine/Physics/Bullet/SConscript
branches/bge_eigen2/source/gameengine/Physics/common/CMakeLists.txt
branches/bge_eigen2/source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h
branches/bge_eigen2/source/gameengine/Physics/common/PHY_Pro.h
branches/bge_eigen2/source/gameengine/Physics/common/SConscript
branches/bge_eigen2/source/gameengine/Rasterizer/CMakeLists.txt
branches/bge_eigen2/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt
branches/bge_eigen2/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/SConscript
branches/bge_eigen2/source/gameengine/Rasterizer/SConscript
branches/bge_eigen2/source/gameengine/SceneGraph/CMakeLists.txt
branches/bge_eigen2/source/gameengine/SceneGraph/SConscript
branches/bge_eigen2/source/gameengine/VideoTexture/CMakeLists.txt
branches/bge_eigen2/source/gameengine/VideoTexture/SConscript
Added Paths:
-----------
branches/bge_eigen2/source/gameengine/Expressions/KX_AlignedAllocator.cpp
branches/bge_eigen2/source/gameengine/Expressions/KX_AlignedAllocator.h
branches/bge_eigen2/source/gameengine/Expressions/KX_AlignedObjectArray.h
branches/bge_eigen2/source/gameengine/Expressions/KX_EigenTypes.h
branches/bge_eigen2/source/gameengine/Expressions/KX_Scalar.h
Modified: branches/bge_eigen2/source/gameengine/BlenderRoutines/CMakeLists.txt
===================================================================
--- branches/bge_eigen2/source/gameengine/BlenderRoutines/CMakeLists.txt 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/BlenderRoutines/CMakeLists.txt 2010-02-07 17:33:02 UTC (rev 26684)
@@ -35,6 +35,7 @@
../../../source/blender/gpu
../../../extern/bullet2/src
../../../extern/glew/include
+ ../../../extern/Eigen2
)
ADD_DEFINITIONS(-DGLEW_STATIC)
Modified: branches/bge_eigen2/source/gameengine/BlenderRoutines/SConscript
===================================================================
--- branches/bge_eigen2/source/gameengine/BlenderRoutines/SConscript 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/BlenderRoutines/SConscript 2010-02-07 17:33:02 UTC (rev 26684)
@@ -20,7 +20,7 @@
incs += ' #source/gameengine/Network/LoopBackNetwork'
incs += ' #source/blender/misc #source/blender/blenloader'
incs += ' #extern/glew/include #source/blender/gpu'
-incs += ' #source/blender/windowmanager'
+incs += ' #source/blender/windowmanager #extern/Eigen2'
if env['WITH_BF_FFMPEG']:
defs.append('WITH_FFMPEG')
Modified: branches/bge_eigen2/source/gameengine/Converter/CMakeLists.txt
===================================================================
--- branches/bge_eigen2/source/gameengine/Converter/CMakeLists.txt 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/Converter/CMakeLists.txt 2010-02-07 17:33:02 UTC (rev 26684)
@@ -61,6 +61,7 @@
../../../source/blender/gpu
../../../source/blender/ikplugin
../../../extern/bullet2/src
+ ../../../extern/Eigen2
)
IF(WITH_PYTHON)
Modified: branches/bge_eigen2/source/gameengine/Converter/SConscript
===================================================================
--- branches/bge_eigen2/source/gameengine/Converter/SConscript 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/Converter/SConscript 2010-02-07 17:33:02 UTC (rev 26684)
@@ -19,7 +19,7 @@
incs += ' #source/blender/misc #source/blender/blenloader #source/blender/gpu'
incs += ' #source/blender/windowmanager'
incs += ' #source/blender/makesrna'
-incs += ' #source/blender/ikplugin'
+incs += ' #source/blender/ikplugin #extern/Eigen2'
incs += ' ' + env['BF_BULLET_INC']
Modified: branches/bge_eigen2/source/gameengine/Expressions/CMakeLists.txt
===================================================================
--- branches/bge_eigen2/source/gameengine/Expressions/CMakeLists.txt 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/Expressions/CMakeLists.txt 2010-02-07 17:33:02 UTC (rev 26684)
@@ -34,6 +34,7 @@
../../../intern/moto/include
../../../source/gameengine/SceneGraph
../../../source/blender/blenloader
+ ../../../extern/Eigen2
)
IF(WITH_PYTHON)
Modified: branches/bge_eigen2/source/gameengine/Expressions/ConstExpr.cpp
===================================================================
--- branches/bge_eigen2/source/gameengine/Expressions/ConstExpr.cpp 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/Expressions/ConstExpr.cpp 2010-02-07 17:33:02 UTC (rev 26684)
@@ -98,7 +98,7 @@
-CExpression* CConstExpr::CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks)
+CExpression* CConstExpr::CheckLink(BGE_Array<CBrokenLinkInfo*>& brokenlinks)
{
// parent checks if child is still usefull.
// When for example it's value it's deleted flag set
Modified: branches/bge_eigen2/source/gameengine/Expressions/ConstExpr.h
===================================================================
--- branches/bge_eigen2/source/gameengine/Expressions/ConstExpr.h 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/Expressions/ConstExpr.h 2010-02-07 17:33:02 UTC (rev 26684)
@@ -28,7 +28,7 @@
void BroadcastOperators(VALUE_OPERATOR op);
virtual unsigned char GetExpressionID();
- CExpression* CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks);
+ CExpression* CheckLink(BGE_Array<CBrokenLinkInfo*>& brokenlinks);
//bool IsInside(float x,float y,float z,bool bBorderInclude=true);
bool NeedsRecalculated();
void ClearModified();
Modified: branches/bge_eigen2/source/gameengine/Expressions/Expression.h
===================================================================
--- branches/bge_eigen2/source/gameengine/Expressions/Expression.h 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/Expressions/Expression.h 2010-02-07 17:33:02 UTC (rev 26684)
@@ -102,7 +102,7 @@
virtual unsigned char GetExpressionID() = 0;
//virtual bool IsInside(float x,float y,float z,bool bBorderInclude=true) = 0; //pure virtual
virtual bool NeedsRecalculated() = 0; // another pure one
- virtual CExpression * CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks) =0; // another pure one
+ virtual CExpression * CheckLink(BGE_Array<CBrokenLinkInfo*>& brokenlinks) =0; // another pure one
virtual void ClearModified() = 0; // another pure one
//virtual CExpression * Copy() =0;
virtual void BroadcastOperators(VALUE_OPERATOR op) =0;
Modified: branches/bge_eigen2/source/gameengine/Expressions/IdentifierExpr.cpp
===================================================================
--- branches/bge_eigen2/source/gameengine/Expressions/IdentifierExpr.cpp 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/Expressions/IdentifierExpr.cpp 2010-02-07 17:33:02 UTC (rev 26684)
@@ -82,7 +82,7 @@
-CExpression* CIdentifierExpr::CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks)
+CExpression* CIdentifierExpr::CheckLink(BGE_Array<CBrokenLinkInfo*>& brokenlinks)
{
assertd(false); // not implemented yet
return NULL;
Modified: branches/bge_eigen2/source/gameengine/Expressions/IdentifierExpr.h
===================================================================
--- branches/bge_eigen2/source/gameengine/Expressions/IdentifierExpr.h 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/Expressions/IdentifierExpr.h 2010-02-07 17:33:02 UTC (rev 26684)
@@ -43,7 +43,7 @@
virtual bool MergeExpression(CExpression* otherexpr);
virtual unsigned char GetExpressionID();
virtual bool NeedsRecalculated();
- virtual CExpression* CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks);
+ virtual CExpression* CheckLink(BGE_Array<CBrokenLinkInfo*>& brokenlinks);
virtual void ClearModified();
virtual void BroadcastOperators(VALUE_OPERATOR op);
Modified: branches/bge_eigen2/source/gameengine/Expressions/IfExpr.cpp
===================================================================
--- branches/bge_eigen2/source/gameengine/Expressions/IfExpr.cpp 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/Expressions/IfExpr.cpp 2010-02-07 17:33:02 UTC (rev 26684)
@@ -117,7 +117,7 @@
-CExpression* CIfExpr::CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks)
+CExpression* CIfExpr::CheckLink(BGE_Array<CBrokenLinkInfo*>& brokenlinks)
{
assertd(false);
return NULL;
Modified: branches/bge_eigen2/source/gameengine/Expressions/IfExpr.h
===================================================================
--- branches/bge_eigen2/source/gameengine/Expressions/IfExpr.h 2010-02-07 17:15:20 UTC (rev 26683)
+++ branches/bge_eigen2/source/gameengine/Expressions/IfExpr.h 2010-02-07 17:33:02 UTC (rev 26684)
@@ -41,7 +41,7 @@
virtual bool NeedsRecalculated();
- virtual CExpression* CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks);
+ virtual CExpression* CheckLink(BGE_Array<CBrokenLinkInfo*>& brokenlinks);
virtual void ClearModified();
virtual void BroadcastOperators(VALUE_OPERATOR op);
Added: branches/bge_eigen2/source/gameengine/Expressions/KX_AlignedAllocator.cpp
===================================================================
--- branches/bge_eigen2/source/gameengine/Expressions/KX_AlignedAllocator.cpp (rev 0)
+++ branches/bge_eigen2/source/gameengine/Expressions/KX_AlignedAllocator.cpp 2010-02-07 17:33:02 UTC (rev 26684)
@@ -0,0 +1,205 @@
+/*
+Bullet Continuous Collision Detection and Physics Library
+Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
+
+This software is provided 'as-is', without any express or implied warranty.
+In no event will the authors be held liable for any damages arising from the use of this software.
+Permission is granted to anyone to use this software for any purpose,
+including commercial applications, and to alter it and redistribute it freely,
+subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+3. This notice may not be removed or altered from any source distribution.
+*/
+
+#include "KX_AlignedAllocator.h"
+
+int gNumAlignedAllocs = 0;
+int gNumAlignedFree = 0;
+int gTotalBytesAlignedAllocs = 0;//detect memory leaks
+
+static void *KX_AllocDefault(size_t size)
+{
+ return malloc(size);
+}
+
+static void KX_FreeDefault(void *ptr)
+{
+ free(ptr);
+}
+
+static KX_AllocFunc *sAllocFunc = KX_AllocDefault;
+static KX_FreeFunc *sFreeFunc = KX_FreeDefault;
+
+
+
+#if defined (KX_HAS_ALIGNED_ALLOCATOR)
+#include <malloc.h>
+static void *KX_AlignedAllocDefault(size_t size, int alignment)
+{
+ return _aligned_malloc(size, (size_t)alignment);
+}
+
+static void KX_AlignedFreeDefault(void *ptr)
+{
+ _aligned_free(ptr);
+}
+#elif defined(__CELLOS_LV2__)
+#include <stdlib.h>
+
+static inline void *KX_AlignedAllocDefault(size_t size, int alignment)
+{
+ return memalign(alignment, size);
+}
+
+static inline void KX_AlignedFreeDefault(void *ptr)
+{
+ free(ptr);
+}
+#else
+static inline void *KX_AlignedAllocDefault(size_t size, int alignment)
+{
+ void *ret;
+ char *real;
+ unsigned long offset;
+
+ real = (char *)sAllocFunc(size + sizeof(void *) + (alignment-1));
+ if (real) {
+ offset = (alignment - (unsigned long)(real + sizeof(void *))) & (alignment-1);
+ ret = (void *)((real + sizeof(void *)) + offset);
+ *((void **)(ret)-1) = (void *)(real);
+ } else {
+ ret = (void *)(real);
+ }
+ return (ret);
+}
+
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list