[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