Blender  V3.3
Macros | Functions
transform_snap.h File Reference
#include "DNA_space_types.h"

Go to the source code of this file.

Macros

#define SNAP_MIN_DISTANCE   30
 

Functions

bool peelObjectsTransform (struct TransInfo *t, const float mval[2], bool use_peel_object, float r_loc[3], float r_no[3], float *r_thickness)
 
eSnapMode snapObjectsTransform (struct TransInfo *t, const float mval[2], float *dist_px, float r_loc[3], float r_no[3])
 
bool snapNodesTransform (struct TransInfo *t, const int mval[2], float r_loc[2], float *r_dist_px, char *r_node_border)
 
bool transformModeUseSnap (const TransInfo *t)
 
bool transform_snap_increment_ex (const TransInfo *t, bool use_local_space, float *r_val)
 
bool transform_snap_increment (const TransInfo *t, float *val)
 
float transform_snap_increment_get (const TransInfo *t)
 
bool transform_snap_grid (TransInfo *t, float *val)
 
bool activeSnap (const TransInfo *t)
 
bool activeSnap_SnappingIndividual (const TransInfo *t)
 
bool activeSnap_SnappingAsGroup (const TransInfo *t)
 
bool validSnap (const TransInfo *t)
 
void initSnapping (struct TransInfo *t, struct wmOperator *op)
 
void freeSnapping (struct TransInfo *t)
 
void applySnappingIndividual (TransInfo *t)
 
void applyGridAbsolute (TransInfo *t)
 
void applySnappingAsGroup (TransInfo *t, float *vec)
 
void resetSnapping (TransInfo *t)
 
eRedrawFlag handleSnapping (TransInfo *t, const struct wmEvent *event)
 
void drawSnapping (const struct bContext *C, TransInfo *t)
 
bool usingSnappingNormal (const TransInfo *t)
 
bool validSnappingNormal (const TransInfo *t)
 
void getSnapPoint (const TransInfo *t, float vec[3])
 
void addSnapPoint (TransInfo *t)
 
eRedrawFlag updateSelectedSnapPoint (TransInfo *t)
 
void removeSnapPoint (TransInfo *t)
 
float transform_snap_distance_len_squared_fn (TransInfo *t, const float p1[3], const float p2[3])
 
struct TransSeqSnapDatatransform_snap_sequencer_data_alloc (const TransInfo *t)
 
void transform_snap_sequencer_data_free (struct TransSeqSnapData *data)
 
bool transform_snap_sequencer_calc (struct TransInfo *t)
 
void transform_snap_sequencer_apply_translate (TransInfo *t, float *vec)
 
short getAnimEdit_SnapMode (TransInfo *t)
 
void snapFrameTransform (TransInfo *t, eAnimEdit_AutoSnap autosnap, float val_initial, float val_final, float *r_val_final)
 
void transform_snap_anim_flush_data (TransInfo *t, TransData *td, eAnimEdit_AutoSnap autosnap, float *r_val_final)
 

Macro Definition Documentation

◆ SNAP_MIN_DISTANCE

#define SNAP_MIN_DISTANCE   30

Definition at line 9 of file transform_snap.h.

Function Documentation

◆ activeSnap()

bool activeSnap ( const TransInfo t)

◆ activeSnap_SnappingAsGroup()

bool activeSnap_SnappingAsGroup ( const TransInfo t)

◆ activeSnap_SnappingIndividual()

bool activeSnap_SnappingIndividual ( const TransInfo t)

◆ addSnapPoint()

void addSnapPoint ( TransInfo t)

◆ applyGridAbsolute()

void applyGridAbsolute ( TransInfo t)

◆ applySnappingAsGroup()

void applySnappingAsGroup ( TransInfo t,
float vec 
)

◆ applySnappingIndividual()

void applySnappingIndividual ( TransInfo t)

◆ drawSnapping()

void drawSnapping ( const struct bContext C,
TransInfo t 
)

◆ freeSnapping()

void freeSnapping ( struct TransInfo t)

◆ getAnimEdit_SnapMode()

short getAnimEdit_SnapMode ( TransInfo t)

This function returns the snapping 'mode' for Animation Editors only. We cannot use the standard snapping due to NLA-strip scaling complexities.

TODO: these modifier checks should be accessible from the key-map.

Definition at line 25 of file transform_snap_animation.c.

References activeSnap(), SpaceAction::autosnap, SpaceGraph::autosnap, SpaceNla::autosnap, if(), MOD_SNAP_INVERT, SACTSNAP_FRAME, SACTSNAP_OFF, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, t, and TFM_TRANSLATION.

