api function added for [#26481] Export to X3D of IndexedFaceSet should use X3D 's DEF USE mechanism

Object.is_modified(scene, 'PREVIEW') function for python exporters to check if any modifiers or shape keys are applied (weather the original mesh can be used for exporters).
This commit is contained in:
2011-03-16 08:53:35 +00:00
parent 934c2a06fe
commit da18391ac4
3 changed files with 43 additions and 4 deletions

View File

@@ -3061,3 +3061,24 @@ KeyBlock *object_insert_shape_key(Scene *scene, Object *ob, const char *name, in
else return NULL;
}
/* most important if this is modified it should _always_ return True, in certain
* cases false positives are hard to avoid (shape keys for eg)
*/
int object_is_modified(Scene *scene, Object *ob)
{
int flag= 0;
if(ob_get_key(ob)) {
flag |= eModifierMode_Render | eModifierMode_Render;
}
else {
ModifierData *md;
/* cloth */
for(md=modifiers_getVirtualModifierList(ob); md && (flag != (eModifierMode_Render | eModifierMode_Realtime)); md=md->next) {
if((flag & eModifierMode_Render) == 0 && modifier_isEnabled(scene, md, eModifierMode_Render)) flag |= eModifierMode_Render;
if((flag & eModifierMode_Realtime) == 0 && modifier_isEnabled(scene, md, eModifierMode_Realtime)) flag |= eModifierMode_Realtime;
}
}
return flag;
}