55 td = tc->
data = MEM_cnew<TransData>(__func__);
56 td->
ext = tc->
data_ext = MEM_cnew<TransDataExtension>(__func__);
61 mul_m4_v3(ob.object_to_world().ptr(), td->center);
71 float obmat_inv[3][3];
72 copy_m3_m4(obmat_inv, ob.object_to_world().ptr());
114 sculpt_paint::update_modal_transform(t->
context, *ob);
129 sculpt_paint::end_transform(C, *ob);
Main * CTX_data_main(const bContext *C)
void BKE_view_layer_synced_ensure(const Scene *scene, ViewLayer *view_layer)
Object * BKE_view_layer_active_object_get(const ViewLayer *view_layer)
bool BKE_id_is_editable(const Main *bmain, const ID *id)
void BKE_report(ReportList *reports, eReportType type, const char *message)
void copy_m3_m3(float m1[3][3], const float m2[3][3])
void copy_m3_m4(float m1[3][3], const float m2[4][4])
void normalize_m3(float R[3][3]) ATTR_NONNULL()
void mul_m4_v3(const float M[4][4], float r[3])
void copy_m4_m4(float m1[4][4], const float m2[4][4])
bool invert_m3(float mat[3][3])
void copy_qt_qt(float q[4], const float a[4])
MINLINE bool is_zero_v4(const float v[4]) ATTR_WARN_UNUSED_RESULT
MINLINE void copy_v3_v3(float r[3], const float a[3])
Read Guarded memory(de)allocation.
struct SculptSession * sculpt
blender::float4 pivot_rot
blender::float3 pivot_pos
blender::float3 pivot_scale
blender::float3 init_pivot_scale
TransDataExtension * data_ext
TransDataContainer * data_container