[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14338] trunk/blender/source/blender/ python/api2_2x/Object.c: Python API - read access to Track and Up axis attributes for Object.

Stephen Swaney sswaney at centurytel.net
Sat Apr 5 23:33:06 CEST 2008


Revision: 14338
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14338
Author:   stiv
Date:     2008-04-05 23:33:06 +0200 (Sat, 05 Apr 2008)

Log Message:
-----------
Python API - read access to Track and Up axis attributes for Object.
Part of Patch 8557.  Contributed by Cedric Paille.  Thanks!

Still waiting for API doc for new attributes.  Finger is poised
over Revert button...

Modified Paths:
--------------
    trunk/blender/source/blender/python/api2_2x/Object.c

Modified: trunk/blender/source/blender/python/api2_2x/Object.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Object.c	2008-04-05 21:29:17 UTC (rev 14337)
+++ trunk/blender/source/blender/python/api2_2x/Object.c	2008-04-05 21:33:06 UTC (rev 14338)
@@ -459,6 +459,8 @@
 static PyObject *Object_copyNLA( BPy_Object * self, PyObject * args );
 static PyObject *Object_convertActionToStrip( BPy_Object * self );
 static PyObject *Object_copy(BPy_Object * self); /* __copy__ */
+static PyObject *Object_trackAxis(BPy_Object * self);
+static PyObject *Object_upAxis(BPy_Object * self);
 
 /*****************************************************************************/
 /* Python BPy_Object methods table:					   */
@@ -1471,7 +1473,6 @@
 
 static PyObject *Object_getBoundBox( BPy_Object * self )
 {
-	int i;
 	float *vec = NULL;
 	PyObject *vector, *bbox;
 
@@ -5060,7 +5061,14 @@
 	 (getter)Object_getRBHalfExtents, (setter)NULL, 
 	 "Rigid body physics bounds object type",
 	 NULL},
-
+	{"trackAxis",
+	 (getter)Object_trackAxis, (setter)NULL, 
+	 "track axis 'x' | 'y' | 'z' | '-x' | '-y' | '-z' (string. readonly)",
+	 NULL},
+ 	{"upAxis",
+	 (getter)Object_upAxis, (setter)NULL, 
+	 "up axis 'x' | 'y' | 'z' (string. readonly)",
+	 NULL},
 	{"restrictDisplay",
 	 (getter)Object_getRestricted, (setter)Object_setRestricted, 
 	 "Toggle object restrictions",
@@ -5172,6 +5180,7 @@
 	NULL
 };
 
+
 static PyObject *M_Object_DrawModesDict( void )
 {
 	PyObject *M = PyConstant_New(  );
@@ -5948,3 +5957,65 @@
 	return EXPP_setterWrapper( (void *)self, args,
 			(setter)Object_setSBStiffQuads );
 }
+
+static PyObject *Object_trackAxis( BPy_Object * self )
+{
+	Object* ob;
+	char ctr[3];
+
+	memset( ctr, 0, sizeof(ctr));
+	ob = self->object;
+
+	switch(ob->trackflag){
+		case(0):
+			ctr[0] = 'X';
+			break;
+		case(1):
+			ctr[0] = 'Y';
+			break;
+		case(2):
+			ctr[0] = 'Z';
+			break;
+		case(3):
+			ctr[0] = '-';
+			ctr[1] = 'X';
+			break;
+		case(4):
+			ctr[0] = '-';
+			ctr[1] = 'Y';
+			break;
+		case(5):
+			ctr[0] = '-';
+			ctr[1] = 'Y';
+			break;
+		default:
+			break;
+	}
+
+	return PyString_FromString(ctr);
+}
+
+static PyObject *Object_upAxis( BPy_Object * self )
+{
+	Object* ob;
+	char cup[2];
+
+	memset( cup, 0, sizeof(cup));
+	ob = self->object;
+
+	switch(ob->upflag){
+		case(0):
+			cup[0] = 'X';
+			break;
+		case(1):
+			cup[0] = 'Y';
+			break;
+		case(2):
+			cup[0] = 'Z';
+			break;
+		default:
+			break;
+	}
+
+	return PyString_FromString(cup);
+}





More information about the Bf-blender-cvs mailing list