diff options
Diffstat (limited to 'source/blender/editors/armature/BIF_retarget.h')
-rw-r--r-- | source/blender/editors/armature/BIF_retarget.h | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/source/blender/editors/armature/BIF_retarget.h b/source/blender/editors/armature/BIF_retarget.h deleted file mode 100644 index aa56f847f00..00000000000 --- a/source/blender/editors/armature/BIF_retarget.h +++ /dev/null @@ -1,171 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file blender/editors/armature/BIF_retarget.h - * \ingroup edarmature - */ - -#ifndef __BIF_RETARGET_H__ -#define __BIF_RETARGET_H__ - -#include "DNA_listBase.h" - -#include "BLI_graph.h" -#include "BLI_ghash.h" -#include "BLI_task.h" -#include "BLI_threads.h" - -#include "reeb.h" - -struct Object; -struct bArmature; -struct bContext; - -struct EditBone; - -struct RigGraph; -struct RigNode; -struct RigArc; -struct RigEdge; - -#define USE_THREADS - -typedef struct RigGraph { - ListBase arcs; - ListBase nodes; - - float length; - - FreeArc free_arc; - FreeNode free_node; - RadialSymmetry radial_symmetry; - AxialSymmetry axial_symmetry; - /*********************************/ - - int flag; - - ListBase controls; - ListBase *editbones; - - struct RigNode *head; - ReebGraph *link_mesh; - - - TaskScheduler *task_scheduler; - TaskPool *task_pool; - - GHash *bones_map; /* map of editbones by name */ - GHash *controls_map; /* map of rigcontrols by bone pointer */ - - struct Object *ob; -} RigGraph; - -typedef struct RigNode { - void *next, *prev; - float p[3]; - int flag; - - int degree; - struct BArc **arcs; - - int subgraph_index; - - int symmetry_level; - int symmetry_flag; - float symmetry_axis[3]; - /*********************************/ - - ReebNode *link_mesh; -} RigNode; - -typedef struct RigArc { - void *next, *prev; - RigNode *head, *tail; - int flag; - - float length; - - int symmetry_level; - int symmetry_group; - int symmetry_flag; - /*********************************/ - - ListBase edges; - int count; - ReebArc *link_mesh; -} RigArc; - -typedef struct RigEdge { - struct RigEdge *next, *prev; - float head[3], tail[3]; - float length; - float angle; /* angle to next edge */ - float up_angle; /* angle between up_axis and the joint normal (defined as Previous edge CrossProduct Current edge */ - struct EditBone *bone; - float up_axis[3]; -} RigEdge; - -/* Graph flags */ -#define RIG_FREE_BONELIST 1 - -/* Control flags */ -#define RIG_CTRL_HEAD_DONE 1 -#define RIG_CTRL_TAIL_DONE 2 -#define RIG_CTRL_PARENT_DEFORM 4 -#define RIG_CTRL_FIT_ROOT 8 -#define RIG_CTRL_FIT_BONE 16 - -#define RIG_CTRL_DONE (RIG_CTRL_HEAD_DONE | RIG_CTRL_TAIL_DONE) - -/* Control tail flags */ -typedef enum { - TL_NONE = 0, - TL_TAIL, - TL_HEAD -} LinkTailMode; - -typedef struct RigControl { - struct RigControl *next, *prev; - float head[3], tail[3]; - struct EditBone *bone; - struct EditBone *link; - struct EditBone *link_tail; - float up_axis[3]; - float offset[3]; - float qrot[4]; /* for dual linked bones, store the rotation of the linked bone for the finalization */ - int flag; - LinkTailMode tail_mode; -} RigControl; - -void BIF_retargetArc(struct bContext *C, ReebArc *earc, RigGraph *template_rigg); -RigGraph *RIG_graphFromArmature(const struct bContext *C, struct Object *ob, struct bArmature *arm); -int RIG_nbJoints(RigGraph *rg); -const char *RIG_nameBone(RigGraph *rg, int arc_index, int bone_index); -void RIG_freeRigGraph(BGraph *rg); - -/* UNUSED */ -void BIF_retargetArmature(bContext *C); -void BIF_adjustRetarget(bContext *C); -/* UNUSED / print funcs */ -void RIG_printArc(struct RigGraph *rg, struct RigArc *arc); -void RIG_printGraph(struct RigGraph *rg); -void RIG_printArcBones(struct RigArc *arc); - -#endif /* __BIF_RETARGET_H__ */ |