[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30347] trunk/blender/source: patch from Goran Milovanovic for the BGE python api.
Campbell Barton
ideasman42 at gmail.com
Wed Jul 14 22:52:04 CEST 2010
Revision: 30347
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30347
Author: campbellbarton
Date: 2010-07-14 22:52:04 +0200 (Wed, 14 Jul 2010)
Log Message:
-----------
patch from Goran Milovanovic for the BGE python api.
camera.ortho_scale (use when in ortho mode only)
(own previous commit incorrectly removed thumb metadata from new imbuf)
Modified Paths:
--------------
trunk/blender/source/blender/imbuf/intern/thumbs_blend.c
trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp
trunk/blender/source/gameengine/Ketsji/KX_Camera.h
trunk/blender/source/gameengine/PyDoc/bge.types.rst
Modified: trunk/blender/source/blender/imbuf/intern/thumbs_blend.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/thumbs_blend.c 2010-07-14 20:31:11 UTC (rev 30346)
+++ trunk/blender/source/blender/imbuf/intern/thumbs_blend.c 2010-07-14 20:52:04 UTC (rev 30347)
@@ -121,7 +121,7 @@
return NULL;
/* finally malloc and read the data */
- img= IMB_allocImBuf(x, y, 32, IB_rect, 0);
+ img= IMB_allocImBuf(x, y, 32, IB_rect | IB_metadata, 0);
if(gzread(gzfile, img->rect, len) != len) {
IMB_freeImBuf(img);
Modified: trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp 2010-07-14 20:31:11 UTC (rev 30346)
+++ trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp 2010-07-14 20:52:04 UTC (rev 30347)
@@ -499,6 +499,7 @@
KX_PYATTRIBUTE_RW_FUNCTION("perspective", KX_Camera, pyattr_get_perspective, pyattr_set_perspective),
KX_PYATTRIBUTE_RW_FUNCTION("lens", KX_Camera, pyattr_get_lens, pyattr_set_lens),
+ KX_PYATTRIBUTE_RW_FUNCTION("ortho_scale", KX_Camera, pyattr_get_ortho_scale, pyattr_set_ortho_scale),
KX_PYATTRIBUTE_RW_FUNCTION("near", KX_Camera, pyattr_get_near, pyattr_set_near),
KX_PYATTRIBUTE_RW_FUNCTION("far", KX_Camera, pyattr_get_far, pyattr_set_far),
@@ -728,6 +729,26 @@
return PY_SET_ATTR_SUCCESS;
}
+PyObject* KX_Camera::pyattr_get_ortho_scale(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
+{
+ KX_Camera* self= static_cast<KX_Camera*>(self_v);
+ return PyFloat_FromDouble(self->m_camdata.m_scale);
+}
+
+int KX_Camera::pyattr_set_ortho_scale(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
+{
+ KX_Camera* self= static_cast<KX_Camera*>(self_v);
+ float param = PyFloat_AsDouble(value);
+ if (param == -1) {
+ PyErr_SetString(PyExc_AttributeError, "camera.scale = float: KX_Camera, expected a float greater then zero");
+ return PY_SET_ATTR_FAIL;
+ }
+
+ self->m_camdata.m_scale= param;
+ self->m_set_projection_matrix = false;
+ return PY_SET_ATTR_SUCCESS;
+}
+
PyObject* KX_Camera::pyattr_get_near(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
{
KX_Camera* self= static_cast<KX_Camera*>(self_v);
Modified: trunk/blender/source/gameengine/Ketsji/KX_Camera.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Camera.h 2010-07-14 20:31:11 UTC (rev 30346)
+++ trunk/blender/source/gameengine/Ketsji/KX_Camera.h 2010-07-14 20:52:04 UTC (rev 30347)
@@ -289,6 +289,8 @@
static PyObject* pyattr_get_lens(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
static int pyattr_set_lens(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
+ static PyObject* pyattr_get_ortho_scale(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
+ static int pyattr_set_ortho_scale(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static PyObject* pyattr_get_near(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
static int pyattr_set_near(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static PyObject* pyattr_get_far(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
Modified: trunk/blender/source/gameengine/PyDoc/bge.types.rst
===================================================================
--- trunk/blender/source/gameengine/PyDoc/bge.types.rst 2010-07-14 20:31:11 UTC (rev 30346)
+++ trunk/blender/source/gameengine/PyDoc/bge.types.rst 2010-07-14 20:52:04 UTC (rev 30347)
@@ -4185,6 +4185,12 @@
:type: float
+ .. attribute:: ortho_scale
+
+ The camera's view scale when in orthographic mode.
+
+ :type: float
+
.. attribute:: near
The camera's near clip distance.
More information about the Bf-blender-cvs
mailing list