Blender V4.3
transform_generics.cc File Reference
#include "DNA_gpencil_legacy_types.h"
#include "BLI_blenlib.h"
#include "BLI_math_matrix.h"
#include "BLI_math_rotation.h"
#include "BLI_rand.h"
#include "BLI_time.h"
#include "BLT_translation.hh"
#include "RNA_access.hh"
#include "BKE_brush.hh"
#include "BKE_context.hh"
#include "BKE_layer.hh"
#include "BKE_mask.h"
#include "BKE_modifier.hh"
#include "BKE_paint.hh"
#include "SEQ_transform.hh"
#include "ED_clip.hh"
#include "ED_image.hh"
#include "ED_object.hh"
#include "ED_screen.hh"
#include "ED_space_api.hh"
#include "ED_uvedit.hh"
#include "WM_api.hh"
#include "UI_view2d.hh"
#include "SEQ_sequencer.hh"
#include "transform.hh"
#include "transform_convert.hh"
#include "transform_gizmo.hh"
#include "transform_orientations.hh"
#include "transform_snap.hh"

Go to the source code of this file.

Functions

void resetTransModal (TransInfo *t)
 
void resetTransRestrictions (TransInfo *t)
 
static void * t_view_get (TransInfo *t)
 
static int t_around_get (TransInfo *t)
 
void initTransInfo (bContext *C, TransInfo *t, wmOperator *op, const wmEvent *event)
 
static void freeTransCustomData (TransInfo *t, TransDataContainer *tc, TransCustomData *custom_data)
 
static void freeTransCustomDataContainer (TransInfo *t, TransDataContainer *tc, TransCustomDataContainer *tcdc)
 
void freeTransCustomDataForMode (TransInfo *t)
 
void postTrans (bContext *C, TransInfo *t)
 
void applyTransObjects (TransInfo *t)
 
static void transdata_restore_basic (TransDataBasic *td_basic)
 
static void restoreElement (TransData *td)
 
void restoreTransObjects (TransInfo *t)
 
void calculateCenter2D (TransInfo *t)
 
void calculateCenterLocal (TransInfo *t, const float center_global[3])
 
void calculateCenterCursor (TransInfo *t, float r_center[3])
 
void calculateCenterCursor2D (TransInfo *t, float r_center[2])
 
void calculateCenterCursorGraph2D (TransInfo *t, float r_center[2])
 
static bool transdata_center_global_get (const TransDataContainer *tc, const TransDataBasic *td_basic, float r_vec[3])
 
void calculateCenterMedian (TransInfo *t, float r_center[3])
 
void calculateCenterBound (TransInfo *t, float r_center[3])
 
bool calculateCenterActive (TransInfo *t, bool select_only, float r_center[3])
 
static void calculateCenter_FromAround (TransInfo *t, int around, float r_center[3])
 
static void calculateZfac (TransInfo *t)
 
void calculateCenter (TransInfo *t)
 
void transformViewUpdate (TransInfo *t)
 
void calculatePropRatio (TransInfo *t)
 
void transform_data_ext_rotate (TransData *td, float mat[3][3], bool use_drot)
 
Objecttransform_object_deform_pose_armature_get (const TransInfo *t, Object *ob)
 

Function Documentation

◆ applyTransObjects()

◆ calculateCenter()

◆ calculateCenter2D()

◆ calculateCenter_FromAround()

◆ calculateCenterActive()

◆ calculateCenterBound()

void calculateCenterBound ( TransInfo * t,
float r_center[3] )

◆ calculateCenterCursor()

◆ calculateCenterCursor2D()

◆ calculateCenterCursorGraph2D()

◆ calculateCenterLocal()

void calculateCenterLocal ( TransInfo * t,
const float center_global[3] )

◆ calculateCenterMedian()

void calculateCenterMedian ( TransInfo * t,
float r_center[3] )

◆ calculatePropRatio()

◆ calculateZfac()

◆ freeTransCustomData()

