Revision: 15613
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15613
Author:   theeth
Date:     2008-07-17 19:33:45 +0200 (Thu, 17 Jul 2008)

Log Message:
-----------
More levels for multi resolution (smoother progression between filtering 
values). Also different progression for internal edges filtering than external 
edges (small internal and less important than small external).

Modified Paths:
--------------
    branches/harmonic-skeleton/source/blender/include/reeb.h
    branches/harmonic-skeleton/source/blender/src/buttons_editing.c
    branches/harmonic-skeleton/source/blender/src/reeb.c

Modified: branches/harmonic-skeleton/source/blender/include/reeb.h
===================================================================
--- branches/harmonic-skeleton/source/blender/include/reeb.h    2008-07-17 
17:30:32 UTC (rev 15612)
+++ branches/harmonic-skeleton/source/blender/include/reeb.h    2008-07-17 
17:33:45 UTC (rev 15613)
@@ -161,6 +161,9 @@
 void verifyFaces(ReebGraph *rg);
 
 /*********************** PUBLIC *********************************/
+
+#define REEB_MAX_MULTI_LEVEL   10
+
 ReebGraph *BIF_ReebGraphFromEditMesh(void);
 ReebGraph *BIF_ReebGraphMultiFromEditMesh(void);
 void BIF_flagMultiArcs(ReebGraph *rg, int flag);

Modified: branches/harmonic-skeleton/source/blender/src/buttons_editing.c
===================================================================
--- branches/harmonic-skeleton/source/blender/src/buttons_editing.c     
2008-07-17 17:30:32 UTC (rev 15612)
+++ branches/harmonic-skeleton/source/blender/src/buttons_editing.c     
2008-07-17 17:33:45 UTC (rev 15613)
@@ -5050,7 +5050,7 @@
        uiDefButBitS(block, TOG, SKGEN_DISP_WEIGHT, REDRAWVIEW3D,       
"Weight",                       1108, 40, 83,19, 
&G.scene->toolsettings->skgen_options, 0, 0, 0, 0,             "Show Weight");
        uiDefButBitS(block, TOG, SKGEN_DISP_ORIG, REDRAWVIEW3D,         
"Original",                     1191, 40, 84,19, 
&G.scene->toolsettings->skgen_options, 0, 0, 0, 0,             "Show Original 
Graph");
 
-       uiDefButC(block, NUM, REDRAWVIEW3D,                                     
        "Level:",                       1025, 20, 125,19, 
&G.scene->toolsettings->skgen_multi_level, 0, 5, 1, 0,"Specify the level to 
draw");
+       uiDefButC(block, NUM, REDRAWVIEW3D,                                     
        "Level:",                       1025, 20, 125,19, 
&G.scene->toolsettings->skgen_multi_level, 0, REEB_MAX_MULTI_LEVEL, 1, 
0,"Specify the level to draw");
 }
 
 static void editing_panel_mesh_skgen_retarget(Object *ob, Mesh *me)

Modified: branches/harmonic-skeleton/source/blender/src/reeb.c
===================================================================
--- branches/harmonic-skeleton/source/blender/src/reeb.c        2008-07-17 
17:30:32 UTC (rev 15612)
+++ branches/harmonic-skeleton/source/blender/src/reeb.c        2008-07-17 
17:33:45 UTC (rev 15613)
@@ -3153,7 +3153,7 @@
        EditMesh *em = G.editMesh;
        ReebGraph *rg = NULL;
        ReebGraph *rgi, *previous;
-       int i, nb_levels = 5;
+       int i, nb_levels = REEB_MAX_MULTI_LEVEL;
        
        if (em == NULL)
                return NULL;
@@ -3205,6 +3205,19 @@
                {
                        float internal_threshold = rg->length * 
G.scene->toolsettings->skgen_threshold_internal * (i / (float)nb_levels);
                        float external_threshold = rg->length * 
G.scene->toolsettings->skgen_threshold_external * (i / (float)nb_levels);
+
+                       /* filter internal progressively in second half only*/
+                       if (i > nb_levels / 2)
+                       {
+                               internal_threshold = rg->length * 
G.scene->toolsettings->skgen_threshold_internal;
+                       }
+                       else
+                       {
+                               internal_threshold = rg->length * 
G.scene->toolsettings->skgen_threshold_internal * (2 * i / (float)nb_levels);
+                       }
+                       
+                       external_threshold = rg->length * 
G.scene->toolsettings->skgen_threshold_external * (i / (float)nb_levels);
+
                        filterGraph(rgi, G.scene->toolsettings->skgen_options, 
internal_threshold, external_threshold);
                }
 


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

Reply via email to