|
Blender
V2.93
|
#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 "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 "transform.h"#include "transform_mode.h"#include "transform_orientations.h"#include "transform_snap.h"Go to the source code of this file.
| void applyTransObjects | ( | TransInfo * | t | ) |
Definition at line 767 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.
| void calculateCenter | ( | TransInfo * | t | ) |
Definition at line 1108 of file transform_generics.c.
References calculateCenter2D(), calculateCenter_FromAround(), calculateCenterLocal(), copy_v3_v3(), CTX_CAMERA, CTX_OBJECT, ED_view3d_calc_zfac(), normalize_v3(), NULL, projectFloatView(), RGN_TYPE_WINDOW, SPACE_VIEW3D, t, T_OVERRIDE_CENTER, and TFM_TRANSLATION.
Referenced by calculateTransformCenter(), and initTransform().
| void calculateCenter2D | ( | TransInfo * | t | ) |
Definition at line 859 of file transform_generics.c.
References BLI_assert, is_zero_v3(), projectFloatView(), and t.
Referenced by calculateCenter(), and setTransformViewMatrices().
Definition at line 1071 of file transform_generics.c.
References calculateCenterActive(), calculateCenterBound(), calculateCenterCursor(), calculateCenterCursor2D(), calculateCenterCursorGraph2D(), calculateCenterMedian(), ELEM, SPACE_CLIP, SPACE_GRAPH, SPACE_IMAGE, 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 1028 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 1000 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 879 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 895 of file transform_generics.c.
References BKE_mask_coord_from_image(), BKE_mask_coord_from_movieclip(), BLI_assert, SpaceClip::clip, CTX_MASK, CTX_PAINT_CURVE, SpaceImage::cursor, SpaceClip::cursor, SpaceImage::image, SpaceImage::iuser, NULL, SPACE_CLIP, SPACE_IMAGE, t, UI_view2d_view_to_region_x(), UI_view2d_view_to_region_y(), and SpaceClip::user.
Referenced by calculateCenter_FromAround().
Definition at line 940 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 865 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 974 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().
| void calculatePropRatio | ( | TransInfo * | t | ) |
Definition at line 1161 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().
| void drawLine | ( | TransInfo * | t, |
| const float | center[3], | ||
| const float | dir[3], | ||
| char | axis, | ||
| short | options | ||
| ) |
Definition at line 69 of file transform_generics.c.
References add_v3_v3v3(), center, View3D::clip_end, col, copy_v3_v3(), DRAWLIGHT, 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(), mul_v3_fl(), options, pos, 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 649 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 665 of file transform_generics.c.
References TransCustomDataContainer::first_elem, freeTransCustomData(), t, and TRANS_CUSTOM_DATA_ELEM_MAX.
Referenced by postTrans().
| void freeTransCustomDataForMode | ( | TransInfo * | t | ) |
Needed for mode switching.
Definition at line 678 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 | ||
| ) |
Setup internal data, mouse, vectors
Definition at line 129 of file transform_generics.c.
References bScreen::animtimer, blender::compositor::area(), SpaceGraph::around, SpaceImage::around, SpaceClip::around, 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_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_MIRROR, CTX_NO_PET, CTX_PAINT_CURVE, 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, View3D::gizmo_flag, GPENCIL_EDIT_MODE, HLP_NONE, if(), ToolSettings::imapaint, TransformOrientationSlot::index_custom, initNumInput(), is_zero_v4(), ISMOUSE, 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, wmOperator::reports, RGN_TYPE_WINDOW, RNA_boolean_get(), RNA_float_get(), RNA_float_get_array(), 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_VIEW3D, t, T_ALT_TRANSFORM, T_AUTOMERGE, T_AUTOSPLIT, T_INPUT_IS_VALUES_FINAL, T_MODAL, T_NO_MIRROR, T_OVERRIDE_CENTER, T_PROP_CONNECTED, T_PROP_EDIT, T_PROP_PROJECTED, T_RELEASE_CONFIRM, T_V3D_ALIGN, TFM_BEND, TFM_BWEIGHT, TFM_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, Object::type, TransformOrientationSlot::type, unit_m3(), USER_RELEASECONFIRM, UVCALC_TRANSFORM_CORRECT_SLIDE, ARegion::v2d, V3D_AROUND_CENTER_BOUNDS, V3D_AROUND_CURSOR, V3D_AROUND_LOCAL_ORIGINS, V3D_GIZMO_HIDE, V3D_ORIENT_CUSTOM, V3D_ORIENT_CUSTOM_MATRIX, V3D_ORIENT_GLOBAL, V3D_ORIENT_LOCAL, zero_v2_int(), and zero_v3().
Definition at line 687 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(), View3D::gizmo_flag, TransData::hdata, MEM_freeN, MEM_SAFE_FREE, NULL, OB_CURVE, OB_GPENCIL, OB_SURF, SI_LIVE_UNWRAP, SPACE_GRAPH, SPACE_IMAGE, SPACE_VIEW3D, t, T_MODAL, T_MODAL_CURSOR_SET, TD_BEZTRIPLE, TRANS_CANCEL, WM_cursor_modal_restore(), and WM_paint_cursor_end().
Referenced by calculateTransformCenter(), initTransform(), and transformEnd().
| void resetTransModal | ( | TransInfo * | t | ) |
Free data before switching to another mode.
Definition at line 112 of file transform_generics.c.
References freeTransCustomDataForMode(), and t.
Referenced by transformEvent().
| void resetTransRestrictions | ( | TransInfo * | t | ) |
Definition at line 117 of file transform_generics.c.
References t, and T_ALL_RESTRICTIONS.
Referenced by transformEvent().
|
static |
Definition at line 793 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().
| void restoreTransObjects | ( | TransInfo * | t | ) |
Definition at line 826 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 956 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 785 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 1286 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 applyProject().
Definition at line 1386 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().