Blender
V3.3
|
#include "DNA_space_types.h"
Go to the source code of this file.
Macros | |
#define | SNAP_MIN_DISTANCE 30 |
#define SNAP_MIN_DISTANCE 30 |
Definition at line 9 of file transform_snap.h.
Definition at line 123 of file transform_snap.c.
References MOD_SNAP, MOD_SNAP_INVERT, and t.
Referenced by activeSnap_SnappingAsGroup(), activeSnap_SnappingIndividual(), applyAxisConstraintVec(), applyGridAbsolute(), applyRotation(), applySnappingAsGroup(), applyTranslation(), applyTranslationValue(), drawSnapping(), getAnimEdit_SnapMode(), tc_mesh_partial_types_calc(), transform_snap_grid(), transform_snap_increment_ex(), and transform_snap_increment_get().
Definition at line 146 of file transform_snap.c.
References activeSnap(), doForceIncrementSnap(), SCE_SNAP_MODE_FACE_NEAREST, SCE_SNAP_MODE_FACE_RAYCAST, and t.
Referenced by applySnappingAsGroup().
Definition at line 129 of file transform_snap.c.
References activeSnap(), doForceIncrementSnap(), SCE_SNAP_MODE_FACE_NEAREST, t, and T_NO_PROJECT.
Referenced by applySnappingIndividual(), and tc_mesh_partial_types_calc().
Definition at line 985 of file transform_snap.c.
References BLI_addtail(), TransSnapPoint::co, copy_v3_v3(), MEM_callocN, MULTI_POINTS, POINT_INIT, SPACE_VIEW3D, and t.
Referenced by transformEvent().
Definition at line 517 of file transform_snap.c.
References activeSnap(), add_v3_v3(), BKE_object_eval_transform_all(), copy_v3_v3(), CTX_OBJECT, TransData::factor, FOREACH_TRANS_DATA_CONTAINER, if(), MOD_PRECISION, mul_m3_v3(), mul_m4_v3(), mul_v3_fl(), mul_v3_v3fl(), TransData::ob, Object::obmat, SCE_SNAP_MODE_GRID, SCE_SNAP_MODE_INCREMENT, TransData::smtx, sub_v3_v3v3(), t, T_PROP_EDIT, and TD_SKIP.
Referenced by flushTransNodes().
Definition at line 567 of file transform_snap.c.
References activeSnap(), activeSnap_SnappingAsGroup(), PIL_check_seconds_timer(), SCE_SNAP_MODE_GRID, SCE_SNAP_MODE_INCREMENT, SNAP_FORCED, t, and validSnap().
Referenced by applyEdgeSlide(), applyNormalRotation(), applyResize(), applyRotation(), applySeqSlide(), applySkinResize(), applyTranslation(), and applyVertSlide().
Definition at line 486 of file transform_snap.c.
References activeSnap_SnappingIndividual(), applyFaceNearest(), applyFaceProject(), constraintTransLim(), TransData::factor, FOREACH_TRANS_DATA_CONTAINER, t, T_PROP_EDIT, and TD_SKIP.
Referenced by recalcData_curve(), recalcData_edit_armature(), recalcData_lattice(), recalcData_mball(), recalcData_mesh(), recalcData_objects(), recalcData_particles(), and recalcData_texspace().
Definition at line 191 of file transform_snap.c.
References activeSnap(), BLI_listbase_is_empty(), BLI_rctf_size_x(), BLI_rcti_size_x(), C, TransSnapPoint::co, col, copy_m4_m4(), CTX_wm_region(), CTX_wm_region_view3d(), View2D::cur, ED_node_draw_snap(), ED_view3d_cursor_snap_draw_util(), ED_view3d_pixel_size(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_FETCH_FLOAT, GPU_matrix_pop_projection(), GPU_matrix_push_projection(), GPU_SHADER_2D_UNIFORM_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), imm_draw_circle_wire_2d(), imm_drawcircball(), immBindBuiltinProgram(), immRectf(), immUnbindProgram(), immUniformColor3ub(), immUniformColor4ubv(), immVertexFormat(), LISTBASE_FOREACH, View2D::mask, TransSnapPoint::next, normal, NULL, POINT_INIT, pos, SCE_SNAP_MODE_EDGE_PERPENDICULAR, size(), SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, t, TARGET_INIT, TH_ACTIVE, TH_SELECT, TH_SEQ_ACTIVE, TH_TRANSFORM, TH_VERTEX_SIZE, UI_GetThemeColor3ubv(), UI_GetThemeValuef(), UI_view2d_view_to_region_fl(), UNPACK2, usingSnappingNormal(), ARegion::v2d, validSnap(), validSnappingNormal(), RegionView3D::viewinv, wmOrtho2_region_pixelspace(), x, y, rctf::ymax, and rctf::ymin.
Referenced by drawTransformView(), and ED_draw_sequencer_snap_point().
Definition at line 928 of file transform_snap.c.
References ED_transform_snap_object_context_destroy(), NULL, SPACE_SEQ, t, and transform_snap_sequencer_data_free().
Referenced by postTrans().
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().
Definition at line 1056 of file transform_snap.c.
References add_v3_v3(), TransSnapPoint::co, copy_v3_v3(), mul_v3_fl(), TransSnapPoint::next, POINT_INIT, and t.
Referenced by ApplySnapResize(), ApplySnapRotation(), ApplySnapTranslation(), edge_slide_snap_apply(), and vert_slide_snap_apply().
eRedrawFlag handleSnapping | ( | TransInfo * | t, |
const struct wmEvent * | event | ||
) |
void initSnapping | ( | struct TransInfo * | t, |
struct wmOperator * | op | ||
) |
Definition at line 820 of file transform_snap.c.
References initSnappingMode(), max_ii(), MOD_SNAP, normalize_v3(), POINT_INIT, wmOperator::ptr, resetSnapping(), RNA_float_get_array(), RNA_property_boolean_get(), RNA_property_enum_get(), RNA_property_float_get_array(), RNA_property_is_set(), RNA_struct_find_property(), SCE_SNAP, SCE_SNAP_NOT_TO_ACTIVE, SCE_SNAP_PROJECT, SCE_SNAP_ROTATE, SCE_SNAP_TARGET_NOT_ACTIVE, SCE_SNAP_TARGET_NOT_EDITED, SCE_SNAP_TARGET_NOT_NONEDITED, SCE_SNAP_TARGET_ONLY_SELECTABLE, SCE_SNAP_TO_INCLUDE_EDITED, SCE_SNAP_TO_INCLUDE_NONEDITED, SCE_SNAP_TO_ONLY_SELECTABLE, SET_FLAG_FROM_TEST, ToolSettings::snap_face_nearest_steps, ToolSettings::snap_flag, snap_flag_from_spacetype(), SNAP_FORCED, snap_mode_from_spacetype(), ToolSettings::snap_target, snap_target_select_from_spacetype(), t, T_MODAL, and transformModeUseSnap().
Referenced by handleSnapping(), initTransform(), and transformEvent().
bool peelObjectsTransform | ( | struct TransInfo * | t, |
const float | mval[2], | ||
bool | use_peel_object, | ||
float | r_loc[3], | ||
float | r_no[3], | ||
float * | r_thickness | ||
) |
Definition at line 1452 of file transform_snap.c.
References BLI_freelistN(), BLI_listbase_is_empty(), SnapObjectHitDepth::co, SnapObjectHitDepth::depth, ED_transform_snap_object_project_all_view3d_ex(), ListBase::first, mid_v3_v3v3(), SnapObjectHitDepth::next, NULL, SnapObjectHitDepth::ob_uuid, and t.
Referenced by snap_calc_view3d_fn().
Definition at line 1039 of file transform_snap.c.
References BLI_freelinkN(), BLI_listbase_is_empty(), MULTI_POINTS, NULL, t, and updateSelectedSnapPoint().
Referenced by transformEvent().
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().
void snapFrameTransform | ( | TransInfo * | t, |
eAnimEdit_AutoSnap | autosnap, | ||
float | val_initial, | ||
float | val_final, | ||
float * | r_val_final | ||
) |
Definition at line 71 of file transform_snap_animation.c.
References ED_markers_find_nearest_marker_time(), float(), blender::math::floor(), floorf, FPS, SACTSNAP_FRAME, SACTSNAP_MARKER, SACTSNAP_OFF, SACTSNAP_SECOND, SACTSNAP_STEP, SACTSNAP_TSTEP, scene, and t.
Referenced by headerTimeTranslate(), headerTranslation(), and transform_snap_anim_flush_data().
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().
eSnapMode snapObjectsTransform | ( | struct TransInfo * | t, |
const float | mval[2], | ||
float * | dist_px, | ||
float | r_loc[3], | ||
float | r_no[3] | ||
) |
Definition at line 1422 of file transform_snap.c.
References ED_transform_snap_object_project_view3d(), NULL, SCE_SNAP_MODE_FACE_RAYCAST, SNAP_GEOM_EDIT, SNAP_GEOM_FINAL, t, T_EDIT, and TARGET_INIT.
Referenced by snap_calc_view3d_fn().
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().
float transform_snap_distance_len_squared_fn | ( | TransInfo * | t, |
const float | p1[3], | ||
const float | p2[3] | ||
) |
Definition at line 1682 of file transform_snap.c.
References activeSnap(), ELEM, if(), MOD_PRECISION, SCE_SNAP_MODE_GRID, snap_grid_apply(), SPACE_IMAGE, SPACE_VIEW3D, t, TFM_TRANSLATION, and validSnap().
Referenced by applyTranslation().
Definition at line 1792 of file transform_snap.c.
References t, and transform_snap_increment_ex().
Referenced by applyBakeTime(), applyBevelWeight(), applyBoneEnvelope(), applyBoneRoll(), applyBoneSize(), applyCrease(), applyCurveShrinkFatten(), applyEdgeSlide(), applyGPOpacity(), applyGPShrinkFatten(), applyMaskShrinkFatten(), applyNormalRotation(), applyPushPull(), applyResize(), applyRotation(), applyShear(), applyShrinkFatten(), applySkinResize(), applyTilt(), applyToSphere(), applyTrackball(), applyVertSlide(), Bend(), and ElementResize().
Definition at line 1761 of file transform_snap.c.
References activeSnap(), BLI_assert, doForceIncrementSnap(), MOD_PRECISION, mul_m3_v3(), SCE_SNAP_MODE_INCREMENT, snap_increment_apply(), SPACE_VIEW3D, t, and validSnap().
Referenced by applyTranslation(), and transform_snap_increment().
Definition at line 1797 of file transform_snap.c.
References activeSnap(), MOD_PRECISION, SCE_SNAP_MODE_GRID, SCE_SNAP_MODE_INCREMENT, t, and transformModeUseSnap().
Referenced by gizmo_modal().
Definition at line 325 of file transform_snap_sequencer.c.
References t.
Referenced by ApplySnapTranslation(), initSeqSlide(), and transform_snap_sequencer_to_closest_strip_ex().
Definition at line 286 of file transform_snap_sequencer.c.
References blender::math::abs(), CON_APPLY, CON_AXIS1, MAXFRAME, NULL, round_fl_to_int(), seq_snap_threshold_get_frame_distance(), TransSeqSnapData::source_snap_point_count, TransSeqSnapData::source_snap_points, t, TransSeqSnapData::target_snap_point_count, and TransSeqSnapData::target_snap_points.
Referenced by snap_calc_sequencer_fn(), and transform_snap_sequencer_to_closest_strip_ex().
struct TransSeqSnapData* transform_snap_sequencer_data_alloc | ( | const TransInfo * | t | ) |
Definition at line 246 of file transform_snap_sequencer.c.
References MEM_callocN, MEM_freeN, NULL, query_snap_targets(), scene, SEQ_active_seqbase_get(), SEQ_collection_free(), SEQ_collection_len(), SEQ_editing_get(), SEQ_query_selected_strips(), seq_snap_source_points_alloc(), seq_snap_source_points_build(), seq_snap_target_points_alloc(), seq_snap_target_points_build(), t, and TransConvertType_SequencerImage.
Referenced by initSnappingMode().
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().
Definition at line 167 of file transform_snap.c.
References ELEM, SCE_SNAP_TRANSFORM_MODE_ROTATE, SCE_SNAP_TRANSFORM_MODE_SCALE, SCE_SNAP_TRANSFORM_MODE_TRANSLATE, ToolSettings::snap_transform_mode_flag, t, TFM_EDGE_SLIDE, TFM_RESIZE, TFM_ROTATION, TFM_SEQ_SLIDE, TFM_TRANSLATION, and TFM_VERT_SLIDE.
Referenced by doForceIncrementSnap(), initSnapping(), saveTransform(), and transform_snap_increment_get().
eRedrawFlag updateSelectedSnapPoint | ( | TransInfo * | t | ) |
Definition at line 1001 of file transform_snap.c.
References TransSnapPoint::co, ED_view3d_project_float_global(), len_squared_v2v2(), MULTI_POINTS, TransSnapPoint::next, NULL, t, TRANSFORM_SNAP_MAX_PX, TREDRAW_HARD, TREDRAW_NOTHING, V3D_PROJ_RET_OK, and V3D_PROJ_TEST_NOP.
Referenced by handleSnapping(), and removeSnapPoint().
Definition at line 619 of file transform_snap.c.
References t.
Referenced by applyTranslationValue(), createTransEditVerts(), drawSnapping(), and tc_mesh_partial_types_calc().
Definition at line 117 of file transform_snap.c.
References MULTI_POINTS, POINT_INIT, t, and TARGET_INIT.
Referenced by applyAxisConstraintVec(), applyEdgeSlide(), applyRotation(), applySnappingAsGroup(), applyTranslation(), applyVertSlide(), drawSnapping(), ED_transform_snap_sequencer_to_closest_strip_calc(), transform_modal_item_poll(), transform_snap_grid(), transform_snap_increment_ex(), and validSnappingNormal().
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().