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