Blender
V3.3
|
#include "DNA_gpencil_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_curve.h"
#include "BKE_gpencil.h"
#include "BKE_gpencil_curve.h"
#include "BKE_gpencil_geom.h"
#include "ED_gpencil.h"
#include "ED_keyframing.h"
#include "transform.h"
#include "transform_convert.h"
Go to the source code of this file.
Macros | |
#define | SEL_F1 (1 << 0) |
#define | SEL_F2 (1 << 1) |
#define | SEL_F3 (1 << 2) |
#define | SEL_ALL ((1 << 0) | (1 << 1) | (1 << 2)) |
#define | SEL_F1 (1 << 0) |
#define | SEL_F2 (1 << 1) |
#define | SEL_F3 (1 << 2) |
Functions | |
Gpencil Transform Creation | |
static void | createTransGPencil_center_get (bGPDstroke *gps, float r_center[3]) |
static short | get_bezt_sel_triple_flag (BezTriple *bezt, const bool handles_visible) |
static void | createTransGPencil_curves (bContext *C, TransInfo *t, Depsgraph *depsgraph, ToolSettings *ts, Object *obact, bGPdata *gpd, const int cfra_scene, const bool is_multiedit, const bool use_multiframe_falloff, const bool is_prop_edit, const bool is_prop_edit_connected, const bool is_scale_thickness) |
static void | createTransGPencil_strokes (bContext *C, TransInfo *t, Depsgraph *depsgraph, ToolSettings *ts, Object *obact, bGPdata *gpd, const int cfra_scene, const bool is_multiedit, const bool use_multiframe_falloff, const bool is_prop_edit, const bool is_prop_edit_connected, const bool is_scale_thickness) |
static void | createTransGPencil (bContext *C, TransInfo *t) |
static void | recalcData_gpencil_strokes (TransInfo *t) |
Variables | |
TransConvertTypeInfo | TransConvertType_GPencil |
#define SEL_ALL ((1 << 0) | (1 << 1) | (1 << 2)) |
#define SEL_F1 (1 << 0) |
#define SEL_F1 (1 << 0) |
#define SEL_F2 (1 << 1) |
#define SEL_F2 (1 << 1) |
#define SEL_F3 (1 << 2) |
#define SEL_F3 (1 << 2) |
Definition at line 675 of file transform_convert_gpencil.c.
References BKE_curvemapping_init(), BLI_assert, bool, C, RenderData::cfra, createTransGPencil_curves(), createTransGPencil_strokes(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_scene(), GP_Sculpt_Settings::cur_falloff, Object::data, depsgraph, GP_Sculpt_Settings::flag, ToolSettings::gp_sculpt, GP_SCULPT_SETT_FLAG_FRAME_FALLOFF, GP_SCULPT_SETT_FLAG_SCALE_THICKNESS, GPENCIL_CURVE_EDIT_SESSIONS_ON, GPENCIL_MULTIEDIT_SESSIONS_ON, NULL, OBACT, Scene::r, scene, t, T_PROP_CONNECTED, T_PROP_EDIT, TFM_GPENCIL_SHRINKFATTEN, and Scene::toolsettings.
|
static |
Definition at line 33 of file transform_convert_gpencil.c.
References add_v3_v3(), bGPDspoint::flag, GP_SPOINT_SELECT, mul_v3_fl(), bGPDstroke::points, bGPDspoint::x, and zero_v3().
Referenced by createTransGPencil_strokes().
|
static |
Definition at line 82 of file transform_convert_gpencil.c.
References TransData::axismtx, bGPDcurve_point::bezt, BKE_gpencil_editcurve_recalculate_handles(), BKE_gpencil_frame_addcopy(), BKE_gpencil_frame_range_selected(), BKE_gpencil_layer_is_editable(), BKE_gpencil_layer_transform_matrix_get(), BKE_gpencil_multiframe_falloff_calc(), BKE_nurb_bezt_handle_test(), C, calc_distanceCurveVerts(), copy_m3_m3(), copy_m3_m4(), copy_v3_v3(), CTX_data_scene(), GP_Sculpt_Settings::cur_falloff, CURVE_HANDLE_ALL, CURVE_HANDLE_SELECTED, bGPDcurve::curve_points, TransDataContainer::data, TransDataContainer::data_len, depsgraph, ED_gpencil_stroke_can_use(), ED_gpencil_stroke_material_editable(), ELEM, TransData::ext, BezTriple::f2, bGPDcurve_point::flag, get_bezt_sel_triple_flag(), GP_CURVE_POINT_SELECT, GP_FRAME_SELECT, GP_LAYER_FRAMELOCK, ToolSettings::gp_sculpt, GP_STROKE_CYCLIC, View3DOverlay::handle_display, BezTriple::hide, initTransDataCurveHandles(), IS_AUTOKEY_ON, is_cyclic(), TransData::ival, bGPdata::layers, LISTBASE_FOREACH, MEM_callocN, TransData::mtx, bGPDframe::next, NULL, TransData::ob, View3D::overlay, bGPDcurve_point::pressure, PSEUDOINVERSE_EPSILON, pseudoinverse_m3_m3(), scene, SEL_F1, SEL_F2, SEL_F3, SELECT, TransData::smtx, bGPDcurve_point::strength, t, TD_SELECTED, TFM_GPENCIL_OPACITY, TFM_GPENCIL_SHRINKFATTEN, TFM_MIRROR, bGPDcurve::tot_curve_points, TRANS_DATA_CONTAINER_FIRST_SINGLE, transform_around_single_fallback_ex(), transform_mode_use_local_origins(), V3D_AROUND_LOCAL_ORIGINS, TransData::val, and BezTriple::vec.
Referenced by createTransGPencil().
|
static |
Definition at line 381 of file transform_convert_gpencil.c.
References TransData::axismtx, BKE_gpencil_frame_addcopy(), BKE_gpencil_frame_range_selected(), BKE_gpencil_layer_is_editable(), BKE_gpencil_layer_transform_matrix_get(), BKE_gpencil_multiframe_falloff_calc(), C, calc_distanceCurveVerts(), center, copy_m3_m3(), copy_m3_m4(), copy_v3_v3(), createTransGPencil_center_get(), CTX_data_scene(), GP_Sculpt_Settings::cur_falloff, TransDataContainer::data, TransDataContainer::data_len, depsgraph, ED_gpencil_stroke_can_use(), ED_gpencil_stroke_material_editable(), ListBase::first, bGPDspoint::flag, bGPDstroke::flag, bGPDframe::flag, GP_FRAME_SELECT, GP_LAYER_FRAMELOCK, ToolSettings::gp_sculpt, GP_SPOINT_SELECT, GP_STROKE_2DIMAGE, GP_STROKE_2DSPACE, GP_STROKE_3DSPACE, GP_STROKE_SELECT, invert_m3_m3_safe_ortho(), IS_AUTOKEY_ON, TransData::ival, bGPdata::layers, LISTBASE_FOREACH, MEM_callocN, TransData::mtx, bGPDstroke::next, bGPDframe::next, NULL, TransData::ob, OB_LOCK_LOCZ, OB_LOCK_ROTZ, OB_LOCK_SCALEZ, bGPDstroke::points, bGPDspoint::pressure, TransData::protectflag, bGPDspoint::runtime, scene, TransData::smtx, bGPDspoint::strength, bGPDframe::strokes, t, TD_SELECTED, TFM_GPENCIL_OPACITY, TFM_MIRROR, bGPDstroke::totpoints, TRANS_DATA_CONTAINER_FIRST_SINGLE, ToolSettings::transform_pivot_point, unit_m3(), V3D_AROUND_LOCAL_ORIGINS, TransData::val, and bGPDspoint::x.
Referenced by createTransGPencil().
Definition at line 52 of file transform_convert_gpencil.c.
References ELEM, BezTriple::f1, BezTriple::f2, BezTriple::f3, BezTriple::h1, BezTriple::h2, HD_ALIGN, HD_AUTO, SEL_ALL, SEL_F1, SEL_F2, SEL_F3, and SELECT.
Referenced by createTransGPencil_curves().
Definition at line 740 of file transform_convert_gpencil.c.
References BKE_gpencil_editcurve_recalculate_handles(), BKE_gpencil_stroke_geometry_update(), BLI_ghash_free(), BLI_ghash_haskey(), BLI_ghash_insert(), BLI_ghash_ptr_new(), bool, TransDataContainer::data, Object::data, TransDataContainer::data_len, bGPDstroke::editcurve, bGPDstroke::flag, GP_STROKE_NEEDS_CURVE_UPDATE, GPENCIL_CURVE_EDIT_SESSIONS_ON, NULL, TransData::ob, t, and TRANS_DATA_CONTAINER_FIRST_SINGLE.
TransConvertTypeInfo TransConvertType_GPencil |
Definition at line 766 of file transform_convert_gpencil.c.
Referenced by convert_type_get(), init_proportional_edit(), and init_TransDataContainers().