Blender
V3.3
|
#include <math.h>
#include "MEM_guardedalloc.h"
#include "DNA_gpencil_types.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_rand.h"
#include "PIL_time.h"
#include "BLT_translation.h"
#include "RNA_access.h"
#include "GPU_immediate.h"
#include "GPU_matrix.h"
#include "BKE_context.h"
#include "BKE_layer.h"
#include "BKE_mask.h"
#include "BKE_modifier.h"
#include "BKE_paint.h"
#include "SEQ_transform.h"
#include "ED_clip.h"
#include "ED_image.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "ED_space_api.h"
#include "ED_uvedit.h"
#include "WM_api.h"
#include "WM_types.h"
#include "UI_resources.h"
#include "UI_view2d.h"
#include "SEQ_sequencer.h"
#include "transform.h"
#include "transform_convert.h"
#include "transform_mode.h"
#include "transform_orientations.h"
#include "transform_snap.h"
Go to the source code of this file.
Definition at line 791 of file transform_generics.c.
References copy_v3_v3(), data, TransDataContainer::data, TransDataContainer::data_len, TransData::ext, TransDataExtension::irot, TransDataExtension::isize, recalcData(), TransDataExtension::rot, TransDataExtension::size, t, and TRANS_DATA_CONTAINER_FIRST_SINGLE.
Definition at line 1162 of file transform_generics.c.
References calculateCenter2D(), calculateCenter_FromAround(), calculateCenterLocal(), calculateZfac(), copy_v3_v3(), CTX_CAMERA, CTX_OBJECT, normalize_v3(), projectFloatView(), RGN_TYPE_WINDOW, SPACE_VIEW3D, t, T_OVERRIDE_CENTER, and TFM_TRANSLATION.
Referenced by calculateTransformCenter(), and initTransform().
Definition at line 883 of file transform_generics.c.
References BLI_assert, is_zero_v3(), projectFloatView(), and t.
Referenced by calculateCenter(), setTransformViewMatrices(), and tranformViewUpdate().
Definition at line 1098 of file transform_generics.c.
References calculateCenterActive(), calculateCenterBound(), calculateCenterCursor(), calculateCenterCursor2D(), calculateCenterCursorGraph2D(), calculateCenterMedian(), ELEM, SPACE_CLIP, SPACE_GRAPH, SPACE_IMAGE, SPACE_SEQ, t, V3D_AROUND_ACTIVE, V3D_AROUND_CENTER_BOUNDS, V3D_AROUND_CENTER_MEDIAN, V3D_AROUND_CURSOR, and V3D_AROUND_LOCAL_ORIGINS.
Referenced by calculateCenter().
select_only | only get active center from data being transformed. |
Definition at line 1055 of file transform_generics.c.
References PaintCurve::add_index, BASACT, BASE_SELECTED, PaintCurvePoint::bez, BKE_paint_get_active(), Paint::brush, copy_v3_v3(), CTX_PAINT_CURVE, CTX_POSE_BONE, ED_object_calc_active_center_for_editmode(), ED_object_calc_active_center_for_posemode(), Base::flag, mul_m4_v3(), OBACT, TransDataContainer::obedit, Object::obmat, Brush::paint_curve, PaintCurve::points, SPACE_VIEW3D, t, TRANS_DATA_CONTAINER_FIRST_OK, and BezTriple::vec.
Referenced by calculateCenter_FromAround(), and TargetSnapActive().
Definition at line 1030 of file transform_generics.c.
References center, FOREACH_TRANS_DATA_CONTAINER, INIT_MINMAX, max, mid_v3_v3v3(), min, minmax_v3v3_v3(), t, and transdata_center_global_get().
Referenced by calculateCenter_FromAround().
Definition at line 903 of file transform_generics.c.
References copy_v3_v3(), CTX_PAINT_CURVE, ED_view3d_project_float_global(), t, V3D_PROJ_RET_OK, and V3D_PROJ_TEST_NOP.
Referenced by calculateCenter_FromAround(), and initBend().
Definition at line 919 of file transform_generics.c.
References BKE_mask_coord_from_image(), BKE_mask_coord_from_movieclip(), BLI_assert_msg, SpaceClip::clip, CTX_MASK, CTX_PAINT_CURVE, SpaceSeq::cursor, SpaceImage::cursor, SpaceClip::cursor, SpaceImage::image, SpaceImage::iuser, NULL, SEQ_image_preview_unit_to_px(), SPACE_CLIP, SPACE_IMAGE, SPACE_SEQ, t, UI_view2d_view_to_region_x(), UI_view2d_view_to_region_y(), and SpaceClip::user.
Referenced by calculateCenter_FromAround().
Definition at line 970 of file transform_generics.c.
References RenderData::cfra, SpaceGraph::cursorTime, SpaceGraph::cursorVal, float(), if(), SpaceGraph::mode, Scene::r, scene, SIPO_MODE_DRIVERS, and t.
Referenced by calculateCenter_FromAround().
Definition at line 889 of file transform_generics.c.
References copy_v3_v3(), FOREACH_TRANS_DATA_CONTAINER, mul_v3_m4v3(), and t.
Referenced by calculateCenter(), initBend(), and setTransformViewMatrices().
Definition at line 1004 of file transform_generics.c.
References add_v3_v3(), center, copy_v3_v3(), FOREACH_TRANS_DATA_CONTAINER, mul_v3_fl(), t, and transdata_center_global_get().
Referenced by calculateCenter_FromAround().
Definition at line 1238 of file transform_generics.c.
References BLI_rng_get_float(), BLI_rng_new(), BLI_strncpy(), TransData::dist, TransData::factor, FOREACH_TRANS_DATA_CONTAINER, IFACE_, N_, NULL, PIL_check_seconds_timer_i(), PROP_CONST, PROP_INVSQUARE, PROP_LIN, PROP_RANDOM, PROP_ROOT, PROP_SHARP, PROP_SMOOTH, PROP_SPHERE, TransData::rdist, restoreElement(), sqrtf, t, T_PROP_CONNECTED, T_PROP_EDIT, TD_NOTCONNECTED, TD_SELECTED, and UINT_MAX.
Referenced by initTransform(), and transformEvent().
Definition at line 1135 of file transform_generics.c.
References BLI_rctf_size_x(), BLI_rcti_size_x(), View2D::cur, ED_view3d_calc_zfac(), float(), View2D::mask, RGN_TYPE_WINDOW, SPACE_IMAGE, SPACE_VIEW3D, t, and SpaceImage::zoom.
Referenced by calculateCenter(), and tranformViewUpdate().
void drawLine | ( | TransInfo * | t, |
const float | center[3], | ||
const float | dir[3], | ||
char | axis, | ||
short | options | ||
) |
Definition at line 58 of file transform_generics.c.
References add_v3_v3v3(), BLI_rctf_size_x(), BLI_rctf_size_y(), center, View3D::clip_end, col, copy_v3_v3(), View2D::cur, DRAWLIGHT, ELEM, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_matrix_pop(), GPU_matrix_push(), GPU_PRIM_LINES, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniformColor3ubv(), immVertex3fv(), immVertexFormat(), max_ff(), mul_v3_fl(), options, pos, SPACE_SEQ, SPACE_VIEW3D, sub_v3_v3v3(), t, TH_GRID, UI_GetThemeColor3ubv(), UI_make_axis_color(), v1, and v2.
Referenced by drawConstraint(), and drawObjectConstraint().
|
static |
Definition at line 686 of file transform_generics.c.
References BLI_assert, TransCustomData::data, TransCustomData::free_cb, MEM_freeN, NULL, t, and TransCustomData::use_free.
Referenced by freeTransCustomDataContainer(), and freeTransCustomDataForMode().
|
static |
Definition at line 702 of file transform_generics.c.
References TransCustomDataContainer::first_elem, freeTransCustomData(), t, and TRANS_CUSTOM_DATA_ELEM_MAX.
Referenced by postTrans().
Needed for mode switching.
Definition at line 712 of file transform_generics.c.
References FOREACH_TRANS_DATA_CONTAINER, freeTransCustomData(), NULL, and t.
Referenced by resetTransModal().
void initTransInfo | ( | bContext * | C, |
TransInfo * | t, | ||
wmOperator * | op, | ||
const wmEvent * | event | ||
) |
Definition at line 175 of file transform_generics.c.
References bScreen::animtimer, blender::compositor::area(), AUTO_MERGE, AUTO_MERGE_AND_SPLIT, BIF_countTransformOrientation(), BKE_paint_get_active_from_context(), BLI_assert, Paint::brush, BRUSH_CURVE, C, CON_APPLY, CON_AXIS0, CON_AXIS1, CON_AXIS2, copy_v2_v2_int(), copy_v4_v4(), CTX_CURSOR, CTX_data_depsgraph_pointer(), CTX_data_gpencil_data(), 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(), ED_screen_animation_playing(), ED_space_clip_check_show_maskedit(), ED_space_clip_check_show_trackedit(), ED_space_image_show_uvedit(), ELEM, Brush::flag, GPENCIL_EDIT_MODE, HLP_NONE, if(), ToolSettings::imapaint, TransformOrientationSlot::index_custom, initNumInput(), ISMOUSE_BUTTON, MEM_callocN, Object::mode, SpaceImage::mode, mul_v3_v3(), wmEvent::mval, NULL, OB_MESH, OB_MODE_ALL_PAINT, OB_MODE_EDIT, OB_MODE_EDIT_GPENCIL, OB_MODE_OBJECT, OBACT, ImagePaintSettings::paint, PROP_EDIT_CONNECTED, PROP_EDIT_PROJECTED, PROP_EDIT_USE, ToolSettings::prop_mode, ToolSettings::proportional_action, ToolSettings::proportional_edit, ToolSettings::proportional_fcurve, ToolSettings::proportional_mask, ToolSettings::proportional_objects, ToolSettings::proportional_size, wmOperator::ptr, ARegion::regiontype, 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, SET_FLAG_FROM_TEST, setTransformViewAspect(), setTransformViewMatrices(), SI_MODE_MASK, SI_MODE_PAINT, SPACE_ACTION, SPACE_CLIP, SPACE_EMPTY, SPACE_GRAPH, SPACE_IMAGE, SPACE_NODE, SPACE_SEQ, SPACE_VIEW3D, t, T_ALT_TRANSFORM, t_around_get(), T_AUTOMERGE, T_AUTOSPLIT, 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_RESIZE, TFM_ROTATION, TFM_SHRINKFATTEN, TFM_TRACKBALL, Scene::toolsettings, transdata_check_local_islands(), transform_orientation_matrix_get(), transform_orientations_current_set(), TREDRAW_HARD, type, Object::type, TransformOrientationSlot::type, unit_m3(), USER_RELEASECONFIRM, UVCALC_TRANSFORM_CORRECT_SLIDE, V3D_AROUND_LOCAL_ORIGINS, V3D_ORIENT_CUSTOM, V3D_ORIENT_CUSTOM_MATRIX, V3D_ORIENT_GLOBAL, V3D_ORIENT_LOCAL, WM_event_drag_start_mval(), zero_v2_int(), and zero_v3().
Here I would suggest only TransInfo related issues, like free data & reset vars. Not redraws.
Definition at line 720 of file transform_generics.c.
References Freestyle::a, BLI_freelistN(), BLI_rng_free(), C, CTX_MASK, CTX_PAINT_CURVE, CTX_wm_window(), ED_region_draw_cb_exit(), ED_uvedit_live_unwrap_end(), ELEM, SpaceImage::flag, FOREACH_TRANS_DATA_CONTAINER, freeSnapping(), freeTransCustomDataContainer(), TransData::hdata, MEM_freeN, MEM_SAFE_FREE, NULL, OB_CURVES_LEGACY, OB_GPENCIL, OB_SURF, SI_LIVE_UNWRAP, SPACE_GRAPH, SPACE_IMAGE, t, T_MODAL_CURSOR_SET, TD_BEZTRIPLE, TRANS_CANCEL, WM_cursor_modal_restore(), and WM_paint_cursor_end().
Referenced by calculateTransformCenter(), initTransform(), and transformEnd().
Free data before switching to another mode.
Definition at line 112 of file transform_generics.c.
References freeTransCustomDataForMode(), and t.
Referenced by transformEvent().
Definition at line 117 of file transform_generics.c.
References t, and T_ALL_RESTRICTIONS.
Referenced by transformEvent().
Definition at line 817 of file transform_generics.c.
References copy_qt_qt(), copy_v3_v3(), TransData::ext, TransDataCurveHandleFlags::h1, TransDataCurveHandleFlags::h2, TransData::hdata, TransDataCurveHandleFlags::ih1, TransDataCurveHandleFlags::ih2, TransDataExtension::iquat, TransDataExtension::irot, TransDataExtension::irotAngle, TransDataExtension::irotAxis, TransDataExtension::isize, TransData::ival, TransDataExtension::quat, TransDataExtension::rot, TransDataExtension::rotAngle, TransDataExtension::rotAxis, TransDataExtension::size, TD_BEZTRIPLE, TD_NO_EXT, transdata_restore_basic(), and TransData::val.
Referenced by calculatePropRatio(), and restoreTransObjects().
Definition at line 850 of file transform_generics.c.
References data, FOREACH_TRANS_DATA_CONTAINER, TransData2D::h1, TransData2D::h2, TransData2D::ih1, TransData2D::ih2, recalcData(), restoreElement(), t, transdata_restore_basic(), and unit_m3().
Referenced by transformEnd(), and transformEvent().
|
static |
Definition at line 134 of file transform_generics.c.
References blender::compositor::area(), SpaceGraph::around, SpaceImage::around, SpaceClip::around, RGN_TYPE_PREVIEW, SEQ_tool_settings_pivot_point_get(), SPACE_CLIP, SPACE_GRAPH, SPACE_IMAGE, SPACE_SEQ, SPACE_VIEW3D, t, T_OVERRIDE_CENTER, TFM_BEND, V3D_AROUND_CENTER_BOUNDS, and V3D_AROUND_CURSOR.
Referenced by initTransInfo().
Definition at line 122 of file transform_generics.c.
References NULL, SPACE_VIEW3D, and t.
Referenced by initTransInfo().
Definition at line 1201 of file transform_generics.c.
References ARRAY_SIZE, calculateCenter2D(), calculateZfac(), copy_m3_m3(), copy_m3_m4(), invert_m3_m3_safe_ortho(), len_v3(), normalize_m3(), RGN_TYPE_WINDOW, setTransformViewMatrices(), SPACE_VIEW3D, t, transform_input_update(), and V3D_ORIENT_VIEW.
Referenced by flushTransNodes().
|
static |
Definition at line 986 of file transform_generics.c.
References copy_v3_v3(), TransDataContainer::mat, mul_v3_m4v3(), TD_NOCENTER, TD_SELECTED, and TransDataContainer::use_local_mat.
Referenced by calculateCenterBound(), and calculateCenterMedian().
|
static |
Definition at line 809 of file transform_generics.c.
References copy_v3_v3().
Referenced by restoreElement(), and restoreTransObjects().
Rotate an element, low level code, ignore protected channels. (use for objects or pose-bones) Similar to ElementRotation.
Definition at line 1358 of file transform_generics.c.
References angle(), axis_angle_to_mat3(), copy_qt_qt(), copy_v3_v3(), TransDataExtension::dquat, TransDataExtension::drot, eulO_to_mat3(), TransData::ext, invert_m3_m3(), TransDataExtension::iquat, TransDataExtension::irot, TransDataExtension::irotAngle, TransDataExtension::irotAxis, mat3_to_axis_angle(), mat3_to_compatible_eulO(), mat3_to_quat(), TransData::mtx, mul_m3_m3m3(), normalize_qt_qt(), TransDataExtension::quat, quat_to_mat3(), TransDataExtension::rot, ROT_MODE_AXISANGLE, ROT_MODE_QUAT, TransDataExtension::rotAngle, TransDataExtension::rotAxis, TransDataExtension::rotOrder, TransData::smtx, and unit_m3().
Referenced by applyFaceProject().
Definition at line 1458 of file transform_generics.c.
References BASE_VISIBLE, BKE_modifiers_is_deformed_by_armature(), BKE_view_layer_base_find(), Object::mode, NULL, OB_MODE_ALL_WEIGHT_PAINT, OB_MODE_POSE, and t.
Referenced by convert_type_get(), and transform_orientation_matrix_get().