Example #1
0
static MetaElem *rna_MetaBall_elements_new(MetaBall *mb, int type)
{
	MetaElem *ml= add_metaball_element(mb, type);

	/* cheating way for importers to avoid slow updates */
	if(mb->id.us > 0) {
		DAG_id_tag_update(&mb->id, 0);
		WM_main_add_notifier(NC_GEOM|ND_DATA, &mb->id);
	}

	return ml;
}
Example #2
0
/* Add metaelem primitive to metaball object (which is in edit mode) */
MetaElem *add_metaball_primitive(bContext *C, float mat[4][4], int type, int UNUSED(newname))
{
	Object *obedit= CTX_data_edit_object(C);
	MetaBall *mball = (MetaBall*)obedit->data;
	MetaElem *ml;

	/* Deselect all existing metaelems */
	ml= mball->editelems->first;
	while(ml) {
		ml->flag &= ~SELECT;
		ml= ml->next;
	}
	
	ml= add_metaball_element(mball, type);
	copy_v3_v3(&ml->x, mat[3]);

	ml->flag |= SELECT;
	mball->lastelem= ml;
	return ml;
}