From 3ef11693f56429239771f8c043bf2fe2838a5fc7 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 7 May 2012 06:58:03 +0000 Subject: Style cleanup: displist module --- source/blender/blenkernel/intern/DerivedMesh.c | 2 +- source/blender/blenkernel/intern/armature.c | 2 +- source/blender/blenkernel/intern/constraint.c | 10 +- source/blender/blenkernel/intern/curve.c | 12 +- source/blender/blenkernel/intern/displist.c | 453 ++++++++++++++----------- source/blender/blenkernel/intern/effect.c | 2 +- source/blender/blenkernel/intern/font.c | 2 +- source/blender/blenkernel/intern/lattice.c | 8 +- source/blender/blenkernel/intern/material.c | 2 +- source/blender/blenkernel/intern/mball.c | 2 +- source/blender/blenkernel/intern/object.c | 10 +- source/blender/blenkernel/intern/particle.c | 2 +- 12 files changed, 275 insertions(+), 232 deletions(-) (limited to 'source/blender/blenkernel/intern') diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 2024a5ce091..a814ca81beb 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -2097,7 +2097,7 @@ static void clear_mesh_caches(Object *ob) me->bb = NULL; } - freedisplist(&ob->disp); + BKE_displist_free(&ob->disp); if (ob->derivedFinal) { ob->derivedFinal->needsFree = 1; diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index 1f4259c6d86..09b295aabf1 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -1818,7 +1818,7 @@ static void splineik_init_tree_from_pchan(Scene *scene, Object *UNUSED(ob), bPos /* only happens on reload file, but violates depsgraph still... fix! */ if ((cu->path == NULL) || (cu->path->data == NULL)) - makeDispListCurveTypes(scene, ikData->tar, 0); + BKE_displist_make_curveTypes(scene, ikData->tar, 0); } /* find the root bone and the chain of bones from the root to the tip diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index eed5ec49012..868da0fda94 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -516,7 +516,7 @@ static void contarget_get_lattice_mat(Object *ob, const char *substring, float m { Lattice *lt = (Lattice *)ob->data; - DispList *dl = find_displist(&ob->disp, DL_VERTS); + DispList *dl = BKE_displist_find(&ob->disp, DL_VERTS); float *co = dl ? dl->verts : NULL; BPoint *bp = lt->def; @@ -1234,7 +1234,7 @@ static void followpath_get_tarmat(bConstraint *con, bConstraintOb *cob, bConstra /* only happens on reload file, but violates depsgraph still... fix! */ if (cu->path == NULL || cu->path->data == NULL) - makeDispListCurveTypes(cob->scene, ct->tar, 0); + BKE_displist_make_curveTypes(cob->scene, ct->tar, 0); if (cu->path && cu->path->data) { float quat[4]; @@ -2007,7 +2007,7 @@ static void pycon_get_tarmat(bConstraint *con, bConstraintOb *cob, bConstraintTa /* this check is to make sure curve objects get updated on file load correctly.*/ if (cu->path == NULL || cu->path->data == NULL) /* only happens on reload file, but violates depsgraph still... fix! */ - makeDispListCurveTypes(cob->scene, ct->tar, 0); + BKE_displist_make_curveTypes(cob->scene, ct->tar, 0); } /* firstly calculate the matrix the normal way, then let the py-function override @@ -3090,7 +3090,7 @@ static void clampto_get_tarmat(bConstraint *UNUSED(con), bConstraintOb *cob, bCo /* only happens on reload file, but violates depsgraph still... fix! */ if (cu->path == NULL || cu->path->data == NULL) - makeDispListCurveTypes(cob->scene, ct->tar, 0); + BKE_displist_make_curveTypes(cob->scene, ct->tar, 0); } /* technically, this isn't really needed for evaluation, but we don't know what else @@ -3720,7 +3720,7 @@ static void splineik_get_tarmat(bConstraint *UNUSED(con), bConstraintOb *cob, bC /* only happens on reload file, but violates depsgraph still... fix! */ if (cu->path == NULL || cu->path->data == NULL) - makeDispListCurveTypes(cob->scene, ct->tar, 0); + BKE_displist_make_curveTypes(cob->scene, ct->tar, 0); } /* technically, this isn't really needed for evaluation, but we don't know what else diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index 190d9f654f6..45dbf96fd60 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -136,7 +136,7 @@ void BKE_curve_free(Curve *cu) { BKE_nurbList_free(&cu->nurb); BLI_freelistN(&cu->bev); - freedisplist(&cu->disp); + BKE_displist_free(&cu->disp); BKE_curve_editfont_free(cu); BKE_curve_editNurb_free(cu); @@ -1234,7 +1234,7 @@ float *BKE_curve_make_orco(Scene *scene, Object *ob) float *fp, *coord_array; ListBase disp = {NULL, NULL}; - makeDispListCurveTypes_forOrco(scene, ob, &disp); + BKE_displist_make_curveTypes_forOrco(scene, ob, &disp); numVerts = 0; for (dl = disp.first; dl; dl = dl->next) { @@ -1306,7 +1306,7 @@ float *BKE_curve_make_orco(Scene *scene, Object *ob) } } - freedisplist(&disp); + BKE_displist_free(&disp); return coord_array; } @@ -1337,13 +1337,13 @@ void BKE_curve_bevel_make(Scene *scene, Object *ob, ListBase *disp, int forRende facy = cu->bevobj->size[1]; if (forRender) { - makeDispListCurveTypes_forRender(scene, cu->bevobj, &bevdisp, NULL, 0); + BKE_displist_make_curveTypes_forRender(scene, cu->bevobj, &bevdisp, NULL, 0); dl = bevdisp.first; } else { dl = cu->bevobj->disp.first; if (dl == NULL) { - makeDispListCurveTypes(scene, cu->bevobj, 0); + BKE_displist_make_curveTypes(scene, cu->bevobj, 0); dl = cu->bevobj->disp.first; } } @@ -1370,7 +1370,7 @@ void BKE_curve_bevel_make(Scene *scene, Object *ob, ListBase *disp, int forRende dl = dl->next; } - freedisplist(&bevdisp); + BKE_displist_free(&bevdisp); } } else if (cu->ext1 == 0.0f && cu->ext2 == 0.0f) { diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index f43a133c339..8b4d699006d 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -64,7 +64,7 @@ static void boundbox_displist(Object *ob); -void free_disp_elem(DispList *dl) +void BKE_displist_elem_free(DispList *dl) { if (dl) { if (dl->verts) MEM_freeN(dl->verts); @@ -77,25 +77,26 @@ void free_disp_elem(DispList *dl) } } -void freedisplist(ListBase *lb) +void BKE_displist_free(ListBase *lb) { DispList *dl; dl = lb->first; while (dl) { BLI_remlink(lb, dl); - free_disp_elem(dl); + BKE_displist_elem_free(dl); dl = lb->first; } } -DispList *find_displist_create(ListBase *lb, int type) +DispList *BKE_displist_find_or_create(ListBase *lb, int type) { DispList *dl; - + dl = lb->first; while (dl) { - if (dl->type == type) return dl; + if (dl->type == type) + return dl; dl = dl->next; } @@ -106,39 +107,41 @@ DispList *find_displist_create(ListBase *lb, int type) return dl; } -DispList *find_displist(ListBase *lb, int type) +DispList *BKE_displist_find(ListBase *lb, int type) { DispList *dl; - + dl = lb->first; while (dl) { - if (dl->type == type) return dl; + if (dl->type == type) + return dl; dl = dl->next; } return NULL; } -int displist_has_faces(ListBase *lb) +int BKE_displist_has_faces(ListBase *lb) { DispList *dl; + for (dl = lb->first; dl; dl = dl->next) { if (ELEM3(dl->type, DL_INDEX3, DL_INDEX4, DL_SURF)) { - return 1; + return TRUE; } } - return 0; + + return FALSE; } -void copy_displist(ListBase *lbn, ListBase *lb) +void BKE_displist_copy(ListBase *lbn, ListBase *lb) { DispList *dln, *dl; - - freedisplist(lbn); - + + BKE_displist_free(lbn); + dl = lb->first; while (dl) { - dln = MEM_dupallocN(dl); BLI_addtail(lbn, dln); dln->verts = MEM_dupallocN(dl->verts); @@ -154,7 +157,7 @@ void copy_displist(ListBase *lbn, ListBase *lb) } } -void addnormalsDispList(ListBase *lb) +void BKE_displist_normals_add(ListBase *lb) { DispList *dl = NULL; float *vdata, *ndata, nor[3]; @@ -162,29 +165,31 @@ void addnormalsDispList(ListBase *lb) float *n1, *n2, *n3, *n4; int a, b, p1, p2, p3, p4; - dl = lb->first; - + while (dl) { if (dl->type == DL_INDEX3) { if (dl->nors == NULL) { dl->nors = MEM_callocN(sizeof(float) * 3, "dlnors"); - if (dl->verts[2] < 0.0f) dl->nors[2] = -1.0f; - else dl->nors[2] = 1.0f; + + if (dl->verts[2] < 0.0f) + dl->nors[2] = -1.0f; + else + dl->nors[2] = 1.0f; } } else if (dl->type == DL_SURF) { if (dl->nors == NULL) { dl->nors = MEM_callocN(sizeof(float) * 3 * dl->nr * dl->parts, "dlnors"); - + vdata = dl->verts; ndata = dl->nors; - + for (a = 0; a < dl->parts; a++) { - - if (surfindex_displist(dl, a, &b, &p1, &p2, &p3, &p4) == 0) + + if (BKE_displist_surfindex_get(dl, a, &b, &p1, &p2, &p3, &p4) == 0) break; - + v1 = vdata + 3 * p1; n1 = ndata + 3 * p1; v2 = vdata + 3 * p2; @@ -193,16 +198,15 @@ void addnormalsDispList(ListBase *lb) n3 = ndata + 3 * p3; v4 = vdata + 3 * p4; n4 = ndata + 3 * p4; - + for (; b < dl->nr; b++) { - normal_quad_v3(nor, v1, v3, v4, v2); - + add_v3_v3(n1, nor); add_v3_v3(n2, nor); add_v3_v3(n3, nor); add_v3_v3(n4, nor); - + v2 = v1; v1 += 3; v4 = v3; v3 += 3; n2 = n1; n1 += 3; @@ -221,13 +225,12 @@ void addnormalsDispList(ListBase *lb) } } -void count_displist(ListBase *lb, int *totvert, int *totface) +void BKE_displist_count(ListBase *lb, int *totvert, int *totface) { DispList *dl; - + dl = lb->first; while (dl) { - switch (dl->type) { case DL_SURF: *totvert += dl->nr * dl->parts; @@ -241,18 +244,19 @@ void count_displist(ListBase *lb, int *totvert, int *totface) case DL_POLY: case DL_SEGM: *totvert += dl->nr * dl->parts; + break; } - + dl = dl->next; } } -int surfindex_displist(DispList *dl, int a, int *b, int *p1, int *p2, int *p3, int *p4) +int BKE_displist_surfindex_get(DispList *dl, int a, int *b, int *p1, int *p2, int *p3, int *p4) { if ((dl->flag & DL_CYCL_V) == 0 && a == (dl->parts) - 1) { return 0; } - + if (dl->flag & DL_CYCL_U) { (*p1) = dl->nr * a; (*p2) = (*p1) + dl->nr - 1; @@ -267,12 +271,12 @@ int surfindex_displist(DispList *dl, int a, int *b, int *p1, int *p2, int *p3, i (*p3) = (*p1) + dl->nr; (*b) = 1; } - - if ( (dl->flag & DL_CYCL_V) && a == dl->parts - 1) { + + if ((dl->flag & DL_CYCL_V) && a == dl->parts - 1) { (*p3) -= dl->nr * dl->parts; (*p4) -= dl->nr * dl->parts; } - + return 1; } @@ -286,19 +290,17 @@ static void curve_to_displist(Curve *cu, ListBase *nubase, ListBase *dispbase, i BPoint *bp; float *data; int a, len, resolu; - + nu = nubase->first; while (nu) { if (nu->hide == 0) { - if (forRender && cu->resolu_ren != 0) resolu = cu->resolu_ren; else resolu = nu->resolu; - + if (!BKE_nurb_check_valid_u(nu)) ; else if (nu->type == CU_BEZIER) { - /* count */ len = 0; a = nu->pntsu - 1; @@ -307,17 +309,21 @@ static void curve_to_displist(Curve *cu, ListBase *nubase, ListBase *dispbase, i prevbezt = nu->bezt; bezt = prevbezt + 1; while (a--) { - if (a == 0 && (nu->flagu & CU_NURB_CYCLIC)) bezt = nu->bezt; - - if (prevbezt->h2 == HD_VECT && bezt->h1 == HD_VECT) len++; - else len += resolu; - - if (a == 0 && (nu->flagu & CU_NURB_CYCLIC) == 0) len++; - + if (a == 0 && (nu->flagu & CU_NURB_CYCLIC)) + bezt = nu->bezt; + + if (prevbezt->h2 == HD_VECT && bezt->h1 == HD_VECT) + len++; + else + len += resolu; + + if (a == 0 && (nu->flagu & CU_NURB_CYCLIC) == 0) + len++; + prevbezt = bezt; bezt++; } - + dl = MEM_callocN(sizeof(DispList), "makeDispListbez"); /* len+1 because of 'forward_diff_bezier' function */ dl->verts = MEM_callocN((len + 1) * 3 * sizeof(float), "dlverts"); @@ -337,13 +343,14 @@ static void curve_to_displist(Curve *cu, ListBase *nubase, ListBase *dispbase, i dl->type = DL_SEGM; a = nu->pntsu - 1; } - + prevbezt = nu->bezt; bezt = prevbezt + 1; - + while (a--) { - if (a == 0 && dl->type == DL_POLY) bezt = nu->bezt; - + if (a == 0 && dl->type == DL_POLY) + bezt = nu->bezt; + if (prevbezt->h2 == HD_VECT && bezt->h1 == HD_VECT) { copy_v3_v3(data, prevbezt->vec[1]); data += 3; @@ -357,32 +364,33 @@ static void curve_to_displist(Curve *cu, ListBase *nubase, ListBase *dispbase, i bezt->vec[1][j], data + j, resolu, 3 * sizeof(float)); } - + data += 3 * resolu; } - + if (a == 0 && dl->type == DL_SEGM) { copy_v3_v3(data, bezt->vec[1]); } - + prevbezt = bezt; bezt++; } } else if (nu->type == CU_NURBS) { len = (resolu * SEGMENTSU(nu)); - + dl = MEM_callocN(sizeof(DispList), "makeDispListsurf"); dl->verts = MEM_callocN(len * 3 * sizeof(float), "dlverts"); BLI_addtail(dispbase, dl); dl->parts = 1; - + dl->nr = len; dl->col = nu->mat_nr; dl->charidx = nu->charidx; data = dl->verts; - if (nu->flagu & CU_NURB_CYCLIC) dl->type = DL_POLY; + if (nu->flagu & CU_NURB_CYCLIC) + dl->type = DL_POLY; else dl->type = DL_SEGM; BKE_nurb_makeCurve(nu, data, NULL, NULL, NULL, resolu, 3 * sizeof(float)); } @@ -399,7 +407,7 @@ static void curve_to_displist(Curve *cu, ListBase *nubase, ListBase *dispbase, i data = dl->verts; if (nu->flagu & CU_NURB_CYCLIC) dl->type = DL_POLY; else dl->type = DL_SEGM; - + a = len; bp = nu->bp; while (a--) { @@ -414,7 +422,7 @@ static void curve_to_displist(Curve *cu, ListBase *nubase, ListBase *dispbase, i } -void filldisplist(ListBase *dispbase, ListBase *to, int flipnormal) +void BKE_displist_fill(ListBase *dispbase, ListBase *to, int flipnormal) { ScanFillContext sf_ctx; ScanFillVert *eve, *v1, *vlast; @@ -423,36 +431,39 @@ void filldisplist(ListBase *dispbase, ListBase *to, int flipnormal) float *f1; int colnr = 0, charidx = 0, cont = 1, tot, a, *index, nextcol = 0; intptr_t totvert; - - if (dispbase == NULL) return; - if (dispbase->first == NULL) return; + + if (dispbase == NULL) + return; + if (dispbase->first == NULL) + return; while (cont) { cont = 0; totvert = 0; nextcol = 0; - + BLI_scanfill_begin(&sf_ctx); - + dl = dispbase->first; while (dl) { - if (dl->type == DL_POLY) { - if (charidx < dl->charidx) cont = 1; + if (charidx < dl->charidx) + cont = 1; else if (charidx == dl->charidx) { /* character with needed index */ if (colnr == dl->col) { /* make editverts and edges */ f1 = dl->verts; a = dl->nr; eve = v1 = NULL; - + while (a--) { vlast = eve; eve = BLI_scanfill_vert_add(&sf_ctx, f1); totvert++; - if (vlast == NULL) v1 = eve; + if (vlast == NULL) + v1 = eve; else { BLI_scanfill_edge_add(&sf_ctx, vlast, eve); } @@ -472,7 +483,7 @@ void filldisplist(ListBase *dispbase, ListBase *to, int flipnormal) } dl = dl->next; } - + if (totvert && (tot = BLI_scanfill_calc(&sf_ctx, FALSE))) { // XXX (obedit && obedit->actcol)?(obedit->actcol-1):0)) { if (tot) { dlnew = MEM_callocN(sizeof(DispList), "filldisplist"); @@ -483,7 +494,7 @@ void filldisplist(ListBase *dispbase, ListBase *to, int flipnormal) dlnew->index = MEM_mallocN(tot * 3 * sizeof(int), "dlindex"); dlnew->verts = MEM_mallocN(totvert * 3 * sizeof(float), "dlverts"); - + /* vert data */ f1 = dlnew->verts; totvert = 0; @@ -491,14 +502,14 @@ void filldisplist(ListBase *dispbase, ListBase *to, int flipnormal) while (eve) { copy_v3_v3(f1, eve->co); f1 += 3; - + /* index number */ eve->tmp.l = totvert; totvert++; - + eve = eve->next; } - + /* index data */ efa = sf_ctx.fillfacebase.first; index = dlnew->index; @@ -509,14 +520,13 @@ void filldisplist(ListBase *dispbase, ListBase *to, int flipnormal) if (flipnormal) SWAP(int, index[0], index[2]); - + index += 3; efa = efa->next; } } BLI_addhead(to, dlnew); - } BLI_scanfill_end(&sf_ctx); @@ -530,9 +540,8 @@ void filldisplist(ListBase *dispbase, ListBase *to, int flipnormal) colnr = 0; } } - + /* do not free polys, needed for wireframe display */ - } static void bevels_to_filledpoly(Curve *cu, ListBase *dispbase) @@ -541,14 +550,14 @@ static void bevels_to_filledpoly(Curve *cu, ListBase *dispbase) DispList *dl, *dlnew; float *fp, *fp1; int a, dpoly; - + front.first = front.last = back.first = back.last = NULL; - + dl = dispbase->first; while (dl) { if (dl->type == DL_SURF) { - if ( (dl->flag & DL_CYCL_V) && (dl->flag & DL_CYCL_U) == 0) { - if ( (cu->flag & CU_BACK) && (dl->flag & DL_BACK_CURVE) ) { + if ((dl->flag & DL_CYCL_V) && (dl->flag & DL_CYCL_U) == 0) { + if ( (cu->flag & CU_BACK) && (dl->flag & DL_BACK_CURVE)) { dlnew = MEM_callocN(sizeof(DispList), "filldisp"); BLI_addtail(&front, dlnew); dlnew->verts = fp1 = MEM_mallocN(sizeof(float) * 3 * dl->parts, "filldisp1"); @@ -557,10 +566,10 @@ static void bevels_to_filledpoly(Curve *cu, ListBase *dispbase) dlnew->type = DL_POLY; dlnew->col = dl->col; dlnew->charidx = dl->charidx; - + fp = dl->verts; dpoly = 3 * dl->nr; - + a = dl->parts; while (a--) { copy_v3_v3(fp1, fp); @@ -568,7 +577,7 @@ static void bevels_to_filledpoly(Curve *cu, ListBase *dispbase) fp += dpoly; } } - if ( (cu->flag & CU_FRONT) && (dl->flag & DL_FRONT_CURVE) ) { + if ((cu->flag & CU_FRONT) && (dl->flag & DL_FRONT_CURVE)) { dlnew = MEM_callocN(sizeof(DispList), "filldisp"); BLI_addtail(&back, dlnew); dlnew->verts = fp1 = MEM_mallocN(sizeof(float) * 3 * dl->parts, "filldisp1"); @@ -577,10 +586,10 @@ static void bevels_to_filledpoly(Curve *cu, ListBase *dispbase) dlnew->type = DL_POLY; dlnew->col = dl->col; dlnew->charidx = dl->charidx; - + fp = dl->verts + 3 * (dl->nr - 1); dpoly = 3 * dl->nr; - + a = dl->parts; while (a--) { copy_v3_v3(fp1, fp); @@ -593,25 +602,25 @@ static void bevels_to_filledpoly(Curve *cu, ListBase *dispbase) dl = dl->next; } - filldisplist(&front, dispbase, 1); - filldisplist(&back, dispbase, 0); - - freedisplist(&front); - freedisplist(&back); + BKE_displist_fill(&front, dispbase, 1); + BKE_displist_fill(&back, dispbase, 0); + + BKE_displist_free(&front); + BKE_displist_free(&back); - filldisplist(dispbase, dispbase, 0); - + BKE_displist_fill(dispbase, dispbase, 0); } static void curve_to_filledpoly(Curve *cu, ListBase *UNUSED(nurb), ListBase *dispbase) { - if (cu->flag & CU_3D) return; + if (cu->flag & CU_3D) + return; if (dispbase->first && ((DispList *) dispbase->first)->type == DL_SURF) { bevels_to_filledpoly(cu, dispbase); } else { - filldisplist(dispbase, dispbase, 0); + BKE_displist_fill(dispbase, dispbase, 0); } } @@ -620,30 +629,30 @@ static void curve_to_filledpoly(Curve *cu, ListBase *UNUSED(nurb), ListBase *dis * - first point left, last point right * - based on subdivided points in original curve, not on points in taper curve (still) */ -float calc_taper(Scene *scene, Object *taperobj, int cur, int tot) +float BKE_displist_calc_taper(Scene *scene, Object *taperobj, int cur, int tot) { DispList *dl; - - if (taperobj == NULL || taperobj->type != OB_CURVE) return 1.0; - + + if (taperobj == NULL || taperobj->type != OB_CURVE) + return 1.0; + dl = taperobj->disp.first; if (dl == NULL) { - makeDispListCurveTypes(scene, taperobj, 0); + BKE_displist_make_curveTypes(scene, taperobj, 0); dl = taperobj->disp.first; } if (dl) { float fac = ((float)cur) / (float)(tot - 1); float minx, dx, *fp; int a; - + /* horizontal size */ minx = dl->verts[0]; dx = dl->verts[3 * (dl->nr - 1)] - minx; if (dx > 0.0f) { - fp = dl->verts; for (a = 0; a < dl->nr; a++, fp += 3) { - if ( (fp[0] - minx) / dx >= fac) { + if ((fp[0] - minx) / dx >= fac) { /* interpolate with prev */ if (a > 0) { float fac1 = (fp[-3] - minx) / dx; @@ -657,19 +666,22 @@ float calc_taper(Scene *scene, Object *taperobj, int cur, int tot) return fp[-2]; // last y coord } } - + return 1.0; } -void makeDispListMBall(Scene *scene, Object *ob) +void BKE_displist_make_mball(Scene *scene, Object *ob) { - if (!ob || ob->type != OB_MBALL) return; + if (!ob || ob->type != OB_MBALL) + return; - // XXX: mball stuff uses plenty of global variables - // while this is unchanged updating during render is unsafe - if (G.rendering) return; + /* XXX: mball stuff uses plenty of global variables + * while this is unchanged updating during render is unsafe + */ + if (G.rendering) + return; - freedisplist(&(ob->disp)); + BKE_displist_free(&(ob->disp)); if (ob->type == OB_MBALL) { if (ob == BKE_mball_basis_find(scene, ob)) { @@ -679,15 +691,15 @@ void makeDispListMBall(Scene *scene, Object *ob) object_deform_mball(ob, &ob->disp); } } - + boundbox_displist(ob); } -void makeDispListMBall_forRender(Scene *scene, Object *ob, ListBase *dispbase) +void BKE_displist_make_mball_forRender(Scene *scene, Object *ob, ListBase *dispbase) { BKE_mball_polygonize(scene, ob, dispbase); BKE_mball_texspace_calc(ob); - + object_deform_mball(ob, dispbase); } @@ -697,24 +709,30 @@ static ModifierData *curve_get_tessellate_point(Scene *scene, Object *ob, int fo ModifierData *pretessellatePoint; int required_mode; - if (forRender) required_mode = eModifierMode_Render; - else required_mode = eModifierMode_Realtime; + if (forRender) + required_mode = eModifierMode_Render; + else + required_mode = eModifierMode_Realtime; - if (editmode) required_mode |= eModifierMode_Editmode; + if (editmode) + required_mode |= eModifierMode_Editmode; pretessellatePoint = NULL; for (; md; md = md->next) { ModifierTypeInfo *mti = modifierType_getInfo(md->type); - if (!modifier_isEnabled(scene, md, required_mode)) continue; - if (mti->type == eModifierTypeType_Constructive) return pretessellatePoint; + if (!modifier_isEnabled(scene, md, required_mode)) + continue; + if (mti->type == eModifierTypeType_Constructive) + return pretessellatePoint; if (ELEM3(md->type, eModifierType_Hook, eModifierType_Softbody, eModifierType_MeshDeform)) { pretessellatePoint = md; /* this modifiers are moving point of tessellation automatically * (some of them even can't be applied on tessellated curve), set flag - * for incformation button in modifier's header */ + * for incformation button in modifier's header + */ md->mode |= eModifierMode_ApplyOnSpline; } else if (md->mode & eModifierMode_ApplyOnSpline) { @@ -738,12 +756,15 @@ static void curve_calc_modifiers_pre(Scene *scene, Object *ob, int forRender, fl float *keyVerts = NULL; int required_mode; - if (forRender) required_mode = eModifierMode_Render; - else required_mode = eModifierMode_Realtime; + if (forRender) + required_mode = eModifierMode_Render; + else + required_mode = eModifierMode_Realtime; pretessellatePoint = curve_get_tessellate_point(scene, ob, forRender, editmode); - - if (editmode) required_mode |= eModifierMode_Editmode; + + if (editmode) + required_mode |= eModifierMode_Editmode; if (cu->editnurb == NULL) { keyVerts = do_ob_key(scene, ob); @@ -758,16 +779,19 @@ static void curve_calc_modifiers_pre(Scene *scene, Object *ob, int forRender, fl numVerts = BKE_nurbList_verts_count_without_handles(nurb); } } - + if (pretessellatePoint) { for (; md; md = md->next) { ModifierTypeInfo *mti = modifierType_getInfo(md->type); md->scene = scene; - - if ((md->mode & required_mode) != required_mode) continue; - if (mti->isDisabled && mti->isDisabled(md, forRender)) continue; - if (mti->type != eModifierTypeType_OnlyDeform) continue; + + if ((md->mode & required_mode) != required_mode) + continue; + if (mti->isDisabled && mti->isDisabled(md, forRender)) + continue; + if (mti->type != eModifierTypeType_OnlyDeform) + continue; if (!deformedVerts) { deformedVerts = BKE_curve_vertexCos_get(cu, nurb, &numVerts); @@ -828,8 +852,8 @@ static void displist_apply_allverts(ListBase *dispbase, float (*allverts)[3]) } } -static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispbase, - DerivedMesh **derivedFinal, int forRender, float (*originalVerts)[3], float (*deformedVerts)[3]) +static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispbase, DerivedMesh **derivedFinal, + int forRender, float (*originalVerts)[3], float (*deformedVerts)[3]) { ModifierData *md = modifiers_getVirtualModifierList(ob); ModifierData *pretessellatePoint; @@ -841,12 +865,15 @@ static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispba float (*vertCos)[3] = NULL; int useCache = !forRender; - if (forRender) required_mode = eModifierMode_Render; - else required_mode = eModifierMode_Realtime; + if (forRender) + required_mode = eModifierMode_Render; + else + required_mode = eModifierMode_Realtime; pretessellatePoint = curve_get_tessellate_point(scene, ob, forRender, editmode); - - if (editmode) required_mode |= eModifierMode_Editmode; + + if (editmode) + required_mode |= eModifierMode_Editmode; if (pretessellatePoint) { md = pretessellatePoint->next; @@ -861,8 +888,10 @@ static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispba md->scene = scene; - if ((md->mode & required_mode) != required_mode) continue; - if (mti->isDisabled && mti->isDisabled(md, forRender)) continue; + if ((md->mode & required_mode) != required_mode) + continue; + if (mti->isDisabled && mti->isDisabled(md, forRender)) + continue; if (mti->type == eModifierTypeType_OnlyDeform || (mti->type == eModifierTypeType_DeformOrConstruct && !dm)) { @@ -885,9 +914,10 @@ static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispba } else { if (!derivedFinal) { - /* makeDisplistCurveTypes could be used for beveling, where derived mesh */ - /* is totally unnecessary, so we could stop modifiers applying */ - /* when we found constructive modifier but derived mesh is unwanted result */ + /* makeDisplistCurveTypes could be used for beveling, where derived mesh + * is totally unnecessary, so we could stop modifiers applying + * when we found constructive modifier but derived mesh is unwanted result + */ break; } @@ -951,7 +981,8 @@ static void curve_calc_modifiers_post(Scene *scene, Object *ob, ListBase *dispba } if (derivedFinal) { - if (dm) DM_ensure_tessface(dm); /* needed for drawing */ + if (dm) + DM_ensure_tessface(dm); /* needed for drawing */ (*derivedFinal) = dm; } @@ -966,30 +997,28 @@ static void displist_surf_indices(DispList *dl) { int a, b, p1, p2, p3, p4; int *index; - + dl->totindex = 0; - + index = dl->index = MEM_mallocN(4 * sizeof(int) * (dl->parts + 1) * (dl->nr + 1), "index array nurbs"); - + for (a = 0; a < dl->parts; a++) { - - if (surfindex_displist(dl, a, &b, &p1, &p2, &p3, &p4) == 0) + + if (BKE_displist_surfindex_get(dl, a, &b, &p1, &p2, &p3, &p4) == 0) break; - + for (; b < dl->nr; b++, index += 4) { index[0] = p1; index[1] = p2; index[2] = p4; index[3] = p3; - + dl->totindex++; - + p2 = p1; p1++; p4 = p3; p3++; - } } - } static DerivedMesh *create_orco_dm(Scene *scene, Object *ob) @@ -998,10 +1027,10 @@ static DerivedMesh *create_orco_dm(Scene *scene, Object *ob) ListBase disp = {NULL, NULL}; /* OrcoDM should be created from underformed disp lists */ - makeDispListCurveTypes_forOrco(scene, ob, &disp); + BKE_displist_make_curveTypes_forOrco(scene, ob, &disp); dm = CDDM_from_curve_customDB(ob, &disp); - freedisplist(&disp); + BKE_displist_free(&disp); return dm; } @@ -1043,8 +1072,9 @@ static void add_orco_dm(Scene *scene, Object *ob, DerivedMesh *dm, DerivedMesh * static void curve_calc_orcodm(Scene *scene, Object *ob, DerivedMesh *derivedFinal, int forRender) { - /* this function represents logic of mesh's orcodm calculation */ - /* for displist-based objects */ + /* this function represents logic of mesh's orcodm calculation + * for displist-based objects + */ ModifierData *md = modifiers_getVirtualModifierList(ob); ModifierData *pretessellatePoint; @@ -1053,12 +1083,15 @@ static void curve_calc_orcodm(Scene *scene, Object *ob, DerivedMesh *derivedFina int editmode = (!forRender && cu->editnurb); DerivedMesh *ndm, *orcodm = NULL; - if (forRender) required_mode = eModifierMode_Render; - else required_mode = eModifierMode_Realtime; + if (forRender) + required_mode = eModifierMode_Render; + else + required_mode = eModifierMode_Realtime; pretessellatePoint = curve_get_tessellate_point(scene, ob, forRender, editmode); - if (editmode) required_mode |= eModifierMode_Editmode; + if (editmode) + required_mode |= eModifierMode_Editmode; if (pretessellatePoint) { md = pretessellatePoint->next; @@ -1069,9 +1102,12 @@ static void curve_calc_orcodm(Scene *scene, Object *ob, DerivedMesh *derivedFina md->scene = scene; - if ((md->mode & required_mode) != required_mode) continue; - if (mti->isDisabled && mti->isDisabled(md, forRender)) continue; - if (mti->type != eModifierTypeType_Constructive) continue; + if ((md->mode & required_mode) != required_mode) + continue; + if (mti->isDisabled && mti->isDisabled(md, forRender)) + continue; + if (mti->type != eModifierTypeType_Constructive) + continue; if (!orcodm) orcodm = create_orco_dm(scene, ob); @@ -1094,8 +1130,8 @@ static void curve_calc_orcodm(Scene *scene, Object *ob, DerivedMesh *derivedFina orcodm->release(orcodm); } -void makeDispListSurf(Scene *scene, Object *ob, ListBase *dispbase, - DerivedMesh **derivedFinal, int forRender, int forOrco) +void BKE_displist_make_surf(Scene *scene, Object *ob, ListBase *dispbase, + DerivedMesh **derivedFinal, int forRender, int forOrco) { ListBase *nubase; Nurb *nu; @@ -1120,8 +1156,10 @@ void makeDispListSurf(Scene *scene, Object *ob, ListBase *dispbase, int resolu = nu->resolu, resolv = nu->resolv; if (forRender) { - if (cu->resolu_ren) resolu = cu->resolu_ren; - if (cu->resolv_ren) resolv = cu->resolv_ren; + if (cu->resolu_ren) + resolu = cu->resolu_ren; + if (cu->resolv_ren) + resolv = cu->resolv_ren; } if (nu->pntsv == 1) { @@ -1148,7 +1186,7 @@ void makeDispListSurf(Scene *scene, Object *ob, ListBase *dispbase, } else { len = (nu->pntsu * resolu) * (nu->pntsv * resolv); - + dl = MEM_callocN(sizeof(DispList), "makeDispListsurf"); dl->verts = MEM_callocN(len * 3 * sizeof(float), "dlverts"); BLI_addtail(dispbase, dl); @@ -1169,7 +1207,7 @@ void makeDispListSurf(Scene *scene, Object *ob, ListBase *dispbase, if (nu->flagu & CU_NURB_CYCLIC) dl->flag |= DL_CYCL_V; BKE_nurb_makeFaces(nu, data, 0, resolu, resolv); - + /* gl array drawing: using indices */ displist_surf_indices(dl); } @@ -1179,15 +1217,16 @@ void makeDispListSurf(Scene *scene, Object *ob, ListBase *dispbase, /* make copy of 'undeformed" displist for texture space calculation * actually, it's not totally undeformed -- pre-tessellation modifiers are * already applied, thats how it worked for years, so keep for compatibility (sergey) */ - copy_displist(&cu->disp, dispbase); + BKE_displist_copy(&cu->disp, dispbase); if (!forRender) { BKE_curve_texspace_calc(cu); } - if (!forOrco) + if (!forOrco) { curve_calc_modifiers_post(scene, ob, dispbase, derivedFinal, forRender, originalVerts, deformedVerts); + } } static void rotateBevelPiece(Curve *cu, BevPoint *bevp, DispList *dlb, float widfac, float fac, float **data_r) @@ -1255,7 +1294,7 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba if (!ELEM3(ob->type, OB_SURF, OB_CURVE, OB_FONT)) return; if (ob->type == OB_SURF) { - makeDispListSurf(scene, ob, dispbase, derivedFinal, forRender, forOrco); + BKE_displist_make_surf(scene, ob, dispbase, derivedFinal, forRender, forOrco); } else if (ELEM(ob->type, OB_CURVE, OB_FONT)) { ListBase dlbev; @@ -1271,9 +1310,11 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba if (cu->path) free_path(cu->path); cu->path = NULL; - if (ob->type == OB_FONT) BKE_vfont_to_curve(G.main, scene, ob, 0); + if (ob->type == OB_FONT) + BKE_vfont_to_curve(G.main, scene, ob, 0); - if (!forOrco) curve_calc_modifiers_pre(scene, ob, forRender, &originalVerts, &deformedVerts, &numVerts); + if (!forOrco) + curve_calc_modifiers_pre(scene, ob, forRender, &originalVerts, &deformedVerts, &numVerts); BKE_curve_bevelList_make(ob); @@ -1355,9 +1396,9 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba dl = MEM_callocN(sizeof(DispList), "makeDispListbev1"); dl->verts = data = MEM_callocN(3 * sizeof(float) * dlb->nr * steps, "dlverts"); BLI_addtail(dispbase, dl); - + dl->type = DL_SURF; - + dl->flag = dlb->flag & (DL_FRONT_CURVE | DL_BACK_CURVE); if (dlb->type == DL_POLY) dl->flag |= DL_CYCL_U; if (bl->poly >= 0) dl->flag |= DL_CYCL_V; @@ -1372,7 +1413,7 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba dl->rt = nu->flag & ~CU_2D; dl->bevelSplitFlag = MEM_callocN(sizeof(*dl->col2) * ((steps + 0x1F) >> 5), "bevelSplitFlag"); - + /* for each point of poly make a bevel piece */ bevp = (BevPoint *)(bl + 1) + start; for (i = start, a = 0; a < steps; i++, bevp++, a++) { @@ -1384,13 +1425,13 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba fac = bevp->radius; } else { - fac = calc_taper(scene, cu->taperobj, i, bl->nr); + fac = BKE_displist_calc_taper(scene, cu->taperobj, i, bl->nr); } if (bevp->split_tag) { dl->bevelSplitFlag[a >> 5] |= 1 << (a & 0x1F); } - + /* rotate bevel piece and write in data */ rotateBevelPiece(cu, bevp, dlb, widfac, fac, &data); @@ -1415,7 +1456,7 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba } if (cu->bevobj && (cu->flag & CU_FILL_CAPS)) { - if (a == 1) + if (a == 1) fillBevelCap(nu, dlb, cur_data - 3 * dlb->nr, &bottom_capbase); if (a == steps - 1) fillBevelCap(nu, dlb, cur_data, &top_capbase); @@ -1427,34 +1468,36 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba } if (bottom_capbase.first) { - filldisplist(&bottom_capbase, dispbase, 1); - filldisplist(&top_capbase, dispbase, 0); - freedisplist(&bottom_capbase); - freedisplist(&top_capbase); + BKE_displist_fill(&bottom_capbase, dispbase, 1); + BKE_displist_fill(&top_capbase, dispbase, 0); + BKE_displist_free(&bottom_capbase); + BKE_displist_free(&top_capbase); } } } } - freedisplist(&dlbev); + BKE_displist_free(&dlbev); } if (!(cu->flag & CU_DEFORM_FILL)) { curve_to_filledpoly(cu, nubase, dispbase); } - if ((cu->flag & CU_PATH) && !forOrco) calc_curvepath(ob); + if ((cu->flag & CU_PATH) && !forOrco) + calc_curvepath(ob); /* make copy of 'undeformed" displist for texture space calculation * actually, it's not totally undeformed -- pre-tessellation modifiers are * already applied, thats how it worked for years, so keep for compatibility (sergey) */ - copy_displist(&cu->disp, dispbase); + BKE_displist_copy(&cu->disp, dispbase); if (!forRender) { BKE_curve_texspace_calc(cu); } - if (!forOrco) curve_calc_modifiers_post(scene, ob, dispbase, derivedFinal, forRender, originalVerts, deformedVerts); + if (!forOrco) + curve_calc_modifiers_post(scene, ob, dispbase, derivedFinal, forRender, originalVerts, deformedVerts); if (cu->flag & CU_DEFORM_FILL && !ob->derivedFinal) { curve_to_filledpoly(cu, nubase, dispbase); @@ -1462,7 +1505,7 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba } } -void makeDispListCurveTypes(Scene *scene, Object *ob, int forOrco) +void BKE_displist_make_curveTypes(Scene *scene, Object *ob, int forOrco) { Curve *cu = ob->data; ListBase *dispbase; @@ -1470,14 +1513,15 @@ void makeDispListCurveTypes(Scene *scene, Object *ob, int forOrco) /* The same check for duplis as in do_makeDispListCurveTypes. * Happens when curve used for constraint/bevel was converted to mesh. * check there is still needed for render displist and orco displists. */ - if (!ELEM3(ob->type, OB_SURF, OB_CURVE, OB_FONT)) return; + if (!ELEM3(ob->type, OB_SURF, OB_CURVE, OB_FONT)) + return; - freedisplist(&(ob->disp)); + BKE_displist_free(&(ob->disp)); dispbase = &(ob->disp); - freedisplist(dispbase); + BKE_displist_free(dispbase); /* free displist used for textspace */ - freedisplist(&cu->disp); + BKE_displist_free(&cu->disp); do_makeDispListCurveTypes(scene, ob, dispbase, &ob->derivedFinal, 0, forOrco); @@ -1495,19 +1539,19 @@ void makeDispListCurveTypes(Scene *scene, Object *ob, int forOrco) } } -void makeDispListCurveTypes_forRender(Scene *scene, Object *ob, ListBase *dispbase, +void BKE_displist_make_curveTypes_forRender(Scene *scene, Object *ob, ListBase *dispbase, DerivedMesh **derivedFinal, int forOrco) { do_makeDispListCurveTypes(scene, ob, dispbase, derivedFinal, 1, forOrco); } -void makeDispListCurveTypes_forOrco(struct Scene *scene, struct Object *ob, struct ListBase *dispbase) +void BKE_displist_make_curveTypes_forOrco(struct Scene *scene, struct Object *ob, struct ListBase *dispbase) { do_makeDispListCurveTypes(scene, ob, dispbase, NULL, 1, 1); } /* add Orco layer to the displist object which has got derived mesh and return orco */ -float *makeOrcoDispList(Scene *scene, Object *ob, DerivedMesh *derivedFinal, int forRender) +float *BKE_displist_make_orco(Scene *scene, Object *ob, DerivedMesh *derivedFinal, int forRender) { float *orco; @@ -1535,7 +1579,7 @@ static void boundbox_displist(Object *ob) DispList *dl; float *vert; int a, tot = 0; - + INIT_MINMAX(min, max); if (ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) { @@ -1544,13 +1588,13 @@ static void boundbox_displist(Object *ob) if (cu->bb == NULL) cu->bb = MEM_callocN(sizeof(BoundBox), "boundbox"); bb = cu->bb; - + dl = ob->disp.first; while (dl) { if (dl->type == DL_INDEX3) tot = dl->nr; else tot = dl->nr * dl->parts; - + vert = dl->verts; for (a = 0; a < tot; a++, vert += 3) { doit = 1; @@ -1559,17 +1603,16 @@ static void boundbox_displist(Object *ob) dl = dl->next; } - + if (!doit) { /* there's no geometry in displist, use zero-sized boundbox */ zero_v3(min); zero_v3(max); } - + } - + if (bb) { BKE_boundbox_init_from_minmax(bb, min, max); } } - diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c index 4024deee1e8..1d109d5f616 100644 --- a/source/blender/blenkernel/intern/effect.c +++ b/source/blender/blenkernel/intern/effect.c @@ -181,7 +181,7 @@ static void precalculate_effector(EffectorCache *eff) Curve *cu= eff->ob->data; if (cu->flag & CU_PATH) { if (cu->path==NULL || cu->path->data==NULL) - makeDispListCurveTypes(eff->scene, eff->ob, 0); + BKE_displist_make_curveTypes(eff->scene, eff->ob, 0); if (cu->path && cu->path->data) { where_on_path(eff->ob, 0.0, eff->guide_loc, eff->guide_dir, NULL, &eff->guide_radius, NULL); diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c index 0ec0c16073b..fda078f5c42 100644 --- a/source/blender/blenkernel/intern/font.c +++ b/source/blender/blenkernel/intern/font.c @@ -846,7 +846,7 @@ makebreak: cucu->flag |= (CU_PATH + CU_FOLLOW); - if (cucu->path == NULL) makeDispListCurveTypes(scene, cu->textoncurve, 0); + if (cucu->path == NULL) BKE_displist_make_curveTypes(scene, cu->textoncurve, 0); if (cucu->path) { float distfac, imat[4][4], imat3[3][3], cmat[3][3]; float minx, maxx, miny, maxy; diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c index 4076031fa18..8ac8acf6edf 100644 --- a/source/blender/blenkernel/intern/lattice.c +++ b/source/blender/blenkernel/intern/lattice.c @@ -149,7 +149,7 @@ void BKE_lattice_resize(Lattice *lt, int uNew, int vNew, int wNew, Object *ltOb) lt->typeu = lt->typev = lt->typew = KEY_LINEAR; /* prevent using deformed locations */ - freedisplist(<Ob->disp); + BKE_displist_free(<Ob->disp); copy_m4_m4(mat, ltOb->obmat); unit_m4(ltOb->obmat); @@ -294,7 +294,7 @@ void init_latt_deform(Object *oblatt, Object *ob) /* we make an array with all differences */ Lattice *lt = oblatt->data; BPoint *bp; - DispList *dl = find_displist(&oblatt->disp, DL_VERTS); + DispList *dl = BKE_displist_find(&oblatt->disp, DL_VERTS); float *co = dl ? dl->verts : NULL; float *fp, imat[4][4]; float fu, fv, fw; @@ -541,7 +541,7 @@ static int calc_curve_deform(Scene *scene, Object *par, float co[3], /* to be sure, mostly after file load */ if (cu->path == NULL) { - makeDispListCurveTypes(scene, par, 0); + BKE_displist_make_curveTypes(scene, par, 0); if (cu->path == NULL) return 0; // happens on append... } @@ -963,7 +963,7 @@ void BKE_lattice_modifiers_calc(Scene *scene, Object *ob) float (*vertexCos)[3] = NULL; int numVerts, editmode = (lt->editlatt != NULL); - freedisplist(&ob->disp); + BKE_displist_free(&ob->disp); for (; md; md = md->next) { ModifierTypeInfo *mti = modifierType_getInfo(md->type); diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index 7507442a4d5..0eeb16be699 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -1172,7 +1172,7 @@ int object_remove_material_slot(Object *ob) /* check indices from mesh */ if (ELEM4(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT)) { data_delete_material_index_id((ID *)ob->data, actcol - 1); - freedisplist(&ob->disp); + BKE_displist_free(&ob->disp); } return TRUE; diff --git a/source/blender/blenkernel/intern/mball.c b/source/blender/blenkernel/intern/mball.c index 5da54b497be..8075aaa21d3 100644 --- a/source/blender/blenkernel/intern/mball.c +++ b/source/blender/blenkernel/intern/mball.c @@ -196,7 +196,7 @@ void BKE_mball_free(MetaBall *mb) if (mb->mat) MEM_freeN(mb->mat); if (mb->bb) MEM_freeN(mb->bb); BLI_freelistN(&mb->elems); - if (mb->disp.first) freedisplist(&mb->disp); + if (mb->disp.first) BKE_displist_free(&mb->disp); } MetaBall *BKE_mball_add(const char *name) diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 282ce5cf349..e43c0999698 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -242,7 +242,7 @@ void BKE_object_free_display(Object *ob) ob->derivedFinal = NULL; } - freedisplist(&ob->disp); + BKE_displist_free(&ob->disp); } void free_sculptsession_deformMats(SculptSession *ss) @@ -1638,7 +1638,7 @@ static void ob_parcurve(Scene *scene, Object *ob, Object *par, float mat[][4]) cu = par->data; if (cu->path == NULL || cu->path->data == NULL) /* only happens on reload file, but violates depsgraph still... fix! */ - makeDispListCurveTypes(scene, par, 0); + BKE_displist_make_curveTypes(scene, par, 0); if (cu->path == NULL) return; /* catch exceptions: feature for nla stride editing */ @@ -1846,7 +1846,7 @@ static void give_parvert(Object *par, int nr, float vec[3]) else if (par->type == OB_LATTICE) { Lattice *latt = par->data; BPoint *bp; - DispList *dl = find_displist(&par->disp, DL_VERTS); + DispList *dl = BKE_displist_find(&par->disp, DL_VERTS); float *co = dl ? dl->verts : NULL; if (latt->editlatt) latt = latt->editlatt->latt; @@ -2593,13 +2593,13 @@ void BKE_object_handle_update(Scene *scene, Object *ob) break; case OB_MBALL: - makeDispListMBall(scene, ob); + BKE_displist_make_mball(scene, ob); break; case OB_CURVE: case OB_SURF: case OB_FONT: - makeDispListCurveTypes(scene, ob, 0); + BKE_displist_make_curveTypes(scene, ob, 0); break; case OB_LATTICE: diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c index a254e892289..8676a3e75a0 100644 --- a/source/blender/blenkernel/intern/particle.c +++ b/source/blender/blenkernel/intern/particle.c @@ -2188,7 +2188,7 @@ int do_guides(ListBase *effectors, ParticleKey *state, int index, float time) /* curve taper */ if (cu->taperobj) - mul_v3_fl(vec_to_point, calc_taper(eff->scene, cu->taperobj, (int)(data->strength * guidetime * 100.0f), 100)); + mul_v3_fl(vec_to_point, BKE_displist_calc_taper(eff->scene, cu->taperobj, (int)(data->strength * guidetime * 100.0f), 100)); else { /* curve size*/ if (cu->flag & CU_PATH_RADIUS) { -- cgit v1.2.3