All pastes #627697 Raw Edit

Mine

public c v1 · immutable
·published 2007-07-20 13:44 UTC
rendered paste body
BME_Mesh *BME_make_new_circle(BME_Mesh *bmesh,float cent[3],int num, float rad, int fill){	BME_Vert *verts[num];	BME_Edge *edges[num];	BME_Vert *cv;	BME_Edge *prevedge,*inneredge,*firstedge;	BME_Edge *inneredgelist[3];	int i;	float pi = 3.1415926542;	float s = (pi*2)/num;	float d = 0.0-pi;			for (i = 0; i <= num; i++){		float tmpvec[3];				tmpvec[0] = cent[0] + rad*cos(d);		tmpvec[1] = cent[1] + rad*sin(d);		verts[i] = BME_MV(bmesh,tmpvec);		d += s;		}		for (i = 0; i < num-1; i++){		edges[i] = BME_ME(bmesh,verts[i],verts[i+1]);	}	edges[num-1] = BME_ME(bmesh,verts[num-1],verts[0]);	/*make center vert*/	cv = BME_MV(bmesh,cent);	/*make inner faces*/		firstedge = prevedge = BME_ME(bmesh,verts[0],cv);	for (i = 0; i < num-1; i++)	{		inneredge = BME_ME(bmesh, verts[i+1], cv);		inneredgelist[0] = edges[i];		inneredgelist[1] = inneredge;		inneredgelist[2] = prevedge;				BME_MF(bmesh, edges[i]->v1, edges[i]->v2, inneredgelist, 3); //<-----not making a face				prevedge = inneredge;	}	inneredgelist[0] = edges[num-1];	inneredgelist[1] = firstedge;	inneredgelist[2] = prevedge;	BME_MF(bmesh, edges[num-1]->v1, edges[num-1]->v2, inneredgelist, 3);	/*BME_MF(bmesh,edges[0]->v1,edges[0]->v2,edges,num);*/		return bmesh;}