Referenced by flushTransGraphData(), headerTimeTranslate(), headerTranslation(), and recalcData_nla().

◆ getSnapPoint()

void getSnapPoint ( const TransInfo t,
float  vec[3] 
)

◆ handleSnapping()

eRedrawFlag handleSnapping ( TransInfo t,
const struct wmEvent event 
)

◆ initSnapping()

void initSnapping ( struct TransInfo t,
struct wmOperator op 
)

◆ peelObjectsTransform()

bool peelObjectsTransform ( struct TransInfo t,
const float  mval[2],
bool  use_peel_object,
float  r_loc[3],
float  r_no[3],
float r_thickness 
)

◆ removeSnapPoint()

void removeSnapPoint ( TransInfo t)

◆ resetSnapping()

void resetSnapping ( TransInfo t)

Definition at line 601 of file transform_snap.c.

References SCE_SNAP_MODE_NONE, SCE_SNAP_SOURCE_CLOSEST, SCE_SNAP_TARGET_ALL, SNAP_RESETTED, and t.

Referenced by initSnapping().

◆ snapFrameTransform()

void snapFrameTransform ( TransInfo t,
eAnimEdit_AutoSnap  autosnap,
float  val_initial,
float  val_final,
float r_val_final 
)

◆ snapNodesTransform()

bool snapNodesTransform ( struct TransInfo t,
const int  mval[2],
float  r_loc[2],
float r_dist_px,
char *  r_node_border 
)

Definition at line 1640 of file transform_snap.c.

References snapNodes(), and t.

Referenced by snap_calc_node_fn().

◆ snapObjectsTransform()

eSnapMode snapObjectsTransform ( struct TransInfo t,
const float  mval[2],
float dist_px,
float  r_loc[3],
float  r_no[3] 
)

◆ transform_snap_anim_flush_data()

void transform_snap_anim_flush_data ( TransInfo t,
TransData td,
eAnimEdit_AutoSnap  autosnap,
float r_val_final 
)

This function is used by Animation Editor specific transform functions to do the Snap Keyframe to Nearest Frame/Marker

Definition at line 109 of file transform_snap_animation.c.

References BKE_nla_tweakedit_remap(), BLI_assert, ELEM, if(), NLATIME_CONVERT_MAP, NLATIME_CONVERT_UNMAP, NULL, SACTSNAP_OFF, snapFrameTransform(), SPACE_NLA, SPACE_SEQ, and t.

Referenced by flushTransGraphData(), and recalcData_nla().

◆ transform_snap_distance_len_squared_fn()

float transform_snap_distance_len_squared_fn ( TransInfo t,
const float  p1[3],
const float  p2[3] 
)

◆ transform_snap_grid()

bool transform_snap_grid ( TransInfo t,
float val 
)

◆ transform_snap_increment()

bool transform_snap_increment ( const TransInfo t,
float val 
)

◆ transform_snap_increment_ex()

bool transform_snap_increment_ex ( const TransInfo t,
bool  use_local_space,
float r_val 
)

◆ transform_snap_increment_get()

float transform_snap_increment_get ( const TransInfo t)

◆ transform_snap_sequencer_apply_translate()

void transform_snap_sequencer_apply_translate ( TransInfo t,
float vec 
)

◆ transform_snap_sequencer_calc()

bool transform_snap_sequencer_calc ( struct TransInfo t)

◆ transform_snap_sequencer_data_alloc()

struct TransSeqSnapData* transform_snap_sequencer_data_alloc ( const TransInfo t)

◆ transform_snap_sequencer_data_free()

void transform_snap_sequencer_data_free ( struct TransSeqSnapData data)

Definition at line 279 of file transform_snap_sequencer.c.

References data, and MEM_freeN.

Referenced by freeSnapping(), and transform_snap_sequencer_to_closest_strip_ex().

◆ transformModeUseSnap()

bool transformModeUseSnap ( const TransInfo t)

◆ updateSelectedSnapPoint()

eRedrawFlag updateSelectedSnapPoint ( TransInfo t)

◆ usingSnappingNormal()

bool usingSnappingNormal ( const TransInfo t)

◆ validSnap()

bool validSnap ( const TransInfo t)

◆ validSnappingNormal()

bool validSnappingNormal ( const TransInfo t)

Definition at line 624 of file transform_snap.c.

References is_zero_v3(), t, and validSnap().

Referenced by applyTranslationValue(), drawSnapping(), and tc_mesh_partial_types_calc().