From 9b758508df283a533a4cfc605545a35f77bc9d5f Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Mon, 13 Jun 2011 00:16:27 -0600 Subject: Use Cython for the Python module. --- libdimension-python/Camera.c | 92 -------------------------------------------- 1 file changed, 92 deletions(-) delete mode 100644 libdimension-python/Camera.c (limited to 'libdimension-python/Camera.c') diff --git a/libdimension-python/Camera.c b/libdimension-python/Camera.c deleted file mode 100644 index 286c36d..0000000 --- a/libdimension-python/Camera.c +++ /dev/null @@ -1,92 +0,0 @@ -/************************************************************************* - * Copyright (C) 2009-2011 Tavian Barnes * - * * - * This file is part of The Dimension Python Module. * - * * - * The Dimension Python Module is free software; you can redistribute it * - * and/ or modify it under the terms of the GNU Lesser General Public * - * License as published by the Free Software Foundation; either version * - * 3 of the License, or (at your option) any later version. * - * * - * The Dimension Python Module is distributed in the hope that it will * - * be useful, but WITHOUT ANY WARRANTY; without even the implied * - * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * - * the GNU Lesser General Public License for more details. * - * * - * You should have received a copy of the GNU Lesser General Public * - * License along with this program. If not, see * - * . * - *************************************************************************/ - -#include "dimension-python.h" - -static int -dmnsn_py_Camera_init(dmnsn_py_Camera *self, PyObject *args, PyObject *kwds) -{ - if (kwds || (args && !PyArg_ParseTuple(args, ""))) - return -1; - - return 0; -} - -static void -dmnsn_py_Camera_dealloc(dmnsn_py_Camera *self) -{ - dmnsn_delete_camera(self->camera); - Py_TYPE(self)->tp_free((PyObject *)self); -} - -static PyObject * -dmnsn_py_Camera_initialize(dmnsn_py_Camera *self) -{ - PyErr_SetString(PyExc_TypeError, "Attempt to initialize base Camera"); - return NULL; -} - -static PyObject * -dmnsn_py_Camera_transform(dmnsn_py_Camera *self, PyObject *args) -{ - dmnsn_py_Matrix *trans; - if (!PyArg_ParseTuple(args, "O!", &dmnsn_py_MatrixType, &trans)) - return NULL; - - if (!self->camera) { - PyErr_SetString(PyExc_TypeError, "Attempt to transform base Camera"); - return NULL; - } - - self->camera->trans = dmnsn_matrix_mul(trans->m, self->camera->trans); - Py_INCREF(self); - return (PyObject *)self; -} - -static PyMethodDef dmnsn_py_Camera_methods[] = { - { "initialize", (PyCFunction)dmnsn_py_Camera_initialize, METH_NOARGS, - "Initialize a camera" }, - { "transform", (PyCFunction)dmnsn_py_Camera_transform, METH_VARARGS, - "Transform a camera" }, - { NULL } -}; - -static PyGetSetDef dmnsn_py_Camera_getsetters[] = { - { NULL } -}; - -PyTypeObject dmnsn_py_CameraType = { - PyVarObject_HEAD_INIT(NULL, 0) - .tp_name = "dimension.Camera", - .tp_basicsize = sizeof(dmnsn_py_Camera), - .tp_dealloc = (destructor)dmnsn_py_Camera_dealloc, - .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, - .tp_doc = "Dimension camera", - .tp_methods = dmnsn_py_Camera_methods, - .tp_getset = dmnsn_py_Camera_getsetters, - .tp_init = (initproc)dmnsn_py_Camera_init, -}; - -bool -dmnsn_py_init_CameraType(void) -{ - dmnsn_py_CameraType.tp_new = PyType_GenericNew; - return PyType_Ready(&dmnsn_py_CameraType) >= 0; -} -- cgit v1.2.3