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:
authorCampbell Barton <ideasman42@gmail.com>2010-12-24 06:51:34 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-12-24 06:51:34 +0300
commit2dcfa5acf93479b10a91c86b3615b0feadb1d23f (patch)
tree0585424b585536926525395ddb2e4b1773e963b5 /source/blender/python
parent47fc52f83920f3c4b311680bda7c28dd4794a979 (diff)
return typle for mathutils slice's.
The main advantage with this is that its close to twice as fast to do 'vertex.co[:]' then 'tuple(vertex.co)', this is common for writing a vertex array. the correct python behavior in this case is to return a copy of the original type, however euler and quats don't support different sizes so we cant do so easily.
Diffstat (limited to 'source/blender/python')
-rw-r--r--source/blender/python/generic/mathutils_color.c10
-rw-r--r--source/blender/python/generic/mathutils_euler.c10
-rw-r--r--source/blender/python/generic/mathutils_matrix.c12
-rw-r--r--source/blender/python/generic/mathutils_quat.c12
-rw-r--r--source/blender/python/generic/mathutils_vector.c10
5 files changed, 27 insertions, 27 deletions
diff --git a/source/blender/python/generic/mathutils_color.c b/source/blender/python/generic/mathutils_color.c
index 95030631d03..989821510de 100644
--- a/source/blender/python/generic/mathutils_color.c
+++ b/source/blender/python/generic/mathutils_color.c
@@ -213,7 +213,7 @@ static int Color_ass_item(ColorObject * self, int i, PyObject * value)
//sequence slice (get)
static PyObject *Color_slice(ColorObject * self, int begin, int end)
{
- PyObject *list = NULL;
+ PyObject *tuple;
int count;
if(!BaseMath_ReadCallback(self))
@@ -222,14 +222,14 @@ static PyObject *Color_slice(ColorObject * self, int begin, int end)
CLAMP(begin, 0, COLOR_SIZE);
if (end<0) end= (COLOR_SIZE + 1) + end;
CLAMP(end, 0, COLOR_SIZE);
- begin = MIN2(begin,end);
+ begin= MIN2(begin, end);
- list = PyList_New(end - begin);
+ tuple= PyTuple_New(end - begin);
for(count= begin; count < end; count++) {
- PyList_SET_ITEM(list, count - begin, PyFloat_FromDouble(self->col[count]));
+ PyTuple_SET_ITEM(tuple, count - begin, PyFloat_FromDouble(self->col[count]));
}
- return list;
+ return tuple;
}
//----------------------------object[z:y]------------------------
//sequence slice (set)
diff --git a/source/blender/python/generic/mathutils_euler.c b/source/blender/python/generic/mathutils_euler.c
index 8699c476c0c..0474d30d29f 100644
--- a/source/blender/python/generic/mathutils_euler.c
+++ b/source/blender/python/generic/mathutils_euler.c
@@ -443,7 +443,7 @@ static int Euler_ass_item(EulerObject * self, int i, PyObject *value)
//sequence slice (get)
static PyObject *Euler_slice(EulerObject * self, int begin, int end)
{
- PyObject *list = NULL;
+ PyObject *tuple;
int count;
if(!BaseMath_ReadCallback(self))
@@ -452,14 +452,14 @@ static PyObject *Euler_slice(EulerObject * self, int begin, int end)
CLAMP(begin, 0, EULER_SIZE);
if (end<0) end= (EULER_SIZE + 1) + end;
CLAMP(end, 0, EULER_SIZE);
- begin = MIN2(begin,end);
+ begin= MIN2(begin, end);
- list = PyList_New(end - begin);
+ tuple= PyTuple_New(end - begin);
for(count = begin; count < end; count++) {
- PyList_SET_ITEM(list, count - begin, PyFloat_FromDouble(self->eul[count]));
+ PyTuple_SET_ITEM(tuple, count - begin, PyFloat_FromDouble(self->eul[count]));
}
- return list;
+ return tuple;
}
//----------------------------object[z:y]------------------------
//sequence slice (set)
diff --git a/source/blender/python/generic/mathutils_matrix.c b/source/blender/python/generic/mathutils_matrix.c
index e75f888bc03..8b8e68b798c 100644
--- a/source/blender/python/generic/mathutils_matrix.c
+++ b/source/blender/python/generic/mathutils_matrix.c
@@ -1398,7 +1398,7 @@ static int Matrix_ass_item(MatrixObject * self, int i, PyObject * ob)
static PyObject *Matrix_slice(MatrixObject * self, int begin, int end)
{
- PyObject *list = NULL;
+ PyObject *tuple;
int count;
if(!BaseMath_ReadCallback(self))
@@ -1406,16 +1406,16 @@ static PyObject *Matrix_slice(MatrixObject * self, int begin, int end)
CLAMP(begin, 0, self->rowSize);
CLAMP(end, 0, self->rowSize);
- begin = MIN2(begin,end);
+ begin= MIN2(begin,end);
- list = PyList_New(end - begin);
- for(count = begin; count < end; count++) {
- PyList_SET_ITEM(list, count - begin,
+ tuple= PyTuple_New(end - begin);
+ for(count= begin; count < end; count++) {
+ PyTuple_SET_ITEM(tuple, count - begin,
newVectorObject_cb((PyObject *)self, self->colSize, mathutils_matrix_vector_cb_index, count));
}
- return list;
+ return tuple;
}
/*----------------------------object[z:y]------------------------
sequence slice (set)*/
diff --git a/source/blender/python/generic/mathutils_quat.c b/source/blender/python/generic/mathutils_quat.c
index 733e2b902c4..4dced9aaad1 100644
--- a/source/blender/python/generic/mathutils_quat.c
+++ b/source/blender/python/generic/mathutils_quat.c
@@ -480,7 +480,7 @@ static int Quaternion_ass_item(QuaternionObject * self, int i, PyObject * ob)
//sequence slice (get)
static PyObject *Quaternion_slice(QuaternionObject * self, int begin, int end)
{
- PyObject *list = NULL;
+ PyObject *tuple;
int count;
if(!BaseMath_ReadCallback(self))
@@ -489,14 +489,14 @@ static PyObject *Quaternion_slice(QuaternionObject * self, int begin, int end)
CLAMP(begin, 0, QUAT_SIZE);
if (end<0) end= (QUAT_SIZE + 1) + end;
CLAMP(end, 0, QUAT_SIZE);
- begin = MIN2(begin,end);
+ begin= MIN2(begin, end);
- list = PyList_New(end - begin);
- for(count = begin; count < end; count++) {
- PyList_SET_ITEM(list, count - begin, PyFloat_FromDouble(self->quat[count]));
+ tuple= PyTuple_New(end - begin);
+ for(count= begin; count < end; count++) {
+ PyTuple_SET_ITEM(tuple, count - begin, PyFloat_FromDouble(self->quat[count]));
}
- return list;
+ return tuple;
}
//----------------------------object[z:y]------------------------
//sequence slice (set)
diff --git a/source/blender/python/generic/mathutils_vector.c b/source/blender/python/generic/mathutils_vector.c
index f64c591faca..7bf8eebb12d 100644
--- a/source/blender/python/generic/mathutils_vector.c
+++ b/source/blender/python/generic/mathutils_vector.c
@@ -807,7 +807,7 @@ static int Vector_ass_item(VectorObject *self, int i, PyObject * ob)
sequence slice (get) */
static PyObject *Vector_slice(VectorObject *self, int begin, int end)
{
- PyObject *list = NULL;
+ PyObject *tuple;
int count;
if(!BaseMath_ReadCallback(self))
@@ -816,14 +816,14 @@ static PyObject *Vector_slice(VectorObject *self, int begin, int end)
CLAMP(begin, 0, self->size);
if (end<0) end= self->size+end+1;
CLAMP(end, 0, self->size);
- begin = MIN2(begin,end);
+ begin= MIN2(begin, end);
- list = PyList_New(end - begin);
+ tuple= PyTuple_New(end - begin);
for(count = begin; count < end; count++) {
- PyList_SET_ITEM(list, count - begin, PyFloat_FromDouble(self->vec[count]));
+ PyTuple_SET_ITEM(tuple, count - begin, PyFloat_FromDouble(self->vec[count]));
}
- return list;
+ return tuple;
}
/*----------------------------object[z:y]------------------------
sequence slice (set) */