25#define V3D_OP_TRACKBALLSIZE (1.1f)
204 const float dyn_ofs_override[3] =
nullptr,
205 const bool use_cursor_init =
false);
208 MEM_CXX_CLASS_ALLOC_FUNCS(
"ViewOpsData")
228 const float ofs_old[3],
229 const float viewquat_old[4],
230 const float viewquat_new[4],
231 const float dyn_ofs[3]);
248 const bool use_cursor_init);
255 const float quat_[4],
259 const float *align_to_quat,
260 const int smooth_viewtx);
284#ifdef WITH_INPUT_NDOF
285struct wmNDOFMotionData;
289void view3d_ndof_fly(
const wmNDOFMotionData &ndof,
294 bool *r_has_translate,
302extern const ViewOpsType ViewOpsType_ndof_orbit_zoom;
371 const char *undo_str,
415 bool use_all_regions,
426 const float scale_margin);
#define ENUM_OPERATORS(_type, _max)
Read Guarded memory(de)allocation.
BPy_StructRNA * depsgraph
VecBase< int32_t, 2 > int2
VecBase< float, 3 > float3
static void init(bNodeTree *, bNode *node)
const ViewOpsType * nav_type
char persp_with_auto_persp_applied
void end_navigation(bContext *C)
eViewOpsFlag viewops_flag
bool use_dyn_ofs_ortho_correction
blender::int2 event_xy_offset
struct ViewOpsData::@041211063176270354313167244105136234141004235041 curr
struct ViewOpsData::@244345216304223004112237167211144027240265370072 prev
void init_navigation(bContext *C, const wmEvent *event, const ViewOpsType *nav_type, const float dyn_ofs_override[3]=nullptr, const bool use_cursor_init=false)
void init_context(bContext *C)
wmOperatorStatus(* apply_fn)(bContext *C, ViewOpsData *vod, const eV3D_OpEvent event_code, const int xy[2])
wmOperatorStatus(* init_fn)(bContext *C, ViewOpsData *vod, const wmEvent *event, PointerRNA *ptr)
bool(* poll_fn)(bContext *C)
void ED_view3d_smooth_view_undo_begin(bContext *C, const ScrArea *area)
void view3d_navigate_cancel_fn(bContext *C, wmOperator *op)
bool view3d_calc_point_in_selected_bounds(Depsgraph *depsgraph, struct ViewLayer *view_layer_eval, const View3D *v3d, const blender::float3 &point, const float scale_margin)
void viewmove_modal_keymap(wmKeyConfig *keyconf)
const ViewOpsType ViewOpsType_zoom
void view3d_keymap(wmKeyConfig *keyconf)
void ED_view3d_smooth_view(bContext *C, View3D *v3d, ARegion *region, int smooth_viewtx, const V3D_SmoothParams *sview)
void VIEW3D_OT_view_roll(wmOperatorType *ot)
void VIEW3D_OT_view_axis(wmOperatorType *ot)
wmOperatorStatus view3d_navigate_invoke_impl(bContext *C, wmOperator *op, const wmEvent *event, const ViewOpsType *nav_type)
const ViewOpsType ViewOpsType_pan
void ED_view3d_smooth_view_force_finish_no_camera_lock(const Depsgraph *depsgraph, wmWindowManager *wm, wmWindow *win, const Scene *scene, View3D *v3d, ARegion *region)
void viewops_data_free(bContext *C, ViewOpsData *vod)
const ViewOpsType ViewOpsType_orbit
ViewOpsData * viewops_data_create(bContext *C, const wmEvent *event, const ViewOpsType *nav_type, const bool use_cursor_init)
void VIEW3D_OT_view_orbit(wmOperatorType *ot)
wmOperatorStatus view3d_navigate_modal_fn(bContext *C, wmOperator *op, const wmEvent *event)
void fly_modal_keymap(wmKeyConfig *keyconf)
void view3d_orbit_apply_dyn_ofs(float r_ofs[3], const float ofs_old[3], const float viewquat_old[4], const float viewquat_new[4], const float dyn_ofs[3])
@ VIEWOPS_FLAG_ORBIT_SELECT
@ VIEWOPS_FLAG_DEPTH_NAVIGATE
@ VIEWOPS_FLAG_ZOOM_TO_MOUSE
@ VIEWOPS_FLAG_PERSP_ENSURE
void view3d_operator_properties_common(wmOperatorType *ot, const eV3D_OpPropFlag flag)
bool view3d_rotation_poll(bContext *C)
bool view3d_location_poll(bContext *C)
void ED_view3d_smooth_view_ex(const Depsgraph *depsgraph, wmWindowManager *wm, wmWindow *win, ScrArea *area, View3D *v3d, ARegion *region, int smooth_viewtx, const V3D_SmoothParams *sview)
void VIEW3D_OT_walk(wmOperatorType *ot)
void VIEW3D_OT_zoom_border(wmOperatorType *ot)
void VIEW3D_OT_rotate(wmOperatorType *ot)
const ViewOpsType ViewOpsType_rotate
ViewOpsType ViewOpsType_dolly
bool view3d_orbit_calc_center(bContext *C, float r_dyn_ofs[3])
const ViewOpsType ViewOpsType_roll
void viewmove_apply(ViewOpsData *vod, int x, int y)
void calctrackballvec(const rcti *rect, const int event_xy[2], float r_dir[3])
void VIEW3D_OT_view_pan(wmOperatorType *ot)
@ V3D_OP_PROP_USE_MOUSE_INIT
@ V3D_OP_PROP_USE_ALL_REGIONS
void axis_set_view(bContext *C, View3D *v3d, ARegion *region, const float quat_[4], char view, char view_axis_roll, int perspo, const float *align_to_quat, const int smooth_viewtx)
void VIEW3D_OT_view_all(wmOperatorType *ot)
void viewzoom_modal_keymap(wmKeyConfig *keyconf)
std::optional< blender::Bounds< blender::float3 > > view3d_calc_minmax_selected(Depsgraph *depsgraph, ScrArea *area, ARegion *region, bool use_all_regions, bool clip_bounds, bool *r_do_zoom)
void VIEW3D_OT_view_selected(wmOperatorType *ot)
bool view3d_zoom_or_dolly_or_rotation_poll(bContext *C)
void viewrotate_modal_keymap(wmKeyConfig *keyconf)
void VIEW3D_OT_zoom(wmOperatorType *ot)
void VIEW3D_OT_view_camera(wmOperatorType *ot)
void viewdolly_modal_keymap(wmKeyConfig *keyconf)
const ViewOpsType ViewOpsType_move
void VIEW3D_OT_view_center_pick(wmOperatorType *ot)
void VIEW3D_OT_view_center_cursor(wmOperatorType *ot)
void walk_modal_keymap(wmKeyConfig *keyconf)
void viewrotate_apply_dyn_ofs(ViewOpsData *vod, const float viewquat_new[4])
void ED_view3d_smooth_view_force_finish(bContext *C, View3D *v3d, ARegion *region)
@ VIEWROT_MODAL_SWITCH_ROTATE
@ VIEWROT_MODAL_AXIS_SNAP_ENABLE
@ VIEWROT_MODAL_SWITCH_MOVE
@ VIEWROT_MODAL_SWITCH_ZOOM
@ VIEWROT_MODAL_AXIS_SNAP_DISABLE
void VIEW3D_OT_fly(wmOperatorType *ot)
std::optional< blender::Bounds< blender::float3 > > view3d_calc_minmax_visible(Depsgraph *depsgraph, ScrArea *area, ARegion *region, bool use_all_regions, bool clip_bounds)
void VIEW3D_OT_move(wmOperatorType *ot)
bool view3d_zoom_or_dolly_poll(bContext *C)
void VIEW3D_OT_smoothview(wmOperatorType *ot)
void ED_view3d_smooth_view_undo_end(bContext *C, const ScrArea *area, const char *undo_str, bool undo_grouped)
void VIEW3D_OT_dolly(wmOperatorType *ot)