Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2004-03-21 02:59:57 +0300
committerDaniel Dunbar <daniel@zuster.org>2004-03-21 02:59:57 +0300
commit44a74dbf29cb17544efbcfd425d3427bd3dfc61a (patch)
tree6e1620cfee8414c4d2d56dc8b5f3dcbd94b9f99c /source/blender/blenkernel
parentaedf456938bf5611d8e1668599884ff3d957c643 (diff)
- added editmesh_[de]select_by_material function
- added mesh_set_smooth_flag, mesh_delete_material_index function - isolated some globals - got rid of reliance on meshdata in buttons_editing.c and material.c
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_mesh.h2
-rw-r--r--source/blender/blenkernel/intern/material.c12
-rw-r--r--source/blender/blenkernel/intern/mesh.c24
-rw-r--r--source/blender/blenkernel/intern/object.c3
4 files changed, 29 insertions, 12 deletions
diff --git a/source/blender/blenkernel/BKE_mesh.h b/source/blender/blenkernel/BKE_mesh.h
index f7d3f4863bc..e9edf8a770a 100644
--- a/source/blender/blenkernel/BKE_mesh.h
+++ b/source/blender/blenkernel/BKE_mesh.h
@@ -75,6 +75,8 @@ void copy_dverts(struct MDeformVert *dst, struct MDeformVert *src, int totvert);
int mesh_uses_displist(struct Mesh *me);
float get_mvert_weight (struct Object *ob, int vert, int defgroup);
int update_realtime_texture(struct TFace *tface, double time);
+void mesh_delete_material_index(struct Mesh *me, int index);
+void mesh_set_smooth_flag(struct Mesh *me, int enableSmooth);
/** Generate the mesh vertex normals by averaging over connected faces.
*
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index 9a61c9a2eaa..5d52e4750a1 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -39,7 +39,6 @@
#include "DNA_material_types.h"
#include "DNA_texture_types.h"
#include "DNA_mesh_types.h"
-#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_curve_types.h"
#include "DNA_meta_types.h"
@@ -679,10 +678,8 @@ void delete_material_index()
{
Material *mao, ***matarar;
Object *ob, *obt;
- Mesh *me;
Curve *cu;
Nurb *nu;
- MFace *mface;
short *totcolp;
int a, actcol;
@@ -745,13 +742,8 @@ void delete_material_index()
/* check indices from mesh */
if(ob->type==OB_MESH) {
- me= get_mesh(ob);
- mface= me->mface;
- a= me->totface;
- while(a--) {
- if(mface->mat_nr && mface->mat_nr>=actcol-1) mface->mat_nr--;
- mface++;
- }
+ Mesh *me= get_mesh(ob);
+ mesh_delete_material_index(me, actcol-1);
makeDispList(ob);
}
else if ELEM(ob->type, OB_CURVE, OB_SURF) {
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 9b9ae77531f..30221bc21dd 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -1148,3 +1148,27 @@ void mesh_calculate_vertex_normals(Mesh *me)
MEM_freeN(tempNorms);
}
+
+void mesh_delete_material_index(Mesh *me, int index) {
+ int i;
+
+ for (i=0; i<me->totface; i++) {
+ MFace *mf = &((MFace*) me->mface)[i];
+ if (mf->mat_nr && mf->mat_nr>=index)
+ mf->mat_nr--;
+ }
+}
+
+void mesh_set_smooth_flag(Mesh *me, int enableSmooth) {
+ int i;
+
+ for (i=0; i<me->totface; i++) {
+ MFace *mf = &((MFace*) me->mface)[i];
+
+ if (enableSmooth) {
+ mf->flag |= ME_SMOOTH;
+ } else {
+ mf->flag &= ~ME_SMOOTH;
+ }
+ }
+}
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 85082c71c81..9f3f63ba478 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -1025,7 +1025,6 @@ void ob_parlimb(Object *ob, Object *par, float mat[][4])
void give_parvert(Object *par, int nr, float *vec)
{
Mesh *me;
- MVert *mvert;
EditVert *eve;
/* extern ListBase editNurb; already in bad lev calls */
Nurb *nu;
@@ -1065,7 +1064,7 @@ void give_parvert(Object *par, int nr, float *vec)
VECCOPY(vec, fp);
}
else {
- mvert= me->mvert + nr;
+ MVert *mvert= me->mvert + nr;
VECCOPY(vec, mvert->co);
}
}