Пример #1
0
static int make_regular_exec(bContext *C, wmOperator *UNUSED(op))
{
	Object *ob = CTX_data_edit_object(C);
	Lattice *lt;
	
	if (ob) {
		lt = ob->data;
		BKE_lattice_resize(lt->editlatt->latt, lt->pntsu, lt->pntsv, lt->pntsw, NULL);
	}
	else {
		ob = CTX_data_active_object(C);
		lt = ob->data;
		BKE_lattice_resize(lt, lt->pntsu, lt->pntsv, lt->pntsw, NULL);
	}
	
	DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
	WM_event_add_notifier(C, NC_GEOM | ND_DATA, ob->data);

	return OPERATOR_FINISHED;
}
Пример #2
0
void BKE_lattice_init(Lattice *lt)
{
  BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(lt, id));

  lt->flag = LT_GRID;

  lt->typeu = lt->typev = lt->typew = KEY_BSPLINE;

  lt->def = MEM_callocN(sizeof(BPoint), "lattvert"); /* temporary */
  BKE_lattice_resize(lt, 2, 2, 2, NULL);             /* creates a uniform lattice */
  lt->actbp = LT_ACTBP_NONE;
}
Пример #3
0
Lattice *BKE_lattice_add(const char *name)
{
	Lattice *lt;
	
	lt = BKE_libblock_alloc(&G.main->latt, ID_LT, name);
	
	lt->flag = LT_GRID;
	
	lt->typeu = lt->typev = lt->typew = KEY_BSPLINE;
	
	lt->def = MEM_callocN(sizeof(BPoint), "lattvert"); /* temporary */
	BKE_lattice_resize(lt, 2, 2, 2, NULL);  /* creates a uniform lattice */
		
	return lt;
}