Revision: 43676
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43676
Author:   campbellbarton
Date:     2012-01-24 19:57:34 +0000 (Tue, 24 Jan 2012)
Log Message:
-----------
use a struct to pass normals to normal draw derived mesh callbacks (no 
functional changes)

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/drawobject.c

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c      
2012-01-24 19:54:18 UTC (rev 43675)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c      
2012-01-24 19:57:34 UTC (rev 43676)
@@ -154,6 +154,10 @@
        int *orig_index;
 } drawDMFacesSel_userData;
 
+typedef struct drawDMNormal_userData {
+       float normalsize;
+} drawDMNormal_userData;
+
 typedef struct bbsObmodeMeshVerts_userData {
        void *offset;
        MVert *mvert;
@@ -2212,20 +2216,24 @@
 
 static void draw_dm_face_normals__mapFunc(void *userData, int index, float 
*cent, float *no)
 {
-       ToolSettings *ts= ((Scene *)userData)->toolsettings;
+       drawDMNormal_userData *data = userData;
        EditFace *efa = EM_get_face_for_index(index);
 
        if (efa->h==0 && efa->fgonf!=EM_FGON) {
                glVertex3fv(cent);
-               glVertex3f(     cent[0] + no[0]*ts->normalsize,
-                                       cent[1] + no[1]*ts->normalsize,
-                                       cent[2] + no[2]*ts->normalsize);
+               glVertex3f(cent[0] + no[0] * data->normalsize,
+                          cent[1] + no[1] * data->normalsize,
+                          cent[2] + no[2] * data->normalsize);
        }
 }
 static void draw_dm_face_normals(Scene *scene, DerivedMesh *dm) 
 {
+       drawDMNormal_userData data;
+
+       data.normalsize = scene->toolsettings->normalsize;
+
        glBegin(GL_LINES);
-       dm->foreachMappedFaceCenter(dm, draw_dm_face_normals__mapFunc, scene);
+       dm->foreachMappedFaceCenter(dm, draw_dm_face_normals__mapFunc, &data);
        glEnd();
 }
 
@@ -2247,28 +2255,32 @@
 
 static void draw_dm_vert_normals__mapFunc(void *userData, int index, float 
*co, float *no_f, short *no_s)
 {
-       Scene *scene= (Scene *)userData;
-       ToolSettings *ts= scene->toolsettings;
+       drawDMNormal_userData *data = userData;
        EditVert *eve = EM_get_vert_for_index(index);
 
        if (eve->h==0) {
                glVertex3fv(co);
 
                if (no_f) {
-                       glVertex3f(     co[0] + no_f[0]*ts->normalsize,
-                                               co[1] + no_f[1]*ts->normalsize,
-                                               co[2] + no_f[2]*ts->normalsize);
-               } else {
-                       glVertex3f(     co[0] + no_s[0]*ts->normalsize/32767.0f,
-                                               co[1] + 
no_s[1]*ts->normalsize/32767.0f,
-                                               co[2] + 
no_s[2]*ts->normalsize/32767.0f);
+                       glVertex3f(co[0] + no_f[0] * data->normalsize,
+                                  co[1] + no_f[1] * data->normalsize,
+                                  co[2] + no_f[2] * data->normalsize);
                }
+               else {
+                       glVertex3f(co[0] + no_s[0] * (data->normalsize / 
32767.0f),
+                                  co[1] + no_s[1] * (data->normalsize / 
32767.0f),
+                                  co[2] + no_s[2] * (data->normalsize / 
32767.0f));
+               }
        }
 }
 static void draw_dm_vert_normals(Scene *scene, DerivedMesh *dm) 
 {
+       drawDMNormal_userData data;
+
+       data.normalsize = scene->toolsettings->normalsize;
+
        glBegin(GL_LINES);
-       dm->foreachMappedVert(dm, draw_dm_vert_normals__mapFunc, scene);
+       dm->foreachMappedVert(dm, draw_dm_vert_normals__mapFunc, &data);
        glEnd();
 }
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to