[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11415] branches/imgbrowser-elubie: == imagebrowser ==
Andrea Weikert
elubie at gmx.net
Sun Jul 29 13:37:34 CEST 2007
Revision: 11415
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11415
Author: elubie
Date: 2007-07-29 13:37:34 +0200 (Sun, 29 Jul 2007)
Log Message:
-----------
== imagebrowser ==
- merge changes from trunk, rev. 11280 to 11414
- note: renaming directories with only changing case caused merge
problems on Windows (file still locked), so this merge was done on
Linux.
Modified Paths:
--------------
branches/imgbrowser-elubie/bin/.blender/.Blanguages
branches/imgbrowser-elubie/bin/.blender/locale/cs/LC_MESSAGES/blender.mo
branches/imgbrowser-elubie/extern/bullet2/src/SConscript
branches/imgbrowser-elubie/intern/opennl/extern/ONL_opennl.h
branches/imgbrowser-elubie/intern/opennl/intern/opennl.c
branches/imgbrowser-elubie/po/Makefile
branches/imgbrowser-elubie/po/cs.po
branches/imgbrowser-elubie/projectfiles_vc7/blender/render/BRE_render.vcproj
branches/imgbrowser-elubie/projectfiles_vc7/blender/src/BL_src.vcproj
branches/imgbrowser-elubie/release/scripts/uv_export.py
branches/imgbrowser-elubie/source/blender/blenkernel/BKE_DerivedMesh.h
branches/imgbrowser-elubie/source/blender/blenkernel/BKE_action.h
branches/imgbrowser-elubie/source/blender/blenkernel/BKE_constraint.h
branches/imgbrowser-elubie/source/blender/blenkernel/BKE_lattice.h
branches/imgbrowser-elubie/source/blender/blenkernel/BKE_modifier.h
branches/imgbrowser-elubie/source/blender/blenkernel/intern/DerivedMesh.c
branches/imgbrowser-elubie/source/blender/blenkernel/intern/action.c
branches/imgbrowser-elubie/source/blender/blenkernel/intern/anim.c
branches/imgbrowser-elubie/source/blender/blenkernel/intern/armature.c
branches/imgbrowser-elubie/source/blender/blenkernel/intern/constraint.c
branches/imgbrowser-elubie/source/blender/blenkernel/intern/modifier.c
branches/imgbrowser-elubie/source/blender/blenkernel/intern/subsurf_ccg.c
branches/imgbrowser-elubie/source/blender/blenlib/BLI_arithb.h
branches/imgbrowser-elubie/source/blender/blenlib/intern/arithb.c
branches/imgbrowser-elubie/source/blender/blenloader/intern/readfile.c
branches/imgbrowser-elubie/source/blender/blenloader/intern/writefile.c
branches/imgbrowser-elubie/source/blender/include/BIF_editconstraint.h
branches/imgbrowser-elubie/source/blender/include/BIF_poseobject.h
branches/imgbrowser-elubie/source/blender/include/butspace.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_action_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_constraint_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_curve_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_group_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_image_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_ipo_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_lamp_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_mesh_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_meshdata_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_modifier_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_nla_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_object_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_scene_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_space_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_texture_types.h
branches/imgbrowser-elubie/source/blender/makesdna/DNA_world_types.h
branches/imgbrowser-elubie/source/blender/nodes/intern/CMP_nodes/CMP_math.c
branches/imgbrowser-elubie/source/blender/python/BPY_extern.h
branches/imgbrowser-elubie/source/blender/python/BPY_interface.c
branches/imgbrowser-elubie/source/blender/python/api2_2x/Constraint.c
branches/imgbrowser-elubie/source/blender/python/api2_2x/Curve.c
branches/imgbrowser-elubie/source/blender/python/api2_2x/Draw.c
branches/imgbrowser-elubie/source/blender/python/api2_2x/Draw.h
branches/imgbrowser-elubie/source/blender/python/api2_2x/Object.c
branches/imgbrowser-elubie/source/blender/python/api2_2x/Scene.c
branches/imgbrowser-elubie/source/blender/python/api2_2x/SurfNurb.c
branches/imgbrowser-elubie/source/blender/python/api2_2x/Texture.c
branches/imgbrowser-elubie/source/blender/python/api2_2x/Window.c
branches/imgbrowser-elubie/source/blender/python/api2_2x/doc/Constraint.py
branches/imgbrowser-elubie/source/blender/python/api2_2x/doc/Draw.py
branches/imgbrowser-elubie/source/blender/python/api2_2x/doc/Texture.py
branches/imgbrowser-elubie/source/blender/python/api2_2x/sceneSequence.h
branches/imgbrowser-elubie/source/blender/render/intern/include/render_types.h
branches/imgbrowser-elubie/source/blender/render/intern/include/rendercore.h
branches/imgbrowser-elubie/source/blender/render/intern/source/convertblender.c
branches/imgbrowser-elubie/source/blender/render/intern/source/envmap.c
branches/imgbrowser-elubie/source/blender/render/intern/source/pipeline.c
branches/imgbrowser-elubie/source/blender/render/intern/source/rendercore.c
branches/imgbrowser-elubie/source/blender/render/intern/source/shadeoutput.c
branches/imgbrowser-elubie/source/blender/render/intern/source/texture.c
branches/imgbrowser-elubie/source/blender/src/buttons_editing.c
branches/imgbrowser-elubie/source/blender/src/buttons_object.c
branches/imgbrowser-elubie/source/blender/src/buttons_shading.c
branches/imgbrowser-elubie/source/blender/src/drawaction.c
branches/imgbrowser-elubie/source/blender/src/drawarmature.c
branches/imgbrowser-elubie/source/blender/src/drawscript.c
branches/imgbrowser-elubie/source/blender/src/drawview.c
branches/imgbrowser-elubie/source/blender/src/editaction.c
branches/imgbrowser-elubie/source/blender/src/editarmature.c
branches/imgbrowser-elubie/source/blender/src/editconstraint.c
branches/imgbrowser-elubie/source/blender/src/editipo.c
branches/imgbrowser-elubie/source/blender/src/editkey.c
branches/imgbrowser-elubie/source/blender/src/editobject.c
branches/imgbrowser-elubie/source/blender/src/header_view3d.c
branches/imgbrowser-elubie/source/blender/src/poseobject.c
branches/imgbrowser-elubie/source/blender/src/space.c
branches/imgbrowser-elubie/source/blender/src/transform.c
branches/imgbrowser-elubie/source/blender/src/transform_conversions.c
branches/imgbrowser-elubie/source/gameengine/Converter/BL_ActionActuator.cpp
branches/imgbrowser-elubie/source/gameengine/Converter/BL_SkinDeformer.cpp
branches/imgbrowser-elubie/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
branches/imgbrowser-elubie/source/gameengine/Physics/common/PHY_DynamicTypes.h
Added Paths:
-----------
branches/imgbrowser-elubie/bin/.blender/locale/pt_BR/
branches/imgbrowser-elubie/bin/.blender/locale/pt_BR/LC_MESSAGES/
branches/imgbrowser-elubie/bin/.blender/locale/pt_BR/LC_MESSAGES/blender.mo
branches/imgbrowser-elubie/bin/.blender/locale/zh_CN/
branches/imgbrowser-elubie/bin/.blender/locale/zh_CN/LC_MESSAGES/
branches/imgbrowser-elubie/bin/.blender/locale/zh_CN/LC_MESSAGES/blender.mo
branches/imgbrowser-elubie/po/pt_BR.po
branches/imgbrowser-elubie/source/blender/include/BIF_meshlaplacian.h
branches/imgbrowser-elubie/source/blender/render/extern/include/RE_raytrace.h
branches/imgbrowser-elubie/source/blender/render/intern/source/rayshade.c
branches/imgbrowser-elubie/source/blender/render/intern/source/raytrace.c
branches/imgbrowser-elubie/source/blender/src/meshlaplacian.c
Removed Paths:
-------------
branches/imgbrowser-elubie/bin/.blender/locale/pt_BR/LC_MESSAGES/
branches/imgbrowser-elubie/bin/.blender/locale/pt_BR/LC_MESSAGES/blender.mo
branches/imgbrowser-elubie/bin/.blender/locale/pt_br/
branches/imgbrowser-elubie/bin/.blender/locale/zh_CN/LC_MESSAGES/
branches/imgbrowser-elubie/bin/.blender/locale/zh_CN/LC_MESSAGES/blender.mo
branches/imgbrowser-elubie/bin/.blender/locale/zh_cn/
branches/imgbrowser-elubie/po/pt_br.po
branches/imgbrowser-elubie/source/blender/render/intern/source/ray.c
Modified: branches/imgbrowser-elubie/bin/.blender/.Blanguages
===================================================================
--- branches/imgbrowser-elubie/bin/.blender/.Blanguages 2007-07-29 11:15:37 UTC (rev 11414)
+++ branches/imgbrowser-elubie/bin/.blender/.Blanguages 2007-07-29 11:37:34 UTC (rev 11415)
@@ -9,7 +9,7 @@
Spanish:es_ES
Catalan:ca_ES
Czech:cs_CZ
-Brazilian Portuguese:pt_br
+Brazilian Portuguese:pt_BR
Simplified Chinese:zh_CN
Russian:ru_RU
Croatian:hr_HR
Modified: branches/imgbrowser-elubie/bin/.blender/locale/cs/LC_MESSAGES/blender.mo
===================================================================
(Binary files differ)
Copied: branches/imgbrowser-elubie/bin/.blender/locale/pt_BR (from rev 11413, trunk/blender/bin/.blender/locale/pt_BR)
Copied: branches/imgbrowser-elubie/bin/.blender/locale/pt_BR/LC_MESSAGES (from rev 11413, trunk/blender/bin/.blender/locale/pt_BR/LC_MESSAGES)
Deleted: branches/imgbrowser-elubie/bin/.blender/locale/pt_BR/LC_MESSAGES/blender.mo
===================================================================
(Binary files differ)
Copied: branches/imgbrowser-elubie/bin/.blender/locale/pt_BR/LC_MESSAGES/blender.mo (from rev 11413, trunk/blender/bin/.blender/locale/pt_BR/LC_MESSAGES/blender.mo)
===================================================================
(Binary files differ)
Copied: branches/imgbrowser-elubie/bin/.blender/locale/zh_CN (from rev 11413, trunk/blender/bin/.blender/locale/zh_CN)
Copied: branches/imgbrowser-elubie/bin/.blender/locale/zh_CN/LC_MESSAGES (from rev 11413, trunk/blender/bin/.blender/locale/zh_CN/LC_MESSAGES)
Deleted: branches/imgbrowser-elubie/bin/.blender/locale/zh_CN/LC_MESSAGES/blender.mo
===================================================================
(Binary files differ)
Copied: branches/imgbrowser-elubie/bin/.blender/locale/zh_CN/LC_MESSAGES/blender.mo (from rev 11413, trunk/blender/bin/.blender/locale/zh_CN/LC_MESSAGES/blender.mo)
===================================================================
(Binary files differ)
Modified: branches/imgbrowser-elubie/extern/bullet2/src/SConscript
===================================================================
--- branches/imgbrowser-elubie/extern/bullet2/src/SConscript 2007-07-29 11:15:37 UTC (rev 11414)
+++ branches/imgbrowser-elubie/extern/bullet2/src/SConscript 2007-07-29 11:37:34 UTC (rev 11415)
@@ -29,6 +29,7 @@
"BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp",
"BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp",
"BulletDynamics/ConstraintSolver/btTypedConstraint.cpp",
+ "BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp",
"BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp",
"BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp",
"BulletDynamics/Dynamics/btRigidBody.cpp",
Modified: branches/imgbrowser-elubie/intern/opennl/extern/ONL_opennl.h
===================================================================
--- branches/imgbrowser-elubie/intern/opennl/extern/ONL_opennl.h 2007-07-29 11:15:37 UTC (rev 11414)
+++ branches/imgbrowser-elubie/intern/opennl/extern/ONL_opennl.h 2007-07-29 11:37:34 UTC (rev 11415)
@@ -131,10 +131,12 @@
void nlEnd(NLenum primitive);
void nlCoefficient(NLuint index, NLfloat value);
-/* Setting random elements matrix/vector - not for least squares! */
+/* Setting random elements matrix/vector - not supported for
+ least squares! */
void nlMatrixAdd(NLuint row, NLuint col, NLfloat value);
void nlRightHandSideAdd(NLuint index, NLfloat value);
+void nlRightHandSideSet(NLuint index, NLfloat value);
/* Solve */
Modified: branches/imgbrowser-elubie/intern/opennl/intern/opennl.c
===================================================================
--- branches/imgbrowser-elubie/intern/opennl/intern/opennl.c 2007-07-29 11:15:37 UTC (rev 11414)
+++ branches/imgbrowser-elubie/intern/opennl/intern/opennl.c 2007-07-29 11:37:34 UTC (rev 11415)
@@ -441,6 +441,7 @@
NLfloat value;
NLboolean locked;
NLuint index;
+ __NLRowColumn *a;
} __NLVariable;
#define __NL_STATE_INITIAL 0
@@ -453,13 +454,13 @@
typedef struct {
NLenum state;
+ NLuint n;
__NLVariable* variable;
- NLuint n;
+ NLfloat* b;
__NLSparseMatrix M;
__NLRowColumn af;
__NLRowColumn al;
NLfloat* x;
- NLfloat* b;
NLfloat right_hand_side;
NLuint nb_variables;
NLuint current_row;
@@ -472,8 +473,8 @@
NLboolean alloc_variable;
NLboolean alloc_x;
NLboolean alloc_b;
- NLfloat error;
- __NLMatrixFunc matrix_vector_prod;
+ NLfloat error;
+ __NLMatrixFunc matrix_vector_prod;
struct __NLSuperLUContext {
NLboolean alloc_slu;
@@ -503,6 +504,8 @@
void nlDeleteContext(NLContext context_in) {
__NLContext* context = (__NLContext*)(context_in);
+ int i;
+
if(__nlCurrentContext == context) {
__nlCurrentContext = NULL;
}
@@ -516,14 +519,19 @@
__nlRowColumnDestroy(&context->al);
}
if(context->alloc_variable) {
- __NL_DELETE_ARRAY(context->variable);
+ for(i=0; i<context->nb_variables; i++) {
+ if(context->variable[i].a) {
+ __nlRowColumnDestroy(context->variable[i].a);
+ __NL_DELETE(context->variable[i].a);
+ }
+ }
}
+ if(context->alloc_b) {
+ __NL_DELETE_ARRAY(context->b);
+ }
if(context->alloc_x) {
__NL_DELETE_ARRAY(context->x);
}
- if(context->alloc_b) {
- __NL_DELETE_ARRAY(context->b);
- }
if (context->slu.alloc_slu) {
__nlFree_SUPERLU(context);
}
@@ -727,8 +735,10 @@
static void __nlVariablesToVector() {
NLuint i;
+
__nl_assert(__nlCurrentContext->alloc_x);
__nl_assert(__nlCurrentContext->alloc_variable);
+
for(i=0; i<__nlCurrentContext->nb_variables; i++) {
__NLVariable* v = &(__nlCurrentContext->variable[i]);
if(!v->locked) {
@@ -740,8 +750,10 @@
static void __nlVectorToVariables() {
NLuint i;
+
__nl_assert(__nlCurrentContext->alloc_x);
__nl_assert(__nlCurrentContext->alloc_variable);
+
for(i=0; i<__nlCurrentContext->nb_variables; i++) {
__NLVariable* v = &(__nlCurrentContext->variable[i]);
if(!v->locked) {
@@ -760,8 +772,8 @@
__nlTransition(__NL_STATE_INITIAL, __NL_STATE_SYSTEM);
__nlCurrentContext->variable = __NL_NEW_ARRAY(
- __NLVariable, __nlCurrentContext->nb_variables
- );
+ __NLVariable, __nlCurrentContext->nb_variables);
+
__nlCurrentContext->alloc_variable = NL_TRUE;
}
}
@@ -771,69 +783,93 @@
}
static void __nlBeginMatrix() {
- NLuint i;
+ NLuint i, j;
NLuint n = 0;
NLenum storage = __NL_ROWS;
+ __NLContext *context = __nlCurrentContext;
__nlTransition(__NL_STATE_SYSTEM, __NL_STATE_MATRIX);
- if (!__nlCurrentContext->solve_again) {
- for(i=0; i<__nlCurrentContext->nb_variables; i++) {
- if(!__nlCurrentContext->variable[i].locked)
- __nlCurrentContext->variable[i].index = n++;
+ if (!context->solve_again) {
+ for(i=0; i<context->nb_variables; i++) {
+ if(context->variable[i].locked) {
+ context->variable[i].index = ~0;
+ context->variable[i].a = __NL_NEW(__NLRowColumn);
+ __nlRowColumnConstruct(context->variable[i].a);
+ }
else
- __nlCurrentContext->variable[i].index = ~0;
+ context->variable[i].index = n++;
}
- __nlCurrentContext->n = n;
+ context->n = n;
/* a least squares problem results in a symmetric matrix */
- if(__nlCurrentContext->least_squares)
- __nlCurrentContext->symmetric = NL_TRUE;
+ if(context->least_squares)
+ context->symmetric = NL_TRUE;
- if(__nlCurrentContext->symmetric)
+ if(context->symmetric)
storage = (storage | __NL_SYMMETRIC);
/* SuperLU storage does not support symmetric storage */
storage = (storage & ~__NL_SYMMETRIC);
- __nlSparseMatrixConstruct(&__nlCurrentContext->M, n, n, storage);
- __nlCurrentContext->alloc_M = NL_TRUE;
+ __nlSparseMatrixConstruct(&context->M, n, n, storage);
+ context->alloc_M = NL_TRUE;
- __nlCurrentContext->x = __NL_NEW_ARRAY(NLfloat, n);
- __nlCurrentContext->alloc_x = NL_TRUE;
-
- __nlCurrentContext->b = __NL_NEW_ARRAY(NLfloat, n);
- __nlCurrentContext->alloc_b = NL_TRUE;
+ context->b = __NL_NEW_ARRAY(NLfloat, n);
+ context->alloc_b = NL_TRUE;
+
+ context->x = __NL_NEW_ARRAY(NLfloat, n);
+ context->alloc_x = NL_TRUE;
}
else {
/* need to recompute b only, A is not constructed anymore */
- __NL_CLEAR_ARRAY(NLfloat, __nlCurrentContext->b, __nlCurrentContext->n);
+ __NL_CLEAR_ARRAY(NLfloat, context->b, context->n);
}
__nlVariablesToVector();
- __nlRowColumnConstruct(&__nlCurrentContext->af);
- __nlCurrentContext->alloc_af = NL_TRUE;
- __nlRowColumnConstruct(&__nlCurrentContext->al);
- __nlCurrentContext->alloc_al = NL_TRUE;
+ __nlRowColumnConstruct(&context->af);
+ context->alloc_af = NL_TRUE;
+ __nlRowColumnConstruct(&context->al);
+ context->alloc_al = NL_TRUE;
- __nlCurrentContext->current_row = 0;
+ context->current_row = 0;
}
static void __nlEndMatrix() {
+ __NLContext *context = __nlCurrentContext;
+ __NLVariable *variable;
+ __NLRowColumn *a;
+ NLfloat *b;
+ NLuint i, j;
+
__nlTransition(__NL_STATE_MATRIX, __NL_STATE_MATRIX_CONSTRUCTED);
- __nlRowColumnDestroy(&__nlCurrentContext->af);
- __nlCurrentContext->alloc_af = NL_FALSE;
- __nlRowColumnDestroy(&__nlCurrentContext->al);
- __nlCurrentContext->alloc_al = NL_FALSE;
+ __nlRowColumnDestroy(&context->af);
+ context->alloc_af = NL_FALSE;
+ __nlRowColumnDestroy(&context->al);
+ context->alloc_al = NL_FALSE;
+ b = context->b;
+
+ for(i=0; i<__nlCurrentContext->nb_variables; i++) {
+ variable = &(context->variable[i]);
+
+ if(variable->locked) {
+ a = variable->a;
+
+ for(j=0; j<a->size; j++) {
+ b[a->coeff[j].index] -= a->coeff[j].value*variable->value;
+ }
+ }
+ }
+
#if 0
- if(!__nlCurrentContext->least_squares) {
+ if(!context->least_squares) {
__nl_assert(
- __nlCurrentContext->current_row ==
- __nlCurrentContext->n
+ context->current_row ==
+ context->n
);
}
#endif
@@ -895,26 +931,61 @@
void nlMatrixAdd(NLuint row, NLuint col, NLfloat value)
{
- __NLSparseMatrix* M = &__nlCurrentContext->M;
+ __NLContext *context = __nlCurrentContext;
+
__nlCheckState(__NL_STATE_MATRIX);
- __nl_range_assert(row, 0, __nlCurrentContext->n - 1);
- __nl_range_assert(col, 0, __nlCurrentContext->nb_variables - 1);
- __nl_assert(!__nlCurrentContext->least_squares);
+ __nl_assert(!context->least_squares);
- __nlSparseMatrixAdd(M, row, col, value);
+ if (context->variable[row].locked);
+ else if (context->variable[col].locked) {
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list