2023-05-31 16:19:06 +02:00
|
|
|
/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
2002-10-12 11:37:38 +00:00
|
|
|
|
2019-02-18 08:08:12 +11:00
|
|
|
/** \file
|
|
|
|
|
* \ingroup ikplugin
|
2011-02-27 20:24:49 +00:00
|
|
|
*/
|
|
|
|
|
|
2012-02-17 18:59:41 +00:00
|
|
|
#pragma once
|
2009-09-24 21:22:24 +00:00
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
2002-11-25 15:29:57 +00:00
|
|
|
#endif
|
|
|
|
|
|
2018-04-06 12:07:27 +02:00
|
|
|
struct Depsgraph;
|
2009-09-24 21:22:24 +00:00
|
|
|
struct Object;
|
|
|
|
|
struct Scene;
|
2018-04-06 12:07:27 +02:00
|
|
|
struct bPoseChannel;
|
2002-10-12 11:37:38 +00:00
|
|
|
|
2009-09-24 21:22:24 +00:00
|
|
|
struct IKPlugin {
|
2018-04-06 12:07:27 +02:00
|
|
|
void (*initialize_tree_func)(struct Depsgraph *depsgraph,
|
|
|
|
|
struct Scene *scene,
|
|
|
|
|
struct Object *ob,
|
|
|
|
|
float ctime);
|
|
|
|
|
void (*execute_tree_func)(struct Depsgraph *depsgraph,
|
|
|
|
|
struct Scene *scene,
|
|
|
|
|
struct Object *ob,
|
|
|
|
|
struct bPoseChannel *pchan,
|
|
|
|
|
float ctime);
|
2009-09-24 21:22:24 +00:00
|
|
|
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);
|
|
|
|
|
};
|
2002-10-12 11:37:38 +00:00
|
|
|
|
2009-09-24 21:22:24 +00:00
|
|
|
typedef struct IKPlugin IKPlugin;
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
2002-10-12 11:37:38 +00:00
|
|
|
}
|
2009-09-24 21:22:24 +00:00
|
|
|
#endif
|