Blender V4.3
pose_utils.cc File Reference
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_math_rotation.h"
#include "BLI_math_vector.h"
#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_object_types.h"
#include "BKE_action.hh"
#include "BKE_anim_data.hh"
#include "BKE_idprop.hh"
#include "BKE_layer.hh"
#include "BKE_object.hh"
#include "BKE_context.hh"
#include "DEG_depsgraph.hh"
#include "RNA_access.hh"
#include "RNA_path.hh"
#include "RNA_prototypes.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "ED_armature.hh"
#include "ED_keyframing.hh"
#include "ANIM_action.hh"
#include "ANIM_action_iterators.hh"
#include "ANIM_keyframing.hh"
#include "ANIM_keyingsets.hh"
#include "armature_intern.hh"

Go to the source code of this file.

Typedefs

typedef enum eAction_TransformFlags eAction_TransformFlags
 

Enumerations

enum  eAction_TransformFlags {
  ACT_TRANS_LOC = (1 << 0) , ACT_TRANS_ROT = (1 << 1) , ACT_TRANS_SCALE = (1 << 2) , ACT_TRANS_BBONE = (1 << 3) ,
  ACT_TRANS_PROP = (1 << 4) , ACT_TRANS_ONLY = (ACT_TRANS_LOC | ACT_TRANS_ROT | ACT_TRANS_SCALE) , ACT_TRANS_ALL = (ACT_TRANS_ONLY | ACT_TRANS_PROP)
}
 

Functions

static eAction_TransformFlags get_item_transform_flags_and_fcurves (Object &ob, bPoseChannel &pchan, ListBase &r_curves)
 
static void fcurves_to_pchan_links_get (ListBase &pfLinks, Object &ob, bPoseChannel &pchan)
 
ObjectposeAnim_object_get (Object *ob_)
 
void poseAnim_mapping_get (bContext *C, ListBase *pfLinks)
 
void poseAnim_mapping_free (ListBase *pfLinks)
 
void poseAnim_mapping_refresh (bContext *C, Scene *, Object *ob)
 
void poseAnim_mapping_reset (ListBase *pfLinks)
 
void poseAnim_mapping_autoKeyframe (bContext *C, Scene *scene, ListBase *pfLinks, float cframe)
 
LinkDataposeAnim_mapping_getNextFCurve (ListBase *fcuLinks, LinkData *prev, const char *path)
 

Typedef Documentation

◆ eAction_TransformFlags

Types of transforms applied to the given item:

  • these are the return flags for get_item_transform_flags()

Enumeration Type Documentation

◆ eAction_TransformFlags

Types of transforms applied to the given item:

  • these are the return flags for get_item_transform_flags()
Enumerator
ACT_TRANS_LOC 
ACT_TRANS_ROT 
ACT_TRANS_SCALE 
ACT_TRANS_BBONE 
ACT_TRANS_PROP 
ACT_TRANS_ONLY 
ACT_TRANS_ALL 

Definition at line 61 of file pose_utils.cc.

Function Documentation

◆ fcurves_to_pchan_links_get()

◆ get_item_transform_flags_and_fcurves()

◆ poseAnim_mapping_autoKeyframe()

◆ poseAnim_mapping_free()

void poseAnim_mapping_free ( ListBase * pfLinks)

◆ poseAnim_mapping_get()

void poseAnim_mapping_get ( bContext * C,
ListBase * pfLinks )

Build up a list of tPChanFCurveLink. First only selected, and if that yields no result, all visible.

Definition at line 241 of file pose_utils.cc.

References AnimData::action, Object::adt, BLI_assert, BLI_listbase_is_empty(), CTX_DATA_BEGIN_WITH_ID, CTX_DATA_END, fcurves_to_pchan_links_get(), and poseAnim_object_get().

Referenced by pose_propagate_exec(), and pose_slide_init().

◆ poseAnim_mapping_getNextFCurve()

LinkData * poseAnim_mapping_getNextFCurve ( ListBase * fcuLinks,
LinkData * prev,
const char * path )

Find the next F-Curve for a PoseChannel with matching path.

  • path is not just the tPChanFCurveLink (pfl) rna_path, since that path doesn't have property info yet.

Definition at line 434 of file pose_utils.cc.

References LinkData::data, ListBase::first, LinkData::next, FCurve::rna_path, and STREQ.

Referenced by pose_slide_apply_quat(), and pose_slide_apply_vec3().

◆ poseAnim_mapping_refresh()

void poseAnim_mapping_refresh ( bContext * C,
Scene * scene,
Object * ob )

◆ poseAnim_mapping_reset()

◆ poseAnim_object_get()

Object * poseAnim_object_get ( Object * ob_)

Returns a valid pose armature for this object, else returns NULL.

Definition at line 232 of file pose_utils.cc.

References AnimData::action, Object::adt, BKE_object_pose_armature_get(), Object::data, and ELEM.

Referenced by pose_slide_init(), poseAnim_mapping_autoKeyframe(), and poseAnim_mapping_get().