|
Blender V4.3
|
#include "MEM_guardedalloc.h"#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BKE_context.hh"#include "RNA_access.hh"#include "RNA_define.hh"#include "WM_api.hh"#include "WM_toolsystem.hh"#include "ED_gizmo_utils.hh"#include "ED_screen.hh"#include "ED_space_api.hh"#include "ED_view3d.hh"#include "UI_resources.hh"#include "GPU_immediate.hh"#include "view3d_intern.hh"Go to the source code of this file.
Classes | |
| struct | InteractivePlaceData |
Enumerations | |
Local Types | |
| enum | ePlace_PrimType { PLACE_PRIMITIVE_TYPE_CUBE = 1 , PLACE_PRIMITIVE_TYPE_CYLINDER = 2 , PLACE_PRIMITIVE_TYPE_CONE = 3 , PLACE_PRIMITIVE_TYPE_SPHERE_UV = 4 , PLACE_PRIMITIVE_TYPE_SPHERE_ICO = 5 } |
| enum | ePlace_Origin { PLACE_ORIGIN_BASE = 1 , PLACE_ORIGIN_CENTER = 2 } |
| enum | ePlace_Aspect { PLACE_ASPECT_FREE = 1 , PLACE_ASPECT_FIXED = 2 } |
| enum | StepIndex { STEP_BASE = 0 , STEP_DEPTH = 1 } |
Functions | |
Internal Utilities | |
| static bool | view3d_win_to_3d_on_plane_maybe_fallback (const ARegion *region, const float plane[4], const float mval[2], const float *plane_fallback, float r_out[3]) |
| static int | dot_v3_array_find_max_index (const float dirs[][3], const int dirs_len, const float dir_test[3], bool is_signed) |
| static | UNUSED_FUNCTION_WITH_RETURN_TYPE (wmGizmoGroup *, idp_gizmogroup_from_region)(ARegion *region) |
| static bool | idp_snap_calc_incremental (Scene *scene, View3D *v3d, ARegion *region, const float co_relative[3], float co[3]) |
Primitive Drawing (Cube, Cone, Cylinder...) | |
| static void | draw_line_loop (const float coords[][3], int coords_len, const float color[4]) |
| static void | draw_line_pairs (const float coords_a[][3], float coords_b[][3], int coords_len, const float color[4]) |
| static void | draw_line_bounds (const BoundBox *bounds, const float color[4]) |
| static bool | calc_bbox (InteractivePlaceData *ipd, BoundBox *bounds) |
| static void | draw_circle_in_quad (const float v1[3], const float v2[3], const float v3[3], const float v4[3], const int resolution, const float color[4]) |
Drawing Callbacks | |
| static void | draw_primitive_view_impl (const bContext *C, InteractivePlaceData *ipd, const float color[4], int flatten_axis) |
| static void | draw_primitive_view (const bContext *C, ARegion *, void *arg) |
Calculate The Initial Placement Plane | |
Use by both the operator and placement cursor. | |
| static bool | view3d_interactive_add_calc_snap (bContext *, const wmEvent *, float r_co_src[3], float r_matrix_orient[3][3], bool *r_is_enabled, bool *r_is_snap_invert) |
Placement Gizmo Group | |
This is currently only used for snapping before the tool is initialized, we could show a placement plane here. | |
| static void | preview_plane_free_fn (void *customdata) |
| static bool | snap_cursor_poll (ARegion *region, void *data) |
| static void | WIDGETGROUP_placement_setup (const bContext *, wmGizmoGroup *gzgroup) |
| void | VIEW3D_GGT_placement (wmGizmoGroupType *gzgt) |
Variables | |
| static const char * | view3d_gzgt_placement_id = "VIEW3D_GGT_placement" |
| static const float | eps_view_align = 1e-2f |
Add Object Modal Operator | |
| enum | { PLACE_MODAL_SNAP_ON , PLACE_MODAL_SNAP_OFF , PLACE_MODAL_FIXED_ASPECT_ON , PLACE_MODAL_FIXED_ASPECT_OFF , PLACE_MODAL_PIVOT_CENTER_ON , PLACE_MODAL_PIVOT_CENTER_OFF } |
| static void | view3d_interactive_add_begin (bContext *C, wmOperator *op, const wmEvent *event) |
| static int | view3d_interactive_add_invoke (bContext *C, wmOperator *op, const wmEvent *event) |
| static void | view3d_interactive_add_exit (bContext *C, wmOperator *op) |
| static void | view3d_interactive_add_cancel (bContext *C, wmOperator *op) |
| void | viewplace_modal_keymap (wmKeyConfig *keyconf) |
| static int | view3d_interactive_add_modal (bContext *C, wmOperator *op, const wmEvent *event) |
| static bool | view3d_interactive_add_poll (bContext *C) |
| void | VIEW3D_OT_interactive_add (wmOperatorType *ot) |
Operator to interactively place data.
Currently only adds meshes, but could add other kinds of data including library assets & non-mesh types.
Definition in file view3d_placement.cc.
| anonymous enum |
| Enumerator | |
|---|---|
| PLACE_MODAL_SNAP_ON | |
| PLACE_MODAL_SNAP_OFF | |
| PLACE_MODAL_FIXED_ASPECT_ON | |
| PLACE_MODAL_FIXED_ASPECT_OFF | |
| PLACE_MODAL_PIVOT_CENTER_ON | |
| PLACE_MODAL_PIVOT_CENTER_OFF | |
Definition at line 934 of file view3d_placement.cc.
| enum ePlace_Aspect |
| Enumerator | |
|---|---|
| PLACE_ASPECT_FREE | |
| PLACE_ASPECT_FIXED | |
Definition at line 64 of file view3d_placement.cc.
| enum ePlace_Origin |
| Enumerator | |
|---|---|
| PLACE_ORIGIN_BASE | |
| PLACE_ORIGIN_CENTER | |
Definition at line 59 of file view3d_placement.cc.
| enum ePlace_PrimType |
| Enumerator | |
|---|---|
| PLACE_PRIMITIVE_TYPE_CUBE | |
| PLACE_PRIMITIVE_TYPE_CYLINDER | |
| PLACE_PRIMITIVE_TYPE_CONE | |
| PLACE_PRIMITIVE_TYPE_SPHERE_UV | |
| PLACE_PRIMITIVE_TYPE_SPHERE_ICO | |
Definition at line 51 of file view3d_placement.cc.
| enum StepIndex |
| Enumerator | |
|---|---|
| STEP_BASE | |
| STEP_DEPTH | |
Definition at line 69 of file view3d_placement.cc.
|
static |
Definition at line 366 of file view3d_placement.cc.
References add_v3_v3(), add_v3_v3v3(), ARRAY_SIZE, bounds(), InteractivePlaceData::co_dst, InteractivePlaceData::co_src, compare_v3v3(), copy_v3_v3(), copysignf, fabsf, invert_m3_m3(), InteractivePlaceData::is_centered, InteractivePlaceData::is_fixed_aspect, is_zero_v3(), InteractivePlaceData::matrix_orient, max_ff(), mul_m3_v3(), mul_v3_fl(), mul_v3_v3fl(), normalize_v3_length(), InteractivePlaceData::orient_axis, InteractivePlaceData::step, STEP_DEPTH, InteractivePlaceData::step_index, sub_v3_v3(), sub_v3_v3v3(), and zero_v3().
Referenced by draw_primitive_view_impl(), and view3d_interactive_add_modal().
|
static |
Return the index of dirs with the largest dot product compared to dir_test.
Definition at line 190 of file view3d_placement.cc.
References dot_v3v3(), and fabsf.
Referenced by view3d_interactive_add_begin().
|
static |
Definition at line 495 of file view3d_placement.cc.
References barycentric_weights_v2_quad(), cosf, draw_line_loop(), float, M_PI, madd_v3_v3fl(), MEM_freeN(), MEM_mallocN, quad, sinf, UNPACK4, v2, w(), x, and zero_v3().
Referenced by draw_primitive_view_impl().
Definition at line 319 of file view3d_placement.cc.
References ARRAY_SIZE, batch, bounds(), GPU_batch_create_ex(), GPU_batch_discard(), GPU_batch_draw(), GPU_BATCH_OWNS_VBO, GPU_batch_program_set_builtin(), GPU_batch_uniform_1f, GPU_batch_uniform_2fv, GPU_batch_uniform_4fv, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_PRIM_LINES, GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR, GPU_vertbuf_attr_set(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immVertexFormat(), and pos.
Referenced by draw_primitive_view_impl().
Definition at line 255 of file view3d_placement.cc.
References batch, GPU_batch_create_ex(), GPU_batch_discard(), GPU_batch_draw(), GPU_BATCH_OWNS_VBO, GPU_batch_program_set_builtin(), GPU_batch_uniform_1f, GPU_batch_uniform_2fv, GPU_batch_uniform_4fv, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_PRIM_LINE_LOOP, GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR, GPU_vertbuf_attr_set(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immVertexFormat(), and pos.
Referenced by draw_circle_in_quad().
|
static |
Definition at line 285 of file view3d_placement.cc.
References batch, GPU_batch_create_ex(), GPU_batch_discard(), GPU_batch_draw(), GPU_BATCH_OWNS_VBO, GPU_batch_program_set_builtin(), GPU_batch_uniform_1f, GPU_batch_uniform_2fv, GPU_batch_uniform_4fv, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_PRIM_LINES, GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR, GPU_vertbuf_attr_set(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immVertexFormat(), and pos.
Referenced by draw_primitive_view_impl().
Definition at line 639 of file view3d_placement.cc.
References draw_primitive_view_impl(), GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_depth_test_get(), InteractivePlaceData::is_degenerate_view_align, RegionView3D::is_persp, InteractivePlaceData::region, ARegion::regiondata, InteractivePlaceData::step, InteractivePlaceData::step_index, TH_GIZMO_PRIMARY, UI_GetThemeColor3fv(), InteractivePlaceData::v3d, and XRAY_ENABLED.
Referenced by view3d_interactive_add_begin().
|
static |
Definition at line 537 of file view3d_placement.cc.
References ARRAY_SIZE, bounds(), calc_bbox(), copy_v3_v3(), cross_v3_v3v3(), InteractivePlaceData::degenerate_diagonal_display, dist_signed_to_plane_v3(), draw_circle_in_quad(), draw_line_bounds(), draw_line_pairs(), ELEM, madd_v3_v3fl(), InteractivePlaceData::matrix_orient, mid_v3_v3v3(), mid_v3_v3v3v3v3(), normalize_v3(), InteractivePlaceData::orient_axis, PLACE_PRIMITIVE_TYPE_CONE, PLACE_PRIMITIVE_TYPE_CUBE, PLACE_PRIMITIVE_TYPE_CYLINDER, PLACE_PRIMITIVE_TYPE_SPHERE_ICO, PLACE_PRIMITIVE_TYPE_SPHERE_UV, InteractivePlaceData::plane, plane_from_point_normal_v3(), InteractivePlaceData::primitive_type, InteractivePlaceData::region, ARegion::regiondata, InteractivePlaceData::step, STEP_BASE, STEP_DEPTH, UNPACK4, UNUSED_VARS, and RegionView3D::viewinv.
Referenced by draw_primitive_view().
|
static |
Calculate 3D view incremental (grid) snapping.
Definition at line 222 of file view3d_placement.cc.
References add_v3_v3(), ED_view3d_grid_view_scale(), mul_v3_fl(), SCE_SNAP_TO_GRID, sub_v3_v3(), and UNLIKELY.
Referenced by view3d_interactive_add_modal().
|
static |
Definition at line 1357 of file view3d_placement.cc.
References ED_view3d_cursor_snap_state_free().
Referenced by WIDGETGROUP_placement_setup().
|
static |
Definition at line 1363 of file view3d_placement.cc.
References WM_gizmomap_group_find_ptr().
Referenced by WIDGETGROUP_placement_setup().
|
static |
Definition at line 210 of file view3d_placement.cc.
References view3d_gzgt_placement_id, and WM_gizmomap_group_find().
| void VIEW3D_GGT_placement | ( | wmGizmoGroupType * | gzgt | ) |
Definition at line 1385 of file view3d_placement.cc.
References ED_gizmo_poll_or_unlink_delayed_from_tool(), wmGizmoGroupType::flag, wmGizmoGroupType::gzmap_params, wmGizmoGroupType::idname, wmGizmoGroupType::name, wmGizmoGroupType::poll, wmGizmoMapType_Params::regionid, RGN_TYPE_WINDOW, wmGizmoGroupType::setup, SPACE_VIEW3D, wmGizmoMapType_Params::spaceid, view3d_gzgt_placement_id, WIDGETGROUP_placement_setup(), WM_GIZMOGROUPTYPE_3D, WM_GIZMOGROUPTYPE_DRAW_MODAL_ALL, and WM_GIZMOGROUPTYPE_SCALE.
Referenced by view3d_widgets().
|
static |
Definition at line 710 of file view3d_placement.cc.
References add_v3_v3v3(), InteractivePlaceData::area, InteractivePlaceData::co_dst, InteractivePlaceData::co_src, copy_v3_v3(), CTX_data_tool_settings(), wmOperator::customdata, InteractivePlaceData::degenerate_axis, InteractivePlaceData::degenerate_diagonal, InteractivePlaceData::degenerate_diagonal_display, dot_v3_array_find_max_index(), dot_v3v3(), InteractivePlaceData::draw_handle_view, V3DSnapCursorState::draw_plane, V3DSnapCursorState::draw_point, draw_primitive_view(), ED_region_draw_cb_activate(), ED_region_tag_redraw(), ED_view3d_cursor_snap_data_update(), ED_view3d_cursor_snap_state_active_get(), ED_view3d_cursor_snap_state_create(), ED_view3d_cursor_snap_state_prevpoint_set(), eps_view_align, fabsf, bToolRef::idname, InteractivePlaceData::is_centered, InteractivePlaceData::is_centered_init, InteractivePlaceData::is_degenerate_view_align, InteractivePlaceData::is_fixed_aspect, InteractivePlaceData::is_fixed_aspect_init, InteractivePlaceData::is_snap_found, InteractivePlaceData::is_snap_invert, KM_CLICK_DRAG, InteractivePlaceData::launch_event, InteractivePlaceData::matrix_orient, negate_v3(), negate_v3_v3(), normalize_v3(), normalize_v3_v3(), InteractivePlaceData::orient_axis, PLACE_ASPECT_FIXED, PLACE_ORIGIN_CENTER, PLACE_PRIMITIVE_TYPE_CONE, PLACE_PRIMITIVE_TYPE_CUBE, PLACE_PRIMITIVE_TYPE_CYLINDER, PLACE_PRIMITIVE_TYPE_SPHERE_ICO, PLACE_PRIMITIVE_TYPE_SPHERE_UV, InteractivePlaceData::plane, ToolSettings::plane_axis, plane_from_point_normal_v3(), InteractivePlaceData::primitive_type, wmOperator::ptr, InteractivePlaceData::region, REGION_DRAW_POST_VIEW, ARegion::regiondata, RNA_enum_get(), RNA_property_enum_get(), RNA_property_is_set(), RNA_struct_find_property(), ScrArea::runtime, SCE_SNAP_TO_NONE, ToolSettings::snap_mode, ToolSettings::snap_mode_tools, InteractivePlaceData::snap_state, InteractivePlaceData::snap_to_ptr, InteractivePlaceData::snap_to_restore, InteractivePlaceData::step, STEP_BASE, STEP_DEPTH, InteractivePlaceData::step_index, STREQ, sub_v3_v3v3(), ScrArea_Runtime::tool, ARegion::type, wmEvent::type, InteractivePlaceData::use_snap, InteractivePlaceData::use_tool, wmEvent::val, view3d_interactive_add_calc_snap(), InteractivePlaceData::view_plane, RegionView3D::viewinv, WM_event_drag_start_mval(), and WM_userdef_event_type_from_keymap_type().
Referenced by view3d_interactive_add_invoke(), and view3d_interactive_add_modal().
|
static |
Definition at line 683 of file view3d_placement.cc.
References copy_m3_m3(), copy_v3_v3(), ED_view3d_cursor_snap_data_get(), V3DSnapCursorData::is_enabled, V3DSnapCursorData::is_snap_invert, V3DSnapCursorData::loc, V3DSnapCursorData::plane_omat, SCE_SNAP_TO_NONE, and V3DSnapCursorData::type_target.
Referenced by view3d_interactive_add_begin(), and view3d_interactive_add_modal().
|
static |
Definition at line 929 of file view3d_placement.cc.
References view3d_interactive_add_exit().
Referenced by VIEW3D_OT_interactive_add().
|
static |
Definition at line 912 of file view3d_placement.cc.
References wmOperator::customdata, InteractivePlaceData::draw_handle_view, ED_region_draw_cb_exit(), ED_region_tag_redraw(), ED_view3d_cursor_snap_state_free(), MEM_freeN(), InteractivePlaceData::region, InteractivePlaceData::snap_state, ARegion::type, and UNUSED_VARS.
Referenced by view3d_interactive_add_cancel(), and view3d_interactive_add_modal().
|
static |
Definition at line 883 of file view3d_placement.cc.
References InteractivePlaceData::area, CTX_data_scene(), CTX_wm_area(), CTX_wm_region(), CTX_wm_view3d(), wmOperator::customdata, MEM_callocN, OPERATOR_RUNNING_MODAL, wmOperator::ptr, InteractivePlaceData::region, RNA_boolean_get(), InteractivePlaceData::scene, InteractivePlaceData::v3d, view3d_gzgt_placement_id, view3d_interactive_add_begin(), InteractivePlaceData::wait_for_input, WM_event_add_modal_handler(), and WM_gizmo_group_type_ensure().
Referenced by VIEW3D_OT_interactive_add().
|
static |
Definition at line 968 of file view3d_placement.cc.
References InteractivePlaceData::area, ATTR_FALLTHROUGH, BLI_assert, bounds(), calc_bbox(), closest_to_plane_normalized_v3(), InteractivePlaceData::co_dst, InteractivePlaceData::co_src, copy_m3_m3(), copy_v3_v3(), cross_v3_v3v3(), wmOperator::customdata, InteractivePlaceData::degenerate_diagonal, dot_v3v3(), ED_region_tag_redraw(), ED_view3d_cursor_snap_state_prevpoint_set(), ELEM, EVT_ESCKEY, EVT_MODAL_MAP, idp_snap_calc_incremental(), InteractivePlaceData::is_centered, InteractivePlaceData::is_centered_init, InteractivePlaceData::is_degenerate_view_align, InteractivePlaceData::is_fixed_aspect, InteractivePlaceData::is_fixed_aspect_init, InteractivePlaceData::is_snap_found, InteractivePlaceData::is_snap_invert, KM_PRESS, KM_RELEASE, InteractivePlaceData::launch_event, LEFTMOUSE, len_v3v3(), mat3_to_eul(), InteractivePlaceData::matrix_orient, mid_v3_v3v3(), MOUSEMOVE, negate_v3(), normalize_v3(), OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_RUNNING_MODAL, InteractivePlaceData::orient_axis, ot, PLACE_MODAL_FIXED_ASPECT_OFF, PLACE_MODAL_FIXED_ASPECT_ON, PLACE_MODAL_PIVOT_CENTER_OFF, PLACE_MODAL_PIVOT_CENTER_ON, PLACE_MODAL_SNAP_OFF, PLACE_MODAL_SNAP_ON, PLACE_PRIMITIVE_TYPE_CONE, PLACE_PRIMITIVE_TYPE_CUBE, PLACE_PRIMITIVE_TYPE_CYLINDER, PLACE_PRIMITIVE_TYPE_SPHERE_ICO, PLACE_PRIMITIVE_TYPE_SPHERE_UV, InteractivePlaceData::plane, plane_from_point_normal_v3(), InteractivePlaceData::primitive_type, InteractivePlaceData::region, RIGHTMOUSE, RNA_float_set(), RNA_float_set_array(), ScrArea::runtime, SCE_SNAP, SCE_SNAP_TO_GRID, SCE_SNAP_TO_INCREMENT, InteractivePlaceData::scene, InteractivePlaceData::snap_co, ToolSettings::snap_flag, InteractivePlaceData::snap_state, InteractivePlaceData::snap_to_ptr, InteractivePlaceData::snap_to_restore, InteractivePlaceData::step, STEP_BASE, STEP_DEPTH, InteractivePlaceData::step_index, sub_v3_v3(), sub_v3_v3v3(), swap_v3_v3(), ScrArea_Runtime::tool, Scene::toolsettings, wmEvent::type, UNUSED_VARS, InteractivePlaceData::use_snap, InteractivePlaceData::use_tool, InteractivePlaceData::v3d, wmEvent::val, view3d_interactive_add_begin(), view3d_interactive_add_calc_snap(), view3d_interactive_add_exit(), view3d_win_to_3d_on_plane_maybe_fallback(), InteractivePlaceData::view_plane, RegionView3D::viewinv, InteractivePlaceData::wait_for_input, WM_event_drag_start_mval_fl(), WM_OP_EXEC_DEFAULT, WM_operator_name_call_ptr(), WM_operator_properties_create_ptr(), WM_operator_properties_free(), WM_operatortype_find(), and WM_toolsystem_ref_properties_init_for_keymap().
Referenced by VIEW3D_OT_interactive_add().
|
static |
Definition at line 1270 of file view3d_placement.cc.
References CTX_data_mode_enum(), CTX_MODE_EDIT_MESH, CTX_MODE_OBJECT, and ELEM.
Referenced by VIEW3D_OT_interactive_add().
| void VIEW3D_OT_interactive_add | ( | wmOperatorType * | ot | ) |
Definition at line 1276 of file view3d_placement.cc.
References wmOperatorType::cancel, wmOperatorType::description, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::modal, wmOperatorType::name, ot, PLACE_ASPECT_FIXED, PLACE_ASPECT_FREE, PLACE_ORIGIN_BASE, PLACE_ORIGIN_CENTER, PLACE_PRIMITIVE_TYPE_CONE, PLACE_PRIMITIVE_TYPE_CUBE, PLACE_PRIMITIVE_TYPE_CYLINDER, PLACE_PRIMITIVE_TYPE_SPHERE_ICO, PLACE_PRIMITIVE_TYPE_SPHERE_UV, wmOperatorType::poll, PROP_ENUM, PROP_HIDDEN, PROP_NONE, PROP_SKIP_SAVE, RNA_def_boolean(), RNA_def_property(), RNA_def_property_enum_default(), RNA_def_property_enum_items(), RNA_def_property_flag(), RNA_def_property_ui_text(), wmOperatorType::srna, view3d_interactive_add_cancel(), view3d_interactive_add_invoke(), view3d_interactive_add_modal(), and view3d_interactive_add_poll().
Referenced by view3d_operatortypes().
|
static |
Convenience wrapper to avoid duplicating arguments.
Definition at line 172 of file view3d_placement.cc.
References ED_view3d_win_to_3d_on_plane(), ED_view3d_win_to_3d_on_plane_with_fallback(), and RegionView3D::is_persp.
Referenced by view3d_interactive_add_modal().
| void viewplace_modal_keymap | ( | wmKeyConfig * | keyconf | ) |
Definition at line 943 of file view3d_placement.cc.
References wmKeyMap::modal_items, PLACE_MODAL_FIXED_ASPECT_OFF, PLACE_MODAL_FIXED_ASPECT_ON, PLACE_MODAL_PIVOT_CENTER_OFF, PLACE_MODAL_PIVOT_CENTER_ON, PLACE_MODAL_SNAP_OFF, PLACE_MODAL_SNAP_ON, WM_modalkeymap_assign(), WM_modalkeymap_ensure(), and WM_modalkeymap_find().
Referenced by view3d_keymap().
|
static |
Definition at line 1372 of file view3d_placement.cc.
References wmGizmoGroup::customdata, wmGizmoGroup::customdata_free, V3DSnapCursorState::draw_plane, ED_view3d_cursor_snap_state_create(), V3DSnapCursorState::poll, V3DSnapCursorState::poll_data, preview_plane_free_fn(), snap_cursor_poll(), and wmGizmoGroup::type.
Referenced by VIEW3D_GGT_placement().
Dot products below this will be considered view aligned. In this case we can't usefully project the mouse cursor onto the plane, so use a fall-back plane instead.
Definition at line 45 of file view3d_placement.cc.
Referenced by view3d_interactive_add_begin().
|
static |
Definition at line 38 of file view3d_placement.cc.
Referenced by UNUSED_FUNCTION_WITH_RETURN_TYPE(), VIEW3D_GGT_placement(), and view3d_interactive_add_invoke().