Split up recalcData() function in transform_generics.c into smaller

functions based on editor types

This could be split up further in future if there's such a need, but
this should already be sufficient. Most notably required since the NLA
recalc stuff was taking quite a few lines within that block
This commit is contained in:
2011-07-22 07:25:52 +00:00
parent 4532bd731d
commit 1ca2a6f24f

View File

@@ -323,18 +323,9 @@ static int fcu_test_selected(FCurve *fcu)
return 0;
}
/* called for updating while transform acts, once per redraw */
void recalcData(TransInfo *t)
/* helper for recalcData() - for Action Editor transforms */
static void recalcData_actedit(TransInfo *t)
{
Base *base = t->scene->basact;
if (t->spacetype==SPACE_NODE) {
flushTransNodes(t);
}
else if (t->spacetype==SPACE_SEQ) {
flushTransSeq(t);
}
else if (t->spacetype == SPACE_ACTION) {
Scene *scene= t->scene;
SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
@@ -378,10 +369,13 @@ void recalcData(TransInfo *t)
/* now free temp channels */
BLI_freelistN(&anim_data);
}
}
else if (t->spacetype == SPACE_IPO) {
Scene *scene;
}
/* helper for recalcData() - for Graph Editor transforms */
static void recalcData_graphedit(TransInfo *t)
{
SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
Scene *scene;
ListBase anim_data = {NULL, NULL};
bAnimContext ac= {NULL};
@@ -440,8 +434,11 @@ void recalcData(TransInfo *t)
/* now free temp channels */
BLI_freelistN(&anim_data);
}
else if (t->spacetype == SPACE_NLA) {
}
/* helper for recalcData() - for NLA Editor transforms */
static void recalcData_nla(TransInfo *t)
{
TransDataNla *tdn= (TransDataNla *)t->customData;
SpaceNla *snla= (SpaceNla *)t->sa->spacedata.first;
Scene *scene= t->scene;
@@ -619,19 +616,12 @@ void recalcData(TransInfo *t)
}
}
}
}
else if (t->spacetype == SPACE_IMAGE) {
if (t->obedit && t->obedit->type == OB_MESH) {
SpaceImage *sima= t->sa->spacedata.first;
}
flushTransUVs(t);
if(sima->flag & SI_LIVE_UNWRAP)
ED_uvedit_live_unwrap_re_solve();
DAG_id_tag_update(t->obedit->data, 0);
}
}
else if (t->spacetype == SPACE_VIEW3D) {
/* helper for recalcData() - for 3d-view transforms */
static void recalcData_view3d(TransInfo *t)
{
Base *base = t->scene->basact;
if (t->obedit) {
if ELEM(t->obedit->type, OB_CURVE, OB_SURF) {
@@ -651,7 +641,8 @@ void recalcData(TransInfo *t)
calchandlesNurb(nu); /* Cant do testhandlesNurb here, it messes up the h1 and h2 flags */
nu= nu->next;
}
} else {
}
else {
/* Normal updating */
while(nu) {
test2DNurb(nu);
@@ -840,6 +831,39 @@ void recalcData(TransInfo *t)
DAG_id_tag_update(&ob->id, OB_RECALC_OB);
}
}
}
/* called for updating while transform acts, once per redraw */
void recalcData(TransInfo *t)
{
if (t->spacetype==SPACE_NODE) {
flushTransNodes(t);
}
else if (t->spacetype==SPACE_SEQ) {
flushTransSeq(t);
}
else if (t->spacetype == SPACE_ACTION) {
recalcData_actedit(t);
}
else if (t->spacetype == SPACE_IPO) {
recalcData_graphedit(t);
}
else if (t->spacetype == SPACE_NLA) {
recalcData_nla(t);
}
else if (t->spacetype == SPACE_IMAGE) {
if (t->obedit && t->obedit->type == OB_MESH) {
SpaceImage *sima= t->sa->spacedata.first;
flushTransUVs(t);
if(sima->flag & SI_LIVE_UNWRAP)
ED_uvedit_live_unwrap_re_solve();
DAG_id_tag_update(t->obedit->data, 0);
}
}
else if (t->spacetype == SPACE_VIEW3D) {
recalcData_view3d(t);
}
}