[Bf-blender-cvs] [c676b021aca] temp-transform-conversions-split: Transform Move each `flushTrans...` to its respective file.

mano-wii noreply at git.blender.org
Thu Sep 5 15:48:55 CEST 2019


Commit: c676b021acaf5ec3556440c940a2560b3e3692a2
Author: mano-wii
Date:   Thu Sep 5 10:48:33 2019 -0300
Branches: temp-transform-conversions-split
https://developer.blender.org/rBc676b021acaf5ec3556440c940a2560b3e3692a2

Transform Move each `flushTrans...` to its respective file.

===================================================================

M	source/blender/editors/transform/transform.h
M	source/blender/editors/transform/transform_conversions.c
M	source/blender/editors/transform/transform_conversions.h
M	source/blender/editors/transform/transform_conversions_action.c
M	source/blender/editors/transform/transform_conversions_brush.c
M	source/blender/editors/transform/transform_conversions_graph.c
M	source/blender/editors/transform/transform_conversions_mask.c
M	source/blender/editors/transform/transform_conversions_mesh.c
M	source/blender/editors/transform/transform_conversions_node.c
M	source/blender/editors/transform/transform_conversions_particle.c
M	source/blender/editors/transform/transform_conversions_sequencer.c
M	source/blender/editors/transform/transform_conversions_tracking.c
M	source/blender/editors/transform/transform_ops.c

===================================================================

diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index 88bff208349..92db32fa836 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -918,26 +918,8 @@ bool gimbal_axis(struct Object *ob, float gmat[3][3]);
 void drawDial3d(const TransInfo *t);
 
 /*********************** TransData Creation and General Handling *********** */
-void createTransData(struct bContext *C, TransInfo *t);
-void sort_trans_data_dist(TransInfo *t);
-void special_aftertrans_update(struct bContext *C, TransInfo *t);
-int special_transform_moving(TransInfo *t);
-
 bool transdata_check_local_islands(TransInfo *t, short around);
 
-/* Auto-keyframe applied after transform, returns true if motion paths need to be updated. */
-void autokeyframe_object(struct bContext *C,
-                         struct Scene *scene,
-                         struct ViewLayer *view_layer,
-                         struct Object *ob,
-                         int tmode);
-void autokeyframe_pose(
-    struct bContext *C, struct Scene *scene, struct Object *ob, int tmode, short targetless_ik);
-
-/* Test if we need to update motion paths for a given object. */
-bool motionpath_need_update_object(struct Scene *scene, struct Object *ob);
-bool motionpath_need_update_pose(struct Scene *scene, struct Object *ob);
-
 /*********************** Constraints *****************************/
 
 void drawConstraint(TransInfo *t);
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 88079c46448..b16aefb513c 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -41,7 +41,7 @@
 #include "BKE_context.h"
 #include "BKE_fcurve.h"
 #include "BKE_global.h"
-//#include "BKE_gpencil.h"
+#include "BKE_gpencil.h"
 #include "BKE_layer.h"
 #include "BKE_key.h"
 #include "BKE_main.h"
@@ -713,311 +713,8 @@ TransDataCurveHandleFlags *initTransDataCurveHandles(TransData *td, struct BezTr
   return hdata;
 }
 
