1 ////////////////////////////////////////////////////////////////////// 2 // 3 // Pixie 4 // 5 // Copyright � 1999 - 2003, Okan Arikan 6 // 7 // Contact: okan@cs.utexas.edu 8 // 9 // This library is free software; you can redistribute it and/or 10 // modify it under the terms of the GNU Lesser General Public 11 // License as published by the Free Software Foundation; either 12 // version 2.1 of the License, or (at your option) any later version. 13 // 14 // This library is distributed in the hope that it will be useful, 15 // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 // Lesser General Public License for more details. 18 // 19 // You should have received a copy of the GNU Lesser General Public 20 // License along with this library; if not, write to the Free Software 21 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 22 // 23 /////////////////////////////////////////////////////////////////////// 24 /////////////////////////////////////////////////////////////////////// 25 // 26 // File : dlo.h 27 // Classes : - 28 // Description : Defines the interface to a dynamically loaded object 29 // 30 //////////////////////////////////////////////////////////////////////// 31 #ifndef DLO_H 32 #define DLO_H 33 34 #ifndef LIB_EXPORT 35 #ifdef _WINDOWS 36 #define LIB_EXPORT __declspec(dllexport) 37 #else 38 #define LIB_EXPORT extern 39 #endif 40 #endif 41 42 43 typedef void *(*dloInitFunction)(int,float *,float *); 44 typedef int (*dloIntersectFunction)(void *,const float *,const float *,float *,float *); 45 typedef void (*dloTiniFunction)(void *); 46 47 extern "C" { 48 LIB_EXPORT void *dloInit(int,float *,float *); 49 LIB_EXPORT int dloIntersect(void *,const float *,const float *,float *,float *); 50 LIB_EXPORT void dloTini(void *); 51 }; 52 53 #endif 54 55