forked from bartvdbraak/blender
rename MPoly vars called mface or mf, to avoid confusion with MFace types.
This commit is contained in:
parent
ff14479983
commit
320aa33e65
@ -1467,13 +1467,13 @@ static void cdDM_foreachMappedFaceCenter(
|
||||
{
|
||||
CDDerivedMesh *cddm = (CDDerivedMesh*)dm;
|
||||
MVert *mv = cddm->mvert;
|
||||
MPoly *mf = cddm->mpoly;
|
||||
MPoly *mp = cddm->mpoly;
|
||||
MLoop *ml = cddm->mloop;
|
||||
int i, j, orig, *index;
|
||||
|
||||
index = CustomData_get_layer(&dm->polyData, CD_ORIGINDEX);
|
||||
mf = cddm->mpoly;
|
||||
for (i = 0; i < dm->numPolyData; i++, mf++) {
|
||||
mp = cddm->mpoly;
|
||||
for (i = 0; i < dm->numPolyData; i++, mp++) {
|
||||
float cent[3];
|
||||
float no[3];
|
||||
|
||||
@ -1484,20 +1484,26 @@ static void cdDM_foreachMappedFaceCenter(
|
||||
else
|
||||
orig = i;
|
||||
|
||||
ml = &cddm->mloop[mf->loopstart];
|
||||
ml = &cddm->mloop[mp->loopstart];
|
||||
cent[0] = cent[1] = cent[2] = 0.0f;
|
||||
for (j=0; j<mf->totloop; j++, ml++) {
|
||||
for (j=0; j<mp->totloop; j++, ml++) {
|
||||
add_v3_v3v3(cent, cent, mv[ml->v].co);
|
||||
}
|
||||
mul_v3_fl(cent, 1.0f / (float)j);
|
||||
|
||||
ml = &cddm->mloop[mf->loopstart];
|
||||
ml = &cddm->mloop[mp->loopstart];
|
||||
if (j > 3) {
|
||||
normal_quad_v3(no, mv[ml->v].co, mv[(ml+1)->v].co,
|
||||
mv[(ml+2)->v].co, mv[(ml+3)->v].co);
|
||||
normal_quad_v3(no,
|
||||
mv[(ml + 0)->v].co,
|
||||
mv[(ml + 1)->v].co,
|
||||
mv[(ml + 2)->v].co,
|
||||
mv[(ml + 3)->v].co);
|
||||
}
|
||||
else {
|
||||
normal_tri_v3(no, mv[ml->v].co, mv[(ml+1)->v].co, mv[(ml+2)->v].co);
|
||||
normal_tri_v3(no,
|
||||
mv[(ml + 0)->v].co,
|
||||
mv[(ml + 1)->v].co,
|
||||
mv[(ml + 2)->v].co);
|
||||
}
|
||||
|
||||
func(userData, orig, cent, no);
|
||||
|
@ -1616,13 +1616,13 @@ static void psys_origspace_to_w(OrigSpaceFace *osface, int quad, const float w[4
|
||||
int psys_particle_dm_face_lookup(Object *ob, DerivedMesh *dm, int index, const float fw[4], struct LinkNode *node)
|
||||
{
|
||||
Mesh *me= (Mesh*)ob->data;
|
||||
MPoly *mface;
|
||||
MPoly *mpoly;
|
||||
OrigSpaceFace *osface;
|
||||
int *origindex;
|
||||
int quad, findex, totface;
|
||||
float uv[2], (*faceuv)[2];
|
||||
|
||||
mface = dm->getPolyArray(dm);
|
||||
mpoly = dm->getPolyArray(dm);
|
||||
origindex = dm->getTessFaceDataArray(dm, CD_ORIGINDEX);
|
||||
osface = dm->getTessFaceDataArray(dm, CD_ORIGSPACE);
|
||||
|
||||
@ -1648,7 +1648,7 @@ int psys_particle_dm_face_lookup(Object *ob, DerivedMesh *dm, int index, const f
|
||||
for (;node; node=node->next) {
|
||||
findex= GET_INT_FROM_POINTER(node->link);
|
||||
faceuv= osface[findex].uv;
|
||||
quad = (mface[findex].totloop == 4);
|
||||
quad = (mpoly[findex].totloop == 4);
|
||||
|
||||
/* check that this intersects - Its possible this misses :/ -
|
||||
* could also check its not between */
|
||||
@ -1664,7 +1664,7 @@ int psys_particle_dm_face_lookup(Object *ob, DerivedMesh *dm, int index, const f
|
||||
for (findex=0; findex<totface; findex++) {
|
||||
if (origindex[findex] == index) {
|
||||
faceuv= osface[findex].uv;
|
||||
quad = (mface[findex].totloop == 4);
|
||||
quad = (mpoly[findex].totloop == 4);
|
||||
|
||||
/* check that this intersects - Its possible this misses :/ -
|
||||
* could also check its not between */
|
||||
|
@ -1270,7 +1270,7 @@ static void ccgDM_copyFinalLoopArray(DerivedMesh *dm, MLoop *mloop)
|
||||
}
|
||||
}
|
||||
|
||||
static void ccgDM_copyFinalPolyArray(DerivedMesh *dm, MPoly *mface)
|
||||
static void ccgDM_copyFinalPolyArray(DerivedMesh *dm, MPoly *mpoly)
|
||||
{
|
||||
CCGDerivedMesh *ccgdm = (CCGDerivedMesh*) dm;
|
||||
CCGSubSurf *ss = ccgdm->ss;
|
||||
@ -1291,12 +1291,12 @@ static void ccgDM_copyFinalPolyArray(DerivedMesh *dm, MPoly *mface)
|
||||
for (S = 0; S < numVerts; S++) {
|
||||
for (y = 0; y < gridSize - 1; y++) {
|
||||
for (x = 0; x < gridSize - 1; x++) {
|
||||
MPoly *mf = &mface[i];
|
||||
MPoly *mp = &mpoly[i];
|
||||
|
||||
mf->mat_nr = mat_nr;
|
||||
mf->flag = flag;
|
||||
mf->loopstart = k;
|
||||
mf->totloop = 4;
|
||||
mp->mat_nr = mat_nr;
|
||||
mp->flag = flag;
|
||||
mp->loopstart = k;
|
||||
mp->totloop = 4;
|
||||
|
||||
k += 4;
|
||||
i++;
|
||||
|
@ -163,26 +163,26 @@ static int facesel_face_pick(struct bContext *C, Mesh *me, Object *ob, const int
|
||||
void paintface_hide(Object *ob, const int unselected)
|
||||
{
|
||||
Mesh *me;
|
||||
MPoly *mface;
|
||||
MPoly *mpoly;
|
||||
int a;
|
||||
|
||||
me = get_mesh(ob);
|
||||
if (me == NULL || me->totpoly == 0) return;
|
||||
|
||||
mface = me->mpoly;
|
||||
mpoly = me->mpoly;
|
||||
a = me->totpoly;
|
||||
while (a--) {
|
||||
if ((mface->flag & ME_HIDE) == 0) {
|
||||
if ((mpoly->flag & ME_HIDE) == 0) {
|
||||
if (unselected) {
|
||||
if ( (mface->flag & ME_FACE_SEL) == 0) mface->flag |= ME_HIDE;
|
||||
if ( (mpoly->flag & ME_FACE_SEL) == 0) mpoly->flag |= ME_HIDE;
|
||||
}
|
||||
else {
|
||||
if ( (mface->flag & ME_FACE_SEL)) mface->flag |= ME_HIDE;
|
||||
if ( (mpoly->flag & ME_FACE_SEL)) mpoly->flag |= ME_HIDE;
|
||||
}
|
||||
}
|
||||
if (mface->flag & ME_HIDE) mface->flag &= ~ME_FACE_SEL;
|
||||
if (mpoly->flag & ME_HIDE) mpoly->flag &= ~ME_FACE_SEL;
|
||||
|
||||
mface++;
|
||||
mpoly++;
|
||||
}
|
||||
|
||||
paintface_flush_flags(ob);
|
||||
@ -192,20 +192,20 @@ void paintface_hide(Object *ob, const int unselected)
|
||||
void paintface_reveal(Object *ob)
|
||||
{
|
||||
Mesh *me;
|
||||
MPoly *mface;
|
||||
MPoly *mpoly;
|
||||
int a;
|
||||
|
||||
me = get_mesh(ob);
|
||||
if (me == NULL || me->totpoly == 0) return;
|
||||
|
||||
mface = me->mpoly;
|
||||
mpoly = me->mpoly;
|
||||
a = me->totpoly;
|
||||
while (a--) {
|
||||
if (mface->flag & ME_HIDE) {
|
||||
mface->flag |= ME_FACE_SEL;
|
||||
mface->flag -= ME_HIDE;
|
||||
if (mpoly->flag & ME_HIDE) {
|
||||
mpoly->flag |= ME_FACE_SEL;
|
||||
mpoly->flag -= ME_HIDE;
|
||||
}
|
||||
mface++;
|
||||
mpoly++;
|
||||
}
|
||||
|
||||
paintface_flush_flags(ob);
|
||||
@ -227,7 +227,7 @@ static void hash_add_face(EdgeHash *ehash, MPoly *mp, MLoop *mloop)
|
||||
static void select_linked_tfaces_with_seams(int mode, Mesh *me, unsigned int index)
|
||||
{
|
||||
EdgeHash *ehash, *seamhash;
|
||||
MPoly *mf;
|
||||
MPoly *mp;
|
||||
MLoop *ml;
|
||||
MEdge *med;
|
||||
char *linkflag;
|
||||
@ -243,17 +243,17 @@ static void select_linked_tfaces_with_seams(int mode, Mesh *me, unsigned int ind
|
||||
|
||||
if (mode == 0 || mode == 1) {
|
||||
/* only put face under cursor in array */
|
||||
mf = ((MPoly *)me->mpoly) + index;
|
||||
hash_add_face(ehash, mf, me->mloop + mf->loopstart);
|
||||
mp = ((MPoly *)me->mpoly) + index;
|
||||
hash_add_face(ehash, mp, me->mloop + mp->loopstart);
|
||||
linkflag[index] = 1;
|
||||
}
|
||||
else {
|
||||
/* fill array by selection */
|
||||
mf = me->mpoly;
|
||||
for (a = 0; a < me->totpoly; a++, mf++) {
|
||||
if (mf->flag & ME_HIDE) ;
|
||||
else if (mf->flag & ME_FACE_SEL) {
|
||||
hash_add_face(ehash, mf, me->mloop + mf->loopstart);
|
||||
mp = me->mpoly;
|
||||
for (a = 0; a < me->totpoly; a++, mp++) {
|
||||
if (mp->flag & ME_HIDE) ;
|
||||
else if (mp->flag & ME_FACE_SEL) {
|
||||
hash_add_face(ehash, mp, me->mloop + mp->loopstart);
|
||||
linkflag[a] = 1;
|
||||
}
|
||||
}
|
||||
@ -263,18 +263,18 @@ static void select_linked_tfaces_with_seams(int mode, Mesh *me, unsigned int ind
|
||||
doit = 0;
|
||||
|
||||
/* expand selection */
|
||||
mf = me->mpoly;
|
||||
for (a = 0; a < me->totpoly; a++, mf++) {
|
||||
if (mf->flag & ME_HIDE)
|
||||
mp = me->mpoly;
|
||||
for (a = 0; a < me->totpoly; a++, mp++) {
|
||||
if (mp->flag & ME_HIDE)
|
||||
continue;
|
||||
|
||||
if (!linkflag[a]) {
|
||||
MLoop *mnextl;
|
||||
mark = 0;
|
||||
|
||||
ml = me->mloop + mf->loopstart;
|
||||
for (b = 0; b < mf->totloop; b++, ml++) {
|
||||
mnextl = b < mf->totloop - 1 ? ml - 1 : me->mloop + mf->loopstart;
|
||||
ml = me->mloop + mp->loopstart;
|
||||
for (b = 0; b < mp->totloop; b++, ml++) {
|
||||
mnextl = b < mp->totloop - 1 ? ml - 1 : me->mloop + mp->loopstart;
|
||||
if (!BLI_edgehash_haskey(seamhash, ml->v, mnextl->v))
|
||||
if (!BLI_edgehash_haskey(ehash, ml->v, mnextl->v))
|
||||
mark = 1;
|
||||
@ -282,7 +282,7 @@ static void select_linked_tfaces_with_seams(int mode, Mesh *me, unsigned int ind
|
||||
|
||||
if (mark) {
|
||||
linkflag[a] = 1;
|
||||
hash_add_face(ehash, mf, me->mloop + mf->loopstart);
|
||||
hash_add_face(ehash, mp, me->mloop + mp->loopstart);
|
||||
doit = 1;
|
||||
}
|
||||
}
|
||||
@ -294,26 +294,26 @@ static void select_linked_tfaces_with_seams(int mode, Mesh *me, unsigned int ind
|
||||
BLI_edgehash_free(seamhash, NULL);
|
||||
|
||||
if (mode == 0 || mode == 2) {
|
||||
for (a = 0, mf = me->mpoly; a < me->totpoly; a++, mf++)
|
||||
for (a = 0, mp = me->mpoly; a < me->totpoly; a++, mp++)
|
||||
if (linkflag[a])
|
||||
mf->flag |= ME_FACE_SEL;
|
||||
mp->flag |= ME_FACE_SEL;
|
||||
else
|
||||
mf->flag &= ~ME_FACE_SEL;
|
||||
mp->flag &= ~ME_FACE_SEL;
|
||||
}
|
||||
else if (mode == 1) {
|
||||
for (a = 0, mf = me->mpoly; a < me->totpoly; a++, mf++)
|
||||
if (linkflag[a] && (mf->flag & ME_FACE_SEL))
|
||||
for (a = 0, mp = me->mpoly; a < me->totpoly; a++, mp++)
|
||||
if (linkflag[a] && (mp->flag & ME_FACE_SEL))
|
||||
break;
|
||||
|
||||
if (a < me->totpoly) {
|
||||
for (a = 0, mf = me->mpoly; a < me->totpoly; a++, mf++)
|
||||
for (a = 0, mp = me->mpoly; a < me->totpoly; a++, mp++)
|
||||
if (linkflag[a])
|
||||
mf->flag &= ~ME_FACE_SEL;
|
||||
mp->flag &= ~ME_FACE_SEL;
|
||||
}
|
||||
else {
|
||||
for (a = 0, mf = me->mpoly; a < me->totpoly; a++, mf++)
|
||||
for (a = 0, mp = me->mpoly; a < me->totpoly; a++, mp++)
|
||||
if (linkflag[a])
|
||||
mf->flag |= ME_FACE_SEL;
|
||||
mp->flag |= ME_FACE_SEL;
|
||||
}
|
||||
}
|
||||
|
||||
@ -344,54 +344,54 @@ void paintface_select_linked(bContext *UNUSED(C), Object *ob, int UNUSED(mval[2]
|
||||
void paintface_deselect_all_visible(Object *ob, int action, short flush_flags)
|
||||
{
|
||||
Mesh *me;
|
||||
MPoly *mface;
|
||||
MPoly *mpoly;
|
||||
int a;
|
||||
|
||||
me = get_mesh(ob);
|
||||
if (me == NULL) return;
|
||||
|
||||
if (action == SEL_INVERT) {
|
||||
mface = me->mpoly;
|
||||
mpoly = me->mpoly;
|
||||
a = me->totpoly;
|
||||
while (a--) {
|
||||
if ((mface->flag & ME_HIDE) == 0) {
|
||||
mface->flag ^= ME_FACE_SEL;
|
||||
if ((mpoly->flag & ME_HIDE) == 0) {
|
||||
mpoly->flag ^= ME_FACE_SEL;
|
||||
}
|
||||
mface++;
|
||||
mpoly++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (action == SEL_TOGGLE) {
|
||||
action = SEL_SELECT;
|
||||
|
||||
mface = me->mpoly;
|
||||
mpoly = me->mpoly;
|
||||
a = me->totpoly;
|
||||
while (a--) {
|
||||
if ((mface->flag & ME_HIDE) == 0 && mface->flag & ME_FACE_SEL) {
|
||||
if ((mpoly->flag & ME_HIDE) == 0 && mpoly->flag & ME_FACE_SEL) {
|
||||
action = SEL_DESELECT;
|
||||
break;
|
||||
}
|
||||
mface++;
|
||||
mpoly++;
|
||||
}
|
||||
}
|
||||
|
||||
mface = me->mpoly;
|
||||
mpoly = me->mpoly;
|
||||
a = me->totpoly;
|
||||
while (a--) {
|
||||
if ((mface->flag & ME_HIDE) == 0) {
|
||||
if ((mpoly->flag & ME_HIDE) == 0) {
|
||||
switch (action) {
|
||||
case SEL_SELECT:
|
||||
mface->flag |= ME_FACE_SEL;
|
||||
mpoly->flag |= ME_FACE_SEL;
|
||||
break;
|
||||
case SEL_DESELECT:
|
||||
mface->flag &= ~ME_FACE_SEL;
|
||||
mpoly->flag &= ~ME_FACE_SEL;
|
||||
break;
|
||||
case SEL_INVERT:
|
||||
mface->flag ^= ME_FACE_SEL;
|
||||
mpoly->flag ^= ME_FACE_SEL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
mface++;
|
||||
mpoly++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -403,7 +403,7 @@ void paintface_deselect_all_visible(Object *ob, int action, short flush_flags)
|
||||
int paintface_minmax(Object *ob, float *min, float *max)
|
||||
{
|
||||
Mesh *me;
|
||||
MPoly *mf;
|
||||
MPoly *mp;
|
||||
MTexPoly *tf;
|
||||
MLoop *ml;
|
||||
MVert *mvert;
|
||||
@ -416,14 +416,14 @@ int paintface_minmax(Object *ob, float *min, float *max)
|
||||
copy_m3_m4(bmat, ob->obmat);
|
||||
|
||||
mvert = me->mvert;
|
||||
mf = me->mpoly;
|
||||
mp = me->mpoly;
|
||||
tf = me->mtpoly;
|
||||
for (a = me->totpoly; a > 0; a--, mf++, tf++) {
|
||||
if (mf->flag & ME_HIDE || !(mf->flag & ME_FACE_SEL))
|
||||
for (a = me->totpoly; a > 0; a--, mp++, tf++) {
|
||||
if (mp->flag & ME_HIDE || !(mp->flag & ME_FACE_SEL))
|
||||
continue;
|
||||
|
||||
ml = me->mloop + mf->totloop;
|
||||
for (b = 0; b < mf->totloop; b++, ml++) {
|
||||
ml = me->mloop + mp->totloop;
|
||||
for (b = 0; b < mp->totloop; b++, ml++) {
|
||||
copy_v3_v3(vec, (mvert[ml->v].co));
|
||||
mul_m3_v3(bmat, vec);
|
||||
add_v3_v3v3(vec, vec, ob->obmat[3]);
|
||||
@ -438,14 +438,14 @@ int paintface_minmax(Object *ob, float *min, float *max)
|
||||
|
||||
/* *************************************** */
|
||||
#if 0
|
||||
static void seam_edgehash_insert_face(EdgeHash *ehash, MPoly *mf, MLoop *loopstart)
|
||||
static void seam_edgehash_insert_face(EdgeHash *ehash, MPoly *mp, MLoop *loopstart)
|
||||
{
|
||||
MLoop *ml1, *ml2;
|
||||
int a;
|
||||
|
||||
for (a = 0; a < mf->totloop; a++) {
|
||||
for (a = 0; a < mp->totloop; a++) {
|
||||
ml1 = loopstart + a;
|
||||
ml2 = loopstart + (a + 1) % mf->totloop;
|
||||
ml2 = loopstart + (a + 1) % mp->totloop;
|
||||
|
||||
BLI_edgehash_insert(ehash, ml1->v, ml2->v, NULL);
|
||||
}
|
||||
@ -454,7 +454,7 @@ static void seam_edgehash_insert_face(EdgeHash *ehash, MPoly *mf, MLoop *loopsta
|
||||
void seam_mark_clear_tface(Scene *scene, short mode)
|
||||
{
|
||||
Mesh *me;
|
||||
MPoly *mf;
|
||||
MPoly *mp;
|
||||
MLoop *ml1, *ml2;
|
||||
MEdge *med;
|
||||
int a, b;
|
||||
@ -471,9 +471,9 @@ void seam_mark_clear_tface(Scene *scene, short mode)
|
||||
if (mode == 2) {
|
||||
EdgeHash *ehash = BLI_edgehash_new();
|
||||
|
||||
for (a = 0, mf = me->mpoly; a < me->totpoly; a++, mf++)
|
||||
if (!(mf->flag & ME_HIDE) && (mf->flag & ME_FACE_SEL))
|
||||
seam_edgehash_insert_face(ehash, mf, me->mloop + mf->loopstart);
|
||||
for (a = 0, mp = me->mpoly; a < me->totpoly; a++, mp++)
|
||||
if (!(mp->flag & ME_HIDE) && (mp->flag & ME_FACE_SEL))
|
||||
seam_edgehash_insert_face(ehash, mp, me->mloop + mp->loopstart);
|
||||
|
||||
for (a = 0, med = me->medge; a < me->totedge; a++, med++)
|
||||
if (BLI_edgehash_haskey(ehash, med->v1, med->v2))
|
||||
@ -486,11 +486,11 @@ void seam_mark_clear_tface(Scene *scene, short mode)
|
||||
EdgeHash *ehash1 = BLI_edgehash_new();
|
||||
EdgeHash *ehash2 = BLI_edgehash_new();
|
||||
|
||||
for (a = 0, mf = me->mpoly; a < me->totpoly; a++, mf++) {
|
||||
if ((mf->flag & ME_HIDE) || !(mf->flag & ME_FACE_SEL))
|
||||
seam_edgehash_insert_face(ehash1, mf, me->mloop + mf->loopstart);
|
||||
for (a = 0, mp = me->mpoly; a < me->totpoly; a++, mp++) {
|
||||
if ((mp->flag & ME_HIDE) || !(mp->flag & ME_FACE_SEL))
|
||||
seam_edgehash_insert_face(ehash1, mp, me->mloop + mp->loopstart);
|
||||
else
|
||||
seam_edgehash_insert_face(ehash2, mf, me->mloop + mf->loopstart);
|
||||
seam_edgehash_insert_face(ehash2, mp, me->mloop + mp->loopstart);
|
||||
}
|
||||
|
||||
for (a = 0, med = me->medge; a < me->totedge; a++, med++)
|
||||
@ -512,7 +512,7 @@ void seam_mark_clear_tface(Scene *scene, short mode)
|
||||
int paintface_mouse_select(struct bContext *C, Object *ob, const int mval[2], int extend)
|
||||
{
|
||||
Mesh *me;
|
||||
MPoly *mface, *msel;
|
||||
MPoly *mpoly, *mpoly_sel;
|
||||
unsigned int a, index;
|
||||
|
||||
/* Get the face under the cursor */
|
||||
@ -524,28 +524,28 @@ int paintface_mouse_select(struct bContext *C, Object *ob, const int mval[2], in
|
||||
if (index >= me->totpoly || index < 0)
|
||||
return 0;
|
||||
|
||||
msel = me->mpoly + index;
|
||||
if (msel->flag & ME_HIDE) return 0;
|
||||
mpoly_sel = me->mpoly + index;
|
||||
if (mpoly_sel->flag & ME_HIDE) return 0;
|
||||
|
||||
/* clear flags */
|
||||
mface = me->mpoly;
|
||||
mpoly = me->mpoly;
|
||||
a = me->totpoly;
|
||||
if (!extend) {
|
||||
while (a--) {
|
||||
mface->flag &= ~ME_FACE_SEL;
|
||||
mface++;
|
||||
mpoly->flag &= ~ME_FACE_SEL;
|
||||
mpoly++;
|
||||
}
|
||||
}
|
||||
|
||||
me->act_face = (int)index;
|
||||
|
||||
if (extend) {
|
||||
if (msel->flag & ME_FACE_SEL)
|
||||
msel->flag &= ~ME_FACE_SEL;
|
||||
if (mpoly_sel->flag & ME_FACE_SEL)
|
||||
mpoly_sel->flag &= ~ME_FACE_SEL;
|
||||
else
|
||||
msel->flag |= ME_FACE_SEL;
|
||||
mpoly_sel->flag |= ME_FACE_SEL;
|
||||
}
|
||||
else msel->flag |= ME_FACE_SEL;
|
||||
else mpoly_sel->flag |= ME_FACE_SEL;
|
||||
|
||||
/* image window redraw */
|
||||
|
||||
@ -559,7 +559,7 @@ int do_paintface_box_select(ViewContext *vc, rcti *rect, int select, int extend)
|
||||
{
|
||||
Object *ob = vc->obact;
|
||||
Mesh *me;
|
||||
MPoly *mface;
|
||||
MPoly *mpoly;
|
||||
struct ImBuf *ibuf;
|
||||
unsigned int *rt;
|
||||
char *selar;
|
||||
@ -577,10 +577,10 @@ int do_paintface_box_select(ViewContext *vc, rcti *rect, int select, int extend)
|
||||
if (extend == 0 && select) {
|
||||
paintface_deselect_all_visible(vc->obact, SEL_DESELECT, FALSE);
|
||||
|
||||
mface = me->mpoly;
|
||||
for (a = 1; a <= me->totpoly; a++, mface++) {
|
||||
if ((mface->flag & ME_HIDE) == 0)
|
||||
mface->flag &= ~ME_FACE_SEL;
|
||||
mpoly = me->mpoly;
|
||||
for (a = 1; a <= me->totpoly; a++, mpoly++) {
|
||||
if ((mpoly->flag & ME_HIDE) == 0)
|
||||
mpoly->flag &= ~ME_FACE_SEL;
|
||||
}
|
||||
}
|
||||
|
||||
@ -600,13 +600,13 @@ int do_paintface_box_select(ViewContext *vc, rcti *rect, int select, int extend)
|
||||
rt++;
|
||||
}
|
||||
|
||||
mface = me->mpoly;
|
||||
for (a = 1; a <= me->totpoly; a++, mface++) {
|
||||
mpoly = me->mpoly;
|
||||
for (a = 1; a <= me->totpoly; a++, mpoly++) {
|
||||
if (selar[a]) {
|
||||
if (mface->flag & ME_HIDE) ;
|
||||
if (mpoly->flag & ME_HIDE) ;
|
||||
else {
|
||||
if (select) mface->flag |= ME_FACE_SEL;
|
||||
else mface->flag &= ~ME_FACE_SEL;
|
||||
if (select) mpoly->flag |= ME_FACE_SEL;
|
||||
else mpoly->flag &= ~ME_FACE_SEL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -473,7 +473,7 @@ void vpaint_fill(Object *ob, unsigned int paintcol)
|
||||
void wpaint_fill(VPaint *wp, Object *ob, float paintweight)
|
||||
{
|
||||
Mesh *me = ob->data;
|
||||
MPoly *mf;
|
||||
MPoly *mp;
|
||||
MDeformWeight *dw, *dw_prev;
|
||||
int vgroup_active, vgroup_mirror = -1;
|
||||
unsigned int index;
|
||||
@ -492,15 +492,15 @@ void wpaint_fill(VPaint *wp, Object *ob, float paintweight)
|
||||
|
||||
copy_wpaint_prev(wp, me->dvert, me->totvert);
|
||||
|
||||
for (index = 0, mf = me->mpoly; index < me->totpoly; index++, mf++) {
|
||||
unsigned int fidx = mf->totloop - 1;
|
||||
for (index = 0, mp = me->mpoly; index < me->totpoly; index++, mp++) {
|
||||
unsigned int fidx = mp->totloop - 1;
|
||||
|
||||
if ((paint_selmode == SCE_SELECT_FACE) && !(mf->flag & ME_FACE_SEL)) {
|
||||
if ((paint_selmode == SCE_SELECT_FACE) && !(mp->flag & ME_FACE_SEL)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
do {
|
||||
unsigned int vidx = me->mloop[mf->loopstart + fidx].v;
|
||||
unsigned int vidx = me->mloop[mp->loopstart + fidx].v;
|
||||
|
||||
if (!me->dvert[vidx].flag) {
|
||||
if ((paint_selmode == SCE_SELECT_VERTEX) && !(me->mvert[vidx].flag & SELECT)) {
|
||||
@ -1032,7 +1032,7 @@ static int weight_sample_invoke(bContext *C, wmOperator *op, wmEvent *event)
|
||||
BKE_report(op->reports, RPT_WARNING, "The modifier used does not support deformed locations");
|
||||
}
|
||||
else {
|
||||
MPoly *mf = ((MPoly *)me->mpoly) + index - 1;
|
||||
MPoly *mp = ((MPoly *)me->mpoly) + (index - 1);
|
||||
const int vgroup_active = vc.obact->actdef - 1;
|
||||
ToolSettings *ts = vc.scene->toolsettings;
|
||||
float mval_f[2];
|
||||
@ -1043,10 +1043,10 @@ static int weight_sample_invoke(bContext *C, wmOperator *op, wmEvent *event)
|
||||
mval_f[0] = (float)event->mval[0];
|
||||
mval_f[1] = (float)event->mval[1];
|
||||
|
||||
fidx = mf->totloop - 1;
|
||||
fidx = mp->totloop - 1;
|
||||
do {
|
||||
float co[3], sco[3], len;
|
||||
const int v_idx = me->mloop[mf->loopstart + fidx].v;
|
||||
const int v_idx = me->mloop[mp->loopstart + fidx].v;
|
||||
dm->getVertCo(dm, v_idx, co);
|
||||
project_float_noclip(vc.ar, co, sco);
|
||||
len = len_squared_v2v2(mval_f, sco);
|
||||
@ -1112,13 +1112,13 @@ static EnumPropertyItem *weight_paint_sample_enum_itemf(bContext *C, PointerRNA
|
||||
if (index && index <= me->totpoly) {
|
||||
const int defbase_tot = BLI_countlist(&vc.obact->defbase);
|
||||
if (defbase_tot) {
|
||||
MPoly *mf = ((MPoly *)me->mpoly) + index - 1;
|
||||
unsigned int fidx = mf->totloop - 1;
|
||||
MPoly *mp = ((MPoly *)me->mpoly) + (index - 1);
|
||||
unsigned int fidx = mp->totloop - 1;
|
||||
int *groups = MEM_callocN(defbase_tot * sizeof(int), "groups");
|
||||
int found = FALSE;
|
||||
|
||||
do {
|
||||
MDeformVert *dvert = me->dvert + me->mloop[mf->loopstart + fidx].v;
|
||||
MDeformVert *dvert = me->dvert + me->mloop[mp->loopstart + fidx].v;
|
||||
int i = dvert->totweight;
|
||||
MDeformWeight *dw;
|
||||
for (dw = dvert->dw; i > 0; dw++, i--) {
|
||||
|
@ -172,8 +172,8 @@ static DMDrawOption draw_mesh_face_select__drawFaceOptsInv(void *userData, int i
|
||||
{
|
||||
Mesh *me = (Mesh *)userData;
|
||||
|
||||
MPoly *mface = &me->mpoly[index];
|
||||
if (!(mface->flag & ME_HIDE) && !(mface->flag & ME_FACE_SEL))
|
||||
MPoly *mpoly = &me->mpoly[index];
|
||||
if (!(mpoly->flag & ME_HIDE) && !(mpoly->flag & ME_FACE_SEL))
|
||||
return DM_DRAW_OPTION_NO_MCOL; /* Don't set color */
|
||||
else
|
||||
return DM_DRAW_OPTION_SKIP;
|
||||
|
@ -384,17 +384,17 @@ static void draw_uvs_other(Scene *scene, Object *obedit, Image *curimage)
|
||||
Mesh *me= ob->data;
|
||||
|
||||
if (me->mtpoly) {
|
||||
MPoly *mface= me->mpoly;
|
||||
MTexPoly *mtpoly= me->mtpoly;
|
||||
MPoly *mpoly = me->mpoly;
|
||||
MTexPoly *mtpoly = me->mtpoly;
|
||||
MLoopUV *mloopuv;
|
||||
int a, b;
|
||||
|
||||
for (a=me->totpoly; a>0; a--, mtpoly++, mface++) {
|
||||
for (a = me->totpoly; a > 0; a--, mtpoly++, mpoly++) {
|
||||
if (mtpoly->tpage == curimage) {
|
||||
glBegin(GL_LINE_LOOP);
|
||||
|
||||
mloopuv = me->mloopuv + mface->loopstart;
|
||||
for (b=0; b<mface->totloop; b++, mloopuv++) {
|
||||
mloopuv = me->mloopuv + mpoly->loopstart;
|
||||
for (b = 0; b < mpoly->totloop; b++, mloopuv++) {
|
||||
glVertex2fv(mloopuv->uv);
|
||||
}
|
||||
glEnd();
|
||||
@ -416,17 +416,17 @@ static void draw_uvs_texpaint(SpaceImage *sima, Scene *scene, Object *ob)
|
||||
glColor3ub(112, 112, 112);
|
||||
|
||||
if (me->mtface) {
|
||||
MPoly *mface= me->mpoly;
|
||||
MPoly *mpoly= me->mpoly;
|
||||
MTexPoly *tface= me->mtpoly;
|
||||
MLoopUV *mloopuv;
|
||||
int a, b;
|
||||
|
||||
for (a=me->totpoly; a>0; a--, tface++, mface++) {
|
||||
for (a=me->totpoly; a>0; a--, tface++, mpoly++) {
|
||||
if (tface->tpage == curimage) {
|
||||
glBegin(GL_LINE_LOOP);
|
||||
|
||||
mloopuv = me->mloopuv + mface->loopstart;
|
||||
for (b=0; b<mface->totloop; b++, mloopuv++) {
|
||||
mloopuv = me->mloopuv + mpoly->loopstart;
|
||||
for (b=0; b<mpoly->totloop; b++, mloopuv++) {
|
||||
glVertex2fv(mloopuv->uv);
|
||||
}
|
||||
glEnd();
|
||||
|
Loading…
Reference in New Issue
Block a user