Blender
V3.3
|
#include <stdlib.h>
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BLI_string.h"
#include "BKE_context.h"
#include "BKE_editmesh.h"
#include "BKE_unit.h"
#include "GPU_immediate.h"
#include "GPU_matrix.h"
#include "GPU_state.h"
#include "ED_screen.h"
#include "WM_api.h"
#include "WM_types.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "BLT_translation.h"
#include "transform.h"
#include "transform_constraints.h"
#include "transform_convert.h"
#include "transform_mode.h"
#include "transform_snap.h"
Go to the source code of this file.
Classes | |
struct | TransDataVertSlideVert |
struct | VertSlideData |
struct | VertSlideParams |
Functions | |
Mouse Input Utilities | |
void | transform_mode_vert_slide_reproject_input (TransInfo *t) |
typedef struct TransDataVertSlideVert TransDataVertSlideVert |
typedef struct VertSlideData VertSlideData |
typedef struct VertSlideParams VertSlideParams |
Definition at line 563 of file transform_mode_vert_slide.c.
References applyNumInput(), applySnappingAsGroup(), BLI_snprintf_rlen(), BLI_strncpy_rlen(), Freestyle::c, CLAMP, doVertSlide(), ED_area_status_text(), VertSlideParams::flipped, hasNumInput(), NUM_STR_REP_LEN, outputNumInput(), recalcData(), str, t, T_ALT_TRANSFORM, TIP_, transform_snap_increment(), UI_MAX_DRAW_STR, VertSlideParams::use_even, validSnap(), and WM_bool_as_string().
Referenced by initVertSlide_ex().
Definition at line 99 of file transform_mode_vert_slide.c.
References applyMouseInput(), t, and vert_slide_update_input().
Referenced by handleEventVertSlide(), and initVertSlide_ex().
Run while moving the mouse to slide along the edge matching the mouse direction
Definition at line 140 of file transform_mode_vert_slide.c.
References TransDataVertSlideVert::co_link_curr, TransDataVertSlideVert::co_link_orig_3d, TransDataVertSlideVert::co_link_tot, TransDataVertSlideVert::co_orig_3d, dot_v3v3(), ED_view3d_win_to_delta(), mul_mat3_m4_v3(), normalize_v3(), project_plane_v3_v3v3(), sub_v2_v2v2(), sub_v3_v3v3(), VertSlideData::sv, t, TRANS_DATA_CONTAINER_FIRST_OK, and UNPACK2.
Referenced by handleEventVertSlide(), and initVertSlide_ex().
Run once when initializing vert slide to find the reference edge
Definition at line 112 of file transform_mode_vert_slide.c.
References TransDataVertSlideVert::co_orig_3d, VertSlideData::curr_sv_index, ED_view3d_project_float_v2_m4(), len_squared_v2v2(), VertSlideData::proj_mat, VertSlideData::sv, t, TRANS_DATA_CONTAINER_FIRST_OK, and UNPACK2.
Referenced by initVertSlide_ex().
|
static |
Definition at line 188 of file transform_mode_vert_slide.c.
References BKE_editmesh_from_object(), BMEditMesh::bm, bm, BM_edge_other_vert(), BM_EDGES_OF_VERT, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, BM_ELEM_TAG, BM_ITER_ELEM, BM_ITER_MESH, BM_VERTS_OF_MESH, BMVert::co, TransDataVertSlideVert::co_link_orig_3d, TransDataVertSlideVert::co_link_tot, copy_v3_v3(), VertSlideData::curr_sv_index, BMVert::e, e, ED_view3d_ob_project_mat_get(), MEM_callocN, MEM_freeN, MEM_mallocN, NULL, TransDataContainer::obedit, VertSlideData::proj_mat, ARegion::regiondata, SPACE_VIEW3D, VertSlideData::sv, t, VertSlideData::totsv, unit_m4(), v, and TransDataVertSlideVert::v.
Referenced by initVertSlide_ex().
Definition at line 480 of file transform_mode_vert_slide.c.
References TransDataVertSlideVert::co_link_curr, TransDataVertSlideVert::co_link_orig_3d, TransDataVertSlideVert::co_orig_3d, copy_v3_v3(), VertSlideData::curr_sv_index, VertSlideParams::flipped, FOREACH_TRANS_DATA_CONTAINER, interp_v3_v3v3(), len_v3v3(), madd_v3_v3v3fl(), normalize_v3(), NULL, VertSlideParams::perc, sub_v3_v3v3(), VertSlideData::sv, t, VertSlideData::totsv, and VertSlideParams::use_even.
Referenced by applyVertSlide().
Definition at line 364 of file transform_mode_vert_slide.c.
References Freestyle::a, add_v3_v3(), usdtokens::b(), TransDataVertSlideVert::co_link_curr, TransDataVertSlideVert::co_link_orig_3d, TransDataVertSlideVert::co_orig_3d, VertSlideData::curr_sv_index, ED_view3d_calc_zfac(), ED_view3d_win_to_delta(), VertSlideParams::flipped, GPU_blend(), GPU_BLEND_ALPHA, GPU_COMP_F32, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_FETCH_FLOAT, GPU_line_width(), GPU_matrix_mul, GPU_matrix_pop(), GPU_matrix_push(), GPU_point_size(), GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniformColor4f(), immUniformThemeColorShadeAlpha(), immVertex3fv(), immVertexFormat(), invert_m4_m4(), mul_mat3_m4_v3(), mul_v3_fl(), mul_v3_m4v3(), negate_v3_v3(), sub_v3_v3v3(), VertSlideData::sv, t, T_ALT_TRANSFORM, TFM_VERT_SLIDE, TH_EDGE_SELECT, TH_FACEDOT_SIZE, TH_OUTLINE_WIDTH, VertSlideData::totsv, TRANS_DATA_CONTAINER_FIRST_OK, UI_GetThemeValuef(), and VertSlideParams::use_even.
Referenced by drawTransformView().
|
static |
Definition at line 280 of file transform_mode_vert_slide.c.
References TransDataVertSlideVert::co_link_orig_3d, TransCustomData::data, MEM_freeN, NULL, VertSlideData::sv, and VertSlideData::totsv.
Referenced by initVertSlide_ex().
|
static |
Definition at line 304 of file transform_mode_vert_slide.c.
References calcVertSlideCustomPoints(), calcVertSlideMouseActiveEdges(), EVT_CKEY, EVT_EKEY, EVT_FKEY, EVT_MODAL_MAP, VertSlideParams::flipped, KM_PRESS, MOUSEMOVE, wmEvent::mval, t, T_ALT_TRANSFORM, TFM_MODAL_EDGESLIDE_DOWN, TFM_MODAL_EDGESLIDE_UP, TFM_VERT_SLIDE, TREDRAW_HARD, TREDRAW_NOTHING, wmEvent::type, VertSlideParams::use_even, and wmEvent::val.
Referenced by initVertSlide_ex().
Definition at line 675 of file transform_mode_vert_slide.c.
References initVertSlide_ex(), and t.
Definition at line 618 of file transform_mode_vert_slide.c.
References applyVertSlide(), B_UNIT_NONE, calcVertSlideCustomPoints(), calcVertSlideMouseActiveEdges(), calcVertSlideMouseActiveVert(), copy_v3_fl(), createVertSlideVerts(), VertSlideParams::flipped, FOREACH_TRANS_DATA_CONTAINER, freeVertSlideVerts(), handleEventVertSlide(), initMouseInputMode(), INPUT_CUSTOM_RATIO, MEM_callocN, VertSlideParams::perc, t, T_ALT_TRANSFORM, T_NO_CONSTRAINT, T_NO_PROJECT, TFM_VERT_SLIDE, TRANS_CANCEL, transform_snap_distance_len_squared_fn(), VertSlideParams::use_even, and vert_slide_snap_apply().
Referenced by initVertSlide(), and transform_mode_init().
Definition at line 686 of file transform_mode_vert_slide.c.
References ED_view3d_ob_project_mat_get(), FOREACH_TRANS_DATA_CONTAINER, VertSlideData::proj_mat, SPACE_VIEW3D, t, and vert_slide_update_input().
Referenced by transform_input_update().
Definition at line 531 of file transform_mode_vert_slide.c.
References add_v3_v3v3(), TransDataVertSlideVert::co_link_curr, TransDataVertSlideVert::co_link_orig_3d, TransDataVertSlideVert::co_orig_3d, copy_v3_v3(), VertSlideData::curr_sv_index, TransDataContainer::custom, TransCustomData::data, getSnapPoint(), line_point_factor_v3(), TransDataContainer::mat, TransCustomDataContainer::mode, mul_m4_v3(), normalize_v3(), SCE_SNAP_MODE_EDGE, SCE_SNAP_MODE_FACE_RAYCAST, sub_v3_v3(), sub_v3_v3v3(), VertSlideData::sv, t, TRANS_DATA_CONTAINER_FIRST_OK, transform_constraint_snap_axis_to_edge(), transform_constraint_snap_axis_to_face(), and TransDataContainer::use_local_mat.
Referenced by initVertSlide_ex().
Definition at line 71 of file transform_mode_vert_slide.c.
References ARRAY_SET_ITEMS, TransDataVertSlideVert::co_link_curr, TransDataVertSlideVert::co_link_orig_3d, TransDataVertSlideVert::co_orig_3d, VertSlideData::curr_sv_index, ED_view3d_project_float_v2_m4(), VertSlideParams::flipped, VertSlideData::proj_mat, setCustomPoints(), VertSlideData::sv, t, TRANS_DATA_CONTAINER_FIRST_OK, and VertSlideParams::use_even.
Referenced by calcVertSlideCustomPoints(), and transform_mode_vert_slide_reproject_input().