static void freeTransCustomData ( TransInfo * t,
TransDataContainer * tc,
TransCustomData * custom_data )
static

◆ freeTransCustomDataContainer()

static void freeTransCustomDataContainer ( TransInfo * t,
TransDataContainer * tc,
TransCustomDataContainer * tcdc )
static

◆ freeTransCustomDataForMode()

void freeTransCustomDataForMode ( TransInfo * t)

Needed for mode switching.

Definition at line 731 of file transform_generics.cc.

References TransInfo::custom, FOREACH_TRANS_DATA_CONTAINER, freeTransCustomData(), and TransCustomDataContainer::mode.

Referenced by resetTransModal().

◆ initTransInfo()

void initTransInfo ( bContext * C,
TransInfo * t,
wmOperator * op,
const wmEvent * event )

Setup internal data, mouse, vectors

Note
op and event can be NULL
See also
saveTransform does the reverse.

Definition at line 116 of file transform_generics.cc.

References bScreen::animtimer, TransInfo::animtimer, TransInfo::area, TransInfo::around, TransInfo::aspect, AUTO_MERGE, AUTO_MERGE_AND_SPLIT, ToolSettings::automerge, BIF_countTransformOrientation(), BKE_paint_brush(), BKE_paint_get_active_from_context(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), BLI_assert, BRUSH_CURVE, calculateCenter2D(), calculateCenterLocal(), TransInfo::center_global, TransInfo::con, CON_APPLY, CON_AXIS0, CON_AXIS1, CON_AXIS2, copy_v4_v4(), CTX_CURSOR, CTX_data_depsgraph_pointer(), CTX_data_scene(), CTX_data_tool_settings(), CTX_data_view_layer(), CTX_EDGE_DATA, CTX_GPENCIL_STROKES, CTX_MASK, CTX_MOVIECLIP, CTX_NO_PET, CTX_PAINT_CURVE, CTX_SEQUENCER_IMAGE, CTX_TEXTURE_SPACE, CTX_VIEW2D_EDGE_PAN, CTX_wm_area(), CTX_wm_manager(), CTX_wm_message_bus(), CTX_wm_region(), TransInfo::data_container, TransInfo::data_container_len, TransInfo::data_len_all, TransInfo::depsgraph, ED_screen_animation_playing(), ED_space_clip_check_show_maskedit(), ED_space_clip_check_show_trackedit(), ED_space_image_show_uvedit(), ED_view3d_navigation_init(), ELEM, Brush::flag, TransInfo::flag, wmOperator::flag, TransInfo::helpline, HLP_NONE, ToolSettings::imapaint, MouseInput::imval, TransformOrientationSlot::index_custom, initNumInput(), TransInfo::is_orient_default_overwrite, ISMOUSE_BUTTON, wmKeyMap::items, KMI_INACTIVE, TransInfo::launch_event, LISTBASE_FOREACH, TransInfo::mat, TransInfo::matrix, TransInfo::mbus, MEM_callocN, wmOperatorType::modalkeymap, Object::mode, SpaceImage::mode, TransCon::mode, TransInfo::mode, TransInfo::mode_info, TransInfo::mouse, mul_v3_v3(), TransInfo::mval, wmEvent::mval, TransInfo::num, O_DEFAULT, O_SCENE, O_SET, OB_GREASE_PENCIL, OB_MESH, OB_MODE_ALL_PAINT, OB_MODE_EDIT, OB_MODE_EDIT_GPENCIL_LEGACY, OB_MODE_OBJECT, OB_MODE_SCULPT_CURVES, TransInfo::obedit_type, OP_IS_REPEAT_LAST, TransInfo::options, TransInfo::orient, TransInfo::orient_axis, TransInfo::orient_axis_ortho, TransInfo::orient_type_mask, Scene::orientation_slots, ImagePaintSettings::paint, printf, PROP_EDIT_CONNECTED, PROP_EDIT_PROJECTED, PROP_EDIT_USE, TransInfo::prop_mode, TransInfo::prop_size, wmOperator::ptr, TransInfo::redraw, TransInfo::region, ARegion::regiontype, TransInfo::remove_on_cancel, TransInfo::reports, wmOperator::reports, RGN_TYPE_PREVIEW, RGN_TYPE_WINDOW, RNA_boolean_get(), RNA_property_array_check(), RNA_property_boolean_get(), RNA_property_boolean_get_array(), RNA_property_boolean_set(), RNA_property_enum_get(), RNA_property_float_get(), RNA_property_float_get_array(), RNA_property_is_set(), RNA_struct_find_property(), SCE_ORIENT_DEFAULT, SCE_XFORM_AXIS_ALIGN, TransInfo::scene, SET_FLAG_FROM_TEST, TransInfo::settings, setTransformViewAspect(), setTransformViewMatrices(), SI_MODE_MASK, SI_MODE_PAINT, SPACE_ACTION, SPACE_CLIP, SPACE_EMPTY, SPACE_GRAPH, SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, TransInfo::spacetype, T_ALT_TRANSFORM, t_around_get(), T_AUTOMERGE, T_AUTOSPLIT, T_DUPLICATED_KEYFRAMES, T_EVENT_DRAG_START, T_INPUT_IS_VALUES_FINAL, T_MODAL, T_NO_CURSOR_WRAP, T_NO_MIRROR, T_OVERRIDE_CENTER, T_PROP_CONNECTED, T_PROP_EDIT, T_PROP_PROJECTED, T_RELEASE_CONFIRM, T_V3D_ALIGN, t_view_get(), TFM_BWEIGHT, TFM_EDGE_CREASE, TFM_EDGE_SLIDE, TFM_MODAL_PASSTHROUGH_NAVIGATE, TFM_RESIZE, TFM_ROTATION, TFM_SHRINKFATTEN, TFM_TRACKBALL, TFM_TRANSLATION, TFM_VERT_SLIDE, Scene::toolsettings, transdata_check_local_islands(), ToolSettings::transform_flag, transform_gizmo_3d_model_from_constraint_and_mode_init(), transform_orientation_matrix_get(), transform_orientations_current_set(), TREDRAW_HARD, Object::type, TransformOrientationSlot::type, TransInfo::type, wmOperator::type, unit_m3(), USER_RELEASECONFIRM, ToolSettings::uvcalc_flag, UVCALC_TRANSFORM_CORRECT_SLIDE, V3D_AROUND_LOCAL_ORIGINS, V3D_ORIENT_CUSTOM, V3D_ORIENT_CUSTOM_MATRIX, V3D_ORIENT_GLOBAL, V3D_ORIENT_LOCAL, TransInfo::values, TransInfo::values_modal_offset, TransInfo::view, TransInfo::view_layer, TransInfo::vod, WM_event_drag_start_mval_fl(), WM_keymap_active(), and zero_v3().

Referenced by calculateTransformCenter(), and initTransform().

◆ postTrans()

◆ resetTransModal()

void resetTransModal ( TransInfo * t)

Free data before switching to another mode.

Definition at line 53 of file transform_generics.cc.

References freeTransCustomDataForMode().

Referenced by transformEvent().

◆ resetTransRestrictions()

void resetTransRestrictions ( TransInfo * t)

Definition at line 58 of file transform_generics.cc.

References TransInfo::flag.

Referenced by transformEvent().

◆ restoreElement()

◆ restoreTransObjects()

◆ t_around_get()

◆ t_view_get()

static void * t_view_get ( TransInfo * t)
static

◆ transdata_center_global_get()

static bool transdata_center_global_get ( const TransDataContainer * tc,
const TransDataBasic * td_basic,
float r_vec[3] )
static

◆ transdata_restore_basic()

static void transdata_restore_basic ( TransDataBasic * td_basic)
static

Definition at line 833 of file transform_generics.cc.

References copy_v3_v3().

Referenced by restoreElement(), and restoreTransObjects().

◆ transform_data_ext_rotate()

◆ transform_object_deform_pose_armature_get()

◆ transformViewUpdate()