Blender  V3.3
Classes | Typedefs | Functions | Variables
anim_motion_paths.c File Reference
#include "MEM_guardedalloc.h"
#include <stdlib.h>
#include "BLI_dlrbTree.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_scene_types.h"
#include "BKE_action.h"
#include "BKE_anim_data.h"
#include "BKE_main.h"
#include "BKE_scene.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "GPU_batch.h"
#include "GPU_vertex_buffer.h"
#include "ED_anim_api.h"
#include "ED_keyframes_keylist.h"
#include "CLG_log.h"

Go to the source code of this file.

Classes

struct  MPathTarget
 

Typedefs

typedef struct MPathTarget MPathTarget
 

Functions

static void motionpaths_calc_update_scene (struct Depsgraph *depsgraph)
 
Depsgraphanimviz_depsgraph_build (Main *bmain, Scene *scene, ViewLayer *view_layer, ListBase *targets)
 
void animviz_get_object_motionpaths (Object *ob, ListBase *targets)
 
static void motionpaths_calc_bake_targets (ListBase *targets, int cframe)
 
static bAnimVizSettingsanimviz_target_settings_get (MPathTarget *mpt)
 
static void motionpath_get_global_framerange (ListBase *targets, int *r_sfra, int *r_efra)
 
static int motionpath_get_prev_keyframe (MPathTarget *mpt, struct AnimKeylist *keylist, int current_frame)
 
static int motionpath_get_prev_prev_keyframe (MPathTarget *mpt, struct AnimKeylist *keylist, int current_frame)
 
static int motionpath_get_next_keyframe (MPathTarget *mpt, struct AnimKeylist *keylist, int current_frame)
 
static int motionpath_get_next_next_keyframe (MPathTarget *mpt, struct AnimKeylist *keylist, int current_frame)
 
static bool motionpath_check_can_use_keyframe_range (MPathTarget *UNUSED(mpt), AnimData *adt, ListBase *fcurve_list)
 
static void motionpath_calculate_update_range (MPathTarget *mpt, AnimData *adt, ListBase *fcurve_list, int current_frame, int *r_sfra, int *r_efra)
 
static void motionpath_free_free_tree_data (ListBase *targets)
 
void animviz_motionpath_compute_range (Object *ob, Scene *scene)
 
void animviz_calc_motionpaths (Depsgraph *depsgraph, Main *bmain, Scene *scene, ListBase *targets, eAnimvizCalcRange range, bool restore)
 

Variables

static CLG_LogRef LOG = {"ed.anim.motion_paths"}
 

Typedef Documentation

◆ MPathTarget

typedef struct MPathTarget MPathTarget

Function Documentation

◆ animviz_calc_motionpaths()

void animviz_calc_motionpaths ( Depsgraph depsgraph,
Main bmain,
Scene scene,
ListBase targets,
eAnimvizCalcRange  range,
bool  restore 
)

◆ animviz_depsgraph_build()

Depsgraph* animviz_depsgraph_build ( Main bmain,
Scene scene,
ViewLayer view_layer,
ListBase targets 
)

◆ animviz_get_object_motionpaths()

void animviz_get_object_motionpaths ( struct Object ob,
ListBase targets 
)

◆ animviz_motionpath_compute_range()

void animviz_motionpath_compute_range ( struct Object ob,
struct Scene scene 
)

◆ animviz_target_settings_get()

static bAnimVizSettings* animviz_target_settings_get ( MPathTarget mpt)
static

◆ motionpath_calculate_update_range()

static void motionpath_calculate_update_range ( MPathTarget mpt,
AnimData adt,
ListBase fcurve_list,
int  current_frame,
int *  r_sfra,
int *  r_efra 
)
static

◆ motionpath_check_can_use_keyframe_range()

static bool motionpath_check_can_use_keyframe_range ( MPathTarget UNUSEDmpt,
AnimData adt,
ListBase fcurve_list 
)
static

Definition at line 272 of file anim_motion_paths.c.

References NULL.

Referenced by motionpath_calculate_update_range().

◆ motionpath_free_free_tree_data()

static void motionpath_free_free_tree_data ( ListBase targets)
static

Definition at line 336 of file anim_motion_paths.c.

References ED_keylist_free(), and LISTBASE_FOREACH.

Referenced by animviz_calc_motionpaths().

◆ motionpath_get_global_framerange()

static void motionpath_get_global_framerange ( ListBase targets,
int *  r_sfra,
int *  r_efra 
)
static

Definition at line 211 of file anim_motion_paths.c.

References LISTBASE_FOREACH, max_ii(), and min_ii().

Referenced by animviz_calc_motionpaths().

◆ motionpath_get_next_keyframe()

static int motionpath_get_next_keyframe ( MPathTarget mpt,
struct AnimKeylist keylist,
int  current_frame 
)
static

◆ motionpath_get_next_next_keyframe()

static int motionpath_get_next_next_keyframe ( MPathTarget mpt,
struct AnimKeylist keylist,
int  current_frame 
)
static

Definition at line 264 of file anim_motion_paths.c.

References motionpath_get_next_keyframe().

Referenced by motionpath_calculate_update_range().

◆ motionpath_get_prev_keyframe()

static int motionpath_get_prev_keyframe ( MPathTarget mpt,
struct AnimKeylist keylist,
int  current_frame 
)
static

◆ motionpath_get_prev_prev_keyframe()

static int motionpath_get_prev_prev_keyframe ( MPathTarget mpt,
struct AnimKeylist keylist,
int  current_frame 
)
static

Definition at line 239 of file anim_motion_paths.c.

References motionpath_get_prev_keyframe().

Referenced by motionpath_calculate_update_range().

◆ motionpaths_calc_bake_targets()

static void motionpaths_calc_bake_targets ( ListBase targets,
int  cframe 
)
static

◆ motionpaths_calc_update_scene()

static void motionpaths_calc_update_scene ( struct Depsgraph depsgraph)
static

Variable Documentation

◆ LOG

CLG_LogRef LOG = {"ed.anim.motion_paths"}
static

Definition at line 36 of file anim_motion_paths.c.

Referenced by animviz_calc_motionpaths().