Merge of itasc branch. Project files, scons and cmake should be working. Makefile...
[blender.git] / source / blender / ikplugin / intern / ikplugin_api.h
similarity index 55%
rename from intern/SoundSystem/openal/pthread_cancel.cpp
rename to source/blender/ikplugin/intern/ikplugin_api.h
index bb36d1d..cc4dff4 100644 (file)
@@ -1,5 +1,5 @@
-/* $Id$
- *
+/**
+ * $Id$
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
  *
  * The Original Code is: all of this file.
  *
- * Contributor(s): none yet.
+ * Original author: Benoit Bolsee
+ * Contributor(s): 
  *
  * ***** END GPL LICENSE BLOCK *****
- * FreeBSD 3.4 does not yet have pthread_cancel (3.5 and above do)
  */
 
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#ifdef __FreeBSD__
+#ifndef IKPLUGIN_API_H
+#define IKPLUGIN_API_H
 
-#include <osreldate.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-#if (__FreeBSD_version < 350000)
-#include <pthread.h>
+struct Object;
+struct bPoseChannel;
+struct bArmature;
+struct Scene;
 
-#define FD_READ             0x1
-#define _FD_LOCK(_fd,_type,_ts)         _thread_fd_lock(_fd, _type, _ts)
-#define _FD_UNLOCK(_fd,_type)          _thread_fd_unlock(_fd, _type)
 
-int pthread_cancel(pthread_t pthread) {
-    pthread_exit(NULL);
-    return 0;
-}
+struct IKPlugin {
+       void (*initialize_tree_func)(struct Scene *scene, struct Object *ob, float ctime);
+       void (*execute_tree_func)(struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan, float ctime);
+       void (*release_tree_func)(struct Scene *scene, struct Object *ob, float ctime);
+       void (*remove_armature_func)(struct bPose *pose);
+       void (*clear_cache)(struct bPose *pose);
+       void (*update_param)(struct bPose *pose);
+       void (*test_constraint)(struct Object *ob, struct bConstraint *cons);
+};
 
-long fpathconf(int fd, int name)
-{
-    long            ret;
+typedef struct IKPlugin IKPlugin;
 
-    if ((ret = _FD_LOCK(fd, FD_READ, NULL)) == 0) {
-       ret = _thread_sys_fpathconf(fd, name);
-       _FD_UNLOCK(fd, FD_READ);
-    }
-    return ret;
+#ifdef __cplusplus
 }
-
 #endif
 
-int pthread_atfork(void *a, void *b, void *c) {
-    return 0;
-}
+#endif // IKPLUGIN_API_H
 
-#endif