[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27312] trunk/blender/source/blender/ blenkernel/intern: Enable "Build" modifier for curves/surfaces.
Sergey Sharybin
g.ulairi at gmail.com
Sun Mar 7 11:40:52 CET 2010
Revision: 27312
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27312
Author: nazgul
Date: 2010-03-07 11:40:52 +0100 (Sun, 07 Mar 2010)
Log Message:
-----------
Enable "Build" modifier for curves/surfaces.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/displist.c
trunk/blender/source/blender/blenkernel/intern/modifier.c
Modified: trunk/blender/source/blender/blenkernel/intern/displist.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/displist.c 2010-03-07 09:53:59 UTC (rev 27311)
+++ trunk/blender/source/blender/blenkernel/intern/displist.c 2010-03-07 10:40:52 UTC (rev 27312)
@@ -1329,23 +1329,23 @@
for (; md; md=md->next) {
ModifierTypeInfo *mti = modifierType_getInfo(md->type);
-
+
+ /* modifier depends on derived mesh and has got valid applyModifier call */
+ int dmApplyMod = mti->type==eModifierTypeType_Constructive ||
+ mti->type==eModifierTypeType_Nonconstructive;
+
md->scene= scene;
-
+
if ((md->mode & required_mode) != required_mode) continue;
if (mti->isDisabled && mti->isDisabled(md, forRender)) continue;
- if (mti->type!=eModifierTypeType_OnlyDeform &&
- mti->type!=eModifierTypeType_DeformOrConstruct &&
- mti->type!=eModifierTypeType_Constructive) continue;
/* need to put all verts in 1 block for curve deform */
- /* we also need all verts in 1 block for derived mesh creation when handling constructive modifiers */
- if(md->type==eModifierType_Curve || mti->type==eModifierTypeType_Constructive) {
+ /* we also need all verts in 1 block for derived mesh creation */
+ if(md->type==eModifierType_Curve || dmApplyMod) {
float *allverts = NULL, *fp;
int totvert= 0;
- if (md->type==eModifierType_Curve ||
- (mti->type==eModifierTypeType_Constructive && !dm)) {
+ if (md->type==eModifierType_Curve || (dmApplyMod && !dm)) {
for (dl=dispbase->first; dl; dl=dl->next)
totvert+= (dl->type==DL_INDEX3)?dl->nr:dl->parts*dl->nr;
@@ -1357,7 +1357,7 @@
}
}
- if (mti->type==eModifierTypeType_Constructive) {
+ if (dmApplyMod) {
if (!dm) {
dm= CDDM_from_curve(ob);
/*
Modified: trunk/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifier.c 2010-03-07 09:53:59 UTC (rev 27311)
+++ trunk/blender/source/blender/blenkernel/intern/modifier.c 2010-03-07 10:40:52 UTC (rev 27312)
@@ -8599,7 +8599,8 @@
mti = INIT_TYPE(Build);
mti->type = eModifierTypeType_Nonconstructive;
- mti->flags = eModifierTypeFlag_AcceptsMesh;
+ mti->flags = eModifierTypeFlag_AcceptsMesh |
+ eModifierTypeFlag_AcceptsCVs;
mti->initData = buildModifier_initData;
mti->copyData = buildModifier_copyData;
mti->dependsOnTime = buildModifier_dependsOnTime;
More information about the Bf-blender-cvs
mailing list