# PySoy's bodies declarations # # Copyright (C) 2006,2007,2008 PySoy Group # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program 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 Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, see http://www.gnu.org/licenses # # $Id$ cimport ode cimport soy._internals ############################################################################## # # Forward Declarations # ####################################### # # soy._datatypes # cimport soy._datatypes cdef class soy._datatypes.HashTable # ####################################### # # soy.models # cimport soy.models cdef class soy.models.Model # ####################################### # # soy.scenes # cimport soy.scenes cdef class soy.scenes.Scene (soy._internals.Loopable) # ####################################### # # soy.shapes # cimport soy.shapes cdef class soy.shapes.Shape # ############################################################################## cdef class Body : cdef ode.dBodyID _bodyID cdef soy.scenes.Scene _scene cdef soy.models.Model _model cdef soy.shapes.Shape _shape cdef soy._datatypes.HashTable _tags cdef ode.dMass _mass cdef ode.dReal* _position cdef ode.dReal* _rotation cdef ode.dReal* _quaternion cdef ode.dReal* _linearVel cdef ode.dReal* _angularVel # C functions cdef void _create ( self ) cdef void _destroy ( self ) cdef void _append ( self ) cdef void _remove ( self ) cdef void _copyTo ( self, ode.dReal* ) cdef void _copySet ( self, ode.dReal* ) cdef void _copyFrom ( self, ode.dReal* ) cdef void _addForce ( self, ode.dVector3 ) cdef void _addRotation ( self, ode.dVector3 ) # WindowLoop functions cdef void _calcFogCoords ( self ) nogil cdef void _getModelviewInv ( self, float* ) nogil cdef class Camera (Body) : cdef int _wire cdef float _fovy cdef int _rpt cdef double _rtimes[16] # WindowLoop functions cdef void _project ( self ) #nogil cdef class Light (Body) : cdef float _radius cdef object _ambient cdef object _diffuse cdef object _specular # WindowLoop functions cdef void _on ( self, int ) nogil cdef void _off ( self, int ) nogil