106 quat[0] = oldquat[0];
109 quat[1] = oldquat[1];
112 quat[2] = oldquat[2];
115 quat[3] = oldquat[3];
120 float eul[3], oldeul[3], nquat[4], noldquat[4];
145 if ((nquat[0] < 0.0f && quat[0] > 0.0f) || (nquat[0] > 0.0f && quat[0] < 0.0f)) {
169 short protectflag,
float axis[3],
float *angle,
const float oldAxis[3],
float oldAngle)
182 axis[0] = oldAxis[0];
185 axis[1] = oldAxis[1];
188 axis[2] = oldAxis[2];
193 float eul[3], oldeul[3];
212 if (
IS_EQF(axis[0], axis[1]) &&
IS_EQF(axis[1], axis[2])) {
258 for (con = td->
con; con; con = con->
next) {
260 ListBase targets = {
nullptr,
nullptr};
362 bool do_limit =
false;
365 for (con = td->
con; con; con = con->
next) {
389 if (do_limit ==
false) {
435 float size_sign[3], size_abs[3];
453 for (i = 0; i < 3; i++) {
461 for (con = td->
con; con; con = con->
next) {
547 IFACE_(
"Rotation: %.2f%s %s"),
562 const float mat[3][3],
565 float vec[3], totmat[3][3], smat[3][3];
566 float eul[3], fmat[3][3], quat[4];
578 float ident_mat[3][3];
674 float iquat[4], tquat[4];
763 float iquat[4], tquat[4];
817 const float mat[3][3],
865 IFACE_(
"Scale: %s : %s%s %s"),
874 IFACE_(
"Scale: %s : %s : %s%s %s"),
887 IFACE_(
"Scale X: %s Y: %s%s %s"),
896 IFACE_(
"Scale X: %s Y: %s Z: %s%s %s"),
916static void TransMat3ToSize(
const float mat[3][3],
const float smat[3][3],
float size[3])
923 if (
dot_v3v3(rmat[0], smat[0]) < 0.0f) {
926 if (
dot_v3v3(rmat[1], smat[1]) < 0.0f) {
929 if (
dot_v3v3(rmat[2], smat[2]) < 0.0f) {
937 const float mat[3][3])
939 float tmat[3][3], smat[3][3], center[3];
980 float obsizemat[3][3];
996 *td->val = td->ival * (1 + (fsize[0] - 1) * td->
factor);
1005 *td->val = td->ival;
1055 float values_final_evil[4];
1060 float ratio = values_final_evil[0];
1061 float transformed_value = td->ival *
fabs(ratio);
1072 float values_final_evil[4];
1077 float ratio = values_final_evil[0];
1078 float transformed_value = td->ival *
fabs(ratio);
1079 *td->val = transformed_value;
void BKE_constraint_custom_object_space_init(struct bConstraintOb *cob, struct bConstraint *con)
void BKE_constraint_targets_for_solving_get(struct Depsgraph *depsgraph, struct bConstraint *con, struct bConstraintOb *ob, struct ListBase *targets, float ctime)
const bConstraintTypeInfo * BKE_constraint_typeinfo_from_type(int type)
Object * CTX_data_active_object(const bContext *C)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
MINLINE float max_ff(float a, float b)
MINLINE float interpf(float target, float origin, float t)
MINLINE float signf(float f)
void mul_m3_v3(const float M[3][3], float r[3])
void copy_m3_m3(float m1[3][3], const float m2[3][3])
void unit_m3(float m[3][3])
void mat3_to_rot_size(float rot[3][3], float size[3], const float mat3[3][3])
void unit_m4(float m[4][4])
void size_to_mat4(float R[4][4], const float size[3])
void interp_m3_m3m3(float R[3][3], const float A[3][3], const float B[3][3], float t)
void mat4_to_size(float size[3], const float M[4][4])
#define mul_m3_series(...)
void mul_m3_m3m3(float R[3][3], const float A[3][3], const float B[3][3])
void mat3_to_size(float size[3], const float M[3][3])
void mul_m4_m3m4(float R[4][4], const float A[3][3], const float B[4][4])
void mul_mat3_m4_v3(const float mat[4][4], float r[3])
void sub_eul_euleul(float r_eul[3], float a[3], float b[3], short order)
void axis_angle_to_quat(float r[4], const float axis[3], float angle)
void quat_to_mat3(float m[3][3], const float q[4])
void mat3_to_quat(float q[4], const float mat[3][3])
void eulO_to_axis_angle(float axis[3], float *angle, const float eul[3], short order)
void quat_to_mat4(float m[4][4], const float q[4])
void mul_qt_fl(float q[4], float f)
void eul_to_quat(float quat[4], const float eul[3])
void axis_angle_to_mat4(float R[4][4], const float axis[3], float angle)
void eulO_to_mat4(float mat[4][4], const float e[3], short order)
void mat4_to_axis_angle(float axis[3], float *angle, const float mat[4][4])
void quat_to_eul(float eul[3], const float quat[4])
float normalize_qt_qt(float r[4], const float q[4])
void invert_qt_qt_normalized(float q1[4], const float q2[4])
void mat4_to_eulO(float eul[3], short order, const float m[4][4])
void mul_qt_qtqt(float q[4], const float a[4], const float b[4])
void quat_to_axis_angle(float axis[3], float *angle, const float q[4])
void axis_angle_to_eulO(float eul[3], short order, const float axis[3], float angle)
void mat4_to_quat(float q[4], const float mat[4][4])
void mat3_to_compatible_eulO(float eul[3], const float oldrot[3], short order, const float mat[3][3])
void eulO_to_mat3(float M[3][3], const float e[3], short order)
void add_eul_euleul(float r_eul[3], float a[3], float b[3], short order)
MINLINE void copy_v4_v4(float r[4], const float a[4])
MINLINE void mul_v3_v3(float r[3], const float a[3])
MINLINE void sub_v3_v3(float r[3], const float a[3])
MINLINE bool is_zero_v4(const float v[4]) ATTR_WARN_UNUSED_RESULT
MINLINE void sub_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void mul_v3_fl(float r[3], float f)
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE float dot_v3v3(const float a[3], const float b[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void add_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE bool is_zero_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void add_v3_v3(float r[3], const float a[3])
size_t BLI_snprintf_rlen(char *__restrict dst, size_t dst_maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
size_t BLI_snprintf(char *__restrict dst, size_t dst_maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
@ CONSTRAINT_TYPE_ROTLIMIT
@ CONSTRAINT_TYPE_DISTLIMIT
@ CONSTRAINT_TYPE_LOCLIMIT
@ CONSTRAINT_TYPE_SIZELIMIT
@ V3D_AROUND_CENTER_BOUNDS
@ V3D_AROUND_LOCAL_ORIGINS
bool sequencer_retiming_mode_is_active(const bContext *C)
draw_view in_light_buf[] float
ccl_device_inline float2 fabs(const float2 a)
void(* applySize)(const TransInfo *t, const TransDataContainer *tc, const TransData *td, float r_smat[3][3])
struct TransInfo::@565 orient[3]
TransModeInfo * mode_info
bool is_orient_default_overwrite
TransConvertTypeInfo * data_type
void(* init_fn)(TransInfo *, wmOperator *)
void(* evaluate_constraint)(struct bConstraint *con, struct bConstraintOb *cob, struct ListBase *targets)
struct bConstraint * next
float multi_frame_falloff
bGPDstroke_Runtime runtime