Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Hnidek <jiri.hnidek@tul.cz>2009-07-29 18:07:51 +0400
committerJiri Hnidek <jiri.hnidek@tul.cz>2009-07-29 18:07:51 +0400
commit9547fc48ac653c039dc857d08ece8b1072d717c4 (patch)
treee55a87d2dca338b99044e50f7fce198ce65979fc /source/blender/editors/metaball
parent2ee51efd6b5c3c0f90c6b0b07f7b4fc168cd9860 (diff)
- Fix some things I missed in my last commit
- Change name of OBJECT_OT_object_add operator - Use new OBJECT_OT_object_add operator in space_info.py
Diffstat (limited to 'source/blender/editors/metaball')
-rw-r--r--source/blender/editors/metaball/editmball.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/editors/metaball/editmball.c b/source/blender/editors/metaball/editmball.c
index 7b9175f8ae0..b9bb219783f 100644
--- a/source/blender/editors/metaball/editmball.c
+++ b/source/blender/editors/metaball/editmball.c
@@ -45,6 +45,7 @@
#include "DNA_scene_types.h"
#include "DNA_view3d_types.h"
#include "DNA_windowmanager_types.h"
+#include "DNA_userdef_types.h"
#include "RNA_define.h"
#include "RNA_access.h"
@@ -106,6 +107,8 @@ MetaElem *add_metaball_primitive(bContext *C, int type, int newname)
MetaElem *ml;
float *curs, mat[3][3], cent[3], imat[3][3], cmat[3][3];
+ if(!obedit) return NULL;
+
/* Deselect all existing metaelems */
ml= mball->editelems->first;
while(ml) {
@@ -114,7 +117,6 @@ MetaElem *add_metaball_primitive(bContext *C, int type, int newname)
}
Mat3CpyMat4(mat, obedit->obmat);
-
if(v3d) {
curs= give_cursor(scene, v3d);
VECCOPY(cent, curs);
@@ -127,12 +129,17 @@ MetaElem *add_metaball_primitive(bContext *C, int type, int newname)
cent[2]-= obedit->obmat[3][2];
if (rv3d) {
- Mat3CpyMat4(imat, rv3d->viewmat);
+ if (!(newname) || U.flag & USER_ADD_VIEWALIGNED || !rv3d)
+ Mat3CpyMat4(imat, rv3d->viewmat);
+ else
+ Mat3One(imat);
Mat3MulVecfl(imat, cent);
Mat3MulMat3(cmat, imat, mat);
Mat3Inv(imat,cmat);
Mat3MulVecfl(imat, cent);
}
+ else
+ Mat3One(imat);
ml= MEM_callocN(sizeof(MetaElem), "metaelem");