-/* ******************* particle edit **************** */
-
-void flushTransParticles(TransInfo *t)
-{
-  FOREACH_TRANS_DATA_CONTAINER (t, tc) {
-    Scene *scene = t->scene;
-    ViewLayer *view_layer = t->view_layer;
-    Object *ob = OBACT(view_layer);
-    PTCacheEdit *edit = PE_get_current(scene, ob);
-    ParticleSystem *psys = edit->psys;
-    PTCacheEditPoint *point;
-    PTCacheEditKey *key;
-    TransData *td;
-    float mat[4][4], imat[4][4], co[3];
-    int i, k;
-    const bool is_prop_edit = (t->flag & T_PROP_EDIT) != 0;
-
-    /* we do transform in world space, so flush world space position
-     * back to particle local space (only for hair particles) */
-    td = tc->data;
-    for (i = 0, point = edit->points; i < edit->totpoint; i++, point++, td++) {
-      if (!(point->flag & PEP_TRANSFORM)) {
-        continue;
-      }
-
-      if (psys && !(psys->flag & PSYS_GLOBAL_HAIR)) {
-        ParticleSystemModifierData *psmd_eval = edit->psmd_eval;
-        psys_mat_hair_to_global(
-            ob, psmd_eval->mesh_final, psys->part->from, psys->particles + i, mat);
-        invert_m4_m4(imat, mat);
-
-        for (k = 0, key = point->keys; k < point->totkey; k++, key++) {
-          copy_v3_v3(co, key->world_co);
-          mul_m4_v3(imat, co);
-
-          /* optimization for proportional edit */
-          if (!is_prop_edit || !compare_v3v3(key->co, co, 0.0001f)) {
-            copy_v3_v3(key->co, co);
-            point->flag |= PEP_EDIT_RECALC;
-          }
-        }
-      }
-      else {
-        point->flag |= PEP_EDIT_RECALC;
-      }
-    }
-
-    PE_update_object(t->depsgraph, scene, OBACT(view_layer), 1);
-    BKE_particle_batch_cache_dirty_tag(psys, BKE_PARTICLE_BATCH_DIRTY_ALL);
-    DEG_id_tag_update(&ob->id, ID_RECALC_PSYS_REDO);
-  }
-}
-
-/* *** NODE EDITOR *** */
-void flushTransNodes(TransInfo *t)
-{
-  const float dpi_fac = UI_DPI_FAC;
-
-  FOREACH_TRANS_DATA_CONTAINER (t, tc) {
-    int a;
-    TransData *td;
-    TransData2D *td2d;
-
-    applyGridAbsolute(t);
-
-    /* flush to 2d vector from internally used 3d vector */
-    for (a = 0, td = tc->data, td2d = tc->data_2d; a < tc->data_len; a++, td++, td2d++) {
-      bNode *node = td->extra;
-      float locx, locy;
-
-      /* weirdo - but the node system is a mix of free 2d elements and dpi sensitive UI */
-#ifdef USE_NODE_CENTER
-      locx = (td2d->loc[0] - (BLI_rctf_size_x(&node->totr)) * +0.5f) / dpi_fac;
-      locy = (td2d->loc[1] - (BLI_rctf_size_y(&node->totr)) * -0.5f) / dpi_fac;
-#else
-      locx = td2d->loc[0] / dpi_fac;
-      locy = td2d->loc[1] / dpi_fac;
-#endif
-
-      /* account for parents (nested nodes) */
-      if (node->parent) {
-        nodeFromView(node->parent, locx, locy, &node->locx, &node->locy);
-      }
-      else {
-        node->locx = locx;
-        node->locy = locy;
-      }
-    }
-
-    /* handle intersection with noodles */
-    if (tc->data_len == 1) {
-      ED_node_link_intersect_test(t->sa, 1);
-    }
-  }
-}
-
-/* *** SEQUENCE EDITOR *** */
-
-/* commented _only_ because the meta may have animation data which
- * needs moving too [#28158] */
-
-#define SEQ_TX_NESTED_METAS
-
-BLI_INLINE void trans_update_seq(Scene *sce, Sequence *seq, int old_start, int sel_flag)
-{
-  if (seq->depth == 0) {
-    /* Calculate this strip and all nested strips.
-     * Children are ALWAYS transformed first so we don't need to do this in another loop.
-     */
-    BKE_sequence_calc(sce, seq);
-  }
-  else {
-    BKE_sequence_calc_disp(sce, seq);
-  }
-
-  if (sel_flag == SELECT) {
-    BKE_sequencer_offset_animdata(sce, seq, seq->start - old_start);
-  }
-}
-
-void flushTransSeq(TransInfo *t)
-{
-  /* Editing null check already done */
-  ListBase *seqbasep = BKE_sequencer_editing_get(t->scene, false)->seqbasep;
-
-  int a, new_frame;
-  TransData *td = NULL;
-  TransData2D *td2d = NULL;
-  TransDataSeq *tdsq = NULL;
-  Sequence *seq;
-
-  TransDataContainer *tc = TRANS_DATA_CONTAINER_FIRST_SINGLE(t);
-
-  /* prevent updating the same seq twice
-   * if the transdata order is changed this will mess up
-   * but so will TransDataSeq */
-  Sequence *seq_prev = NULL;
-  int old_start_prev = 0, sel_flag_prev = 0;
-
-  /* flush to 2d vector from internally used 3d vector */
-  for (a = 0, td = tc->data, td2d = tc->data_2d; a < tc->data_len; a++, td++, td2d++) {
-    int old_start;
-    tdsq = (TransDataSeq *)td->extra;
-    seq = tdsq->seq;
-    old_start = seq->start;
-    new_frame = round_fl_to_int(td2d->loc[0]);
-
-    switch (tdsq->sel_flag) {
-      case SELECT:
-#ifdef SEQ_TX_NESTED_METAS
-        if ((seq->depth != 0 || BKE_sequence_tx_test(seq))) {
-          /* for meta's, their children move */
-          seq->start = new_frame - tdsq->start_offset;
-        }
-#else
-        if (seq->type != SEQ_TYPE_META && (seq->depth != 0 || seq_tx_test(seq))) {
-          /* for meta's, their children move */
-          seq->start = new_frame - tdsq->start_offset;
-        }
-#endif
-        if (seq->depth == 0) {
-          seq->machine = round_fl_to_int(td2d->loc[1]);
-          CLAMP(seq->machine, 1, MAXSEQ);
-        }
-        break;
-      case SEQ_LEFTSEL: /* no vertical transform  */
-        BKE_sequence_tx_set_final_left(seq, new_frame);
-        BKE_sequence_tx_handle_xlimits(seq, tdsq->flag & SEQ_LEFTSEL, tdsq->flag & SEQ_RIGHTSEL);
-
-        /* todo - move this into aftertrans update? - old seq tx needed it anyway */
-        BKE_sequence_single_fix(seq);
-        break;
-      case SEQ_RIGHTSEL: /* no vertical transform  */
-        BKE_sequence_tx_set_final_right(seq, new_frame);
-        BKE_sequence_tx_handle_xlimits(seq, tdsq->flag & SEQ_LEFTSEL, tdsq->flag & SEQ_RIGHTSEL);
-
-        /* todo - move this into aftertrans update? - old seq tx needed it anyway */
-        BKE_sequence_single_fix(seq);
-        break;
-    }
-
-    /* Update *previous* seq! Else, we would update a seq after its first transform,
-     * and if it has more than one (like e.g. SEQ_LEFTSEL and SEQ_RIGHTSEL),
-     * the others are not updated! See T38469.
-     */
-    if (seq != seq_prev) {
-      if (seq_prev) {
-        trans_update_seq(t->scene, seq_prev, old_start_prev, sel_flag_prev);
-      }
-
-      seq_prev = seq;
-      old_start_prev = old_start;
-      sel_flag_prev = tdsq->sel_flag;
-    }
-    else {
-      /* We want to accumulate *all* sel_flags for this seq! */
-      sel_flag_prev |= tdsq->sel_flag;
-    }
-  }
-
-  /* Don't forget to update the last seq! */
-  if (seq_prev) {
-    trans_update_seq(t->scene, seq_prev, old_start_prev, sel_flag_prev);
-  }
-
-  /* originally TFM_TIME_EXTEND, transform changes */
-  if (ELEM(t->mode, TFM_SEQ_SLIDE, TFM_TIME_TRANSLATE)) {
-    /* Special annoying case here, need to calc metas with TFM_TIME_EXTEND only */
-
-    /* calc all meta's then effects [#27953] */
-    for (seq = seqbasep->first; seq; seq = seq->next) {
-      if (seq->type == SEQ_TYPE_META && seq->flag & SELECT) {
-        BKE_sequence_calc(t->scene, seq);
-      }
-    }
-    for (seq = seqbasep->first; seq; seq = seq->next) {
-      if (seq->seq1 || seq->seq2 || seq->seq3) {
-        BKE_sequence_calc(t->scene, seq);
-      }
-    }
-
-    /* update effects inside meta's */
-    for (a = 0, seq_prev = NULL, td = tc->data, td2d = tc->data_2d; a < tc->data_len;
-         a++, td++, td2d++, seq_prev = seq) {
-      tdsq = (TransDataSeq *)td->extra;
-      seq = tdsq->seq;
-      if ((seq != seq_prev) && (seq->depth != 0)) {
-        if (seq->seq1 || seq->seq2 || seq->seq3) {
-          BKE_sequence_calc(t->scene, seq);
-        }
-      }
-    }
-  }
-
-  /* need to do the overlap check in a new loop otherwise adjacent strips
-   * will not be updated and we'll get false positives */
-  seq_prev = NULL;
-  for (a = 0, td = tc->data, td2d = tc->data_2d; a < tc->data_len; a++, td++, td2d++) {
-
-    tdsq = (TransDataSeq *)td->extra;
-    seq = tdsq->seq;
-
-    if (seq != seq_prev) {
-      if (seq->depth == 0) {
-        /* test overlap, displays red outline */
-        seq->flag &= ~SEQ_OVERLAP;
-        if (BKE_sequence_test

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list