// всё то, что внутри сферы. центр сферы определяет связную компоненту, еднственно которую оставляем 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]); } }