60 BKE_pose_constraints_evaluate(
61 depsgraph, scene_cow, object_cow, pchan_index);
72 if (rootchan ==
nullptr) {
92 BKE_pose_iktree_evaluate(depsgraph, scene_cow, object_cow, rootchan_index);
126 BKE_pose_splineik_evaluate(
127 depsgraph, scene_cow, object_cow, rootchan_index);
153 if (object->
pose !=
nullptr) {
184 BKE_pose_eval_init(depsgraph, scene_cow, object_cow);
192 BKE_pose_eval_init_ik(depsgraph, scene_cow, object_cow);
199 BKE_pose_eval_cleanup(depsgraph, scene_cow, object_cow);
221 BKE_pose_eval_bone(depsgraph, scene_cow, object_cow, pchan_index);
232 BKE_pose_bone_done(depsgraph, object_cow, pchan_index);
242 BKE_pose_eval_bbone_segments(
243 depsgraph, object_cow, pchan_index);
250 if (pchan->prop !=
nullptr) {
256 if (pchan->constraints.first !=
nullptr) {
285 if (pchan->custom !=
nullptr) {
Blender kernel action and pose functionality.
void BKE_pose_channels_hash_ensure(struct bPose *pose)
void BKE_pose_update_constraint_flags(struct bPose *pose)
struct bPoseChannel * BKE_armature_ik_solver_find_root(struct bPoseChannel *pchan, struct bKinematicConstraint *data)
void BKE_pose_rebuild(struct Main *bmain, struct Object *ob, struct bArmature *arm, bool do_id_user)
struct bPoseChannel * BKE_armature_splineik_solver_find_root(struct bPoseChannel *pchan, struct bSplineIKConstraint *data)
void BKE_constraints_id_loop(struct ListBase *list, ConstraintIDFunc func, void *userdata)
#define LISTBASE_FOREACH(type, var, list)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
@ POSE_CONSTRAINTS_NEED_UPDATE_FLAGS
@ CONSTRAINT_TYPE_SPLINEIK
@ CONSTRAINT_TYPE_KINEMATIC
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
virtual bool check_pchan_has_bbone(const Object *object, const bPoseChannel *pchan)
virtual void build_pose_constraints(Object *object, bPoseChannel *pchan, int pchan_index)
virtual void build_object(int base_index, Object *object, eDepsNode_LinkedState_Type linked_state, bool is_visible)
OperationNode * add_operation_node(ComponentNode *comp_node, OperationCode opcode, const DepsEvalOperationCb &op=nullptr, const char *name="", int name_tag=-1)
static void constraint_walk(bConstraint *constraint, ID **idpoin, bool is_reference, void *user_data)
virtual void build_armature(bArmature *armature)
virtual void build_ik_pose(Object *object, bPoseChannel *pchan, bConstraint *con)
virtual void build_rig(Object *object)
virtual void build_splineik_pose(Object *object, bPoseChannel *pchan, bConstraint *con)
virtual void build_idproperties(IDProperty *id_property)
bool has_operation_node(ID *id, NodeType comp_type, const char *comp_name, OperationCode opcode, const char *name="", int name_tag=-1)
T * get_cow_datablock(const T *orig) const
const Depsgraph * depsgraph
@ DEG_ID_LINKED_INDIRECTLY