Exemplo n.º 1
0
// всё то, что внутри сферы. центр сферы определяет связную компоненту, еднственно которую оставляем
void GetInSphere(Geometry*target,vec3 c,float rad,Geometry*res)
{
	iv3vec face;
	v3vec vert;
	Geometry tmpg;
	GetInSphere0(target, c, rad,&tmpg);
	tmpg.BuildRep2();

	if(!tmpg.vert.size())return;
	int v_id = GetNearest(tmpg.vert,c);
	
	ChooseComponent(tmpg.vert,tmpg.face,vert,face,v_id);
	for(int i=0;i<face.size();i++)
	{
		
		res->AddTriangle(vert[face[i].x],vert[face[i].y],vert[face[i].z]);
	}

}