[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20521] branches/bb_dev: svn merge -r 20407:20520 https://svn.blender.org/svnroot/bf-blender/trunk/ blender
Benoit Bolsee
benoit.bolsee at online.be
Sat May 30 22:16:17 CEST 2009
Revision: 20521
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20521
Author: ben2610
Date: 2009-05-30 22:16:17 +0200 (Sat, 30 May 2009)
Log Message:
-----------
svn merge -r 20407:20520 https://svn.blender.org/svnroot/bf-blender/trunk/blender
Modified Paths:
--------------
branches/bb_dev/extern/bullet2/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp
branches/bb_dev/extern/bullet2/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h
branches/bb_dev/extern/ffmpeg/libavcodec/eval.c
branches/bb_dev/extern/libopenjpeg/jp2.c
branches/bb_dev/release/VERSION
branches/bb_dev/release/datafiles/splash.jpg
branches/bb_dev/release/scripts/bpymodules/colladaImEx/cstartup.py
branches/bb_dev/release/scripts/bpymodules/colladaImEx/translator.py
branches/bb_dev/release/scripts/bpymodules/dxfLibrary.py
branches/bb_dev/release/scripts/export_dxf.py
branches/bb_dev/release/scripts/import_dxf.py
branches/bb_dev/source/blender/blenkernel/BKE_blender.h
branches/bb_dev/source/blender/blenkernel/bad_level_call_stubs/stubs.c
branches/bb_dev/source/blender/blenkernel/intern/anim.c
branches/bb_dev/source/blender/blenkernel/intern/writeffmpeg.c
branches/bb_dev/source/blender/blenlib/intern/util.c
branches/bb_dev/source/blender/blenloader/intern/readfile.c
branches/bb_dev/source/blender/imbuf/IMB_imbuf.h
branches/bb_dev/source/blender/imbuf/intern/imageprocess.c
branches/bb_dev/source/blender/imbuf/intern/openexr/openexr_api.cpp
branches/bb_dev/source/blender/include/BSE_sequence.h
branches/bb_dev/source/blender/makesdna/DNA_space_types.h
branches/bb_dev/source/blender/nodes/intern/SHD_nodes/SHD_material.c
branches/bb_dev/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c
branches/bb_dev/source/blender/python/BPY_interface.c
branches/bb_dev/source/blender/python/api2_2x/Geometry.c
branches/bb_dev/source/blender/python/api2_2x/Material.c
branches/bb_dev/source/blender/python/api2_2x/World.c
branches/bb_dev/source/blender/python/api2_2x/bpy_data.c
branches/bb_dev/source/blender/python/api2_2x/bpy_internal_import.c
branches/bb_dev/source/blender/python/api2_2x/bpy_internal_import.h
branches/bb_dev/source/blender/python/api2_2x/doc/Material.py
branches/bb_dev/source/blender/python/api2_2x/doc/World.py
branches/bb_dev/source/blender/render/extern/include/RE_shader_ext.h
branches/bb_dev/source/blender/render/intern/source/rayshade.c
branches/bb_dev/source/blender/src/butspace.c
branches/bb_dev/source/blender/src/buttons_editing.c
branches/bb_dev/source/blender/src/buttons_logic.c
branches/bb_dev/source/blender/src/buttons_object.c
branches/bb_dev/source/blender/src/drawobject.c
branches/bb_dev/source/blender/src/drawseq.c
branches/bb_dev/source/blender/src/drawview.c
branches/bb_dev/source/blender/src/editsima.c
branches/bb_dev/source/blender/src/header_seq.c
branches/bb_dev/source/blender/src/imagepaint.c
branches/bb_dev/source/blender/src/sequence.c
branches/bb_dev/source/blender/src/splash.jpg.c
branches/bb_dev/source/creator/creator.c
branches/bb_dev/source/gameengine/Converter/BL_BlenderDataConversion.cpp
branches/bb_dev/source/gameengine/Expressions/CMakeLists.txt
branches/bb_dev/source/gameengine/Expressions/ListValue.cpp
branches/bb_dev/source/gameengine/Expressions/ListValue.h
branches/bb_dev/source/gameengine/Expressions/PyObjectPlus.cpp
branches/bb_dev/source/gameengine/Expressions/Value.cpp
branches/bb_dev/source/gameengine/Expressions/Value.h
branches/bb_dev/source/gameengine/GameLogic/CMakeLists.txt
branches/bb_dev/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
branches/bb_dev/source/gameengine/GameLogic/Joystick/SCA_Joystick.h
branches/bb_dev/source/gameengine/GameLogic/Joystick/SCA_JoystickDefines.h
branches/bb_dev/source/gameengine/GameLogic/Joystick/SCA_JoystickEvents.cpp
branches/bb_dev/source/gameengine/GameLogic/SCA_IController.cpp
branches/bb_dev/source/gameengine/GameLogic/SCA_PythonController.cpp
branches/bb_dev/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
branches/bb_dev/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt
branches/bb_dev/source/gameengine/Ketsji/KX_BlenderMaterial.cpp
branches/bb_dev/source/gameengine/Ketsji/KX_Camera.cpp
branches/bb_dev/source/gameengine/Ketsji/KX_ClientObjectInfo.h
branches/bb_dev/source/gameengine/Ketsji/KX_ConstraintWrapper.cpp
branches/bb_dev/source/gameengine/Ketsji/KX_ConstraintWrapper.h
branches/bb_dev/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp
branches/bb_dev/source/gameengine/Ketsji/KX_GameObject.cpp
branches/bb_dev/source/gameengine/Ketsji/KX_GameObject.h
branches/bb_dev/source/gameengine/Ketsji/KX_MeshProxy.cpp
branches/bb_dev/source/gameengine/Ketsji/KX_PythonInit.cpp
branches/bb_dev/source/gameengine/Ketsji/KX_TouchEventManager.cpp
branches/bb_dev/source/gameengine/Ketsji/KX_TouchSensor.cpp
branches/bb_dev/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
branches/bb_dev/source/gameengine/PyDoc/GameTypes.py
branches/bb_dev/source/gameengine/Rasterizer/RAS_MeshObject.cpp
branches/bb_dev/source/gameengine/Rasterizer/RAS_MeshObject.h
branches/bb_dev/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
branches/bb_dev/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
branches/bb_dev/source/gameengine/VideoTexture/PyTypeList.cpp
branches/bb_dev/source/gameengine/VideoTexture/VideoBase.cpp
branches/bb_dev/source/gameengine/VideoTexture/VideoBase.h
branches/bb_dev/source/gameengine/VideoTexture/VideoFFmpeg.cpp
branches/bb_dev/source/gameengine/VideoTexture/VideoFFmpeg.h
branches/bb_dev/source/nan_definitions.mk
Added Paths:
-----------
branches/bb_dev/release/scripts/scripttemplate_gamelogic_module.py
branches/bb_dev/release/text/release_249.txt
Modified: branches/bb_dev/extern/bullet2/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp
===================================================================
--- branches/bb_dev/extern/bullet2/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp 2009-05-30 17:33:37 UTC (rev 20520)
+++ branches/bb_dev/extern/bullet2/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp 2009-05-30 20:16:17 UTC (rev 20521)
@@ -420,6 +420,7 @@
bool btGeneric6DofConstraint::testAngularLimitMotor(int axis_index)
{
btScalar angle = m_calculatedAxisAngleDiff[axis_index];
+ m_angularLimits[axis_index].m_currentPosition = angle;
//test limits
m_angularLimits[axis_index].testLimitValue(angle);
return m_angularLimits[axis_index].needApplyTorques();
@@ -544,6 +545,7 @@
{ // re-use rotational motor code
limot.m_bounce = btScalar(0.f);
limot.m_currentLimit = m_linearLimits.m_currentLimit[i];
+ limot.m_currentPosition = m_linearLimits.m_currentLinearDiff[i];
limot.m_currentLimitError = m_linearLimits.m_currentLimitError[i];
limot.m_damping = m_linearLimits.m_damping;
limot.m_enableMotor = m_linearLimits.m_enableMotor[i];
@@ -696,6 +698,7 @@
m_calculatedLinearDiff = m_calculatedTransformA.getBasis().inverse() * m_calculatedLinearDiff;
for(int i = 0; i < 3; i++)
{
+ m_linearLimits.m_currentLinearDiff[i] = m_calculatedLinearDiff[i];
m_linearLimits.testLimitValue(i, m_calculatedLinearDiff[i]);
}
}
@@ -740,16 +743,21 @@
}
// if we're limited low and high simultaneously, the joint motor is
// ineffective
- if (limit && (limot->m_loLimit == limot->m_hiLimit))
- powered = 0;
-
+ if (limit && (limot->m_loLimit == limot->m_hiLimit)) powered = 0;
info->m_constraintError[srow] = btScalar(0.f);
if (powered)
{
info->cfm[srow] = 0.0f;
if(!limit)
{
- info->m_constraintError[srow] += limot->m_targetVelocity;
+ btScalar tag_vel = rotational ? limot->m_targetVelocity : -limot->m_targetVelocity;
+
+ btScalar mot_fact = getMotorFactor( limot->m_currentPosition,
+ limot->m_loLimit,
+ limot->m_hiLimit,
+ tag_vel,
+ info->fps * info->erp);
+ info->m_constraintError[srow] += mot_fact * limot->m_targetVelocity;
info->m_lowerLimit[srow] = -limot->m_maxMotorForce;
info->m_upperLimit[srow] = limot->m_maxMotorForce;
}
@@ -831,6 +839,7 @@
+
btGeneric6DofSpringConstraint::btGeneric6DofSpringConstraint(btRigidBody& rbA, btRigidBody& rbB, const btTransform& frameInA, const btTransform& frameInB ,bool useLinearReferenceFrameA)
: btGeneric6DofConstraint(rbA, rbB, frameInA, frameInB, useLinearReferenceFrameA)
{
Modified: branches/bb_dev/extern/bullet2/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h
===================================================================
--- branches/bb_dev/extern/bullet2/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h 2009-05-30 17:33:37 UTC (rev 20520)
+++ branches/bb_dev/extern/bullet2/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h 2009-05-30 20:16:17 UTC (rev 20521)
@@ -54,6 +54,7 @@
//! temp_variables
//!@{
btScalar m_currentLimitError;//! How much is violated this limit
+ btScalar m_currentPosition; //! current value of angle
int m_currentLimit;//!< 0=free, 1=at lo limit, 2=at hi limit
btScalar m_accumulatedImpulse;
//!@}
@@ -134,6 +135,7 @@
btVector3 m_targetVelocity;//!< target motor velocity
btVector3 m_maxMotorForce;//!< max force on motor
btVector3 m_currentLimitError;//! How much is violated this limit
+ btVector3 m_currentLinearDiff;//! Current relative offset of constraint frames
int m_currentLimit[3];//!< 0=free, 1=at lower limit, 2=at upper limit
btTranslationalLimitMotor()
@@ -478,6 +480,16 @@
};
+/// Generic 6 DOF constraint that allows to set spring motors to any translational and rotational DOF
+
+/// DOF index used in enableSpring() and setStiffness() means:
+/// 0 : translation X
+/// 1 : translation Y
+/// 2 : translation Z
+/// 3 : rotation X (3rd Euler rotational around new position of X axis, range [-PI+epsilon, PI-epsilon] )
+/// 4 : rotation Y (2nd Euler rotational around new position of Y axis, range [-PI/2+epsilon, PI/2-epsilon] )
+/// 5 : rotation Z (1st Euler rotational around Z axis, range [-PI+epsilon, PI-epsilon] )
+
class btGeneric6DofSpringConstraint : public btGeneric6DofConstraint
{
protected:
@@ -494,4 +506,5 @@
virtual void getInfo2 (btConstraintInfo2* info);
};
+
#endif //GENERIC_6DOF_CONSTRAINT_H
Modified: branches/bb_dev/extern/ffmpeg/libavcodec/eval.c
===================================================================
--- branches/bb_dev/extern/ffmpeg/libavcodec/eval.c 2009-05-30 17:33:37 UTC (rev 20520)
+++ branches/bb_dev/extern/ffmpeg/libavcodec/eval.c 2009-05-30 20:16:17 UTC (rev 20521)
@@ -36,7 +36,8 @@
#include <string.h>
#include <math.h>
-#ifndef NAN
+#if !defined(NAN) || defined(__sun__)
+ #undef NAN
#define NAN 0.0/0.0
#endif
Modified: branches/bb_dev/extern/libopenjpeg/jp2.c
===================================================================
--- branches/bb_dev/extern/libopenjpeg/jp2.c 2009-05-30 17:33:37 UTC (rev 20520)
+++ branches/bb_dev/extern/libopenjpeg/jp2.c 2009-05-30 20:16:17 UTC (rev 20521)
@@ -561,6 +561,7 @@
image = j2k_decode(jp2->j2k, cio, cstr_info);
if(!image) {
opj_event_msg(cinfo, EVT_ERROR, "Failed to decode J2K image\n");
+ return NULL;
}
/* Set Image Color Space */
Modified: branches/bb_dev/release/VERSION
===================================================================
--- branches/bb_dev/release/VERSION 2009-05-30 17:33:37 UTC (rev 20520)
+++ branches/bb_dev/release/VERSION 2009-05-30 20:16:17 UTC (rev 20521)
@@ -1 +1 @@
-2.48
+2.49
Modified: branches/bb_dev/release/datafiles/splash.jpg
===================================================================
(Binary files differ)
Modified: branches/bb_dev/release/scripts/bpymodules/colladaImEx/cstartup.py
===================================================================
--- branches/bb_dev/release/scripts/bpymodules/colladaImEx/cstartup.py 2009-05-30 17:33:37 UTC (rev 20520)
+++ branches/bb_dev/release/scripts/bpymodules/colladaImEx/cstartup.py 2009-05-30 20:16:17 UTC (rev 20521)
@@ -523,6 +523,11 @@
LoadDefaultVals()
+def CalcElapsedTime(startTime):
+ '''
+ Calc elapsed time between now and start time.
+ '''
+ return Blender.sys.time() - startTime
def Event(evt, val):
pass
@@ -674,20 +679,20 @@
lookAt, usePhysics, exportCurrentScene, \
exportRelativePaths, useUV, sampleAnimation, \
onlyMainScene, applyModifiers)
- # Redraw al 3D windows.
+
+ cutils.Debug.Debug('Time to process and save data: %.1f' \
+ % CalcElapsedTime(startTime), 'FEEDBACK')
+
+ # Redraw all 3D windows.
Blender.Window.RedrawAll()
-
- # calculate the elapsed time
- endTime = Blender.sys.time()
- elapsedTime = endTime - startTime
+
Blender.Draw.PupMenu(importExportText + " Successful %t")
- except:
- endTime = Blender.sys.time()
- elapsedTime = endTime - startTime
+ except:
Blender.Draw.PupMenu(importExportText + "ing failed%t | Check the console for more info")
raise # throw the exception
- cutils.Debug.Debug('FINISHED - time elapsed: %.1f'%(elapsedTime),'FEEDBACK')
+ cutils.Debug.Debug('FINISHED - time elapsed: %.1f' % CalcElapsedTime(startTime), \
+ 'FEEDBACK')
# Hide the wait cursor in blender
Blender.Window.WaitCursor(0)
Modified: branches/bb_dev/release/scripts/bpymodules/colladaImEx/translator.py
===================================================================
--- branches/bb_dev/release/scripts/bpymodules/colladaImEx/translator.py 2009-05-30 17:33:37 UTC (rev 20520)
+++ branches/bb_dev/release/scripts/bpymodules/colladaImEx/translator.py 2009-05-30 20:16:17 UTC (rev 20521)
@@ -398,8 +398,6 @@
self.containerMesh = temp_mesh
if not self.containerMesh:
self.containerMesh = Blender.Mesh.New(temp_mesh_name)
-
- del temp_mesh
#------------ [end] Copied from export OBJ ------------------------
# Loop through all scenes
@@ -2107,29 +2105,30 @@
instance = collada.DaeGeometryInstance()
daeGeometry = self.document.colladaDocument.geometriesLibrary.FindObject(bNode.getData(True))
meshNode = MeshNode(self.document)
- if daeGeometry is None:
- # TODO: Maybe add a for-loop if multiple instance are made by
- # a transformation. But so far even a double mirror
- # (x and y axis) results only in _1_ instance.
- derivedObject = BPyObject.getDerivedObjects(bNode)[0][0]
- virtualMesh = BPyMesh.getMeshFromObject(derivedObject, \
- self.document.containerMesh, applyModifiers, False, bScene)
- if debprn:
- print("Virtual mesh: " + str(virtualMesh) )
- # + "; type: " + str(type(virtualMesh)))
- if not virtualMesh:
- # Fallback!
- # Should never happen!
- # (The "mesh=1" param on the getData() method ensures that
- # it gets a "Mesh" instead of a "NMesh".)
- print("Error while trying to save derived object / apply modifiers. Try saving " \
- + "more direct, all modifiers will be ignored.")
- daeGeometry = meshNode.SaveToDae(bNode.getData(mesh=1))
- else:
- # Apply original name from untransformed object
- # to transformed object (name is later copied 1:1 to id).
- virtualMesh.name = derivedObject.name
- daeGeometry = meshNode.SaveToDae(virtualMesh)
+ if daeGeometry is None:
+ derivedObjsMatrices = BPyObject.getDerivedObjects(bNode)
+ for derivedObject, matrix in derivedObjsMatrices:
+ virtualMesh = BPyMesh.getMeshFromObject(derivedObject, \
+ self.document.containerMesh, applyModifiers, False, bScene)
+ if debprn:
+ print("Virtual mesh: " + str(virtualMesh) )
+ # + "; type: " + str(type(virtualMesh)))
+ if not virtualMesh:
+ # Fallback!
+ # Should never happen!
+ # (The "mesh=1" param on the getData() method ensures that
+ # it gets a "Mesh" instead of a "NMesh".)
+ print("Error while trying to save derived object / apply modifiers. Try saving " \
+ + "more direct, all modifiers will be ignored.")
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list