Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/mball.c
| Show First 20 Lines • Show All 2,274 Lines • ▼ Show 20 Lines | void BKE_mball_polygonize(EvaluationContext *eval_ctx, Scene *scene, Object *ob, ListBase *dispbase) | ||||
| float *co, *no, totsize, width; | float *co, *no, totsize, width; | ||||
| PROCESS process = {0}; | PROCESS process = {0}; | ||||
| mb = ob->data; | mb = ob->data; | ||||
| mball_count(eval_ctx, &process, scene, ob); | mball_count(eval_ctx, &process, scene, ob); | ||||
| if (process.totelem == 0) return; | if (process.totelem == 0) return; | ||||
| if ((eval_ctx->for_render == false) && (mb->flag == MB_UPDATE_NEVER)) return; | if ((eval_ctx->mode != DAG_EVAL_RENDER) && (mb->flag == MB_UPDATE_NEVER)) return; | ||||
| if ((G.moving & (G_TRANSFORM_OBJ | G_TRANSFORM_EDIT)) && mb->flag == MB_UPDATE_FAST) return; | if ((G.moving & (G_TRANSFORM_OBJ | G_TRANSFORM_EDIT)) && mb->flag == MB_UPDATE_FAST) return; | ||||
| process.thresh = mb->thresh; | process.thresh = mb->thresh; | ||||
| /* total number of MetaElems (totelem) is precomputed in find_basis_mball() function */ | /* total number of MetaElems (totelem) is precomputed in find_basis_mball() function */ | ||||
| process.mainb = MEM_mallocN(sizeof(void *) * process.totelem, "mainb"); | process.mainb = MEM_mallocN(sizeof(void *) * process.totelem, "mainb"); | ||||
| /* initialize all mainb (MetaElems) */ | /* initialize all mainb (MetaElems) */ | ||||
| Show All 21 Lines | if (ob->size[0] <= 0.00001f * (process.metaball_tree->first->x_max - process.metaball_tree->first->x_min) || | ||||
| free_metaball_octal_node(process.metaball_tree->first); | free_metaball_octal_node(process.metaball_tree->first); | ||||
| MEM_freeN(process.metaball_tree); | MEM_freeN(process.metaball_tree); | ||||
| return; | return; | ||||
| } | } | ||||
| } | } | ||||
| /* width is size per polygonize cube */ | /* width is size per polygonize cube */ | ||||
| if (eval_ctx->for_render) { | if (eval_ctx->mode == DAG_EVAL_RENDER) { | ||||
| width = mb->rendersize; | width = mb->rendersize; | ||||
| } | } | ||||
| else { | else { | ||||
| width = mb->wiresize; | width = mb->wiresize; | ||||
| if ((G.moving & (G_TRANSFORM_OBJ | G_TRANSFORM_EDIT)) && mb->flag == MB_UPDATE_HALFRES) { | if ((G.moving & (G_TRANSFORM_OBJ | G_TRANSFORM_EDIT)) && mb->flag == MB_UPDATE_HALFRES) { | ||||
| width *= 2; | width *= 2; | ||||
| } | } | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 164 Lines • Show Last 20 Lines | |||||