|
Blender V4.3
|
Go to the source code of this file.
Macros | |
| #define | SNAP_MIN_DISTANCE 30 |
| #define SNAP_MIN_DISTANCE 30 |
Definition at line 11 of file transform_snap.hh.
Referenced by snap_target_node_fn(), snap_target_uv_fn(), and snap_target_view3d_fn().
| void addSnapPoint | ( | TransInfo * | t | ) |
Definition at line 1108 of file transform_snap.cc.
References BLI_addtail(), TransSnapPoint::co, copy_v3_v3(), TransSnap::points, TransSnap::selectedPoint, SNAP_MULTI_POINTS, TransSnap::snap_target, SNAP_TARGET_FOUND, SPACE_VIEW3D, TransInfo::spacetype, TransSnap::status, and TransInfo::tsnap.
Referenced by transformEvent().
| void drawSnapping | ( | TransInfo * | t | ) |
Definition at line 200 of file transform_snap.cc.
References TransInfo::aspect, BLI_listbase_is_empty(), BLI_rctf_size_x(), BLI_rcti_size_x(), col, copy_m4_m4(), DIR_GLOBAL_X, DIR_GLOBAL_Y, TransSnap::direction, ED_node_draw_snap(), ED_view3d_cursor_snap_draw_util(), ED_view3d_pixel_size(), TransInfo::flag, 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_PRIM_LINES, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), imm_draw_circle_wire_2d(), imm_drawcircball(), immBegin(), immBindBuiltinProgram(), immEnd(), immRectf(), immUnbindProgram(), immUniformColor3ub(), immUniformColor4ubv(), immVertex3f(), immVertex3fv(), immVertexFormat(), LISTBASE_FOREACH, MOD_EDIT_SNAP_SOURCE, TransInfo::modifiers, TransSnap::points, pos, TransInfo::region, ARegion::regiondata, RGN_TYPE_PREVIEW, TransSnap::selectedPoint, size(), SNAP_MULTI_POINTS, TransSnap::snap_source, SNAP_SOURCE_FOUND, TransSnap::snap_target, SNAP_TARGET_FOUND, TransSnap::snapNodeBorder, TransSnap::snapNormal, TransSnap::source_type, SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, TransInfo::spacetype, TransSnap::status, T_DRAW_SNAP_SOURCE, TransSnap::target_type, TH_ACTIVE, TH_SELECT, TH_SEQ_ACTIVE, TH_TRANSFORM, TH_VERTEX_SIZE, transform_snap_is_active(), TransInfo::tsnap, UI_GetThemeColor3ubv(), UI_GetThemeValuef(), UI_view2d_view_to_region_fl(), UNPACK2, usingSnappingNormal(), ARegion::v2d, validSnappingNormal(), RegionView3D::viewinv, wmOrtho2_region_pixelspace(), x, and y.
Referenced by drawTransformView(), and ED_draw_sequencer_snap_point().
| void freeSnapping | ( | TransInfo * | t | ) |
Definition at line 1019 of file transform_snap.cc.
References ED_transform_snap_object_context_destroy(), ED_transform_snap_object_time_average_print, TransSnap::object_context, TransSnap::seq_context, SPACE_SEQ, TransInfo::spacetype, transform_snap_sequencer_data_free(), and TransInfo::tsnap.
Referenced by postTrans().
Definition at line 1179 of file transform_snap.cc.
References add_v3_v3(), TransSnapPoint::co, copy_v3_v3(), ListBase::first, mul_v3_fl(), TransSnapPoint::next, TransSnap::points, TransSnap::snap_target, SNAP_TARGET_FOUND, TransSnap::status, and TransInfo::tsnap.
Referenced by ApplySnapResize(), ApplySnapRotation(), ApplySnapTranslation(), edge_slide_snap_apply(), snapsource_confirm(), snapsource_transform_fn(), timescale_snap_apply_fn(), and vert_slide_snap_apply().
| eRedrawFlag handleSnapping | ( | TransInfo * | t, |
| const wmEvent * | event ) |
Definition at line 386 of file transform_snap.cc.
References EVT_TABKEY, initSnapping(), KM_SHIFT, wmEvent::modifier, MOUSEMOVE, SCE_SNAP, TransInfo::settings, ToolSettings::snap_flag, TREDRAW_HARD, TREDRAW_NOTHING, wmEvent::type, and updateSelectedSnapPoint().
Referenced by transformEvent().
| void initSnapAngleIncrements | ( | TransInfo * | t | ) |
Definition at line 1033 of file transform_snap.cc.
References TransInfo::settings, TransInfo::snap, ToolSettings::snap_angle_increment_2d, ToolSettings::snap_angle_increment_2d_precision, ToolSettings::snap_angle_increment_3d, ToolSettings::snap_angle_increment_3d_precision, SPACE_VIEW3D, and TransInfo::spacetype.
Referenced by initBend(), initBoneRoll(), initNormalRotation(), initRotation(), and initTilt().
| void initSnapping | ( | TransInfo * | t, |
| wmOperator * | op ) |
Definition at line 898 of file transform_snap.cc.
References TransSnap::face_nearest_steps, TransInfo::flag, TransSnap::flag, initSnappingMode(), max_ii(), MOD_SNAP, MOD_SNAP_FORCED, TransSnap::mode, TransInfo::modifiers, normalize_v3(), 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_INDIVIDUAL_PROJECT, SCE_SNAP_NOT_TO_ACTIVE, 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, TransInfo::settings, ToolSettings::snap_face_nearest_steps, ToolSettings::snap_flag, snap_flag_from_spacetype(), snap_mode_from_spacetype(), TransInfo::snap_spatial, TransInfo::snap_spatial_precision, ToolSettings::snap_target, TransSnap::snap_target, SNAP_TARGET_FOUND, snap_target_select_from_spacetype(), TransSnap::snapNormal, TransSnap::source_operation, TransSnap::status, T_MODAL, TransSnap::target_operation, transform_snap_flag_from_modifiers_set(), transform_snap_grid_init(), and TransInfo::tsnap.
Referenced by handleSnapping(), initTransform(), and transformEvent().
| bool peelObjectsTransform | ( | TransInfo * | t, |
| const float | mval[2], | ||
| bool | use_peel_object, | ||
| float | r_loc[3], | ||
| float | r_no[3], | ||
| float * | r_thickness ) |
Definition at line 1640 of file transform_snap.cc.
References BLI_freelistN(), BLI_listbase_is_empty(), SnapObjectHitDepth::co, TransInfo::depsgraph, SnapObjectHitDepth::depth, ED_transform_snap_object_project_all_view3d_ex(), ListBase::first, TransInfo::flag, LISTBASE_FOREACH, mid_v3_v3v3(), SnapObjectHitDepth::next, SnapObjectHitDepth::ob_uuid, TransSnap::object_context, TransInfo::region, SNAP_GEOM_EDIT, SNAP_GEOM_FINAL, SnapObjectParams::snap_target_select, T_EDIT, TransSnap::target_operation, TransInfo::tsnap, and TransInfo::view.
Referenced by snap_target_view3d_fn().
| void removeSnapPoint | ( | TransInfo * | t | ) |
Definition at line 1162 of file transform_snap.cc.
References BLI_freelinkN(), BLI_listbase_is_empty(), TransSnap::points, TransSnap::selectedPoint, SNAP_MULTI_POINTS, TransSnap::status, TransInfo::tsnap, and updateSelectedSnapPoint().
Referenced by transformEvent().
| void resetSnapping | ( | TransInfo * | t | ) |
Definition at line 606 of file transform_snap.cc.
References TransSnap::last, TransSnap::mode, SCE_SNAP_SOURCE_CLOSEST, SCE_SNAP_TARGET_ALL, SCE_SNAP_TO_NONE, SNAP_RESETTED, TransSnap::snapNodeBorder, TransSnap::snapNormal, TransSnap::source_operation, TransSnap::source_type, TransSnap::status, TransSnap::target_operation, TransSnap::target_type, and TransInfo::tsnap.
Referenced by initSnapping().
| void snapFrameTransform | ( | TransInfo * | t, |
| eSnapMode | autosnap, | ||
| float | val_initial, | ||
| float | val_final, | ||
| float * | r_val_final ) |
Definition at line 25 of file transform_snap_animation.cc.
References ED_markers_find_nearest_marker_time(), TransSnap::flag, float, floor(), floorf, FPS, Scene::markers, SCE_SNAP_ABS_TIME_STEP, SCE_SNAP_TO_FRAME, SCE_SNAP_TO_MARKERS, SCE_SNAP_TO_SECOND, TransInfo::scene, and TransInfo::tsnap.
Referenced by headerTimeTranslate(), headerTranslation(), and transform_snap_anim_flush_data_ex().
| bool snapNodesTransform | ( | TransInfo * | t, |
| const blender::float2 & | mval, | ||
| float | r_loc[2], | ||
| float * | r_dist_px, | ||
| char * | r_node_border ) |
| void tranform_snap_source_restore_context | ( | TransInfo * | t | ) |
Definition at line 1938 of file transform_snap.cc.
References snap_multipoints_free(), snap_object_context_init(), SPACE_VIEW3D, and TransInfo::spacetype.
Referenced by snapsource_end().
Definition at line 1383 of file transform_snap.cc.
References add_v3_v3(), FOREACH_TRANS_DATA_CONTAINER, mul_m4_v3(), mul_v3_fl(), TD_SELECTED, v, and zero_v3().
Referenced by snap_source_closest_fn(), snap_source_median_fn(), and translate_snap_increment_init().
| void transform_snap_anim_flush_data | ( | TransInfo * | t, |
| TransData * | td, | ||
| eSnapMode | 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 102 of file transform_snap_animation.cc.
References transform_snap_anim_flush_data_ex().
Referenced by flushTransGraphData(), and recalcData_actedit().
| float transform_snap_distance_len_squared_fn | ( | TransInfo * | t, |
| const float | p1[3], | ||
| const float | p2[3] ) |
Definition at line 1952 of file transform_snap.cc.
References len_squared_v3v3().
| void transform_snap_flag_from_modifiers_set | ( | TransInfo * | t | ) |
Definition at line 119 of file transform_snap.cc.
References ELEM, TransSnap::flag, MOD_SNAP, MOD_SNAP_INVERT, TransSnap::mode, TransInfo::modifiers, SCE_SNAP, SCE_SNAP_TO_INCREMENT, SET_FLAG_FROM_TEST, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, TransInfo::spacetype, and TransInfo::tsnap.
Referenced by initSnapping(), transform_mode_snap_source_init(), and transformEvent().
| short * transform_snap_flag_from_spacetype_ptr | ( | TransInfo * | t, |
| const struct PropertyRNA ** | r_prop ) |
Definition at line 860 of file transform_snap.cc.
References TransInfo::area, ED_node_grid_size(), ED_space_image_grid_steps(), ED_space_image_increment_snap_value(), ED_space_image_zoom_level(), ED_view3d_grid_view_scale(), ListBase::first, TransInfo::region, ARegion::regiondata, TransInfo::scene, SI_GRID_STEPS_LEN, SPACE_CLIP, SPACE_IMAGE, SPACE_NODE, SPACE_VIEW3D, ScrArea::spacedata, TransInfo::spacetype, and ARegion::v2d.
Referenced by initSnapping(), and transformViewUpdate().
Definition at line 1923 of file transform_snap.cc.
References transform_snap_increment_ex().
Referenced by apply_shear(), apply_value_impl(), applyBakeTime(), applyBoneEnvelope(), applyBoneRoll(), applyBoneSize(), applyCurveShrinkFatten(), applyEdgeSlide(), applyGPOpacity(), applyGPShrinkFatten(), applyMaskShrinkFatten(), applyNormalRotation(), applyPushPull(), applyResize(), applyRotation(), applyShrinkFatten(), applySkinResize(), applyTilt(), applyToSphere(), applyTrackball(), applyVertSlide(), Bend(), and ElementResize().
Definition at line 1893 of file transform_snap.cc.
References TransInfo::idx_max, MOD_PRECISION, TransSnap::mode, TransInfo::modifiers, mul_m3_v3(), SCE_SNAP_TO_INCREMENT, TransInfo::snap, snap_increment_apply(), SPACE_VIEW3D, TransInfo::spacemtx, TransInfo::spacemtx_inv, TransInfo::spacetype, transform_snap_is_active(), TransInfo::tsnap, and validSnap().
Referenced by transform_snap_increment(), and translate_snap_increment().
Definition at line 1928 of file transform_snap.cc.
References MOD_PRECISION, TransSnap::mode, TransInfo::modifiers, SCE_SNAP_TO_GRID, SCE_SNAP_TO_INCREMENT, TransInfo::snap, transform_snap_is_active(), and TransInfo::tsnap.
Referenced by gizmo_modal().
| bool transform_snap_is_active | ( | const TransInfo * | t | ) |
Definition at line 149 of file transform_snap.cc.
References TransSnap::flag, SCE_SNAP, and TransInfo::tsnap.
Referenced by applyRotation(), applyTranslation(), applyTranslationValue(), drawSnapping(), mesh_partial_types_calc(), blender::ed::transform::node_snap_grid_apply(), transform_constraint_get_nearest(), transform_snap_increment_ex(), transform_snap_increment_get(), transform_snap_mixed_is_active(), and transform_snap_project_individual_is_active().
Definition at line 578 of file transform_snap.cc.
References BLI_time_now_seconds(), TransSnap::last, TransSnap::mode, TransInfo::mode_info, SCE_SNAP_TO_INCREMENT, TransModeInfo::snap_apply_fn, TransSnap::snap_source_fn, TransSnap::snap_target_fn, transform_snap_mixed_is_active(), TransInfo::tsnap, and validSnap().
Referenced by applyEdgeSlide(), applyNormalRotation(), applyResize(), applyRotation(), applySeqSlide(), applySkinResize(), applyTimeScale(), applyTranslation(), and applyVertSlide().
Definition at line 143 of file transform_snap_animation.cc.
References abs(), copy_v2_v2(), TransDataContainer::data, TransDataContainer::data_len, FLT_MAX, invert_snap(), MOD_SNAP_INVERT, TransSnap::mode, TransInfo::modifiers, nla_transform_apply(), TransSnap::snap_source, TransSnap::snap_target, TRANS_DATA_CONTAINER_FIRST_SINGLE, transform_snap_anim_flush_data_ex(), and TransInfo::tsnap.
Referenced by snap_target_nla_fn().
| void transform_snap_project_individual_apply | ( | TransInfo * | t | ) |
Definition at line 532 of file transform_snap.cc.
References applyFaceNearest(), applyFaceProject(), constraintTransLim(), TransData::factor, TransInfo::flag, FOREACH_TRANS_DATA_CONTAINER, TransSnap::mode, SCE_SNAP_INDIVIDUAL_NEAREST, SCE_SNAP_INDIVIDUAL_PROJECT, T_PROP_EDIT, TD_SKIP, transform_snap_project_individual_is_active(), and TransInfo::tsnap.
Referenced by recalcData_curve(), recalcData_edit_armature(), recalcData_lattice(), recalcData_mball(), recalcData_mesh(), recalcData_objects(), recalcData_particles(), and recalcData_texspace().
| bool transform_snap_project_individual_is_active | ( | const TransInfo * | t | ) |
Definition at line 523 of file transform_snap.cc.
References TransSnap::mode, SCE_SNAP_INDIVIDUAL_NEAREST, SCE_SNAP_INDIVIDUAL_PROJECT, transform_snap_is_active(), and TransInfo::tsnap.
Referenced by mesh_partial_types_calc(), and transform_snap_project_individual_apply().
Definition at line 580 of file transform_snap_sequencer.cc.
References TransSnap::snap_source, TransSnap::snap_target, and TransInfo::tsnap.
Referenced by ApplySnapTranslation(), and transform_snap_sequencer_to_closest_strip_ex().
| bool transform_snap_sequencer_calc | ( | TransInfo * | t | ) |
Definition at line 565 of file transform_snap_sequencer.cc.
References TransInfo::data_type, TransSnap::seq_context, TransConvertType_Sequencer, transform_snap_sequencer_calc_preview(), transform_snap_sequencer_calc_timeline(), and TransInfo::tsnap.
Referenced by snap_target_sequencer_fn(), and transform_snap_sequencer_to_closest_strip_ex().
| TransSeqSnapData * transform_snap_sequencer_data_alloc | ( | const TransInfo * | t | ) |
Definition at line 472 of file transform_snap_sequencer.cc.
References TransInfo::data_type, TransConvertType_Sequencer, TransConvertType_SequencerRetiming, transform_snap_sequencer_data_alloc_preview(), and transform_snap_sequencer_data_alloc_timeline().
Referenced by initSnappingMode().
| void transform_snap_sequencer_data_free | ( | TransSeqSnapData * | data | ) |
Definition at line 486 of file transform_snap_sequencer.cc.
Referenced by freeSnapping(), and transform_snap_sequencer_to_closest_strip_ex().
Definition at line 585 of file transform_snap_sequencer.cc.
References DIR_GLOBAL_X, DIR_GLOBAL_Y, TransSnap::direction, TransSnap::snap_source, TransSnap::snap_target, and TransInfo::tsnap.
Referenced by ApplySnapTranslation().
| bool transformModeUseSnap | ( | const TransInfo * | t | ) |
Definition at line 154 of file transform_snap.cc.
References ELEM, TransInfo::mode, SCE_SNAP_TRANSFORM_MODE_ROTATE, SCE_SNAP_TRANSFORM_MODE_SCALE, SCE_SNAP_TRANSFORM_MODE_TRANSLATE, TransInfo::settings, ToolSettings::snap_transform_mode_flag, SPACE_ACTION, SPACE_GRAPH, SPACE_NLA, SPACE_SEQ, TransInfo::spacetype, TFM_EDGE_SLIDE, TFM_RESIZE, TFM_ROTATION, TFM_SEQ_SLIDE, TFM_TIME_EXTEND, TFM_TIME_TRANSLATE, TFM_TRANSLATION, and TFM_VERT_SLIDE.
Referenced by doForceIncrementSnap(), initSnappingMode(), saveTransform(), and transform_mode_snap_source_init().
| eRedrawFlag updateSelectedSnapPoint | ( | TransInfo * | t | ) |
Definition at line 1124 of file transform_snap.cc.
References ED_view3d_project_float_global(), len_squared_v2v2(), LISTBASE_FOREACH, TransInfo::mval, TransSnap::points, TransInfo::region, TransSnap::selectedPoint, SNAP_MULTI_POINTS, TransSnap::status, TRANSFORM_SNAP_MAX_PX, TREDRAW_HARD, TREDRAW_NOTHING, TransInfo::tsnap, V3D_PROJ_RET_OK, and V3D_PROJ_TEST_NOP.
Referenced by handleSnapping(), and removeSnapPoint().
| bool usingSnappingNormal | ( | const TransInfo * | t | ) |
Definition at line 623 of file transform_snap.cc.
References TransSnap::flag, SCE_SNAP_ROTATE, and TransInfo::tsnap.
Referenced by applyTranslationValue(), createTransEditVerts(), drawSnapping(), and mesh_partial_types_calc().
| bool validSnap | ( | const TransInfo * | t | ) |
Definition at line 111 of file transform_snap.cc.
References SNAP_MULTI_POINTS, SNAP_SOURCE_FOUND, SNAP_TARGET_FOUND, TransSnap::status, and TransInfo::tsnap.
Referenced by applyEdgeSlide(), applyRotation(), applyTranslation(), applyVertSlide(), ED_transform_snap_sequencer_to_closest_strip_calc(), transform_constraint_get_nearest(), transform_snap_increment_ex(), transform_snap_mixed_apply(), transformEvent(), and validSnappingNormal().
| bool validSnappingNormal | ( | const TransInfo * | t | ) |
Definition at line 628 of file transform_snap.cc.
References is_zero_v3(), TransSnap::snapNormal, TransInfo::tsnap, and validSnap().
Referenced by applyTranslationValue(), drawSnapping(), and mesh_partial_types_calc().